野菜取引価格の予測

野菜価格に影響する要因を探り当てよう!

賞金: 100,000 参加ユーザー数: 303 1年以上前に終了

チュートリアルをGoogle ColabとGoogleドライブ用に加工したもの(LB 0.27549)

実行環境はGoogle Colab
※注意:90分間操作がないとセッションタイムアウト
※注意:12時間経過で強制タイムアウト
ファイルの入出力はGoogleドライブ

チュートリアル(Lasso回帰)をベースにしています。
パラメータチューニングした結果、チュートリアルからスコアがわずかに悪くなりました。
(0.27548→0.27549)

# Googleドライブ上のCSVを参照するため
from google.colab import drive
drive.mount('/content/drive')
# ライブラリのインポート
import pandas as pd
import numpy as np
import sklearn
from sklearn.linear_model import Lasso
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_log_error
import matplotlib
# 学習用データの読み込み(パスは各自に合わせて変更必要)
train_data = pd.read_csv('drive/My Drive/Colab Notebooks/train_data.csv', index_col='id')
# 天気データの読み込み(パスは各自に合わせて変更必要)
weather = pd.read_csv('drive/My Drive/Colab Notebooks/weather.csv', index_col=0, header=[0,1,2])
# 学習用のXとy
X = weather.iloc[11:-1, :].fillna(0)
y = train_data
# ここで特徴量エンジニアリング用の関数を作成するといいのかもしれない
"""
ここが時間かかる部分(約32分)
線形回帰モデルのインスタンス化
パラメータ:alpha:複雑さの度合い。デフォルト1.0
 小さくしすぎると過剰適合してしまう。
パラメータ:max_iter:学習の反復回数。
"""
Lasso = Lasso(alpha = 0.01,max_iter=100000)
lr = LinearRegression()

# 予測モデルの作成
Lasso.fit(X, y)
lr.fit(X, y)
# テスト用のX
test_data = weather.iloc[-1:, :].fillna(0)
# テスト結果の出力
test_predicted = lr.predict(test_data)
submit_df = pd.DataFrame(test_predicted)
submit_df.columns = train_data.columns
submit_df = submit_df.transpose()
submit_df.index.name = 'id'
submit_df.columns = ['y']

# 提出用CSVファイルの出力先(パスは各自に合わせて変更必要。既存の同名ファイルは上書き)
submit_df.to_csv('drive/My Drive/Colab Notebooks/submission.csv')

添付データ

  • 20230722_baseline.ipynb?X-Amz-Expires=10800&X-Amz-Date=20241222T014007Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIP7GCBGMWPMZ42PQ
  • Favicon
    new user
    コメントするには 新規登録 もしくは ログイン が必要です。