使用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的原因的主要内容,如果未能解决你的问题,请参考以下文章

使用 cross_val_score 的系数

如何正确使用 GridSearchCV 和 cross_val_score?

手动和 cross_val_score 预测的 Python 不同结果

cross_val_score 与 sklearn 中的不同分类器的行为不同

Windows10 上的 cross_val_score,并行计算错误

从 cross_val_score 得到的分数是 RMSE 还是 MSE?