r语言 C4.5 剪枝是用什么算法_推荐收藏 | 决策树,逻辑回归,PCA算法面经
目錄
決策樹
簡述決策樹原理?
為什么要對決策樹進行減枝?如何進行減枝?
簡述決策樹的生成策略
PCA
簡述主成分分析PCA工作原理,以及PCA的優缺點?
PCA中有第一主成分、第二主成分,它們分別是什么,又是如何確定的?
邏輯回歸
邏輯回歸是線性模型么,說下原因?
邏輯回歸算法為什么用的是sigmoid函數而不用階躍函數?
其他
分析KNN與K-means中k值如何進行選取并解釋兩者之間的區別?
對于數據異常值,我們一般如何處理?
什么是特征選擇,為什么要進行特征選擇,以及如何進行?
決策樹
簡述決策樹原理?
決策樹是一種自上而下,對樣本數據進行樹形分類的過程,由節點和有向邊組成。節點分為內部節點和葉節點,其中每個內部節點表示一個特征或屬性,葉節點表示類別。從頂部節點開始,所有樣本聚在一起,經過根節點的劃分,樣本被分到不同的子節點中,再根據子節點的特征進一步劃分,直至所有樣本都被歸到某個類別。
為什么要對決策樹進行減枝?如何進行減枝?
Datawhale優秀回答者:Cassiel
剪枝是決策樹解決過擬合問題的方法。在決策樹學習過程中,為了盡可能正確分類訓練樣本,結點劃分過程將不斷重復,有時會造成決策樹分支過多,于是可能將訓練樣本學得太好,以至于把訓練集自身的一些特點當作所有數據共有的一般特點而導致測試集預測效果不好,出現了過擬合現象。因此,可以通過剪枝來去掉一些分支來降低過擬合的風險。
決策樹剪枝的基本策略有“預剪枝”和“后剪枝”。預剪枝是指在決策樹生成過程中,對每個結點在劃分前先進行估計,若當前結點的劃分不能帶來決策樹泛化性能提升,則停止劃分并將當前結點標記為葉結點;后剪枝則是先從訓練集生成一棵完整的決策樹,然后自底向上地對非葉結點進行考察,若將該結點對應的子樹替換為葉結點能帶來決策樹泛化性能提升,則將該子樹替換為葉結點。預剪枝使得決策樹的很多分支都沒有"展開”,這不僅降低了過擬合的風險,還顯著減少了決策樹的訓練時間開銷和測試時間開銷。但另一方面,有些分支的當前劃分雖不能提升泛化性能、甚至可能導致泛化性能暫時下降?但在其基礎上進行的后續劃分卻有可能導致性能顯著提高;預剪枝基于"貪心"本質禁止這些分支展開,給預剪枝決策樹帶來了欠擬含的風險。
后剪枝決策樹通常比預剪枝決策樹保留了更多的分支,一般情形下后剪枝決策樹的欠擬合風險很小,泛化性能往往優于預剪枝決策樹 。但后剪枝過程是在生成完全決策樹之后進行的 并且要白底向上對樹中的所有非葉結點進行逐 考察,因此其訓練時間開銷比未剪枝決策樹和預剪枝決策樹都要大得多。?
簡述決策樹的生成策略?
Datawhale優秀回答者:立言
決策樹主要有ID3、C4.5、CART,算法的適用略有不同,但它們有個總原則,即在選擇特征、向下分裂、樹生成中,它們都是為了讓信息更“純”。
舉一個簡單例子,通過三個特征:是否有喉結、身高、體重,判斷人群中的男女,是否有喉結把人群分為兩部分,一邊全是男性、一邊全是女性,達到理想結果,純度最高。通過身高或體重,人群會有男有女。上述三種算法,信息增益、增益率、基尼系數對“純”的不同解讀。如下詳細闡述:
綜上,ID3采用信息增益作為劃分依據,會傾向于取值較多的特征,因為信息增益反映的是給定條件以后不確定性減少的程度,特征取值越多就意味著不確定性更高。C4.5對ID3進行優化,通過引入信息增益率,對特征取值較多的屬性進行懲罰。
PCA
簡述主成分分析PCA工作原理,以及PCA的優缺點?
PCA旨在找到數據中的主成分,并利用這些主成分表征原始數據,從而達到降維的目的。
工作原理可由兩個角度解釋,第一個是最大化投影方差(讓數據在主軸上投影的方差盡可能大);第二個是最小化平方誤差(樣本點到超平面的垂直距離足夠近)。
做法是數據中心化之后,對樣本數據協方差矩陣進行特征分解,選取前d個最大的特征值對應的特征向量,即可將數據從原來的p維降到d維,也可根據奇異值分解來求解主成分。?
優點:
1.計算簡單,易于實現
2.各主成分之間正交,可消除原始數據成分間的相互影響的因素
3.僅僅需要以方差衡量信息量,不受數據集以外的因素影響
4.降維維數木有限制,可根據需要制定
缺點:
1.無法利用類別的先驗信息
2.降維后,只與數據有關,主成分各個維度的含義模糊,不易于解釋
3.方差小的非主成分也可能含有對樣本差異的重要信息,因降維丟棄可能對后續數據處理有影響
4.線性模型,對于復雜數據集難以處理(可用核映射方式改進)
參考鏈接:
https://www.jianshu.com/p/487818da5de3
PCA中有第一主成分、第二主成分,它們分別是什么,又是如何確定的?
Datawhale優秀回答者:孫洪杰?
主成分分析是設法將原來眾多具有一定相關性(比如P個指標),重新組合成一組新的互相無關的綜合指標來代替原來的指標。主成分分析,是考察多個變量間相關性一種多元統計方法,研究如何通過少數幾個主成分來揭示多個變量間的內部結構,即從原始變量中導出少數幾個主成分,使它們盡可能多地保留原始變量的信息,且彼此間互不相關,通常數學上的處理就是將原來P個指標作線性組合,作為新的綜合指標。?
最經典的做法就是用F1(選取的第一個線性組合,即第一個綜合指標)的方差來表達,即Var(F1)越大,表示F1包含的信息越多。因此在所有的線性組合中選取的F1應該是方差最大的,故稱F1為第一主成分。如果第一主成分不足以代表原來P個指標的信息,再考慮選取F2即選第二個線性組合,為了有效地反映原來信息,F1已有的信息就不需要再出現在F2中,用數學語言表達就是要求Cov(F1, F2)=0,則稱F2為第二主成分,依此類推可以構造出第三、第四,……,第P個主成分。
邏輯回歸
邏輯回歸是線性模型么,說下原因?
Datawhale優秀回答者:夢大大?
邏輯回歸是廣義線性模型,原因如下:?
狹義線性模型的前提是因變量誤差是正態分布,但很多情況下這并不滿足,比如對足球比分的預測顯然用泊松分布是更好的選擇。而廣義的”廣”在于引入了聯系函數,于是誤差變成了只要滿足指數分布族就行了,因此適用性更強。?
簡單來說廣義線性模型分為兩個部分,第一個部分是描述了自變量和因變量的系統關系,也就是”線性”所在;第二個部分是描述了因變量的誤差,這可以建模成各種滿足指數分布族的分布。而聯系函數就是把這兩個部分連接起來的橋梁,也就是把因變量的期望表示為了自變量線性組合的函數。而像邏輯回歸這樣的簡單廣義線性模型,實際是將自變量的線性組合變成了聯系函數的自然參數,這類聯系函數也可以叫做正則聯系函數。?
邏輯回歸算法為什么用的是sigmoid函數而不用階躍函數?
階躍函數雖然能夠直觀刻畫分類的錯誤率,但是由于其非凸、非光滑的特點,使得算法很難直接對該函數進行優化。而sigmoid函數本身的特征(光滑無限階可導),以及完美的映射到概率空間,就用于邏輯回歸了。解釋上可從三個方面:- 最大熵定理- 伯努利分布假設- 貝葉斯理論 。
其他
分析KNN與K-means中k值如何進行選取并解釋兩者之間的區別?
knn的k是指選擇與目標最近k個數量樣本來進行預測。可以用多次交叉檢驗迭代對比后選擇最優。kmeans的k是指簇中心數量,也就是聚類的數量。可以用肘部法,也是通過不同的k值,每次都計算所有樣本與距離自己最近簇中心的距離之和,最后用k值和對應的距離畫散點圖,尋找一個最優的拐點。手肘法是個經驗學習,所以不夠自動化,然后提出了Gap Statistic方法。
對于數據異常值,我們一般如何處理?
1.視為無效信息(噪聲點):結合異常值檢測算法,檢測出后直接丟棄;
2.視為有效信息(信號點):
作為缺失值,用缺失值的方式處理;
3.用平均值(中位數)等統計特征進行修正,結合前后觀測值;
4.不處理,直接在具有異常值的數據上進行數據挖掘;
什么是特征選擇,為什么要進行特征選擇,以及如何進行?
Datawhale優秀回答者:Summer
特征選擇是通過選擇舊屬性的子集得到新屬性,是一種維規約方式。
Why:
應用方面:提升準確率,特征選擇能夠刪除冗余不相關的特征并降低噪聲,避免維災難。在許多數據挖掘算法中,維度較低,效果更好;
執行方面:維度越少,運行效率越高,同時內存需求越少。
How:
有三種標準的特征選擇方法
1.嵌入方法,算法本身決定使用哪些屬性和忽略哪些屬性。即特征選擇與訓練過程融為一體,比如L1正則、決策樹等;
2.過濾方法,獨立于算法,在算法運行前進行特征選擇。如可以選擇屬性的集合,集合內屬性對之間的相關度盡可能低。常用對特征重要性(方差,互信息,相關系數,卡方檢驗)排序選擇;可結合別的算法(隨機森林,GBDT等)進行特征重要性提取,過濾之后再應用于當前算法。
3.包裝方法,算法作為黑盒,在確定模型和評價準則之后,對特征空間的不同子集做交叉驗證,進而搜索最佳特征子集。深度學習具有自動化包裝學習的特性。總之,特征子集選擇是搜索所有可能的特性子集的過程,可以使用不同的搜索策略,但是搜索策略的效率要求比較高,并且應當找到最優或近似最優的特征子集。一般流程如下圖:?
總結
以上是生活随笔為你收集整理的r语言 C4.5 剪枝是用什么算法_推荐收藏 | 决策树,逻辑回归,PCA算法面经的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 清理win7系统C盘的方法
- 下一篇: ThunderSoft Apple Mu