首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KNeighborsClassifier错误:未知标签类型:“未知”

KNeighborsClassifier错误:未知标签类型:“未知”
EN

Stack Overflow用户
提问于 2019-04-11 05:03:17
回答 1查看 2.7K关注 0票数 0

我试着用下面的代码使用KNeighborsClassifier做KNN -

代码语言:javascript
复制
X_train, X_test, y_train, y_test = train_test_split(X_bow, y, test_size=0.30, random_state=42)

neigh = KNeighborsClassifier(n_neighbors=3)
neigh.fit(X_train, y_train)

但是我得到了跟随错误

代码语言:javascript
复制
ValueError: Unknown label type: 'unknown'

X_train为scipy.sparse.csr.csr_matrix型,y_train为numpy.ndarray型。

这是我得到的详细错误。为什么我会有这个错误?

代码语言:javascript
复制
ValueError                                Traceback (most recent call last)
<ipython-input-278-97b47c930597> in <module>
     10 
     11 neigh = KNeighborsClassifier(n_neighbors=3)
---> 12 neigh.fit(X_train, y_train)

c:\users\kishore\appdata\local\programs\python\python36\lib\site-packages\sklearn\neighbors\base.py in fit(self, X, y)
    903             self.outputs_2d_ = True
    904 
--> 905         check_classification_targets(y)
    906         self.classes_ = []
    907         self._y = np.empty(y.shape, dtype=np.int)

c:\users\kishore\appdata\local\programs\python\python36\lib\site-packages\sklearn\utils\multiclass.py in check_classification_targets(y)
    169     if y_type not in ['binary', 'multiclass', 'multiclass-multioutput',
    170                       'multilabel-indicator', 'multilabel-sequences']:
--> 171         raise ValueError("Unknown label type: %r" % y_type)
    172 
    173 

ValueError: Unknown label type: 'unknown'

编辑1:

我的Y是数组( 0,1,0,.,1,1,1,1,dtype=object)

My是<5600x6031型稀疏矩阵,在压缩稀疏行format>中存储了586188个元素

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-11 05:47:30

所以,问题是你的y是对象类型的,而sklearn不能识别它。

在将变量传递给分类器之前,可以使用y=y.astype('int')

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55625048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档