關於決策樹的整數與浮點數,構建樹無關緊要。兩個連續整數之間的任何分隔都是等價的。它不會在同一對連續整數之間進行兩次分割,因爲通過這樣做,其中一個葉子將不會有樣本。無論使用整數還是浮點數,它都會生成等效模型。
使用scikit-learn,您可以使用LabelBinarizer
使用分類功能。這將爲這些類別創建一個虛擬值矩陣(一個熱點編碼)。
下面是一個例子:
from sklearn.preprocessing import LabelBinarizer
from sklearn.tree import DecisionTreeClassifier
import numpy as np
定義功能
month = ['Jan', 'Feb', 'Jan', 'Mar']
day = [1, 15, 30, 5]
定義類別中的
y = [0, 1, 1, 1]
構建假人:
lb = LabelBinarizer()
X_month_dummies = lb.fit_transform(month)
X_month_dummies
則是:
array([[0, 1, 0],
[1, 0, 0],
[0, 1, 0],
[0, 0, 1]])
結合假人與數字功能(天)
X = np.hstack([np.column_stack([day]), X_month_dummies])
構建分類。
clf = DecisionTreeClassifier()
clf.fit(X, y)
典型地,在構建決策樹之前,在分類特徵上使用一個熱編碼。你在用熊貓嗎?你想要一個例子嗎? –
不,我不使用熊貓。我想要一個例子。謝謝 –