Я пытаюсь сделать фиктивные переменные в моем входном наборе следующей формы: Мой входной набор
Итак, я закодировал категориальные данные, так что теперь мой массив имеет форму: Набор кодированных входных данных
Далее я хотел бы создать фиктивные переменные, используя OneHot Encoder. Я знаю, что раньше он работал так:
onehotencoder = OneHotEncoder(categorical_features = [1])
X = onehotencoder.fit_transform(X).toarray()
Но теперь класс OneHotEncoder работает немного по-другому, и я не могу понять, как настроить его для моего набора данных, чтобы он работал именно так. Мой код:
import numpy as np
import pandas as pd
dataset = pd.DataFrame(
{'RowNumber': [1, 2, 3, 4, 5],
'CustomerId': [602, 311, 304, 354, 888],
'Surname': ['Har', 'Hil', 'Oni', 'Bon', 'Mit'],
'CreditScore': [619, 608, 502, 699, 850],
'Geography': ['FR', 'ES', 'FR', 'FR', 'ES'],
'Gender': ['F', 'F', 'F', 'F', 'F'],
'Age': [42, 41, 42, 39, 43],
'Tenure': [2, 1, 8, 0, 2]})
X = dataset.iloc[:, 3 : -1].values
y= dataset.iloc[:, -1].values
# Encoding categorical data
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
X[:, 1] = le.fit_transform(X[:, 1])
X[:, 2] = le.fit_transform(X[:, 2])
# Making dummy variables
from sklearn.preprocessing import OneHotEncoder
ohe = OneHotEncoder()
Заранее спасибо!