我有36000列(0或1)和26500行.csv文件,代表我的训练集的输入。我有1列和26500行.csv文件,重新表示输出(0或1)
我使用sklearn(在80/20分离我的数据:训练/测试)来训练我的模型并验证它。
第一个问题:我不知道如何选择适合此问题的最佳算法
clf = MLPClassifier(solver='lbfgs',alpha=1e-4, hidden_layer_sizes=(5, 5), random_state=1)
我试过那个例子。但我怎么知道它是最好的呢?我不能尝试所有的算法,太久了。
第二个问题:我遇到了内存问题:我必须将文件分成14个不同的文件(每个文件2000行),因为我无法用python打开整个文件:
with open(file_i, 'rt') as csvfile:
lecteur = csv.reader(csvfile, delimiter=',')
for ligne in lecteur:
# ...
所以现在我可以打开文件并使用我的数据创建一个列表,但由于错误“分配形状张量时的
我尝试使用参数 warm_start = True ,因为我发现它可以允许模型重用上一次调用的解决方案以适应模型。
def train(clf,means,output):
clf.fit(means,output)
return clf
for i in range(0,14):
means = import_input(i)
output = import_output(i,means)
clf = MLPClassifier(solver='lbfgs',alpha=1e-4, hidden_layer_sizes=(30000, 5), random_state=1, warm_start = True)
clf = train(clf,means,output)
但它不起作用。
第三个问题:当我找到适合我问题的最佳算法时,如何找到最佳参数?我尝试使用遗传算法来找到这些,但是当我尝试生成20代时,我遇到了同样的记忆问题。