自慰套教室~女子全员妊娠,精品无码国产自产拍在线观看蜜桃,亚洲国产精品成人精品无码区,久别的草原在线看视频免费

集團站切換校區

驗證碼已發送,請查收短信

復制成功
微信號:togogoi
添加微信好友, 詳細了解課程
已復制成功,如果自動跳轉微信失敗,請前往微信添加好友
打開微信
圖標

業界新聞

當前位置:首頁 > >業界新聞 > >

人工智能AI培訓_機器學習之決策樹算法

發布時間: 2019-10-26 10:14:39

人工智能AI培訓_機器學習之決策樹算法??


1.    決策樹簡介

通俗來說,決策樹分類的思想類似于找對象?,F想象一個女孩的母親要給這個女孩介紹男朋友,于是有了下面的對話:

女兒:多大年紀了?

母親:26。

女兒:長的帥不帥?

母親:挺帥的。

女兒:收入高不?

母親:不算很高,中等情況。

女兒:是公務員不?

母親:是,在稅務局上班呢。

女兒:那好,我去見見。

這個女孩的決策過程就是典型的分類樹決策。相當于通過年齡、長相、收入和是否公務員對將男人分為兩個類別:見和不見。假設這個女孩對男人的要求是:30歲以下、長相中等以上并且是高收入者或中等以上收入的公務員,那么這個可以用下圖表示女孩的決策邏輯

圖片.png

上圖完整表達了這個女孩決定是否見一個約會對象的策略,其中綠色節點表示判斷條件,橙色節點表示決策結果,箭頭表示在一個判斷條件在不同情況下的決策路徑,圖中紅色箭頭表示了上面例子中女孩的決策過程。

這幅圖基本可以算是一顆決策樹,說它“基本可以算”是因為圖中的判定條件沒有量化,如收入高中低等等,還不能算是嚴格意義上的決策樹,如果將所有條件量化,則就變成真正的決策樹了。

有了上面直觀的認識,我們可以正式定義決策樹了:

決策樹(decision tree)是一個樹結構(可以是二叉樹或非二叉樹)。其每個非葉節點表示一個特征屬性上的測試,每個分支代表這個特征屬性在某個值域上的輸出,而每個葉節點存放一個類別。使用決策樹進行決策的過程就是從根節點開始,測試待分類項中相應的特征屬性,并按照其值選擇輸出分支,直到到達葉子節點,將葉子節點存放的類別作為決策結果。

可以看到,決策樹的決策過程非常直觀,容易被人理解。目前決策樹已經成功運用于醫學、制造產業、天文學、分支生物學以及商業等諸多領域。

2.    信息

能消除不確定性的內容才能叫信息,而告訴你一個想都不用想的事實,那不叫信息。比如數據分析師的工作經常是要用數據中發現信息,有一天上班你告訴老大從數據中發現我們的用戶性別有男有女。。。(這不廢話嗎?)這不叫信息,但是如果你告訴老大女性用戶的登錄頻次、加購率,瀏覽商品數量遠高于男性,且年齡段在25~30歲的女性用戶消費金額最多,15-20歲最少,那么我相信你老大會眼前一亮的?。?!

如何衡量信息量?1948年有一位科學家香農從引入熱力學中的熵概念,得到了信息量的數據公式:

圖片.png

