基本概念︰訓練集,測試集,特徵值,監督學習,非監督學習,半監督學習,分類,回歸
1.1訓練集(training set/data)/訓練樣例(training examples):用來進行訓練,也就是產生模型或者演算法的資料集。
1.2測試集(testing set/data)/測試樣例(testing examples):用來專門進行測試已經學習好的模型或者演算法的資料集。
乙個運來訓練,乙個用來學習二者不衝突。
1.3特徵向量(features/feature vector) :屬性的集合,通常用乙個向量來表示, 附屬於乙個例項,例子中的天氣,溫度,濕度,風力,水溫為屬性。
1.4標記(label): c(x)例項類別的標記,即最後**的結果y,例子中為,最後是否運動,1為是,0為否。
同時:1為是也叫正例;0為否也叫返例。
1.5分類(classification):目標標記為類別型資料(category);結果為是否,結果只有是或否
1.6回歸(regression):目標標記為連續性數值(continuous numeric value);例如房價**,**是數值型。
例:研究腫瘤良性還是惡性取決於尺寸和顏色的關係。這是乙個分類問題。
特徵值:腫瘤尺寸,顏色
標記:良性/惡性
1.7三個學習
有監督學習(supervised learning):訓練集有類別標記(class label);訓練集都知道最後得結果,例訓練集裡面的例子都知道腫瘤是良性還是惡性。
無監智學習(unsupervised learning):無類別標記(class label);訓練集不知道最後結果,即不知道腫瘤是什麼性質。
半監督學習(semi-supervised learning):有類別標記的訓練集+無標記的訓練集。
1.8機器學習步驟框架
把資料拆分為訓練集和測試集
用訓|練集和訓練集的特徵向量來訓練演算法
用學習來的演算法運用在測試集上來評估演算法(可能要設計到調整引數(parametertuning))用來驗證集(validation set)
例:總共110天,100天是訓練,10天用來驗證。
機器學習中分類和**演算法的評估∶
準確率;速度;強壯性(有一些噪音或數值缺失時能否繼續執行);可規模性(資料變成打的資料集時能否繼續執行);可解釋性
2.1什麼是決策樹
決策樹是乙個類似於流程圖的樹結構∶
其中,每個內部結點表示在乙個屬性上的測試,每個分支代表乙個屬性輸出,而每個樹葉結點代表類或類分布。樹的最頂層是根結點。如下圖
構造決策樹的基本演算法
如下圖:判斷是否會買電腦
列出決策樹
2.2資訊熵(information entropy):
一條資訊的資訊量大小和它的不確定性有直接的關係,要搞清楚一件非常非常不確定的事情,或者是我們一無所知的事情,需要了解大量資訊==>資訊量的度量就等於不確定性的多少。
用位元(bit)來衡量資訊的多少,計算資訊熵公式如下:
p(x)為事件發生的概率,變數的不確定性越大,熵的值越大。
2.3決策樹歸納演算法(id3)
重點:選擇屬性判斷的節點:即該把那個屬性放到根節點。
資訊增益量(information gain) : gain(a) = info(d) - lnfor_a(d),通過a來作為節點分類獲取了多少資訊,gain(a)為a屬性的增益量=沒有a屬性的原始增益量-加上a屬性後的增益量。d為資料集。
資訊增益量越大,節點純度越高,越適合做根節點。
例
總共有14個例子,no是5個,9個是yes,
計算原始資料集d的資訊熵:根據上面資訊熵計算公式,買電腦佔比例9\14,不買電腦佔比例5\14,兩個情況帶入公式相加的:
以年齡為例,計算加上年齡的資訊熵:
14人中按年齡分為三類:youth有5個,senior有5個,middle_aged有4個,所以先計算他們各自在14人中所佔比例,再乘以他們的資訊熵(這裡的資訊熵是三個年齡段的資訊上計算)
資訊量gain(age)計算:
依次計算其他的資訊量:
因為年齡的資訊增益量最大,所以選擇age作為根節點。
下乙個節點依舊重複計算
總結:數是以代表訓練樣本的單個節點開始的(步驟1)。
如果樣本都在同乙個類,則該結點成為樹葉,並用該類標號(步驟2和3),此類少見。
否則,演算法使用稱為資訊增益的基於熵的度量作為後發資訊,選擇能夠最好地將樣本分類的屬性(步驟6) 。該屬性成為該結點的「測試」或"判定"屬性(步驟7) 。
所有屬性都是分類的,是離散的,若是連續屬性必須進行離散化。
對測試屬性的每個已知的值,建立乙個分枝, 並據此劃分樣本(步驟8-10)。
演算法使用同樣的過程,遞迴地形成每個劃分,上的樣本判定樹。一旦乙個屬性出現在乙個結點上,就不必該結點的任何後代上考慮它(步驟13) 。
遞迴劃分步驟僅當下列條件之一成立停止:
a.給定結點的所有樣本屬於同一類(步驟2和3)
b.沒有剩餘屬性可以用來進一步劃分樣本(步驟4)。在此情況下,使用多數表決(步驟5)。
3.1學習的庫
使用python裡面的scikit-learn庫。
pip install scikit-learn
機器學習(二) 決策樹
決策樹是用於分類的一種機器學習演算法。其最大的特點就是簡單,直觀.由於資料來自於之前的筆記。原例子的出處找不到,乾脆就手繪算了 xd。其中如果資料不是離散值,要先處理成離散值再進行決策樹的計算。圖1 用乙個例子來講吧。如上圖,現在是有14條資料都從調研中得到,其中是研究是否買電腦的資料,rid是列號...
機器學習二 決策樹學習
決策樹學習 從今天開始,堅持每天學習乙個機器學習的新知識,加油!決策樹學習是應用最廣的歸納推理演算法之一,是一種逼近離散值目標函式的方法,在這種方法中學習到的函式被表示為一顆決策樹。決策樹通過把例項從根結點排列到某個葉子結點來分類例項,葉子結點即為例項所屬的分類。樹上的每乙個結點指定了對例項的某個屬...
機器學習演算法 決策樹總結
1.決策樹學習的目的 從資料樣本集中歸納出一組具有分類能力的分類規則。2.樹模型和線性模型有什麼區別呢?樹形模型是乙個乙個特徵進行處理,之前線性模型是所有特徵給予權重相加得到乙個新的值。決策樹與邏輯回歸的分類區別也在於此 另外邏輯回歸只能找到線性分割,而決策樹可以找到非線性分割。3.id3,c4.5...