从零开始的AI·决策树原来这么好理解(附实例代码)
生活随笔
收集整理的這篇文章主要介紹了
从零开始的AI·决策树原来这么好理解(附实例代码)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
從零開始的AI系列
- 從零開始的AI·機器學習の基本概念
- 從零開始的AI·吃透kNN算法,學完我悟了(附實例代碼)
- 從零開始的AI·樸素貝葉斯?拿來吧你(附實例代碼)
文章目錄
- 從零開始的AI系列
- 前言
- 一、權衡利弊
- 二、整體感知
- 三、理論依據
- 四、具體實現過程及細節
前言
本文理論部分基于Peter Harrington的《機器學習實戰》一書
決策樹是一種樹形結構,其中每個內部節點表示一個屬性上的測試,每個分支代表一個測試輸出,每個葉節點代表一種類別。分類樹決策樹是一種十分常用的分類方法。它是一種監督學習。
如果覺得AI學習枯燥,可以選擇看一下這個老哥做的網站,趣味性直接拉滿>>人工智能教程
一、權衡利弊
- 優點:計算復雜度不高,輸出結果易于理解,對中間值的缺失不敏感,可以處理不相關特征數據。
- 缺點:可能會產生過度匹配問題。
- 適用數據類型:數值型和標稱型。
二、整體感知
上述對生物種類的劃分就可以通過決策樹來實現。通過對每種生物特征不斷劃分,最終實現對生物進行分類的目的。
三、理論依據
如果我們知道依據什么特征,劃分數據將會很容易,所以我們的主要工作做在選擇特征上。由此我們引出 信息增益,獲得信息增益最高的特征就是最好的選擇
如何通過計算信息增益確定特征?
信息定義公式
信息熵定義公式
經驗熵公式
|D|表示其樣本容量
條件熵公式
信息增益
A是某一特征
四、具體實現過程及細節
#導入數據 import pandas as pd Tianic = pd.read_csv(r'train.csv') #劃分數據集 from sklearn import model_selection predictors=Tianic.columns[1:2] X_train, X_test, Y_train, Y_test =model_selection.train_test_split(Tianic[predictors],Tianic.z,test_size=0.25,random_state=1234) #構建函數模型并預測 from sklearn import tree from sklearn import metrics CART_Class=tree.DecisionTreeClassifier(max_depth=1,min_samples_leaf=1,min_samples_split=2) decision_tree = CART_Class.fit(X_train,Y_train) pred = CART_Class.predict(X_test) print('準確率:\n',metrics.accuracy_score(Y_test,pred))總結
以上是生活随笔為你收集整理的从零开始的AI·决策树原来这么好理解(附实例代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从零开始的AI·朴素贝叶斯?拿来吧你(附
- 下一篇: JAVA入门笔记·JAVA名词及环境搭建