【发布时间】:2018-08-08 06:22:09
【问题描述】:
我对使用 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