獨家 | 一文讀懂特徵工程

2021-03-02 數據派THU

本文結構

1.  概述

機器學習被廣泛定義為「利用經驗來改善計算機系統的自身性能」。事實上,「經驗」在計算機中主要是以數據的形式存在的,因此數據是機器學習的前提和基礎。數據來源多種多樣,它可以是結構數據,如數值型、分類型,也可以是非結構數據,如文本、語音、圖片、視頻。對於所有機器學習模型,這些原始數據必須以特徵的形式加入到機器學習模型當中,並進行一定的提取和篩選工作。所謂特徵提取,就是逐條將原始數據轉化為特徵向量的形式,此過程涉及數據特徵的量化表示;而特徵篩選是在已提取特徵的基礎上,進一步對高維度和已量化的特徵向量進行選擇,獲取對指定任務更有效果的特徵組合以提升模型性能。

在機器學習和模式識別中,特徵是在觀測現象中的一種獨立、可測量的屬性。選擇信息量大的、有差別性的、獨立的特徵是模式識別、分類和回歸問題的關鍵一步,其終極目的在於最大限度地從原始數據中提取特徵以供算法和模型使用。特徵工程的好壞將會影響整個模型的預測性能,另一方面,相比一些複雜的算法,靈活地處理好數據經常會取到意想不到的效益。

數據挖掘和機器學習界有這麼一句廣泛流傳的話:數據和特徵決定了機器學習的上限,而模型和算法是在逼近這個上限而已。換句話說,好的數據和特徵是所有模型和算法發揮到極致的前提。

2.  數據的預處理

現實世界中數據大體上都是不完整,不一致的髒數據,無法直接進行提供給機器學習模型。為了提高數據利用的質量產生了數據預處理技術。

2.1 無量綱化


無量綱化使不同規格的數據轉換到同一規格。常見的無量綱化方法有標準化、區間縮放法和正則化。標準化的前提是特徵值服從正態分布,標準化後,其轉換成標準正態分布。區間縮放法利用了邊界值信息,將特徵的取值區間縮放到某個特點的範圍。數據正則化針對單個樣本,將樣本某個範數縮放到單位1。

2.1.1 標準化


數據標準化是將樣本的屬性縮放到某個指定的範圍,標準化的原因在於:

標準化公式為:

其中,μ 為數據x的平均值,σ 為標準差。

使用preproccessing庫的StandardScaler類對數據進行標準化的代碼如下:

from sklearn.preprocessing import StandardScaler #標準化,返回值為標準化後的數據StandardScaler().fit_transform(iris.data)

2.1.2 區間縮放法

區間縮放法的思路有多種,常見的一種為利用兩個最值min、max進行縮放,公式為:

使用preproccessing庫的MinMaxScaler類對數據進行區間縮放的代碼如下:

from sklearn.preprocessing import MinMaxScaler#區間縮放,返回值為縮放到[0, 1]區間的數據MinMaxScaler().fit_transform(iris.data)

2.1.3 數據正則化

數據正則化將樣本某個範數縮放到單位1,是針對單個樣本的,對於每個樣本將樣本縮放到單位範數。其目的在於樣本向量在點乘運算或其他核函數計算相似性時,擁有統一的標準。規則為L2的正則化公式為:

使用preproccessing庫的Normalizer類對數據進行正則化的代碼如下:

from sklearn.preprocessing import Normalizer #歸一化,返回值為歸一化後的數據Normalizer().fit_transform(iris.data)

2.2 特徵二元化

特徵二元化的過程是將數值型數據轉換為布爾型屬性。設定一個閾值,大於閾值的賦值為1,小於等於閾值的賦值為0,公式表達如下:

使用preproccessing庫的Binarizer類對數據進行二值化的代碼如下:

from sklearn.preprocessing import Binarizer #二值化,閾值設置為3,返回值為二值化後的數據Binarizer(threshold=3).fit_transform(iris.data)

