支持向量机分类器可以多次训练吗?所以我不会在再次运行时手动更改参数
这是我目前为止训练模型的代码:
dictionary = make_Dictionary(TRAIN_DIR)
print("reading and processing emails from file.")
features_matrix, labels = extract_features(TRAIN_DIR, dictionary)
test_feature_matrix, test_labels = extract_features(TEST_DIR, dictionary)
model = svm.SVC(kernel="poly", degree= 4, C = 0.9)
print("Training Model")
#train model
model.fit(features_matrix, labels)
predicted_labels = model.predict(test_feature_matrix)
print("FINISHED classifying. accuracy score : ")
print (accuracy_score(test_labels, predicted_labels))
我的建议是创建要测试的参数列表,然后通过for循环运行它们。假设您要在四个不同的参数集上测试所有内容(请原谅,如果值不是您希望的,可以更改它们,只是为了说明这一点而创建的):
我假设这是你唯一想搞乱的两个参数。然后可以编写for循环:
^{pr2}$请注意,所做的唯一更改是对模型的更改,因此其余代码保持不变(但必须包含在for循环中)。另一个注意事项是CArr和degreeArr将只在数组中使用它们的匹配索引进行测试,因为它不是用double for循环来完成的。如果您想测试这两个数组中所有可能的组合,只需添加另一个for循环,并对模型进行一个小的调整:
其余的代码将保持不变,就像通过一个for循环完成一样。在
让我知道如果这有帮助!在
相关问题 更多 >
编程相关推荐