發布時間: 2019-10-26 10:14:39
通俗來說,決策樹分類的思想類似于找對象?,F想象一個女孩的母親要給這個女孩介紹男朋友,于是有了下面的對話:
女兒:多大年紀了?
母親:26。
女兒:長的帥不帥?
母親:挺帥的。
女兒:收入高不?
母親:不算很高,中等情況。
女兒:是公務員不?
母親:是,在稅務局上班呢。
女兒:那好,我去見見。
這個女孩的決策過程就是典型的分類樹決策。相當于通過年齡、長相、收入和是否公務員對將男人分為兩個類別:見和不見。假設這個女孩對男人的要求是:30歲以下、長相中等以上并且是高收入者或中等以上收入的公務員,那么這個可以用下圖表示女孩的決策邏輯
上圖完整表達了這個女孩決定是否見一個約會對象的策略,其中綠色節點表示判斷條件,橙色節點表示決策結果,箭頭表示在一個判斷條件在不同情況下的決策路徑,圖中紅色箭頭表示了上面例子中女孩的決策過程。
這幅圖基本可以算是一顆決策樹,說它“基本可以算”是因為圖中的判定條件沒有量化,如收入高中低等等,還不能算是嚴格意義上的決策樹,如果將所有條件量化,則就變成真正的決策樹了。
有了上面直觀的認識,我們可以正式定義決策樹了:
決策樹(decision tree)是一個樹結構(可以是二叉樹或非二叉樹)。其每個非葉節點表示一個特征屬性上的測試,每個分支代表這個特征屬性在某個值域上的輸出,而每個葉節點存放一個類別。使用決策樹進行決策的過程就是從根節點開始,測試待分類項中相應的特征屬性,并按照其值選擇輸出分支,直到到達葉子節點,將葉子節點存放的類別作為決策結果。
可以看到,決策樹的決策過程非常直觀,容易被人理解。目前決策樹已經成功運用于醫學、制造產業、天文學、分支生物學以及商業等諸多領域。
能消除不確定性的內容才能叫信息,而告訴你一個想都不用想的事實,那不叫信息。比如數據分析師的工作經常是要用數據中發現信息,有一天上班你告訴老大從數據中發現我們的用戶性別有男有女。。。(這不廢話嗎?)這不叫信息,但是如果你告訴老大女性用戶的登錄頻次、加購率,瀏覽商品數量遠高于男性,且年齡段在25歲~30歲的女性用戶消費金額最多,15-20歲最少,那么我相信你老大會眼前一亮的?。?!
如何衡量信息量?1948年有一位科學家香農從引入熱力學中的熵概念,得到了信息量的數據公式:
Pk代表信息發生的可能性,發生的可能性越大,概率越大,則信息越少,通常將這種可能性叫為不確定性,越有可能則越能確定則信息越少;比如中國與西班牙踢足球,中國獲勝的信息量要遠大于西班牙勝利(因為這可能性實在太低~~)
信息熵則是在信息的基礎上,將有可能產生的信息定義為一個隨機變量,那么變量的期望就是信息熵,比如上述例子中變量是贏家,有兩個取值,中國或西班牙,兩個都有自己的信息,再分別乘以概率再求和,就得到了這件事情的信息熵,公式如下:
條件熵的計算:
信息增益是決策樹中ID3算法中用來進行特征選擇的方法,就是用整體的信息熵減掉以按某一特征分裂后的條件熵,結果越大,說明這個特征越能消除不確定性,最極端的情況,按這個特征分裂后信息增益與信息熵一模一樣,那說明這個特征就能獲得唯一的結果了。
特征A對訓練數據集D的信息增益g(D,A),定義為集合D的信息熵H(D)與特征A給定條件下D的信息條件熵H(D|A)之差,即公式為:
有以下數據,求出各個屬性的信息增益:
信息增益的計算
信息增益率是在信息增益的基礎上,增加了一個關于選取的特征包含的類別的懲罰項,這主要是考慮到如果純看信息增益,會導致包含類別越多的特征的信息增益越大,極端一點,有多少個樣本,這個特征就有多少個類別,那么就會導致決策樹非常淺。公式為:
基尼系數也是一種衡量信息不確定性的方法,與信息熵計算出來的結果差距很小,基本可以忽略,但是基尼系數要計算快得多,因為沒有對數,公式為:
與信息熵一樣,當類別概率趨于平均時,基尼系數越大
當按特征A分裂時,基尼系數的計算如下:
這是二分類時的基尼系數圖像,與信息熵形狀非常接近,從數據角度看,將信息熵在Pk=1處進行泰勒一階展開,可以得到log2Pk≈1-Pk
在泰坦尼克號和titanic2數據幀描述泰坦尼克號上的個別乘客的生存狀態。在泰坦尼克號的數據幀不包含從劇組信息,但它確實包含了乘客的一半的實際年齡。關于泰坦尼克號旅客的數據的主要來源是百科全書Titanica。這里使用的數據集是由各種研究人員開始的。其中包括許多研究人員創建的旅客名單,由Michael A. Findlay編輯。
我們提取的數據集中的特征是票的類別,存活,乘坐班,年齡,登陸,home.dest,房間,票,船和性別。乘坐班是指乘客班(1,2,3),是社會經濟階層的代表。
其中age數據存在缺失。
根據以下數據來預測乘客生死
import pandas as pd if __name__ == "__main__": |
更多的技術內容,請訪問騰科公司網站 youw.xyz
上一篇: 人工智能AI培訓_機器學習之集成學習算法