Kaggle機械学習モデル融合(スタッキング)体験

Kaggle機械学習モデル融合(スタッキング)体験

[[205595]]

この記事では、エントリーレベルのスタッキング アプリケーションを学習する私の精神的な旅について説明します。

学習プロセス中、モデル融合手法と、Kaggle での最初のバトルで上位 10% に入る方法に関する記事 (著者は Zhang Linghao) を提供してくれた @貝塔に感謝したいと思います。情報を提供していただいたお二人に心から感謝いたします。 Kaggle には、このようなアンサンブルに関する記事やコードもいくつかあります。

この記事は、スタッキングに悩まされている初心者向けです。インターネット上のスタッキングに関するコンテンツは数少ないですが、上記の役立​​つ記事はすでにお読みいただいているものと想定しています。しかし、見終わった後もショックを受けました。以下の内容が、スタッキングを学ぶという困難な道のりにおいて、皆さんにとって小さなたいまつとなり、かすかな光を与えてくれることを願っています。

この記事では、Kaggle の Titanic (Titanic Prediction) 入門コンペティションを使用して、スタッキング (2 層!) の応用について説明します。

データの行数: train.csv には 890 行 (つまり 890 人)、test.csv には 418 行 (418 人) があります。

データ列の数は、保持する特徴の数によって決まりますが、これは人によって異なります。自分の列車は7+1を保持します(1は予測列です)。

インターネット上の数少ないスタッキングコンテンツの中で、この画像をすでにご覧になったことがあると思います。

この絵をすぐに理解できれば大丈夫です。

すぐに理解できないと困ってしまいます。その後もしばらくは混乱が続きます…

この写真は***「誤解を招く」からです。 (注: この画像が間違っているとは言っていませんが、確かに間違っています!!! しかし、インターネット上の数少ないチュートリアルの 1 つに無修正の画像があるのは良いことです。感謝してください、私は弱虫です)。

写真を修正しました:

5 倍のラウンドごとに、モデル 1 は 5 ラウンドのトレーニングと予測を実行する必要があります。

タイタニックの例:

トレーニング データには 890 行あります。 (写真上部に対応しております)

各フォールドでは、713 行の小さなトレインと 178 行の小さなテストが生成されます。モデル 1 を使用して、713 行の小さなトレインをトレーニングし、次に 178 行の小さなテストを予測します。予測結果は、長さ 178 の予測値です。

このアクションは 5 回実行されます。長さ 178 X 5 = 890 の予測値となり、これはトレーニング データの長さとちょうど一致します。この 890 予測値はモデル 1 によって生成されます。これは後で第 2 層モデルのトレーニング ソースとなるため、最初に保存します。

重要なポイント: このステップで生成された予測値は、890 X 1 (890 行、1 列) に変換でき、P1 (大文字の P) と表記されます。

次に、テスト データに 418 行あるとします。 (写真の下部、はいはい、緑のボックスに対応してください)

各フォールドについて、713 行の小規模なトレーニングでトレーニングされたモデル 1 は、すべてのテスト データを予測する必要があります (すべてです。テスト データは 5 フォールドに含まれていないため、毎回すべてです)。このとき、モデル1の予測結果は長さ418の予測値となります。

これを 5 回繰り返します。5 x 418 の予測値マトリックスが得られます。次に、行を平均して 1 x 418 の平均予測を取得します。

重要なポイント: このステップで生成された予測値は、418 X 1 (418 行、1 列) に変換でき、p1 (小文字の p) と表記されます。

この時点で、最上位モデル 1 のミッションは完了です。

*** 層にはモデル 2 などの他のモデルがあります。同じプロセスを実行すると、890 X 1 (P2) 列と 418 X 1 (p2) 列の予測値を取得できます。

したがって、最初のレベルに 3 つのモデルがあるとすると、次のようになります。

5 分割からの予測行列は 890 X 3、(P1、P2、P3) であり、テスト データからの予測行列は 418 X 3、(p1、p2、p3) です。

———————————————–

2階に到着………………

5分割からの予測値行列890×3は、第2層モデルをトレーニングするためのトレーニングデータとして使用されます。

テスト データ 418 X 3 からの予測値のマトリックスがテスト データです。トレーニング済みモデルを使用して、これらを予測します。

—————————————

***、ここに Python コードがあります。インターネット上のいくつかのスタック コンテンツの中で、これらの数行のコードは既に見たことがあるでしょう。私は以前ここで行き詰まっていました。ここで少し注釈を追加します。お役に立てば幸いです。

<<:  アディダスのロボット工場で作られた靴が出荷されようとしている

>>:  ニューラルネットワークの問題を解決するための新しいアイデア: OpenAI は線形ネットワークを使用して非線形問題を計算します

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

...

AI時代:従来の常識を超えた大胆な未来

今日の世界では、人工知能 (AI) が驚異的なスピードで進歩しており、その進歩に遅れを取らないことが...

不意を突かれたGoogleの「人間の創造」の成功は恐ろしい!人類は歴史上最悪の失業の波に直面しています...

01不意を突かれた!今回、Google は「人間を作った」のです! 5月8日、Googleは毎年恒...

機械学習で知っておくべき3つの特徴選択方法!

ディープラーニングの活発な発展に伴い、業務シナリオで使用するためのディープ ニューラル ネットワーク...

Googleのジェフ・ディーンが単独著者として執筆: ディープラーニング研究の黄金の10年

コンピュータの出現以来、人類は思考できる機械を創ることを夢見てきました。 1956 年、ジョン マッ...

...

起業180日で評価額20億ドルを達成! OpenAIの欧州版は人気があり、Llamaの開発者は独自の会社を設立し、Nvidiaが投資している

「欧州版OpenAI」の最新評価額は20億ドルに近づいています!パリを拠点とする大手モデルスタートア...

機械学習を利用するハッカーを心配していますか?データを盗む7つの新しい方法を知る

機械学習は、大規模なデータセットを分析してパターンを識別する能力があることで知られています。基本的に...

百度の自動運転技術は掘削機の運転を熟練ドライバーと同等の効率化に導く

海外メディアのTech Xploreによると、百度の研究ロボット工学・自動運転研究所(RAL)とメリ...

...

AIが地震の前兆信号を識別?機械学習がデータ内の不思議な相関関係を発見、人類に地震予測の希望を与える

最近、世界中で地震が頻繁に発生しています。 1月1日、突然、マグニチュード7.6の地震が日本を襲い、...

モノのインターネット、ブロックチェーン、人工知能といった注目のトレンドの中で、どれを選ぶべきでしょうか?

今はお金を稼ぐのが難しく、ビジネスも簡単ではないと言う人もいますが、今こそ最高の時代だと言う人もいま...

機械学習を使用して、GPU と TPU で高速化できる O(N) 複雑度のソート アルゴリズムを構築します。

[[238409]]ソートは、コンピュータ サイエンスにおいて常に最も基本的なアルゴリズムの 1 ...

AIが仕事や生活を奪ったら、人類の未来はどうなるのでしょうか?

AIの発展は、人間の仕事の効率を向上させ、人間の働き方を変え、さらには人類の発展の方向を導く上で大...