2.3 特徵啞編碼

啞編碼(One Hot Encoding)採用N位狀態寄存器對N個可能的取值進行編碼,每個狀態都由獨立的寄存器位來表示,並且在任意時刻只有其中一位有效。假設某個屬性的取值為非數值的離散集合[離散值1,離散值2,…,離散值m],則針對該屬性的編碼為一個m元的元組,且該元組的分量有且只有一個為1,其餘都為0。

One Hot Encoding能夠處理非數值屬性;在一定程度上也擴充了特徵,如性別本身是一個屬性,經過One Hot Encoding後變成了男或女兩個屬性;編碼後的屬性是稀疏的,存在大量的零元分量。

使用preproccessing庫的OneHotEncoder類對數據進行啞編碼的代碼如下:

from sklearn.preprocessing import OneHotEncoder #啞編碼,對IRIS數據集的目標值,返回值為啞編碼後的數據OneHotEncoder().fit_transform(iris.target.reshape((-1,1)))

2.4 缺失值處理2.4.1 刪除缺失值2.4.2 數據補全

用規則或模型將缺失數據補全,這種做法的缺點是可能會引入噪聲:

均值插補

採用同類值插補

建模預測

高維映射

多重插補

極大似然估計

壓縮感知及矩陣補全

2.4.3 忽略缺失值

一些機器學習模型(如決策樹算法)能夠直接處理數據缺失的情況,在這種情況下不需要對缺失數據做任何的處理,這種做法的缺點是在模型的選擇上有局限。

3.  特徵選擇

不同的特徵對模型的準確度的影響不同,有些特徵與要解決的問題不相關,有些特徵是冗餘信息,這些特徵都應該被移除掉。

特徵選擇是自動地選擇出對於問題最重要的那些特徵子集的過程。進行特徵選擇有兩個重要原因:

特徵選擇必須確保不丟失重要信息,若重要信息缺失則學習效果會大打折扣。常見的特徵選擇方法大致分為三類:過濾式(filter)、包裹式(wrapper)、嵌入式(embedding)。

3.1 過濾式選擇

過濾式特徵選擇按照發散性或者相關性對各個特徵進行評分,設定閾值或者待選擇閾值的個數,選擇特徵。

3.1.1 方差選擇法

方差很小的屬性,意味著該屬性的識別能力很差。極端情況下,方差為0,意味著該屬性在所有樣本上都是一個值,可以通過scikit-learn提供的VarianceThreshold來剔除。

from sklearn.feature_selection import VarianceThreshold #方差選擇法,返回值為特徵選擇後的數據#參數threshold為方差的閾值VarianceThreshold(threshold=3).fit_transform(data)

threshold:一個浮點數,指定方差的閾值,低於此閾值的將被剔除。

data:樣本數據。

fit_transform:從樣本數據中學習方差,然後執行特徵選擇。

3.1.2 單變量特徵提取

使用相關係數法,先要計算各個特徵對目標值的相關係數以及相關係數的P值。用feature_selection庫的SelectKBest類結合相關係數來選擇特徵的代碼如下:

from sklearn.feature_selection import SelectKBest,f_classifX=[[1,2,3,4,5],   [5,4,3,2,1],       [3,3,3,3,3],   [1,1,1,1,1]]        ]y=[0,1,0,1]selector = SelectKBest(score_func=f_classif,k=3)selector.fit(X,y)

SelectKBest:保留在該統計指標上得分最高的K個特徵。

score_func:給出統計指標的函數,其參數為數組X和數組y,返回值為(score,pvalues)。

f_classif:根據方差分析,ANOVA的原理,依靠F-分布為概率分布的依據,利用平方和與自由度所計算的組間與組內均方估計出F值,適用於分離問題。

3.2 包裹式選擇

