__init __ () получил неожиданный аргумент ключевого слова 'categoryorical_features' - PullRequest
1 голос
/ 23 января 2020

Я пытался использовать categories вместо categorical_features, но это не помогло.

Пожалуйста, помогите с ошибкой: Traceback (most recent call last): File "test.py", line 28, in <module> onehotencoder = OneHotEncoder(categorical_features=[0]) TypeError: __init__() got an unexpected keyword argument 'categorical_features'

from sklearn.preprocessing import LabelEncoder,OneHotEncoder
labelencoder_X=LabelEncoder()
X[:,0] = labelencoder_X.fit_transform(X[:,0]) #Encoding the values of column Country

onehotencoder=OneHotEncoder(categorical_features=[0])

X=onehotencoder.fit_transform(X).toarray()
print(X)

Ответы [ 2 ]

0 голосов
/ 23 января 2020
import numpy as np
from sklearn.preprocessing import OneHotEncoder

...
X = ...

# Encoding the values of column Country
onehotencoder = OneHotEncoder(sparse=False)
X = np.concatenate(
    onehotencoder.fit_transform(X[:,0:1]),
    X[:,1:],
    axis=1
)
print(X)

# Do this to show what categories are collected and encoded.
print(onehotencoder.categories_)

Старая версия scikit-learn делала все проецирование, кодирование и повторное объединение, опуская некатегоричные столбцы справа. Сейчас он не поддерживается, поэтому вместо этого мы вручную извлекаем столбец Country, пропускаем его через кодировщик и объединяем их вместе.

OneHotEncoder по умолчанию возвращает «разреженные» массивы, и мы можем избегайте преобразования их в массивы numpy, указав sparse=False.

. Обратите внимание, что LabelEncoder является избыточным, поскольку OneHotEncoder может в любом случае автоматически соответствовать строковым значениям (по крайней мере, в последних версиях).

0 голосов
/ 23 января 2020

A cc к документации они не являются какими-либо атрибутами 'categoryorical_features'

category'auto 'или списком в виде массива, по умолчанию =' auto ' Категории (уникальные значения) для объекта:

'auto': автоматическое определение категорий по данным обучения.

list: category [i] содержит категории, ожидаемые в i-м столбце. Переданные> категории не должны смешивать строки и числовые значения c в одном объекте и должны быть> отсортированы в случае числовых значений c.

Используемые категории можно найти в атрибуте Categories_.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...