使用Cross_Val_score的原因
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Cross_Val_score的原因相关的知识,希望对你有一定的参考价值。
我对使用cross_val_score的原因感到困惑。
根据我的理解,cross_val_score告诉我的模型是“过度拟合”还是“过度拟合”。而且,它不训练我的模型。
因为我只有1个特征,所以它是tfidf(稀疏矩阵)。如果它不合适,我不知道该怎么办。
Q1:我是否以错误的顺序使用它?我已经看到'cross-> fit'和'fit-> cross'两个例子。
Q2:'#print1'的分数告诉我什么?这是否意味着我必须训练我的模型k次(使用相同的训练集),其中k是得到最佳分数的k倍?
我的代码现在:
model1=GaussianNB(priors=None)
score=cross_val_score(model1, X_train.toarray(), y_train,cv=3,scoring='accuracy')
# print1
print (score.mean())
model1.fit(X_train.toarray(),y_train)
predictions1 = model1.predict(X_test.toarray()) #held out data
# print2
print (classification_report(predictions1,y_test))
答案
Here是关于交叉验证的一些信息。
顺序(cross
然后fit
)对我来说似乎很好。
首先,您要评估模型在已知数据上的性能。取所有CV分数的平均值很有意思,但也许最好留下原始分数,看看你的模型是否在某些集合上不起作用。
如果您的模型有效,那么您可以在您的火车组上使用fit
并在测试装置上使用predict
。
训练相同的模型k
时间不会改变任何东西。
以上是关于使用Cross_Val_score的原因的主要内容,如果未能解决你的问题,请参考以下文章
如何正确使用 GridSearchCV 和 cross_val_score?
手动和 cross_val_score 预测的 Python 不同结果
cross_val_score 与 sklearn 中的不同分类器的行为不同