包裹式特徵選擇根據目標函數(通常是預測效果評分),每次選擇若干特徵,或者排除若干特徵。這類方法的核心思想在於,給定了某種模型,及預測效果評價的方法,然後針對特徵空間中的不同子集,計算每個子集的預測效果,效果最好的,即作為最終被挑選出來的特徵子集。注意集合的子集是一個指數的量級,故此類方法計算量較大。故而針對如何高效搜索特徵空間子集,就產生了不同的算法。其中有一種簡單有效的方法叫貪婪搜索策略,包括前向選擇與後向刪除。在前向選擇方法中,初始化一個空的特徵集合,逐步向其中添加新的特徵,如果該特徵能提高預測效果,即得以保留,否則就扔掉。後向刪除即是說從所有特徵構成的集合開始,逐步刪除特徵,只要刪除後模型預測效果提升,即說明刪除動作有效,否則就還是保留原特徵。要注意到,包裹式方法要求針對每一個特徵子集重新訓練模型,因此計算量還是較大的。
通常,將過濾式方法的高效與包裹式方法的高準確率進行結合,可得到更優的特徵子集。混合特徵選擇過程一般由兩個階段組成:

1)使用Filter方法初步剔除大部分無關或噪聲特徵,只保留少量特徵,從而有效地減小後續搜索過程的規模。

2)將剩餘的特徵連同樣本數據作為輸入參數傳遞給Wrapper選擇方法,以進一步優化選擇重要的特徵。

遞歸消除特徵法使用一個基模型來進行多輪訓練,每輪訓練後,消除若干權值係數的特徵,再基於新的特徵集進行下一輪訓練。使用feature_selection庫的RFE類來選擇特徵的代碼如下:

from sklearn.feature_selection import RFEfrom sklearn.linear_model import LogisticRegression#遞歸特徵消除法,返回特徵選擇後的數據#參數estimator為基模型#參數n_features_to_select為選擇的特徵個數RFE(estimator=LogisticRegression(), n_features_to_select=2).fit_transform(data, target)

estimator: 一個學習器,它必須提供一個fit方法和一個coef_屬性。

n_features_to_select:一個整數或None,指定要選出幾個特徵。如果為None,默認選取一半的特徵。

3.3 嵌入式選擇

嵌入式特徵選擇先使用某些機器學習的算法和模型進行訓練,得到各個特徵的權值係數,根據係數從大到小選擇特徵。類似於過濾式方法,但是是通過訓練來確定特徵的優劣。

scikit-learn提供了SelectFromModel來實現嵌入式特徵選取。SelectFromModel使用外部提供的estimator來工作。當某個特徵對應的coef或者feature_importance低於某個閾值時,該特徵將被移除。也可以不指定閾值,而使用啟發式的方法,如指定均值mean,指定中位數median或者指定這些統計量的倍數。

3.3.1 基於懲罰項的特徵選擇法

使用帶懲罰項的基模型,除了篩選出特徵外,同時也進行了降維。使用feature_selection庫的SelectFromModel類結合帶L1懲罰項的邏輯回歸模型,來選擇特徵的代碼如下:

from sklearn.feature_selection import SelectFromModelfrom sklearn.linear_model import LogisticRegression#帶L1懲罰項的邏輯回歸作為基模型的特徵選擇SelectFromModel(LogisticRegression(penalty="l1", C=0.1)).fit_transform(iris.data, iris.target)

3.3.2 基於樹模型的特徵選擇法

樹模型中GBDT也可用來作為基模型進行特徵選擇,使用feature_selection庫的SelectFromModel類結合GBDT模型,來選擇特徵的代碼如下:

from sklearn.feature_selection import SelectFromModelfrom sklearn.ensemble import GradientBoostingClassifier#GBDT作為基模型的特徵選擇SelectFromModel(GradientBoostingClassifier()).fit_transform(iris.data, iris.target)

4.  降維

