Почему Python scikitlearn OneHotEncoder сообщает, что размеры массива неверны, но возвращает ошибку значения, когда я из ⇐ Python
Почему Python scikitlearn OneHotEncoder сообщает, что размеры массива неверны, но возвращает ошибку значения, когда я из
Я пытаюсь использовать scikitlearn OneHotEncoder для выполнения задания. Я определяю y как столбец из кадра данных, в котором каждая ячейка имеет значение A B или C. Затем я подгоняю кодировщик с помощью X, как показано ниже.
y = df['РЕЙТИНГ'] X = ['А', 'Б', 'С'] кодировщик1 = OneHotEncoder().fit(X) печать(encoder1.transform(y).toarray()) Когда я это делаю, я получаю следующую ошибку: Ожидается 2D-массив, вместо этого получен 1D-массив: array=['A' 'B' 'C']. Измените форму данных либо с помощью array.reshape(-1, 1), если ваши данные содержат один объект, либо с помощью array.reshape(1, -1), если они содержат один образец.
Если я переопределяю X как X = [['A'], ['B'], ['C']], функция подгонки работает, но затем я получаю эту ошибку: X не содержит никаких функций, но OneHotEncoder ожидает 1 функцию.
Я пытаюсь использовать scikitlearn OneHotEncoder для выполнения задания. Я определяю y как столбец из кадра данных, в котором каждая ячейка имеет значение A B или C. Затем я подгоняю кодировщик с помощью X, как показано ниже.
y = df['РЕЙТИНГ'] X = ['А', 'Б', 'С'] кодировщик1 = OneHotEncoder().fit(X) печать(encoder1.transform(y).toarray()) Когда я это делаю, я получаю следующую ошибку: Ожидается 2D-массив, вместо этого получен 1D-массив: array=['A' 'B' 'C']. Измените форму данных либо с помощью array.reshape(-1, 1), если ваши данные содержат один объект, либо с помощью array.reshape(1, -1), если они содержат один образец.
Если я переопределяю X как X = [['A'], ['B'], ['C']], функция подгонки работает, но затем я получаю эту ошибку: X не содержит никаких функций, но OneHotEncoder ожидает 1 функцию.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение