簡體   English   中英

ValueError:未知標簽類型:“未知”

[英]ValueError: Unknown label type: 'unknown'

我嘗試運行以下代碼。 順便說一句,我對 python 和 sklearn 都是新手。

import pandas as pd
import numpy as np
from sklearn.linear_model import LogisticRegression


# data import and preparation
trainData = pd.read_csv('train.csv')
train = trainData.values
testData = pd.read_csv('test.csv')
test = testData.values
X = np.c_[train[:, 0], train[:, 2], train[:, 6:7],  train[:, 9]]
X = np.nan_to_num(X)
y = train[:, 1]
Xtest = np.c_[test[:, 0:1], test[:, 5:6],  test[:, 8]]
Xtest = np.nan_to_num(Xtest)


# model
lr = LogisticRegression()
lr.fit(X, y)

其中 y 是 0 和 1 的 np.ndarray

我收到以下信息:

文件“C:\Anaconda3\lib\site-packages\sklearn\linear_model\logistic.py”,行 >1174,適合 check_classification_targets(y)

文件“C:\Anaconda3\lib\site-packages\sklearn\utils\multiclass.py”,第 172 行,>in check_classification_targets raise ValueError("Unknown label type: %r" % y_type)

ValueError:未知標簽類型:“未知”

來自 sklearn 文檔: http ://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression.fit

y:類數組,形狀(n_samples,)目標值(分類中的類標簽,回歸中的實數)

我的錯誤是什么?

更新:

y 是數組([0.0, 1.0, 1.0, ..., 0.0, 1.0, 0.0], dtype=object) 大小是 (891,)

您的y屬於object類型,因此 sklearn 無法識別其類型。 y = train[:, 1]行之后添加y=y.astype('int')行。

添加到 Miriam ,我也得到了類似的錯誤,但在我的情況下, y_pred 的各個元素的類型為'np.int32'而 y 的各個元素的類型為'int' 我通過這樣做解決了它:

for i,x in enumerate(y_pred):
    y_pred[i]=x.astype('int')

y = list(train[:, 1]) 為我工作。

我也遇到了類似的錯誤。 我發現我的目標是非整數類型。 將我的目標變量轉換為整數類型后。 砰,錯誤已解決

y = train_data['Y'].astype('int')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM