我尝试使用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:不支持连续
这里有什么技巧吗?
答案 0 :(得分:1)
这是因为accuracy指标仅用于评分分类模型。它测量正确预测的分数。在回归中,你想要知道的是你的预测的正确答案离你的预测有多远 - 它们中的任何一个都不可能完全正确,所以它不是一个正确的答案。有意义的指标。
Regression metrics包括r2
,mean_squared_error
,mean_absolute_error
等。
您可以使用以下内容:
scores = df.cross_validation.cross_val_score(estimator=estimator, cv=7, scoring='r2')