如何在Scikit学习的svm中获得训练误差



我的问题:如何获得svm模块(SVC类)中的训练错误?

我试图绘制训练集和测试集的误差与所使用的训练数据数量(或其他功能,如C/gamma)的关系图。然而,根据SVM文档,没有这样的暴露属性或方法来返回这样的数据。我确实发现RandomForestClassifier确实暴露了一个oob_score_。

只需计算训练数据的分数:

>>> model.fit(X_train, y_train).score(X_train, y_train)

您还可以使用sklearn.metrics模块中的任何其他性能指标。医生在这里:

http://scikit-learn.org/stable/modules/model_evaluation.html

此外:oob_score_是对测试/验证分数的估计,而不是训练分数。

您甚至可以使用'earning_curve'绘制学习曲线。下面是一个例子。

>>> from sklearn.model_selection import learning_curve
    
>>> train_sizes, train_scores, valid_scores = learning_curve(
...     SVC(kernel='linear'), X, y, train_sizes=[50, 80, 110], cv=5)

请参阅此了解更多详细信息-https://scikit-learn.org/stable/modules/learning_curve.html

相关内容

  • 没有找到相关文章

最新更新