日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python决策树运用

發布時間:2024/1/1 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python决策树运用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是決策樹?

決策樹算法是一種逼近離散函數值的方法。它是一種典型的分類方法,首先對數據進行處理,利用歸納算法生成可讀的規則和決策樹,然后使用決策對新數據進行分析。本質上決策樹是通過一系列規則對數據進行分類的過程。

決策樹方法最早產生于上世紀60年代,到70年代末。由J Ross Quinlan提出了ID3算法,此算法的目的在于減少樹的深度。但是忽略了葉子數目的研究。C4.5算法在ID3算法的基礎上進行了改進,對于預測變量的缺值處理、剪枝技術、派生規則等方面作了較大改進,既適合于分類問題,又適合于回歸問題。

決策樹的目的(個人理解)

算出每一種情況發生的概率,從而進行最后的預測
里面涉及了一些優化方法

決策樹相關算法

ID3:
ID3算法由Ross Quinlan發明,建立在“奧卡姆剃刀”的基礎上:越是小型的決策樹越優于大的決策樹(be simple簡單理論)。ID3算法中根據信息增益評估和選擇特征,每次選擇信息增益最大的特征作為判斷模塊建立子結點。
C4.5:
C4.5算法用信息增益率來選擇屬性,繼承了ID3算法的優點。

決策樹的實際運用

數據:

代碼:

import pandas as pd #數據處理 file="E:/text.csv" data=pd.read_csv(file,encoding="gbk") x=data.iloc[:,0:3].as_matrix() y=data.iloc[:,3].as_matrix() for i in range(len(x)):for j in range(len(x[0])):if x[i][j]=='是' or x[i][j]=='多':x[i][j]=1else:x[i][j]=0 for i in range(len(y)):if y[i]=='高':y[i]=1else:y[i]=0 #格式轉換 xf=pd.DataFrame(x)#框架化 yf=pd.DataFrame(y) x2=xf.as_matrix().astype(int) y2=yf.as_matrix().astype(int) #決策樹 from sklearn.tree import DecisionTreeClassifier as DTC dtc=DTC(criterion="entropy") dtc.fit(x2,y2) #可視化 from sklearn.tree import export_graphviz from sklearn.externals.six import StringIO with open("E:/dtc.dot",'w') as file:export_graphviz(dtc,feature_names=["shixi","time","chuxiao"],out_file=file)


運行結果:


結果中的value是最終結果的類別
entropy是權值
samples是其夫節點判斷結果的樣本數
每一個框的第一個值是我們對數據處理后的一個判斷。(就像判斷一個人的年齡<30,如果是就根據指示跳到下一層,依次類推)
逐層判斷,最終得到預測值

總結

以上是生活随笔為你收集整理的python决策树运用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。