使用Cross_Val_score的原因

问题描述 投票:0回答:1

我对使用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))
python machine-learning scikit-learn classification cross-validation
1个回答
0
投票

Here是关于交叉验证的一些信息。

顺序(cross然后fit)对我来说似乎很好。

首先,您要评估模型在已知数据上的性能。取所有CV分数的平均值很有意思,但也许最好留下原始分数,看看你的模型是否在某些集合上不起作用。

如果您的模型有效,那么您可以在您的火车组上使用fit并在测试装置上使用predict

训练相同的模型k时间不会改变任何东西。

© www.soinside.com 2019 - 2024. All rights reserved.