決策樹演算法入門 鳶尾花資料集

2021-10-10 11:14:28 字數 1747 閱讀 6630

話不多說,資料分析必備的三個包先導入

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...