話不多說,資料分析必備的三個包先導入
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
匯入機器學習演算法的決策樹模組,資料使用jupyter自帶的鳶尾花資料集
from sklearn import datasets
from sklearn.tree import decisiontreeclassifier
from sklearn.model_selection import train_test_split
匯入資料
iris=datasets.load_iris(
)
特徵值
x=iris.data
標籤值
y=iris.target
將資料拆分成訓練集和測試集
xtrain,xtest,ytrain,ytest=train_test_split(x,y,test_size=
0.3)
生成一棵深度為2的決策樹,演算法採用id3演算法(預設使用gini係數,cart演算法)
dtc=decisiontreeclassifier(criterion=
'entropy'
,max_depth=2)
dtc.fit(xtrain,ytrain)
使用訓練好的決策樹**測試集資料,看看正確率
dtc.predict(xtest)
dtc.score(xtest,ytest)
正確率95%,還可以。
檢視訓練集的正確率
dtc.score(xtrain,ytrain)
畫決策樹需要先導包,
導graphviz
包的時候,先在terminal 安裝一下這個包
conda install python-graphviz
import graphviz
from sklearn import tree
將引數依次傳入
dot_data=tree.export_graphviz(dtc,out_file=
none
,feature_names=iris.feature_names,
class_names=iris.target_names,filled=
true
,rounded=
true
)graph=graphviz.source(dot_data)
graph
乙個最簡單的決策樹搞定
決策樹使用的演算法的原理是什麼?如何確定根結點的?
如何確定決策樹的最優引數?避免過擬合或欠擬合問題?
參考這篇
決策樹完成鳶尾花分類
實驗樓專案 決策樹是一種特殊的樹形結構,一般由節點和有向邊組成。其中,節點表示特徵 屬性或者乙個類。而有向邊包含有判斷條件。決策樹學習 decision tree learning 亦簡稱為決策樹。決策樹可以用來解決分類或回歸問題,分別稱之為分類樹或回歸樹。其中,分類樹的輸出是乙個標量,而回歸樹的一...
python決策樹 sklearn鳶尾花資料集分類
def decision iris 用決策樹進行鳶尾花分類 匯入資料 iris load iris 劃分資料 x train,x test,y train,y test train test split iris.data,iris.target,random state 6 決策樹預估器 esti...
鳶尾花資料集
from sklearn import datasets iris datasets.load iris iris是乙個字典集keys iris.keys dict keys data target target names descr feature names data iris.data.sh...