當特徵選擇完成後,可以直接訓練模型了,但是可能由於特徵矩陣過大,導致計算量大,訓練時間長的問題,因此降低特徵矩陣維度也是必不可少的。常見的降維方法除了以上提到的基於L1懲罰項的模型以外,另外還有主成分分析法(PCA)和線性判別分析(LDA),線性判別分析本身也是一個分類模型。PCA和LDA有很多的相似點,其本質是要將原始的樣本映射到維度更低的樣本空間中,但是PCA和LDA的映射目標不一樣:PCA是為了讓映射後的樣本具有最大的發散性;而LDA是為了讓映射後的樣本有最好的分類性能。所以說PCA是一種無監督的降維方法,而LDA是一種有監督的降維方法。

4.1 主成分分析法(PCA)4.1.1 PCA原理

Principal Component Analysis(PCA)是最常用的線性降維方法,它的目標是通過某種線性投影,將高維的數據映射到低維的空間中表示,並期望在所投影的維度上數據的方差最大,以此使用較少的數據維度,同時保留住較多的原數據點的特性。

通俗的理解,如果把所有的點都映射到一起,那麼幾乎所有的信息(如點和點之間的距離關係)都丟失了,而如果映射後方差儘可能的大,那麼數據點則會分散開來,以此來保留更多的信息。可以證明,PCA是丟失原始數據信息最少的一種線性降維方式。(實際上就是最接近原始數據,但是PCA並不試圖去探索數據內在結構)

設n維向量w為目標子空間的一個坐標軸方向(稱為映射向量),最大化數據映射後的方差,有:

其中m是數據實例的個數, xi 是數據實例i的向量表達是所有數據實例的平均向量。定義w 為包含所有映射向量為列向量的矩陣,經過線性代數變換,可以得到如下優化目標函數:

其中tr表示矩陣的跡,

A是數據協方差矩陣。

容易得到最優的W是由數據協方差矩陣前k個最大的特徵值對應的特徵向量作為列向量構成的。這些特徵向量形成一組正交基並且最好地保留了數據中的信息。

PCA的輸出就是Y = W『X,由X的原始維度降低到了k維。

PCA追求的是在降維之後能夠最大化保持數據的內在信息,並通過衡量在投影方向上的數據方差的大小來衡量該方向的重要性。但是這樣投影以後對數據的區分作用並不大,反而可能使得數據點揉雜在一起無法區分。這也是PCA存在的最大一個問題,這導致使用PCA在很多情況下的分類效果並不好。具體可以看下圖所示,若使用PCA將數據點投影至一維空間上時,PCA會選擇2軸,這使得原本很容易區分的兩簇點被揉雜在一起變得無法區分;而這時若選擇1軸將會得到很好的區分結果。

4.1.2 PCA代碼實現

使用decomposition庫的PCA類選擇特徵的代碼如下:

from sklearn.decomposition import PCA#主成分分析法,返回降維後的數據#參數n_components為主成分數目PCA(n_components=2).fit_transform(iris.data)

4.2 線性判別分析法(LDA)4.2.1 LDA原理

Linear Discriminant Analysis (也有叫做Fisher Linear Discriminant)是一種有監督的(supervised)線性降維算法。與PCA保持數據信息不同,LDA是為了使得降維後的數據點儘可能地容易被區分。

假設原始數據表示為X,(m*n矩陣,m是維度,n是sample的數量)

既然是線性的,那麼就是希望找到映射向量a,使得 a』X後的數據點能夠保持以下兩種性質:

舉一個直觀的例子,如下圖:紅色和藍色點代表數據分別屬於兩個不同類,與PAC最大化保持數據信息的思想不同,LDA會這樣降維這兩堆點

可以看到,雖然降維之後數據更加聚集了,但是更好區分了。

一般地,設有數據集D,投影向量為w,則點xi經過投影后為

投影前的樣本中心點為u,投影后的中心點為

我們希望投影后不同類別的樣本儘量離得較遠,使用度量值:

我們同時希望投影后相同類別的樣本之間儘量離得較近,使用度量值:

