機械学習のモデル作成後のコードです。
python
1i=0 2res=[] 3step_size = 50000 4for j in tqdm(range(int(np.ceil(test_df.shape[0]/50000)))): 5 res.append(np.expm1(sum([model.predict(test_df.iloc[i:i+step_size]) for model in models])/folds)) 6 i+=step_size
このコード以下の流れで、提出用ファイルの目的変数を計算しているということはわかりました。
しかし、このコードのfor文の中でどのような計算が行われているのかよくわかりません。
評価指標はRMSLEです。
python
1テスト用のテーブル数を50000で割るのはなぜでしょうか。 2range(int(np.ceil(test_df.shape[0]/50000)))
python
1また、それに続き、以下のコードは、どのような計算をしているのでしょうか。 2np.expm1(sum([model.predict(test_df.iloc[i:i+step_size]) for model in models])/folds)
コード中の関数の意味はわかります。
test_df.iloc[i:i+step_size]
↑ここでどういうデータの取り方をしているのか、また、その意味がわからないので先に進めません。
test_df:テスト用目的変数のデータフレーム
models:モデルの配列
folds:folrd数=5
部分を抜き出したコードで、分かりにくいようでしたら、追記致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/02 06:26
2019/12/02 06:33
2019/12/02 06:38