我在尝试运行一个简单的scikit-learn示例时,总是遇到错误:multiclass-multioutput is not supported
。
我的代码的前半部分,遵循任何基本教程,都能如预期般工作:
>>> from sklearn import ensemble>>> from sklearn import datasets>>> dataset = datasets.load_linnerud()>>> X, y = dataset.data, dataset.target>>> clf = ensemble.RandomForestClassifier(n_estimators=500)>>> clf.fit(X, y)>>> clf.predict([X[0]])array([[ 191., 36., 50.]])
然而,当我尝试获取预测得分时,我得到了以下错误:
>>> clf.score([X[0]], [y[0]])(...)ValueError: multiclass-multioutput is not supported
当使用datasets.load_iris()
时,一切正常。我做错了什么?如何在多变量模型中获取单个样本的得分?
回答:
尝试将RandomForestClassifier
替换为RandomForestRegressor
。根据load_linnerud()
的文档显示,这是一个回归问题。这样做后,我的代码就正常工作了。