大きなファイル (行列 ~50k 行 X ~500 列) を取得し、それをデータセットとして使用してランダム フォレスト モデルをトレーニングするための Python スクリプトを作成しました。
私のスクリプトには 2 つの機能があります。1 つはデータセットをロードする機能、もう 1 つはそのデータを使用してランダム フォレスト モデルをトレーニングする機能です。これらはどちらも問題なく動作しますが、ファイルのアップロードには約 45 秒かかり、微妙に異なるモデルをトレーニングする (同じデータセットで多くのモデルをテストする) たびにこれを行うのは面倒です。ファイルアップロードコードは次のとおりです。
def load_train_data(train_file):
# Read in training file
train_f = io.open(train_file)
train_id_list = []
train_val_list = []
for line in train_f:
list_line = line.strip().split("\t")
if list_line[0] != "Domain":
train_identifier = list_line[9]
train_values = list_line[12:]
train_id_list.append(train_identifier)
train_val_float = [float(x) for x in train_values]
train_val_list.append(train_val_float)
train_f.close()
train_val_array = np.asarray(train_val_list)
return(train_id_list,train_val_array)
これは、col を含む numpy 配列を返します。ラベルと列として9。12-end をメタデータとしてランダム フォレストをトレーニングします。
同じデータを使用してさまざまな形式のモデルをトレーニングするので、ファイルを 1 回アップロードして、ランダム フォレスト関数にフィードできるようにします。ファイルを私が思うオブジェクトにしたいです(私はpythonにかなり慣れていません)。