【问题标题】:KNeighborsClassifier error: Unknown label type: 'unknown'KNeighborsClassifier 错误:未知标签类型:“未知”
【发布时间】:2019-09-01 15:35:53
【问题描述】:

我正在尝试使用带有以下代码的 KNeighborsClassifier 进行 KNN -

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)

但我得到以下错误

ValueError: Unknown label type: 'unknown'

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

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

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 是 - array([0, 1, 0, ..., 1, 1, 1], dtype=object)

我的 X 是

【问题讨论】:

  • 您能否提供一下您的 X 和 y 的一瞥

标签: python scikit-learn knn


【解决方案1】:

所以,问题在于您的 y 是 object 类型,而 sklearn 无法识别。

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

【讨论】:

    猜你喜欢
    • 2020-05-11
    • 2014-01-10
    • 2018-01-02
    • 2021-05-11
    • 2021-08-17
    • 2018-03-16
    • 2017-07-16
    • 2022-12-06
    • 2019-07-03
    相关资源
    最近更新 更多