所以總的優化目標函數為:

J(W)自然是越大越好。

定義類內散度矩陣為:

定義類間散度矩陣:

所以

因為向量w的長度成比例改變不影響J的取值,所以我們令=1,那麼原優化目標就變為

使用拉格朗日乘子法,解得:

進一步解得:

4.2.2 LDA代碼實現

使用lda庫的LDA類選擇特徵的代碼如下:

from sklearn.lda import LDA #線性判別分析法,返回降維後的數據#參數n_components為降維後的維數LDA(n_components=2).fit_transform(iris.data, iris.target)

4.3 PCA與LDA的對比

PCA與LDA降維的對比:

PCA選擇樣本點投影具有最大方差的方向,LDA選擇分類性能最好的方向。

PCA技術的一個很大優點在於,它是完全無參數限制的。在PCA的計算過程中完全不需要人為的設定參數或是根據任何經驗模型對計算進行幹預,最後的結果只與數據相關,與用戶是獨立的。但是,這一點同時也可以看作是缺點。如果用戶對觀測對象有一定的先驗知識,掌握了數據的一些特徵,卻無法通過參數化等方法對處理過程進行幹預,可能會得不到預期的效果,效率也不高。

LDA以標籤類別衡量差異性的有監督降維方式,相對於PCA的模糊性,其目的更明確,更能反映樣本間的差異。缺點在於局限性大,受樣本種類限制,且至多可生成C-1維子空間(C為類別數量),也就是說LDA降維後的維度空間在[1,C-1],與原始特徵無關。因此,對於二分類問題,最多投影到1維。另外,LDA不適合對非高斯分布樣本進行降維。

參考資料

博客/文檔

http://www.cnblogs.com/jasonfreak/p/5448385.html

http://www.cnblogs.com/LeftNotEasy/archive/2011/01/08/lda-and-pca-machine-learning.html

https://www.zybuluo.com/gump88/note/402479

https://wenku.baidu.com/view/37055bd4a300a6c30d229f30.html

書籍

教程

數據前處理:http://scikit-learn.org/stable/modules/preprocessing.html

特徵選擇:http://scikit-learn.org/stable/modules/feature_selection.html

PCA:http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html

LDA:http://scikit-learn.org/0.15/modules/generated/sklearn.lda.LDA.html

姚易辰,數據派研究部志願者,清華大學工程力學系博士生。天池大數據平臺top10選手,曾獲天池大數據IJCAI16口碑實體商戶推薦賽冠軍和菜鳥網絡最後一公裡極速配送冠軍,擅長數據分析及圖像處理。

數據派研究部成立於2017年初,志於打造一流的結構化知識分享平臺、活躍的數據科學愛好者社群,致力於傳播數據思維、提升數據能力、探索數據價值、實現產學研結合!

研究部的邏輯在於知識結構化、實踐出真知:梳理打造結構化基礎知識網絡;原創手把手教以及實踐經驗等文章;形成專業興趣社群,交流學習、組隊實踐、追蹤前沿
興趣組是研究部的核心,各組既遵循研究部整體的知識分享和實踐項目規劃,又會各具特色:
算法模型組:積極組隊參加kaggle等比賽,原創手把手教系列文章;
調研分析組:通過專訪等方式調研大數據的應用,探索數據產品之美;
系統平臺組:追蹤大數據&人工智慧系統平臺技術前沿,對話專家;
自然語言處理組:重於實踐,積極參加比賽及策劃各類文本分析項目;
製造業大數據組:秉工業強國之夢,產學研政結合,挖掘數據價值;
數據可視化組:將信息與藝術融合,探索數據之美,學用可視化講故事;
網絡爬蟲組:爬取網絡信息,配合其他各組開發創意項目。

點擊文末「閱讀原文」,報名數據派研究部志願者,總有一組適合你~

轉載須知

