來源:Coggle數(shù)據(jù)科學(xué)
入門特征工程
1. 為什么特征工程很重要?
對于不同的數(shù)據(jù)科學(xué)家,特征工程可能呈現(xiàn)不同的意義。對于一些數(shù)據(jù)科學(xué)家,特征工程是我們?nèi)绾慰s減用于監(jiān)督模型的特征(例如,試圖預(yù)測響應(yīng)或結(jié)果變量)。
對于其他人,它是從非結(jié)構(gòu)化數(shù)據(jù)中提取數(shù)值表示以供無監(jiān)督模型使用的方法(例如,試圖從之前非結(jié)構(gòu)化的數(shù)據(jù)集中提取結(jié)構(gòu))。特征工程包括這兩種情況,以及更多內(nèi)容。數(shù)據(jù)從業(yè)者通常依賴ML和深度學(xué)習(xí)算法,即使所使用的數(shù)據(jù)格式不良且非最佳。如果我們不構(gòu)建適當(dāng)?shù)奶卣?,依賴?fù)雜而耗時(shí)的ML模型來解決問題,我們可能會(huì)得到糟糕的ML模型。如果我們花時(shí)間了解我們的數(shù)據(jù),并為我們的ML模型構(gòu)建特征,使其能夠?qū)W習(xí),那么我們最終可以得到更小、更快的模型,其性能可以與甚至優(yōu)于復(fù)雜的模型相媲美。
2. 特征工程的局限性
特征工程并不是解決所有問題的靈丹妙藥。例如,在數(shù)據(jù)量過小的情況下,特征工程無法解決機(jī)器學(xué)習(xí)模型面臨的數(shù)據(jù)不足問題。對于包含少于1000行數(shù)據(jù)的數(shù)據(jù)集,在特征工程方面的努力有限,很難從這些數(shù)據(jù)觀察中提取更多信息。
特征工程也不能在特征和響應(yīng)之間創(chuàng)建本來不存在的聯(lián)系。如果最初的特征在隱含上對于響應(yīng)變量沒有任何預(yù)測能力,那么再多的特征工程也無法創(chuàng)造這種聯(lián)系??梢栽谛阅苌先〉靡恍┬》鹊奶嵘?,但不能指望特征工程或機(jī)器學(xué)習(xí)模型能夠奇跡般地在特征和響應(yīng)之間創(chuàng)造關(guān)系。
3. 特征工程的步驟特征工程是指將原始數(shù)據(jù)轉(zhuǎn)化為機(jī)器學(xué)習(xí)模型能夠理解的數(shù)據(jù)表示的過程,它是整個(gè)ML流水線的關(guān)鍵一環(huán)。以下是文本中提到的主要概念和步驟:機(jī)器學(xué)習(xí)流水線的五個(gè)步驟:
定義問題領(lǐng)域(Defining the problem domain):這一步驟涉及明確我們想要通過機(jī)器學(xué)習(xí)解決的問題,同時(shí)考慮模型預(yù)測速度或可解釋性等特點(diǎn)。這些考慮將在模型評估階段起到關(guān)鍵作用。
獲取準(zhǔn)確代表問題的數(shù)據(jù)(Obtaining data):考慮并實(shí)施數(shù)據(jù)收集方法,確保數(shù)據(jù)收集公平、安全,并尊重?cái)?shù)據(jù)提供者的隱私。此時(shí)還可以進(jìn)行探索性數(shù)據(jù)分析(EDA),以更好地了解正在處理的數(shù)據(jù)。
特征工程(Feature engineering):這是文本中重點(diǎn)介紹的部分。特征工程涵蓋了將數(shù)據(jù)轉(zhuǎn)化為適合輸入機(jī)器學(xué)習(xí)模型的最佳表示的所有工作。
模型選擇和訓(xùn)練(Model selection and training):在這個(gè)階段,選擇適合數(shù)據(jù)和問題的模型,并進(jìn)行仔細(xì)的訓(xùn)練。如果在第一步中強(qiáng)調(diào)模型的可解釋性,可能會(huì)選擇基于樹的模型而不是深度學(xué)習(xí)模型。
模型部署和評估(Model deployment and evaluation):在這個(gè)階段,數(shù)據(jù)準(zhǔn)備就緒,模型已經(jīng)訓(xùn)練完畢,可以將模型投入生產(chǎn)。同時(shí)需要考慮模型版本控制和預(yù)測速度等因素。必須部署評估過程,以跟蹤模型隨時(shí)間的性能變化,并注意模型的衰退情況。
概念漂移和數(shù)據(jù)漂移:
- 概念漂移(Concept Drift):這是指隨著時(shí)間推移,特征或響應(yīng)的統(tǒng)計(jì)特性發(fā)生變化。模型訓(xùn)練時(shí)的數(shù)據(jù)代表了某個(gè)時(shí)間點(diǎn)的快照,隨著時(shí)間的推移,數(shù)據(jù)所代表的環(huán)境可能會(huì)發(fā)生變化,導(dǎo)致我們對特征和響應(yīng)的認(rèn)識也發(fā)生變化。這可能需要更新模型以適應(yīng)新的概念。
- 數(shù)據(jù)漂移(Data Drift):這是指數(shù)據(jù)的基礎(chǔ)分布因某種原因發(fā)生了變化,但我們對特征的解釋保持不變。例如,在全球大流行病爆發(fā)后,人們的觀影習(xí)慣發(fā)生了變化,觀影時(shí)間的分布可能會(huì)發(fā)生顯著變化。這需要我們調(diào)整模型以適應(yīng)新的數(shù)據(jù)分布。
特征工程細(xì)分的步驟:
- 特征理解(Feature understanding):理解正在處理的數(shù)據(jù)的層級結(jié)構(gòu)對選擇適當(dāng)?shù)奶卣鞴こ谭椒ㄖ陵P(guān)重要。
- 特征結(jié)構(gòu)化(Feature structuring):如果數(shù)據(jù)是非結(jié)構(gòu)化的(如文本、圖像、視頻等),需要將其轉(zhuǎn)換為結(jié)構(gòu)化格式,以便機(jī)器學(xué)習(xí)模型能夠理解。這可能需要應(yīng)用特征提取或?qū)W習(xí)方法。
- 特征優(yōu)化(Feature optimization):一旦數(shù)據(jù)被結(jié)構(gòu)化,可以應(yīng)用優(yōu)化技術(shù),如特征改進(jìn)、提取、構(gòu)建和選擇,以獲得最適合模型的數(shù)據(jù)表示。
- 特征評估(Feature evaluation):在嘗試不同特征工程方案時(shí),可以選擇一個(gè)學(xué)習(xí)算法和一些參數(shù)選項(xiàng)進(jìn)行快速調(diào)整,以評估應(yīng)用不同特征工程技術(shù)的效果。
數(shù)據(jù)類型1. 結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)是按照嚴(yán)格的數(shù)據(jù)模型或設(shè)計(jì)組織起來的,通常以表格(行/列)格式表示,其中行代表個(gè)體觀察,列代表特征。
而非結(jié)構(gòu)化數(shù)據(jù)則沒有預(yù)定義的設(shè)計(jì),不遵循特定的數(shù)據(jù)模型,例如客戶服務(wù)對話的轉(zhuǎn)錄、YouTube 視頻、播客音頻等。2. 數(shù)據(jù)的四個(gè)級別
名義級別、序數(shù)級別、間隔級別和比例級別。名義級別是純粹的定性數(shù)據(jù),沒有順序和數(shù)值含義。序數(shù)級別在定性數(shù)據(jù)中具有一定的順序,但值之間的差異沒有實(shí)際意義。間隔級別中,數(shù)據(jù)之間的差異有一致的意義,可以進(jìn)行加法和減法操作。比例級別是最高級別,除了有一致的差異意義外,還存在真正的零點(diǎn),允許進(jìn)行乘法和除法操作。
特征工程的類型
特征工程是指在機(jī)器學(xué)習(xí)流程中對原始數(shù)據(jù)進(jìn)行預(yù)處理和轉(zhuǎn)換,以便更好地適應(yīng)模型的需求,提高模型的性能和效果。
- 特征改進(jìn)(Feature Improvement):特征改進(jìn)技術(shù)通過各種數(shù)學(xué)轉(zhuǎn)換來增強(qiáng)現(xiàn)有的結(jié)構(gòu)化特征。通常是對數(shù)值特征應(yīng)用轉(zhuǎn)換,如填充缺失數(shù)據(jù)、標(biāo)準(zhǔn)化和歸一化。這可以包括應(yīng)用z-score轉(zhuǎn)換、使用統(tǒng)計(jì)中位數(shù)來填充缺失值等。特征改進(jìn)在早期的案例研究中扮演著重要角色。它適用于不同層級的數(shù)據(jù),根據(jù)數(shù)據(jù)的層級可以選擇不同的改進(jìn)方式。
- 特征構(gòu)建(Feature Construction):特征構(gòu)建是通過直接轉(zhuǎn)換現(xiàn)有特征或?qū)⒃紨?shù)據(jù)與新數(shù)據(jù)源的數(shù)據(jù)進(jìn)行連接,從而手動(dòng)創(chuàng)建新特征的過程。這可以包括從新數(shù)據(jù)源中提取信息,創(chuàng)建新的特征。例如,從住房數(shù)據(jù)集中提取戶主總收入以及家庭人數(shù)作為新特征。特征構(gòu)建可以涉及將分類特征轉(zhuǎn)換為數(shù)值特征,或者將數(shù)值特征通過分桶轉(zhuǎn)換為分類特征。
- 特征選擇(Feature Selection):特征選擇涉及從現(xiàn)有特征集中選擇最佳特征,以減少模型需要學(xué)習(xí)的特征數(shù)量,同時(shí)減少特征之間的依賴關(guān)系。這可以防止模型中出現(xiàn)特征之間的混淆,從而提高模型的性能。特征選擇適用于處理維度災(zāi)難、特征之間存在依賴性以及需要提高模型速度的情況。
- 特征提取(Feature Extraction):特征提取是自動(dòng)生成新特征的過程,基于對數(shù)據(jù)的潛在形狀做出假設(shè)。這可以涉及應(yīng)用線性代數(shù)技術(shù)來執(zhí)行主成分分析(PCA)和奇異值分解(SVD)等。在自然語言處理(NLP)案例研究中,可以通過學(xué)習(xí)詞匯并將原始文本轉(zhuǎn)換為詞頻向量來執(zhí)行特征提取。
特征學(xué)習(xí)(Feature Learning):特征學(xué)習(xí)類似于特征提取,但不同之處在于它是通過應(yīng)用非參數(shù)(不對原始數(shù)據(jù)的形狀做出假設(shè))的深度學(xué)習(xí)模型來自動(dòng)生成一組特征,從而自動(dòng)發(fā)現(xiàn)原始數(shù)據(jù)的潛在表示。特征學(xué)習(xí)適用于處理非結(jié)構(gòu)化數(shù)據(jù),如文本、圖像和視頻。但它也可能需要更多的數(shù)據(jù),并且生成的特征可能難以解釋。
特征工程的評估方法
在特征工程中,需要采用多種評估方法來確保模型的質(zhì)量。以下將介紹幾種評估特征工程成果的指標(biāo)。
1. 機(jī)器學(xué)習(xí)指標(biāo)
與基準(zhǔn)相比,機(jī)器學(xué)習(xí)指標(biāo)可能是最直接的評估方法。這包括在應(yīng)用特征工程方法之前和之后查看模型性能。具體步驟如下:
在應(yīng)用任何特征工程之前,獲取計(jì)劃使用的機(jī)器學(xué)習(xí)模型的基準(zhǔn)性能。
對數(shù)據(jù)進(jìn)行特征工程處理。
從機(jī)器學(xué)習(xí)模型中獲取新的性能指標(biāo)值,并將其與第一步得到的值進(jìn)行比較。如果性能有所提升,并且超過了數(shù)據(jù)科學(xué)家定義的某個(gè)閾值,則表明特征工程取得了成功。
2. 解釋性指標(biāo)
數(shù)據(jù)科學(xué)家和其他模型相關(guān)者應(yīng)該深刻關(guān)注管道的可解釋性,因?yàn)樗赡軙?huì)影響業(yè)務(wù)和工程決策??山忉屝钥梢远x為我們能夠多好地詢問我們的模型“為什么”做出了特定的決策,并將該決策與用于做出模型決策的個(gè)別特征或特征組聯(lián)系起來。
3. 公平性和偏見評估指標(biāo)為了確保模型不會(huì)根據(jù)數(shù)據(jù)中固有的偏見產(chǎn)生預(yù)測,必須根據(jù)公平性標(biāo)準(zhǔn)來評估模型。這在涉及個(gè)人高度影響的領(lǐng)域特別重要,比如金融貸款授予系統(tǒng)、識別算法、欺詐檢測和學(xué)術(shù)表現(xiàn)預(yù)測。在同一份2020年的數(shù)據(jù)科學(xué)調(diào)查中,超過一半的受訪者表示已經(jīng)實(shí)施或計(jì)劃實(shí)施解釋性更強(qiáng)(可解釋性)的解決方案,而只有38%的受訪者表示對公平性和偏見緩解的情況也是如此。
4. 機(jī)器學(xué)習(xí)復(fù)雜性和速度評估指標(biāo)機(jī)器學(xué)習(xí)流程的復(fù)雜性、規(guī)模和速度通常是一個(gè)被忽視的方面,但有時(shí)可能決定部署的成敗。正如之前提到的,有時(shí)數(shù)據(jù)科學(xué)家會(huì)轉(zhuǎn)向大型學(xué)習(xí)算法,例如神經(jīng)網(wǎng)絡(luò)或集成模型,而不是進(jìn)行適當(dāng)?shù)奶卣鞴こ?,希望模型能夠自己解決問題。
建議1:結(jié)構(gòu)化數(shù)據(jù)工程在結(jié)構(gòu)化數(shù)據(jù)上進(jìn)行特征工程是提高模型性能和泛化能力的關(guān)鍵步驟,在結(jié)構(gòu)化數(shù)據(jù)上進(jìn)行特征工程的步驟:
查看字段類型、確定字段的噪音和分布:
- 計(jì)算字段與標(biāo)簽的相關(guān)性:
- 對字段進(jìn)行編碼,找到新特征:
建議2:文本數(shù)據(jù)特征工程
將原始文本數(shù)據(jù)轉(zhuǎn)化為可供機(jī)器學(xué)習(xí)算法使用的特征,有多種方式:
1. 文本向量化:對于定量特征,可以考慮使用諸如TF-IDF(詞頻-逆文檔頻率)等技術(shù)將文本數(shù)據(jù)轉(zhuǎn)化為數(shù)值特征。TF-IDF可以將文本中的每個(gè)詞轉(zhuǎn)化為一個(gè)數(shù)值,表示該詞在文本中的重要性。
2. 清洗和分詞:對原始文本進(jìn)行清洗,去除特殊字符、標(biāo)點(diǎn)符號和無關(guān)信息。然后,將清洗后的文本進(jìn)行分詞,將文本劃分為詞語或標(biāo)記??梢允褂酶鞣N文本處理庫(如NLTK、spaCy)來實(shí)現(xiàn)。
3. 特征提?。涸谏疃葘W(xué)習(xí)方面,可以使用詞嵌入技術(shù)(如Word2Vec、GloVe)來將每個(gè)詞轉(zhuǎn)化為具有語義信息的向量表示。
4. 遷移學(xué)習(xí):使用預(yù)訓(xùn)練的大型模型(如BERT、T5、ChatGPT等)來進(jìn)行遷移學(xué)習(xí)。這些模型在大規(guī)模文本數(shù)據(jù)上進(jìn)行了預(yù)訓(xùn)練,可以捕捉豐富的語義信息。
建議3:圖像數(shù)據(jù)特征工程
深度學(xué)習(xí)模型特別是卷積神經(jīng)網(wǎng)絡(luò)(CNN),已經(jīng)在圖像處理領(lǐng)域取得了顯著的成功??梢允褂妙A(yù)訓(xùn)練的深度學(xué)習(xí)模型(如VGG、ResNet、Inception等)作為特征提取器,通過去掉最后的分類層,將模型用作特征提取器。然后可以對這些提取的特征進(jìn)行降維(如PCA或t-SNE)或直接用于機(jī)器學(xué)習(xí)模型。
建議4:時(shí)序數(shù)據(jù)特征工程
1. 理解時(shí)序數(shù)據(jù):首先需要理解你的時(shí)序數(shù)據(jù)的特點(diǎn)。了解時(shí)間戳、觀測頻率、時(shí)間間隔等信息。
2. 構(gòu)建自定義特征集和響應(yīng)變量:根據(jù)問題的需求,你可能需要構(gòu)建自定義的特征集和響應(yīng)變量。這可能包括計(jì)算滾動(dòng)統(tǒng)計(jì)量(如移動(dòng)平均、滾動(dòng)標(biāo)準(zhǔn)差)、創(chuàng)建時(shí)間窗口特征、構(gòu)建滯后特征等。
3. 使用標(biāo)準(zhǔn)時(shí)序特征類型:在時(shí)序數(shù)據(jù)中,有一些常見的特征類型,如趨勢、季節(jié)性、周期性等。你可以嘗試提取這些特征,并將它們作為模型的輸入。
4. 添加領(lǐng)域特定的特征:在一些情況下,你可能有領(lǐng)域特定的知識,可以用于構(gòu)建有用的特征。例如,在股票市場數(shù)據(jù)中,你可以添加技術(shù)指標(biāo)(如移動(dòng)平均線、相對強(qiáng)弱指標(biāo)等)作為特征。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4733瀏覽量
100400 -
ML
+關(guān)注
關(guān)注
0文章
144瀏覽量
34574 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5459瀏覽量
120866
發(fā)布評論請先 登錄
相關(guān)推薦
評論