Pk代表信息發生的可能性,發生的可能性越大,概率越大,則信息越少,通常將這種可能性叫為不確定性,越有可能則越能確定則信息越少;比如中國與西班牙踢足球,中國獲勝的信息量要遠大于西班牙勝利(因為這可能性實在太低~~

3.    信息熵

信息熵則是在信息的基礎上,將有可能產生的信息定義為一個隨機變量,那么變量的期望就是信息熵,比如上述例子中變量是贏家,有兩個取值,中國或西班牙,兩個都有自己的信息,再分別乘以概率再求和,就得到了這件事情的信息熵,公式如下:

圖片.png

條件熵的計算:

圖片.png

4.    信息增益

信息增益是決策樹中ID3算法中用來進行特征選擇的方法,就是用整體的信息熵減掉以按某一特征分裂后的條件熵,結果越大,說明這個特征越能消除不確定性,最極端的情況,按這個特征分裂后信息增益與信息熵一模一樣,那說明這個特征就能獲得唯一的結果了。

特征A對訓練數據集D的信息增益g(D,A),定義為集合D的信息熵H(D)與特征A給定條件下D的信息條件熵H(D|A)之差,即公式為:

圖片.png

有以下數據,求出各個屬性的信息增益:

圖片.png

信息增益的計算

圖片.png     

圖片.png

5.    信息增益率

信息增益率是在信息增益的基礎上,增加了一個關于選取的特征包含的類別的懲罰項,這主要是考慮到如果純看信息增益,會導致包含類別越多的特征的信息增益越大,極端一點,有多少個樣本,這個特征就有多少個類別,那么就會導致決策樹非常淺。公式為:

圖片.png

圖片.png

6.    基尼系數

基尼系數也是一種衡量信息不確定性的方法,與信息熵計算出來的結果差距很小,基本可以忽略,但是基尼系數要計算快得多,因為沒有對數,公式為:

圖片.png

與信息熵一樣,當類別概率趨于平均時,基尼系數越大

圖片.png

當按特征A分裂時,基尼系數的計算如下:

圖片.png

這是二分類時的基尼系數圖像,與信息熵形狀非常接近,從數據角度看,將信息熵在Pk=1處進行泰勒一階展開,可以得到log2Pk≈1-Pk

圖片.png

圖片.png

圖片.png

7.    泰坦尼克號案例

7.1. 案例描述

在泰坦尼克號和titanic2數據幀描述泰坦尼克號上的個別乘客的生存狀態。在泰坦尼克號的數據幀不包含從劇組信息,但它確實包含了乘客的一半的實際年齡。關于泰坦尼克號旅客的數據的主要來源是百科全書Titanica。這里使用的數據集是由各種研究人員開始的。其中包括許多研究人員創建的旅客名單,由Michael A. Findlay編輯。

我們提取的數據集中的特征是票的類別,存活,乘坐班,年齡,登陸,home.dest,房間,票,船和性別。乘坐班是指乘客班(1,2,3),是社會經濟階層的代表。

其中age數據存在缺失。

根據以下數據來預測乘客生死

圖片.png

7.2. 實現代碼

import pandas as pd
  
from sklearn.ensemble import RandomForestClassifier
  
from sklearn.feature_extraction   import   DictVectorizer
  
from sklearn.model_selection   import   train_test_split,   GridSearchCV
  
from sklearn.tree import DecisionTreeClassifier,   export_graphviz
  
  
#決策樹
  
def   decision():
      
"""
      
決策樹對泰坦尼克號進行預測生死
      
:return: None
      """
      # 
獲取數據
      
titan = pd.read_csv("http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt")
      
處理數據,找出特征值和目標值
      
x = titan[['pclass''age''**']]
      y = titan[
'survived']
      
print(x)
      
缺失值處理,inplace代表替換
      
x['age'].fillna(x['age'].mean(), inplace=True)
      
分割數據集:訓練集和測試集
      
x_train, x_test, y_train,   y_test = train_test_split(x, y, test_size=0.25)
      
當特征值是類別時,要進行one_hot編碼處理,進行處理(特征工程)特征-》類別-one_hot編碼
      
dict = DictVectorizer(sparse=False)
      
#x_train.to_dict(orient="records"):將每個樣本變成字典
      
x_train =   dict.fit_transform(x_train.to_dict(orient="records"))
  
      
print(dict.get_feature_names())
      x_test = dict.transform(x_test.to_dict(
orient="records"))
      
print(x_train)
      
#用決策樹進行預測
      
dec = DecisionTreeClassifier()
      dec.fit(x_train, y_train)
      
# dec.predict()
      # 
預測準確率
      
print("預測的準確率:", dec.score(x_test,   y_test))
      
return None
  
 

if __name__ == "__main__":
      decision ()

 

更多的技術內容,請訪問騰科公司網站 youw.xyz

上一篇: 人工智能AI培訓_機器學習之集成學習算法

下一篇: 華為認證GaussDB數據庫工程師正式發布!

在線咨詢 ×

您好,請問有什么可以幫您?我們將竭誠提供最優質服務!

<蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>