OneHotEncoder не понимает некатегориальную переменную - PullRequest
0 голосов
/ 28 марта 2020

Я пытаюсь использовать OneHotEncoder и не удается. Любая помощь приветствуется.

Мой CSV-файл содержит 9 столбцов. мой массив независимых переменных X состоит из 8 столбцов, тогда как первые 7 являются категориальными переменными, а последняя DURATION_SE C является плавающей.

мой код следующий:

# Importing the libraries
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

# Importing the dataset
dataset = pd.read_csv ( 'csv_final_results/KYC_READY_FOR_ANALYTICS.csv', index_col = [
    'LE_COUNTRY', 'LE_INDUSTRY', 'CATEGORY_ID', 'REQUEST_ID', 'STATUS_ID',
    'TYPE_OF_BUSINESS_ID', 'STATUS_NODE', 'DURATION_SEC', 'STATUS_TYPE' ], engine = 'c',
                        usecols = [ 'LE_COUNTRY', 'LE_INDUSTRY', 'CATEGORY_ID', 'REQUEST_ID', 'STATUS_ID',
                                    'TYPE_OF_BUSINESS_ID', 'STATUS_NODE', 'DURATION_SEC',
                                    'STATUS_TYPE' ] ).reset_index ()
X = dataset.iloc [ :, 0 :8 ].values
y = dataset.iloc [ :, 8 ].values

# Encoding categorical data
# Encoding the Independent Variable

from sklearn.preprocessing import LabelEncoder, OneHotEncoder

labelencoder_X_Country = LabelEncoder ()
X [ :, 0 ] = labelencoder_X_Country.fit_transform ( X [ :, 0 ] )
labelencoder_X_Industry = LabelEncoder ()
X [ :, 1 ] = labelencoder_X_Industry.fit_transform ( X [ :, 1 ] )
labelencoder_X_Category = LabelEncoder ()
X [ :, 2 ] = labelencoder_X_Category.fit_transform ( X [ :, 2 ] )
labelencoder_X_Request = LabelEncoder ()
X [ :, 3 ] = labelencoder_X_Request.fit_transform ( X [ :, 3 ] )
labelencoder_X_Status = LabelEncoder ()
X [ :, 4 ] = labelencoder_X_Status.fit_transform ( X [ :, 4 ] )
labelencoder_X_TypeOfBusiness = LabelEncoder ()
X [ :, 5 ] = labelencoder_X_TypeOfBusiness.fit_transform ( X [ :, 5 ] )
labelencoder_X_StatusNode = LabelEncoder ()
X [ :, 6 ] = labelencoder_X_StatusNode.fit_transform ( X [ :, 6 ] )


onehotencoder = OneHotEncoder ( categories = 'auto' )
X = onehotencoder.fit_transform ( X ).toarray ()

labelencoder_y = LabelEncoder ()
y = labelencoder_y.fit_transform ( y )

Я не кодирую DURACTION_SE C, поскольку это не категориальная переменная.

Однако, как только я подгоняю преобразование X, я теряю свою информацию DURATION_SE C.

Как можно Я не теряю информацию о продолжительности при кодировании всего остального?

Спасибо за помощь

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