我编写了一个 python 脚本来获取一个大文件(一个矩阵 ~50k 行 X ~500 cols)并将其用作数据集来训练随机森林模型。
我的脚本有两个功能,一个是加载数据集,另一个是使用所述数据训练随机森林模型。这些都可以正常工作,但是文件上传需要大约 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 作为元数据来训练随机森林。
我将使用相同的数据训练我的模型的许多不同形式,所以我只想上传一次文件并将其提供给我的随机森林函数。我希望文件成为我认为的对象(我对 python 相当陌生)。