我有一个我已经训练过二进制分类的模型,我现在想用它来预测未知的类元素。
from sklearn.externals import joblib
model = joblib.load('../model/randomForestModel.pkl')
test_data = df_test.values # df_test is a dataframe with my test data
output = model.predict(test_data[:,1:]) # this outputs the prediction either 1 or 0
我知道如何在给定训练数据集的情况下获得confusion_matrix,accuracy_score,classification_report,但是在我没有列车数据的情况下。 我想从weka得到类似的东西:
inst# actual predicted error prediction
1 1:? 1:0 0.757
Scikit-learn有可能吗?如果是的话,我该怎么做?
答案 0 :(得分:1)
是的,这完全有可能。
1)在尝试评估您训练过的模型时,您应该使用测试集。您拥有的数据的子集,您没有用它来训练以评估模型预测新值的能力。使用此测试集,您可以获得真实值,因此您可以比较预测结果。 您可以简单地使用train_test_split包或cross_validation。
2)Scikit-learn提供不同的metrics以评估模型。您应该再次在测试集上使用此指标,而不是在训练集上使用。这可能导致假的好结果。
我没有看到任何你不了解训练集的原因。但你也可以使用模拟的_score方法,你可以根据需要进行参数化(F1得分,召回,精确度)。
在weka中,我没有看到错误预测是什么。你能解释一下吗?