Почему следующий код Python, связанный с предварительной обработкой sklearn, не работает и как я могу его отладить? - PullRequest
0 голосов
/ 13 октября 2019
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

# Importing the dataset
dataset = pd.read_csv('Data.csv')
X = dataset.iloc[:, :-1].values
y = dataset.iloc[:, 3].values

# Taking care of missing data
from sklearn.impute import SimpleImputer
imputer = SimpleImputer(missing_values = np.nan, strategy = 'mean')
imputer = imputer.fit(X[:, 1:3])
X[:, 1:3] = imputer.transform(X[:, 1:3])

# Encoding categorical data
# Encoding the Independent Variable
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder_X = LabelEncoder()
X[:, 0] = labelencoder_X.fit_transform(X[:, 0])
onehotencoder = OneHotEncoder(categorical_features = [0])
X = onehotencoder.fit_transform(X).toarray()
# Encoding the Dependent Variable
labelencoder_y = LabelEncoder()
y = labelencoder_y.fit_transform(y)

Отображается ошибка

runfile ('D: / Программы на Python / Машинное обучение AZ New / Часть 1 - Предварительная обработка данных / Раздел 2 -------------------- Часть 1. Предварительная обработка данных -------------------- / categoryorical_data.py ', wdir =' D: / Программы на Python / Машинное обучениеAZ New / Часть 1 - Предварительная обработка данных / Раздел 2 -------------------- Часть 1 - Предварительная обработка данных -------------------- ') C: \ Users \ KIIT \ Anaconda3 \ lib \ site-packages \ sklearn \ preprocessing_encoders.py: 415: FutureWarning: обработка целочисленных данных изменится в версии 0.22. В настоящее время категории определяются на основе диапазона [0, max (values)], а в будущем они будут определяться на основе уникальных значений. Если вы хотите изменить поведение в будущем и отключить это предупреждение, вы можете указать «category = 'auto'". Если вы использовали LabelEncoder перед этим OneHotEncoder для преобразования категорий в целые числа, то теперь вы можете напрямую использовать OneHotEncoder. warnings.warn (msg, FutureWarning) C: \ Users \ KIIT \ Anaconda3 \ lib \ site-packages \ sklearn \ preprocessing_encoders.py: 451: DeprecationWarning: Ключевое слово 'categoryor__features' устарело в версии 0.20 и будет удалено в 0.22. Вместо этого вы можете использовать ColumnTransformer. "вместо этого используйте ColumnTransformer.", DeprecationWarning)

1 Ответ

0 голосов
/ 13 октября 2019

Возможно, ваш набор данных все еще имеет значения NaN. Попробуйте

dataset.isnull().any()

, чтобы проверить столбцы, имеющие значения Nan.

...