Как передать смешанные (категориальные и числовые) функции в Decision Tree Regressor в sklearn? - PullRequest
0 голосов
/ 05 мая 2018

Как я могу передать Категориальные и числовые функции в DecisionTreeRegressor в sklearn? код ниже показывает, как использовать код в целом для числовых функций:

make_tree = tree.DecisionTreeRegressor()
fit_tree = make_tree.fit(X_train, y_train)

1 Ответ

0 голосов
/ 07 августа 2019

Во-первых, все категориальные признаки должны быть закодированы (представлены числами), чтобы их можно было интерпретировать для регрессионных моделей. Для этого вы можете использовать LabelEncoder , а затем OneHotEncoder . В случае старших кардинальных функций вы можете использовать FeatureHasher .

Как пример:

from sklearn.feature_extraction import FeatureHasher

# n_feature: number of unique values in the feature(s)
# input_type should be passed as 'string' to be compatible to pandas DataFrames
feature_hasher = FeatureHasher(n_features=5000, input_type='string')
df['COLUMN_NAME'] = feature_hasher.transform(df['COLUMN_NAME'])

Затем вы можете передать свои функции регрессору.

...