如何获取Scikit-learn的svm中的训练错误?

log*_*og0 4 python machine-learning svm scikit-learn

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

我试图根据所使用的训练数据的数量(或其他特征,如C/gamma)来绘制火车组和测试组的错误图.但是,根据SVM文档,没有这样的公开属性或方法来返回此类数据.我确实发现RandomForestClassifier确实暴露了oob_score_.

ogr*_*sel 9

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

>>> model.fit(X_train, y_train).score(X_train, y_train)
Run Code Online (Sandbox Code Playgroud)

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

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

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

  • 这是预期的:训练误差可以为零,而测试误差很少.两者之间的巨大差距表示过度拟合(不良使用或内存容量阻止良好的泛化).大的训练错误表示欠拟合(模型中的内存容量不足).树模型是实例学习者:如果不将它们约束到有限的深度,它们可以使用单个展开的树记忆完整的数据集. (3认同)
  • 缺乏不合适不是问题,但过度拟合的存在是.使用随机森林或其他树木随机集合来对抗单个树的过度拟合行为. (3认同)