0
0

学習日記#3: 決定木モデルで予測〜KaggleでSubmit

Posted at

ゴール

予測結果をKaggleで提出する

やったこと

  • 加工済みデータをテストデータと学習データに分割
    • Survivedが空値 = テストデータの条件で分割
    • テストデータと学習データをそれぞれ新しい変数に格納
  • 学習データを特徴量と回答に分割
    • X_train, y_trainの変数にそれぞれ格納
      • y_train = train.Survived
      • X_train = train.drop(columns = ['Survived'])
      • 配列を表すときは大文字なのでXは大文字にするのが通例らしい
  • 機械学習モデルを扱うためのライブラリインポート
    • ライブラリScikit-Learnを使う
    • 今回は決定木モデルのみなのでfrom sklearn import tree
  • 使用するモデルの宣言
    • model = tree.DecisionTreeClassifier()
    • ()にはオプションの引数をセットできるが今回は無し
  • 決定木モデルの作成
    • model.fitメソッドで学習データを引数として渡す
      • model.fit(X_train, y_train)
  • テストデータを渡して予測結果を得る
    • y_pred = model.predict(test)
  • テストデータと予測結果の大きさをチェック
    • lenを使う len(test), len(y_pred)
  • 予測結果をテストデータに反映する
    • test['Survived'] = y_pred
  • Kaggle提出用のデータを作成する
    • Kaggleで提出フォーマットを確認する
    • フォーマットに合わせてindexを指定したテーブルを作成する
      • pred_df = test[['PassengerId','Survived']].set_index('PassengerId')
      • 提出フォーマットとデータ型が違う場合はastypeメソッドで変換する
        • pred_df.Survived = pred_df.Survived.astype(int)
  • 提出用CSVファイルの作成
    • to_csvメソッドを使ってCSVファイルを作成
    •  pred_df.to_csv('submission_v1.csv', index_label=['PassengerId'])
    •  ダウンロードしてKaggleのSumit Predictionから提出

一旦データ加工〜予測結果提出までできたんだが後はひたすら課題にトライしてみるかなぁ
KaggleのDiscussions覗いてみるのもいいらしい

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0