·
建立決策樹模型並分析預測
之前簡單介紹過 KNN 分類技術,這次繼續來看分類技術之一的決策樹;KNN 是根據每筆資料的距離來判斷分類標準,而決策樹則是讓訓練資料進行特定的演算法來建立出一個模型,並利用這個決策樹的模型來決定測試資料的分類,就像是畫好了一張樹狀圖,再依照各層結點的規則來走出分類的結果。因為這次一樣是使用 iris 資料集,所以最後還可以將預測結果與實際結果來做簡單的分析。
分析資料的第一步通常是原始資料的處理,而這裡使用的是 iris 資料集,原始資料非常乾淨,只需把資料分割成建模用的訓練資料集和測試用的測試資料集即可。
接著就可以利用 rpart 函數來進行訓練資料集的建模,將所有長與寬欄位都納入花種的考量。
一行程式碼的模型建立再加上,plot 函數作圖。
從上圖可以看出簡單的分類規則,接著實際與測試資料集來做比較並看預測結果及統計數據。這裡將資料利用 table 函數製作成表格(混淆矩陣)。
簡單統計出的數據顯示,這次建立的模型準確率為 93.3 %;下面再來試試 tree 函數的模型。
作圖之後會看到跟 rpart 稍有不同,雖然都是決策樹,但根據其演算法會有一點不同結果;不過這兩種函數也還有很多參數可以對樹做一些調整及修剪。(只做到圖的部分,統計可以自行再練習。)
(上面 tree 函數跑出的模型,或許有些人覺得過適(overfitting)了,需要修剪。)
兩個模型一開始都可以看出 Petal 的長只要小於 2.45 就會被歸類為 setosa 這個花種,大於 2.45的其他再去依照其他規則分類,但其實還有很多參數可以調整,讓樹更符合你的需求;這次就是簡單的跑出所學到的決策樹和做一個簡單的統計。