Цель является двоичной, но я получаю «ValueError: поддерживаемые целевые типы: ('двоичный', 'мультиклассовый'). Вместо этого получено 'unknown'». - PullRequest
0 голосов
/ 08 июля 2020

Я столкнулся с проблемой в простой модели машинного обучения с использованием sklearn KFold

Я классифицирую свое целевое значение, используя следующий код:

# Import the DB
df = pd.read_csv("DB_ML_TJA20182019.csv")
#Transform continuous target into binary
category = pd.cut(df.length,bins=[0,4,100],labels=[0,1])
df.insert(18,"length_over", category)

Теперь, если я открою csv, Я вижу добавленный столбец (length_over, 18-й столбец, отсчет от 0) с преобразованной в двоичную форму переменной, полученной путем преобразования в двоичную форму столбца length. Затем я сохраняю набор данных как новый файл и разбиваю его на подмножества тестовой проверки, используя следующий код:

# Save the dataset with binary target
df.to_csv(r'DB_ML_TJA20182019_multilabel.csv', index = False)

# Load dataset for ML modeling (already imputed)
url = 'DB_ML_TJA20182019_multilabel.csv'
names = ...
dataset = read_csv(url, names=features, skiprows=1)

# Split-out validation dataset
array = dataset.values
X = array[:,0:18]
y = array[:,18]
X_train, X_validation, Y_train, Y_validation = train_test_split(X, y, test_size=0.30, random_state=1)

Однако, прежде чем продолжить оценку и сравнение моделей, я получаю сообщение об ошибке: Out: "ValueError: Supported target types are: ('binary', 'multiclass'). Got 'unknown' instead."

Я также проверил тип цели, используя

#Check the type of target
from sklearn.utils.multiclass import type_of_target
print(type_of_target(y))

И результат: unknown

В чем может быть проблема? Когда я открываю csv, цель является двоичной, но функция получает ее как неизвестную ...

dtype - int64

...