Я остановился на HistGradientBoostingClassifier, потому что он имеет встроенную поддержку категориальных переменных без необходимости быстрого кодирования или кодирования меток. Я попытался пропустить категориальные переменные через модель, но когда я подошел к модели, я получил ошибку:
Код: Выделить всё
ValueError: could not convert string to float: 'A'
вот базовый пример кода того, что я пытаюсь сделать:
Код: Выделить всё
X = pd.DataFrame({
'feature_1': [1, 2, 3, 1, 2],
'feature_2': ['A', 'B', 'C', 'A', 'B']
})
y = pd.Series([0, 1, 0, 1, 0])
X['feature_2'] = X['feature_2'].astype('category')
categorical_features = [1]
model = HistGradientBoostingClassifier(categorical_features=categorical_features)
model.fit(X, y)
У меня нет порядковых категориальных переменных, поэтому я не решаюсь использовать кодирование меток. Есть ли что-то, что мне здесь не хватает?
Подробнее здесь:
https://stackoverflow.com/questions/792 ... -variables