實驗三、數據挖掘之決策樹
一、實驗目的
1. 熟悉掌握決策樹的原理,
2. 熟練掌握決策樹的生成方法與過程
二、實驗工具
1. Anaconda
2. sklearn
3. pydotplus
三、實驗簡介
決策樹是一個非參數的監督式學習方法,主要用於分類和回歸。算法的目標是通過推斷數據特征,學習決策規則從而創建一個預測目標變量的模型。
四、實驗內容
1. 自己創建至少2個向量,每個向量至少1個屬性和1個類標號,根據向量生成決策樹,並利用該決策樹進行預測。如:
from sklearn import tree X = [[0, 0], [1, 1]] Y = [0, 1] clf = tree.DecisionTreeClassifier() clf = clf.fit(X, Y) clf.predict([[2., 2.]]) clf.predict_proba([[2., 2.]]) #計算屬於每個類的概率
要求根據要求隨機生成數據,並構建決策樹,並舉例預測。
2. 對鳶尾花數據構建決策樹,
(1) 調用數據的方法如下:
from sklearn.datasets import load_iris iris = load_iris()# 從sklearn 數據集中獲取鳶尾花數據。
(2) 利用sklearn中的決策樹方法對鳶尾花數據建立決策樹
(3) 為了能夠直觀看到建好的決策樹,安裝 pydotplus, 方法如下:
pip install pydotplus
pydotplus使用方法
import pydotplus #引入pydotplus dot_data = tree.export_graphviz(clf, out_file=None) graph = pydotplus.graph_from_dot_data(dot_data) graph.write_pdf("iris.pdf")#將圖寫成pdf文件
代碼展示
決策樹效果pdf
(4)(選做) 不使用sklearn中的決策樹方法,自己編寫決策樹構建程序(建議用python語言),並對鳶尾花數據構建決策樹。
五、實驗總結(寫出本次實驗的收獲,遇到的問題等)
通過本次實驗,了解了Python中構建決策樹的函數方法,並用鳶尾花數據集的可視化看到了生成的決策樹效果圖。困難在於不太理解決策時具體的構建過程,經過多次試驗,自動構建的決策樹和自己預測的規律結果是保持一致的,這說明了決策樹的實用性。下一步應該學習理解自己構建出決策樹。