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