以下是代码:
import pandas as pdimport numpy as npfrom sklearn.cross_validation import cross_val_scorefrom sklearn.neighbors import KNeighborsClassifierdata = pd.read_csv('http://www-bcf.usc.edu/~gareth/ISL/Advertising.csv',index_col = 0)X = data[['TV','Radio','Newspaper']]y = data[['Sales']]y = np.asarray(y)y = np.ravel(y)knn = KNeighborsClassifier(n_neighbors = 5)scores = cross_val_score(knn,X,y,cv=10,scoring = 'accuracy')print(scores)
我遇到了以下错误
C:\Users\Kunal Desai\Anaconda3\lib\site-packages\sklearn\utils\multiclass.py in check_classification_targets(y)171 if y_type not in ['binary', 'multiclass', 'multiclass-multioutput', 172 'multilabel-indicator', 'multilabel-sequences']:--> 173 raise ValueError("Unknown label type: %r" % y)174 175 ValueError: Unknown label type:
我是交叉验证和scikit-learn的新手
有人能帮我吗?
回答:
如果你想预测一个连续变量,你需要使用回归而不是分类。使用KNeighborsRegressor而不是KNeighborsClassifier。