pandas_ml中的cross_validation问题

时间:2015-12-29 00:13:45

标签: python python-2.7 pandas machine-learning scikit-learn

我尝试使用pandas_ml

完成交叉验证
df = pdml.ModelFrame(features, target)
estimators = {'SVM: SVR': df.svm.SVR(),
              'SVM: LinearSVR': df.svm.LinearSVR()}

for label, estimator in estimators.iteritems():
    scores = df.cross_validation.cross_val_score(estimator=estimator, cv=7, scoring='accuracy')
    print("Accuracy: %0.2f (+/- %0.2f) [%s]" % (scores.mean(), scores.std(), label))

但是,我遇到了意想不到的错误

  

引发ValueError("不支持{0}" .format(y_type))

     

ValueError:不支持连续

这里有什么技巧吗?

1 个答案:

答案 0 :(得分:1)

这是因为accuracy指标仅用于评分分类模型。它测量正确预测的分数。在回归中,你想要知道的是你的预测的正确答案离你的预测有多远 - 它们中的任何一个都不可能完全正确,所以它不是一个正确的答案。有意义的指标。

Regression metrics包括r2mean_squared_errormean_absolute_error等。

您可以使用以下内容:

scores = df.cross_validation.cross_val_score(estimator=estimator, cv=7, scoring='r2')