決策樹
隨機森林
K-Means
KNN
決策樹是一種以樹狀結構表示分類和回歸模型,從根節點開始,根據最優屬性從上往下層層劃分,最終輸出葉子節點為分類結果值。
優點
缺點
改進
宗旨是在每一個決策點,選擇能夠使得樣本的熵降低得最快,樣本純度提升最大的那個特徵作為該決策點的劃分特徵
ID3:選擇信息增益最大的特徵作為當前決策點的劃分屬性,信息增益的定義是劃分前的熵值減去劃分後的熵值。熵值越小,純度越高
C4.5:選擇信息增益比最大的作為劃分屬性,因為ID3會偏向於選擇那些取值多的屬性進行劃分,C4.5與ID3的區別在於它除以了特徵本身的熵值,獲得的是一個信息增益比率(可以處理連續變數)
CART:選擇Gini係數最小的作為劃分特徵,Gini係數越小,純度越高。(只能二叉樹,既能分類又能回歸)
N:決策樹在該節點 (在特定數據集中訓練的時候) 的樣本數
H(T):該葉子節點的熵值
T:決策樹的葉節點個數,即模型複雜度
alpha:正則化參數
目的是防止過擬合,增強其泛化能力
預剪枝
後剪枝:
其他
準確率可以和Adaboost相媲美,對錯誤和離群點更魯棒。準確率依賴於個體分類器的實力和它們之間的依賴性。理想情況是保持個體分類器的能力而不提高它們的相關性。
python 參數
int:max_features等於這個int值
float:max_features是一個百分比,每(max_features * n_features)特徵在每個分割出被考慮。
"auto":max_features等於sqrt(n_features)
"sqrt":同等於"auto"時
"log2":max_features=log2(n_features)
None:max_features = n_features
int:如果是int值,則就是這個int值
float:如果是float值,則為min_samples_split * n_samples
int:就是這個int值
float:min_samples_leaf * n_samples
都是基於樹演算法,隨機森林(Random Forest)和GBM演算法有什麼不一樣?
回答:基本差異在於,隨機森林演算法使用Bagging技術做預測,GBM使用Boosting技術來做預測。
在Bagging演算法中,數據集使用返回隨機抽樣被分為n個樣本集,然後使用學習演算法在所有樣本上建立模型,得出的預測結果由投票或者平均機制組合。Bagging是平行進行的。
在Boosting演算法中,在第一輪的預測之後,演算法將未分類的預測權重加大,因此該預測可以在接下來的回合中被糾正。這種有序流程,不斷將未分類的預測權重加大直到觸發停止準則。
隨機森林(主要)通過降低方差改進模型的精確度,已生成樹不能幫助減少方差。GBM演算法通過降低模型中的偏差和方差提高精確度。
是一種無監督學習演算法
分配(Assignment):將每個觀測分配到聚類中,使得組內平方和(WCSS)達到最小。其中每個{displaystyle x_{p}} 都只被分配到一個確定的聚類{displaystyle S^{t}} 中,儘管在理論上它可能被分配到2個或者更多的聚類。
更新(Update):對於上一步得到的每一個聚類,以聚類中觀測值的圖心,作為新的均值點。
代價函數:最小化所有的數據點與其所關聯的聚類中心點之間的距離之和
參考:《python 數據分析與機器學習實戰》