如何在 sklearn 中将混合(分类和数字)特征传递给决策树回归器?



如何在sklearn中将分类和数字特征传递给DecisionTreeRegressor?

下面的代码显示了如何将DecisionTreeRegressor用于数字特征:

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

首先,所有分类特征都应该被编码(用数字表示(,以便回归模型可以解释。为此,您可以使用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'])

然后,您可以将特征传递给回归器。

最新更新