我的问题:如何获得 svm 模块(SVC 类)中的训练错误?
我正在尝试根据使用的训练数据数量(或其他特征,如 C / gamma )绘制训练集和测试集的误差图。但是,根据SVM 文档,没有这样的公开属性或方法来返回此类数据。我确实发现 RandomForestClassifier 确实暴露了一个 oob_score_ 。
我的问题:如何获得 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_
是对测试/验证分数的估计,而不是训练分数。
您甚至可以使用'learning_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