概念
決策樹(Decision Tree):它通過對訓練樣本的學習,並建立分類規則,然后依據分類,對新樣本數據進行分類預測,屬於有監督學習
優點:決策樹易於理解和實現,決策樹可處理數值型和非數值型數據
步驟
-
導入數據,確定虛擬變量的列,然后遍歷這些列,將這些類的數據轉換為分類型數據,再通過get_dummies()方法獲取虛擬變量
1 import pandas 2 3 data=pandas.read_csv( 4 "C:\\Users\\Jw\\Desktop\\python_work\\Python數據挖掘實戰課程課件\\5.3\\data.csv") 5 6 dummyColumns=["Gender", "ParentEncouragement"] 7 8 for column in dummyColumns: 9 data[column]=data[column].astype("category") 10 11 12 dummiesData=pandas.get_dummies( 13 data, 14 columns=dummyColumns, 15 prefix=dummyColumns, 16 prefix_sep="=", 17 drop_first=True) 18 19 dummiesData.columns
-
確定特征數據和目標數據
fData=dummiesData[[ 'ParentIncome', 'IQ', 'Gender=Male', 'ParentEncouragement=Not Encouraged']] tData=dummiesData["CollegePlans"]
我注意到:fData即是特征數據為一個DataFrame數據框,而tData則是一個Series
-
導入DecisionTreeClassifier類,然后通過cross_val_score進行評分
1 from sklearn.tree import DecisionTreeClassifier 2 3 dtModel=DecisionTreeClassifier(max_leaf_nodes=8) #該處為調優 4 5 from sklearn.model_selection import cross_val_score 6 7 cross_val_score( 8 dtModel, 9 fData,tData,cv=10)
dtModel=DecisionTreeClassifier(max_leaf_nodes=8) 此處操作為調優操作,隨機森林在不調優前普遍高於決策樹模型
