Пожалуйста, успокойся на мне.Я переключаю карьеру на науку о данных и у меня нет опыта работы с CS или программирования - так что я могу делать что-то очень глупое.Я провел несколько часов безуспешно.
Цель: заставить конвейер работать с OrdinalEncoder.
Проблема: код не запускается с вызовом OrdinalEncoder.Это работает без OrdinalEncoder.Насколько я могу судить, я могу передать два аргумента: категории и dtype .Ни одна помощь.
Я передаю публичные данные о диабете , установленные для модели.Это проблема?IOW, передача функций высокой мощности в OrdinalEncoder вызывает проблему между данными поезда / теста после построения модели, т.е. тестовое разделение имеет значение, которое не имеет набор поездов?
from sklearn.pipeline import Pipeline
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import OrdinalEncoder
from sklearn.ensemble import RandomForestClassifier
pipe = Pipeline([
('imputer', SimpleImputer()),
('ordinal_encoder', OrdinalEncoder()),
('classifier', RandomForestClassifier(criterion='gini', n_estimators=100))])
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# Construct model
model = pipe.fit(X_train, y_train)
# Show results
print("Hold-out AUC score: %.3f" %roc_auc_score(model.predict_proba(X_test),y_test))
Вот ошибка, которую я получаю:
ValueError: Found unknown categories [17.0] in column 0 during transform
Что я делаю не так?
Настройка:
The scikit-learn version is 0.20.2.
3.7.2 (v3.7.2:9a3ffc0492, Dec 24 2018, 02:44:43)
[Clang 6.0 (clang-600.0.57)]
sys.version_info(major=3, minor=7, micro=2, releaselevel='final', serial=0)