【问题标题】:Reason to use Cross_Val_score使用 Cross_Val_score 的原因
【发布时间】: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


    【解决方案1】:

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

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

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

    如果您的模型有效,那么您可以在您的训练集上使用fit 它,在您的测试集上使用predict

    训练同一个模型k 次不会改变任何事情。

    【讨论】:

    • 现在,我想评估有助于我调整分类器的参数,对吧?现在我想知道:是什么定义了我的模型从评估中起作用(cross_cal_score)?而且我在 cross_val_score 和 fit 模型中使用相同的训练集,这样可以吗?
    猜你喜欢
    • 2017-03-29
    • 1970-01-01
    • 2017-07-14
    • 2011-09-16
    • 2010-12-26
    • 2010-11-18
    • 2013-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多