我有一个为二进制分类训练的模型,现在我想用它来预测未知的类元素。
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
我知道如何在给定训练数据集的情况下获得混淆矩阵、准确性核心、分类报告,但在这种情况下,我没有训练数据。我想从weka得到类似的东西:
inst# actual predicted error prediction
1 1:? 1:0 0.757
在Scikit学习有可能吗?如果是,我该怎么做?
是的,这是完全可能的。
1) 当试图评估您训练的模型时,应该使用测试集。你所拥有的数据中的一个子集,你没有使用它来训练,以评估你的模型预测新值的能力。有了这个测试集,您就有了真实的值,所以您可以比较预测的结果。您可以简单地使用train_testrongplit包或cross_validation。
2) Scikit learn提供了不同的度量标准来评估模型。再一次,你应该在测试集上使用这个指标,而不是在训练集上。这可能导致虚假的好结果。
我看不出你有什么理由不知道训练内容。但你也可以使用模型的_score方法,你可以将其参数化为愿望(F1分数、回忆、精度)。
在weka中,我看不出误差预测是什么。你能解释一下吗?