如需轉載文章,請做到 1、正文前標示:轉自數據派THU(ID:DatapiTHU);2、文章結尾處附上數據派二維碼。

申請轉載,請發送郵件至datapi@tsingdata.com

公眾號底部菜單有驚喜哦!

企業,個人加入組織請查看「聯合會」

往期精彩內容請查看「號內搜」

加入志願者或聯繫我們請查看「關於我們」

相關焦點

  • 獨家 | 一文讀懂Adaboost
    另外,Adaboost模型訓練完成後,利用各個基礎模型的組合權值係數可以獲取特徵的重要性順序,也就是說,Adaboost還可以用於特徵提取。 總結集成學習表示的是一種學習框架,主要包含有三種學習方式:boosting, bagging 和 stacking。
  • 獨家 | 一文讀懂Hadoop(三):Mapreduce
    讀者可以通過閱讀「一文讀懂Hadoop」系列文章,對Hadoop技術有個全面的了解,它涵蓋了Hadoop官網的所有知識點,並且通俗易懂,英文不好的讀者完全可以通過閱讀此篇文章了解Hadoop。本期獨家內容「一文讀懂Hadoop」系列文章先介紹Hadoop,繼而分別詳細介紹HDFS、MAPREDUCE、YARN的所有知識點,分為四期內容在近幾天推送。敬請關注後續內容。
  • 超級乾貨 :一文讀懂特徵工程
    對於所有機器學習模型,這些原始數據必須以特徵的形式加入到機器學習模型當中,並進行一定的提取和篩選工作。所謂特徵提取,就是逐條將原始數據轉化為特徵向量的形式,此過程涉及數據特徵的量化表示;而特徵篩選是在已提取特徵的基礎上,進一步對高維度和已量化的特徵向量進行選擇,獲取對指定任務更有效果的特徵組合以提升模型性能。在機器學習和模式識別中,特徵是在觀測現象中的一種獨立、可測量的屬性。
  • 一文讀懂獨一無二的虹膜特徵識別
    一文讀懂獨一無二的虹膜特徵識別 Duke 發表於 2016-09-27 09:55:01   生物測定學是一種技術,這種技術是將獨特的人體特徵翻譯成數字編碼,這種編碼可以識別
  • 一文讀懂電容傳感器
    藍色標題,獲取文章】 10、一文讀懂光纖傳感器 11、一文讀懂溫溼度傳感器 12
  • 一文讀懂磁傳感器(必須收藏)
    【點擊藍色標題,獲取文章】 >、一文讀懂接近傳感器 3、一文讀懂磁傳感器 4、一文讀懂流量傳感器
  • 一文讀懂「2020限塑令」!
    一文讀懂「2020限塑令」!06 16:58 來源:澎湃新聞·澎湃號·政務 一張圖讀懂限塑令新規
  • 獨家 | 一文讀懂貝葉斯分類算法(附學習資源)
    整個樸素貝葉斯分類分為三個階段:Stage1:準備工作階段,這個階段的任務是為樸素貝葉斯分類做必要的準備,主要工作是根據具體情況確定特徵屬性,並對每個特徵屬性進行適當劃分,然後由人工對一部分待分類項進行分類,形成訓練樣本集合。這一階段的輸入是所有待分類數據,輸出是特徵屬性和訓練樣本。
  • 帶你一文看懂用Python實現自動特徵工程
    特徵工程具有強大的潛力,但是手動操作是個緩慢且艱巨的過程。Prateek Joshi,是一名數據科學家,花了不少時間研究多種特徵,並從不同角度分析其可行性。現在,整個特徵工程過程可實現自動化,他將通過這篇文章進行詳細介紹。
  • 一文講解特徵工程!經典外文PPT及中文解析
    特徵工程像對待其他任何創造性工作一樣對待特徵工程,例如喜劇表演:一起頭腦風暴創建特徵工程的模板/公式檢查/重新檢查以前的工作使用:通過統計測試選擇特徵,或訓練模型特徵的重要性,用於特徵的篩選(這種方法很容易得到噪聲,所以噪聲特徵也要注意篩選掉)忽略:有時候違背直覺的計算反而可以顯著改善模型的訓練效果!
  • 【獨家】一文讀懂回歸分析
    「回歸」一詞的由來我們不必在「回歸」一詞上費太多腦筋。英國著名統計學家弗朗西斯·高爾頓(Francis Galton,1822—1911)是最先應用統計方法研究兩個變量之間關係問題的人。「回歸」一詞就是由他引入的。他對父母身高與兒女身高之間的關係很感興趣,並致力於此方面的研究。
  • 一文讀懂Python裝飾器
    打開APP 一文讀懂Python裝飾器 工程師3 發表於 2018-04-28 10:48:00
  • 一圖讀懂|椒江區「十百千」工程「五域五百」攻堅行動
    一圖讀懂
  • 一文讀懂CAN總線(三)
    點擊上方藍字關注我們在一文讀懂CAN總線(一)中我們介紹了標準CAN和擴展CAN以及CAN消息類型;在一文讀懂CAN總線(二)中為大家介紹了CAN總線的位填充機制、錯誤檢測和故障界定、網絡拓撲、終端匹配
  • 一文帶你讀懂計算機視覺
    然後將這些特徵饋送到機器學習算法,例如SVM。這種方法具有比Haar分類器更好的精度。這種方法的實現在dlib中,就是在face_recognition ( https://github.com/ageitgey/face_recognition ) lib中。
  • 一文讀懂:為什么女性更容易患抑鬱症?(內附抑鬱自評量表)
    一文讀懂:為什么女性更容易患抑鬱症?2認識抑鬱症抑鬱症又稱抑鬱障礙,以顯著而持久的心境低落為主要臨床特徵,是心境障礙的主要類型。5症狀表現自我調節下面為大家設計了一份SDS抑鬱症自測量表SDS主要適用於具有抑鬱症狀的成年人本測試有20題建議您選擇一處安靜、不易受打擾的環境結合您最近兩周內的情緒作答即可
  • 獨家 | 一文讀懂隨機森林的解釋和實現(附python代碼)
    我們可以將決策樹視為一系列關於數據的是/否問題,從而最終得出一個預測類別(或回歸情況下的連續值)。 這是一個可解釋的模型,因為它非常像我們人類進行分類的過程:在我們做出決定之前(在理想世界中),我們會對可用數據進行一系列的詢問。 決策樹的技術細節在於如何形成關於數據的問題。
  • 中考語文閱讀:記述文閱讀題答題讀懂主旨和題目
    記敘文選文往往是文質兼美、人文內涵豐富、具有審美價值的文學作品(或敘事性散文或小說等)。因此在有限的時間內,考生要做到準確答題,必須懂得記敘文閱讀答題的基本技巧。 一、讀懂主旨快速把握作品中的主要人物考生要明白,作者著力刻畫主要人物的目的,往往是在這人物身上體現出自己的思想傾向,而這思想傾嚮往往就是作品的中心思想。
  • 專欄 | 基於 Jupyter 的特徵工程手冊:特徵選擇(一)
    因此,我們應該進行特徵選擇並選擇特徵子集進行建模。項目地址:https://github.com/YC-Coder-Chen/feature-engineering-handbook本文將介紹特徵工程第一種算法:Filter Methods 過濾法(上)。目錄:
  • 獨家 | 一文讀懂人工神經網絡
    這也是人類與機器人(或正常的電腦程式)主要的不同特徵之一。人類可以看到事物,分析事物,並且從中學習,以期下次做得更好。另一方面,常規程序也遵循著同樣的指示,而不是自行發展。我們可以對其進行編程讓它們完成某些指定任務,根據指令得到理想的結果。但是如果我們制定程序對其進行學習,我們可以做很多事情。