0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ML項(xiàng)目的6個(gè)基本步驟

倩倩 ? 來(lái)源:AI科技大本營(yíng) ? 2020-04-15 14:44 ? 次閱讀

每個(gè)機(jī)器學(xué)習(xí)項(xiàng)目都有自己獨(dú)特的形式。對(duì)于每個(gè)項(xiàng)目,都可以遵循一組預(yù)定義的步驟。盡管沒(méi)有嚴(yán)格的流程,但是可以提出一個(gè)通用模板。

準(zhǔn)備問(wèn)題

不僅是機(jī)器學(xué)習(xí),任何項(xiàng)目的第一步都是簡(jiǎn)單地定義當(dāng)前的問(wèn)題。您首先需要了解背景和需要解決的問(wèn)題。然后設(shè)計(jì)機(jī)器學(xué)習(xí)算法來(lái)有效地解決這一問(wèn)題。一旦清楚地了解了問(wèn)題,就可以解決它。

加載庫(kù)

我將繼續(xù)使用Python。第一步是加載或?qū)胨璧乃袔?kù)和包。一些非?;厩?guī)缀醣匾臋C(jī)器學(xué)習(xí)軟件包是-NumPy,Pandas,Matplotlib和Scikit-Learn。

加載數(shù)據(jù)集

加載庫(kù)后,您需要加載數(shù)據(jù)。Pandas具有執(zhí)行此任務(wù)的非常簡(jiǎn)單的功能-pandas.read_csv。read.csv函數(shù)不僅限于csv文件,而且還可以讀取其他基于文本的文件。其他格式也可以使用pandas讀取功能(例如html,json,pickled文件等)讀取。需要牢記的一件事是,您的數(shù)據(jù)需要與當(dāng)前工作目錄位于同一工作目錄中,否則您將需要在函數(shù)中提供以“ /”為前綴的完整路徑。

匯總數(shù)據(jù)

現(xiàn)在數(shù)據(jù)已加載并準(zhǔn)備好進(jìn)行操作。但是,您需要先檢查數(shù)據(jù)的外觀以及內(nèi)容。首先,您需要查看數(shù)據(jù)具有多少行和列,以及每一列的數(shù)據(jù)類型都是什么(pandas認(rèn)為它們是什么類型)。

快速查看數(shù)據(jù)類型和形狀的方法是— pandas.DataFrame.info。這將告訴您數(shù)據(jù)框具有多少行和列以及它們包含哪些數(shù)據(jù)類型和值。

描述性統(tǒng)計(jì)

顧名思義,描述性統(tǒng)計(jì)數(shù)據(jù)以統(tǒng)計(jì)數(shù)據(jù)的形式描述數(shù)據(jù)-均值,標(biāo)準(zhǔn)差,四分位數(shù)等。獲得完整描述的最簡(jiǎn)單方法是pandas.DataFrame.describe。您可以輕松確定數(shù)據(jù)是否需要縮放或需要添加缺失值,等等。(稍后會(huì)對(duì)此進(jìn)行更多介紹)。

數(shù)據(jù)可視化

數(shù)據(jù)可視化非常重要,因?yàn)樗鼈兪橇私鈹?shù)據(jù)和規(guī)律(即使它們不存在)的最快方法。您的數(shù)據(jù)可能具有數(shù)千個(gè)樣本,甚至更多。無(wú)法直接分析所有數(shù)值數(shù)據(jù)。如果需要可視化,可以使用Matplotlib和Seaborn這樣強(qiáng)大的可視化程序包。

使用Seaborn的Matplotlib進(jìn)行可視化可用于檢查特征內(nèi)的相關(guān)性以及與目標(biāo)的關(guān)系,可以使用散點(diǎn)圖,直方圖和箱形圖來(lái)檢查分布和偏度等。甚至pandas都有自己的內(nèi)置可視化庫(kù)-pandas.DataFrame.plot,其中包含條形圖,散點(diǎn)圖,直方圖等。

Seaborn本質(zhì)上是經(jīng)過(guò)改造的matplotlib,因?yàn)樗⒃趍atplotlib的基礎(chǔ)上,使繪圖更加美觀,并且繪圖速度更快。熱圖和對(duì)圖(pairplot)是Seaborn快速繪制整個(gè)數(shù)據(jù)的可視化以檢查多重共線性,缺失值等特征的示例。

一種獲取大多數(shù)上述數(shù)據(jù)描述性和推斷性信息的統(tǒng)計(jì)數(shù)據(jù)的非常有效的方法是Pandas Profiling。它會(huì)生成數(shù)據(jù)的精美報(bào)告,其中包含上述所有詳細(xì)信息,使您能夠一次分析所有數(shù)據(jù)。

準(zhǔn)備數(shù)據(jù)

知道了數(shù)據(jù)的內(nèi)容和規(guī)律,就需要對(duì)其進(jìn)行轉(zhuǎn)換,以使其適合算法來(lái)更有效地工作,以便提供更準(zhǔn)確,更精確的結(jié)果。這就是數(shù)據(jù)預(yù)處理,這是任何ML項(xiàng)目中最重要,最耗時(shí)的階段。

數(shù)據(jù)清洗

現(xiàn)實(shí)生活中的數(shù)據(jù)不能很好地安排在沒(méi)有異常的數(shù)據(jù)框中并呈現(xiàn)給您。數(shù)據(jù)通常具有很多所謂的異常,例如缺失值,許多格式不正確的特征,不同比例的特征等。所有這些都需要手動(dòng)處理,這需要大量時(shí)間和編碼技巧(主要是python和pandas:D )!

Pandas具有各種功能來(lái)檢查異常,例如pandas.DataFrame.isna以檢查NaN等值。您可能還需要轉(zhuǎn)換數(shù)據(jù)格式以擺脫無(wú)用的信息,例如刪除“ Mr.”和“ Mrs” ”(如果存在單獨(dú)的性別特征)。您可能需要使用pandas.DataFrame.replace函數(shù)以整個(gè)數(shù)據(jù)框的標(biāo)準(zhǔn)格式獲取它,或使用pandas.DataFrame.drop刪除不相關(guān)的特征。

特征選擇

特征選擇是選擇一定數(shù)量的最有用特征的過(guò)程,這些特征將用于訓(xùn)練模型。這樣做是為了在大多數(shù)特征對(duì)整體差異的貢獻(xiàn)不足時(shí)縮小尺寸。如果您的數(shù)據(jù)中有300個(gè)特征,而前120個(gè)特征可以解釋97%的方差,那么用這么多無(wú)用的特征來(lái)充實(shí)您的算法是沒(méi)有意義的。減少特征不僅可以節(jié)省時(shí)間,還可以節(jié)省成本。

一些流行的特征選擇技術(shù)包括SelectKBest,特征消除方法(例如RFE(遞歸特征消除))和嵌入式方法(例如LassoCV)。

特征工程

所有功能可能都不處于最佳狀態(tài)。特征工程的意思是通過(guò)使用一組函數(shù)可以將它們轉(zhuǎn)換為不同的相關(guān)的數(shù)據(jù)。這是為了增加與目標(biāo)的相關(guān)性,從而增加準(zhǔn)確性/分?jǐn)?shù)。其中一些轉(zhuǎn)換與縮放有關(guān),例如StandardScaler,Normalizer,MinMaxScaler等。甚至可以通過(guò)將一些特征進(jìn)行線性/二次組合來(lái)增加特征,以提高性能。對(duì)數(shù)轉(zhuǎn)換,交互作用和Box-Cox轉(zhuǎn)換是數(shù)字?jǐn)?shù)據(jù)的一些有用轉(zhuǎn)換。

對(duì)于分類數(shù)據(jù),有必要將類別編碼為數(shù)字,以便算法可以從中識(shí)別出來(lái)。一些最有用的編碼技術(shù)是– LabelEncoder,OneHotEncoder和Binarizer。

評(píng)估算法

數(shù)據(jù)準(zhǔn)備就緒后,請(qǐng)繼續(xù)檢查各種回歸/分類算法的性能(基于問(wèn)題的類型)。您可以首先創(chuàng)建一個(gè)基本模型來(lái)設(shè)置要進(jìn)行比較的基準(zhǔn)。

拆分驗(yàn)證數(shù)據(jù)集

訓(xùn)練完模型后,還需要對(duì)其進(jìn)行驗(yàn)證,以查看它是否真的對(duì)數(shù)據(jù)進(jìn)行了概括或擬合過(guò)度/不足。手中的數(shù)據(jù)可以預(yù)先分為訓(xùn)練集和驗(yàn)證集。這種拆分具有多種技術(shù)-訓(xùn)練測(cè)試拆分,隨機(jī)排序等。您還可以對(duì)整個(gè)數(shù)據(jù)集運(yùn)行交叉驗(yàn)證,以進(jìn)行更可靠的驗(yàn)證。KFold交叉驗(yàn)證,Leave-One-Out-CV是最流行的方法。

測(cè)試選項(xiàng)和評(píng)估指標(biāo)

基于一組需要定義的評(píng)估指標(biāo)來(lái)評(píng)估模型。對(duì)于回歸算法,一些常用指標(biāo)是MSE和R Square。

與分類有關(guān)的評(píng)估指標(biāo)要多樣化得多-混淆矩陣,F(xiàn)1得分,AUC / ROC曲線等。對(duì)每種算法的這些得分進(jìn)行比較,以檢查哪些算法的性能優(yōu)于其余算法。

抽查算法

拆分?jǐn)?shù)據(jù)并定義評(píng)估指標(biāo)后,您需要在for循環(huán)中運(yùn)行一組算法,以檢查哪個(gè)算法表現(xiàn)最佳。簡(jiǎn)短的算法列表可以很好地解決您的問(wèn)題,這是一個(gè)反復(fù)的嘗試,這樣您便可以加速研究并進(jìn)一步調(diào)優(yōu)它們。

可以制作流水線,并可以混合使用線性和非線性算法來(lái)檢查性能。

比較算法

現(xiàn)場(chǎng)運(yùn)行測(cè)試工具后,您可以輕松查看哪些工具最適合您的數(shù)據(jù)。始終獲得高分的算法應(yīng)該是您的目標(biāo)。然后,您可以選擇最好的,并對(duì)其進(jìn)行進(jìn)一步調(diào)整以提高其性能。

提高準(zhǔn)確性

擁有性能最佳的算法之后,可以調(diào)整它們的參數(shù)和超參數(shù)以提供最好的結(jié)果。也可以連接多種算法。

算法調(diào)整

維基百科指出“超參數(shù)調(diào)整是為機(jī)器學(xué)習(xí)算法選擇一組最佳超參數(shù)”。超參數(shù)是無(wú)法學(xué)習(xí)的參數(shù),必須在運(yùn)行算法之前進(jìn)行設(shè)置。超參數(shù)的一些例子包括邏輯回歸的損失,隨機(jī)梯度下降的損失以及SVM的核。

這些參數(shù)可以在數(shù)組中傳遞,并且算法可以遞歸運(yùn)行,直到找到完美的超參數(shù)。這可以通過(guò)諸如網(wǎng)格搜索和隨機(jī)搜索之類的方法來(lái)實(shí)現(xiàn)。

組合

可以將多種機(jī)器學(xué)習(xí)算法組合在一起,以形成一個(gè)更健壯和更優(yōu)化的模型,該模型相比于單個(gè)算法可以提供更好的預(yù)測(cè)。這被稱為合奏。

有2種類型常見(jiàn)的合奏-套袋(Bootstrap-Aggregating)和Boosting。例如,“隨機(jī)森林”是一種Bagging集成體,它組合了多個(gè)決策樹(shù)并獲取輸出的總和。

另一方面,Boosting通過(guò)適應(yīng)性學(xué)習(xí)的方式組合了一組弱學(xué)習(xí)方式:集合中的每個(gè)模型都得到了擬合,從而更加重視數(shù)據(jù)集中實(shí)例中序列中先前模型存在較大錯(cuò)誤的實(shí)例。XGBoost,AdaBoost,CatBoost是一些例子。

完成模型

驗(yàn)證數(shù)據(jù)集的預(yù)測(cè)

當(dāng)您獲得具有最佳超參數(shù)和合奏的最佳性能模型時(shí),可以在未知的測(cè)試數(shù)據(jù)集上對(duì)其進(jìn)行驗(yàn)證。

在訓(xùn)練集上創(chuàng)建獨(dú)立模型

驗(yàn)證后,對(duì)整個(gè)數(shù)據(jù)集運(yùn)行一次模型,以確保在訓(xùn)練/測(cè)試時(shí)不會(huì)遺漏任何數(shù)據(jù)點(diǎn)。現(xiàn)在,您的模型處于最佳狀態(tài)。

保存模型以備后用

有了準(zhǔn)確的模型后,您仍然需要保存并加載它,以備將來(lái)需要時(shí)使用。完成此操作的最常用方法是Pickle。

以上就是本文的內(nèi)容。當(dāng)然,在機(jī)器學(xué)習(xí)方面,這還不是全部。但這可以用作良好的路線圖。對(duì)于不同類型的數(shù)據(jù)/問(wèn)題,需要自己發(fā)揮。在下面評(píng)論您的想法,或說(shuō)一說(shuō)您是否了解更好和更關(guān)鍵的技術(shù)。

半小時(shí)訓(xùn)練億級(jí)規(guī)模知識(shí)圖譜,亞馬遜AI開(kāi)源知識(shí)圖譜嵌入表示框架DGL-KE

中國(guó)頂尖的技術(shù)社區(qū)們?cè)谝粋€(gè)群里,會(huì)聊什么…

京東智能內(nèi)容創(chuàng)作算法的演進(jìn)與實(shí)踐:基于關(guān)鍵詞自動(dòng)生成摘要

馬化騰、馬云并列成為中國(guó)首富;百度回應(yīng)“將上線電商直播”;.NET 5 Preview 2 發(fā)布 | 極客頭條

程序員職場(chǎng)背鍋甩鍋指南

警惕!新騙術(shù)出現(xiàn):這些虛假二維碼生成器已成功盜取 4.6 萬(wàn)美元!

“出道” 5 年采用率達(dá) 78%,Kubernetes 的成功秘訣是什么?

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4623

    瀏覽量

    93102
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8428

    瀏覽量

    132832
  • 數(shù)據(jù)可視化

    關(guān)注

    0

    文章

    468

    瀏覽量

    10329
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何優(yōu)化單片機(jī)項(xiàng)目的功耗

    在現(xiàn)代電子設(shè)計(jì)中,功耗優(yōu)化已成為一個(gè)不可忽視的重要議題。對(duì)于單片機(jī)(MCU)項(xiàng)目而言,功耗不僅關(guān)系到產(chǎn)品的能效比,還直接影響到電池壽命和熱管理。 硬件層面的功耗優(yōu)化 1. 選擇合適的單片機(jī) 選擇一個(gè)
    的頭像 發(fā)表于 11-01 14:16 ?425次閱讀

    簡(jiǎn)述光刻工藝的三個(gè)主要步驟

    “ 光刻作為半導(dǎo)體中的關(guān)鍵工藝,其中包括3大步驟的工藝:涂膠、曝光、顯影。三個(gè)步驟有一個(gè)異常,整個(gè)光刻工藝都需要返工處理,因此現(xiàn)場(chǎng)異常的處理顯得尤為關(guān)鍵”
    的頭像 發(fā)表于 10-22 13:52 ?710次閱讀

    PLC測(cè)試項(xiàng)目的主要內(nèi)容

    PLC(可編程邏輯控制器)的測(cè)試項(xiàng)目主要包括以下幾個(gè)方面。
    的頭像 發(fā)表于 09-20 15:00 ?420次閱讀

    改善升壓轉(zhuǎn)換器PCB布局的五個(gè)步驟

    電子發(fā)燒友網(wǎng)站提供《改善升壓轉(zhuǎn)換器PCB布局的五個(gè)步驟.pdf》資料免費(fèi)下載
    發(fā)表于 09-04 10:22 ?0次下載
    改善升壓轉(zhuǎn)換器PCB布局的五<b class='flag-5'>個(gè)</b><b class='flag-5'>步驟</b>

    構(gòu)建\"PSOC_Edge_Machine_Learning_Profiler\" 項(xiàng)目,未找到 cy_ml_inference.h文件怎么解決?

    我正試圖構(gòu)建\"PSOC_Edge_Machine_Learning_Profiler\" 項(xiàng)目,但發(fā)現(xiàn)一個(gè)錯(cuò)誤。 其中 cy_ml_inference.h 文件未找到。 請(qǐng)?zhí)峁┇@取該文件的方法
    發(fā)表于 07-23 07:59

    開(kāi)源項(xiàng)目!自制一個(gè)太陽(yáng)能電子墨水屏氣象站

    ://github.com/G6EJD/ESP32-e-Paper-Weather-Display/tree/master</span> 該項(xiàng)目的代碼適配版本可以在以下倉(cāng)庫(kù)
    發(fā)表于 07-22 11:46

    簡(jiǎn)述使用波特五力模型的三個(gè)步驟

    企業(yè)了解行業(yè)的競(jìng)爭(zhēng)環(huán)境,從而制定相應(yīng)的競(jìng)爭(zhēng)策略。以下是使用波特五力模型的三個(gè)步驟。 第一步:識(shí)別行業(yè) 在使用波特五力模型之前,首先需要明確分析的行業(yè)范圍。行業(yè)的定義可以根據(jù)產(chǎn)品、服務(wù)、市場(chǎng)、地理區(qū)域等因素來(lái)確定。這一步的目的是確
    的頭像 發(fā)表于 07-05 14:34 ?979次閱讀

    建立神經(jīng)網(wǎng)絡(luò)模型的三個(gè)步驟

    建立神經(jīng)網(wǎng)絡(luò)模型是一個(gè)復(fù)雜的過(guò)程,涉及到多個(gè)步驟和細(xì)節(jié)。以下是對(duì)建立神經(jīng)網(wǎng)絡(luò)模型的三個(gè)主要步驟的介紹: 第一步:數(shù)據(jù)準(zhǔn)備 1.1 數(shù)據(jù)收集 數(shù)據(jù)是神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)。首先,你需要收集足夠的
    的頭像 發(fā)表于 07-02 11:20 ?1057次閱讀

    昕感科技6英寸硅基半導(dǎo)體芯片項(xiàng)目預(yù)計(jì)年底全面通線

    江蘇昕感科技在半導(dǎo)體芯片制造領(lǐng)域又邁出了重要的一步。由該公司投資建設(shè)的6英寸硅基半導(dǎo)體芯片項(xiàng)目,預(yù)計(jì)將在今年年底全面通線,年產(chǎn)能將達(dá)到100萬(wàn)片6英寸硅基半導(dǎo)體芯片。這一項(xiàng)目的成功實(shí)施
    的頭像 發(fā)表于 06-26 10:49 ?1984次閱讀

    M8_6pin母頭使用步驟有哪些

    德索工程師說(shuō)道M8_6pin母頭作為電氣連接器件,在電路連接中扮演著重要的角色。為了確保其正確、高效地使用,以下將詳細(xì)介紹M8_6pin母頭的使用步驟,并對(duì)每一步驟進(jìn)行詳細(xì)的解釋和說(shuō)明
    的頭像 發(fā)表于 05-06 17:50 ?415次閱讀
    M8_<b class='flag-5'>6</b>pin母頭使用<b class='flag-5'>步驟</b>有哪些

    SOLIDWORKS教育版使學(xué)生了解如何加快設(shè)計(jì)項(xiàng)目的速度

    在當(dāng)今信息爆炸的時(shí)代,設(shè)計(jì)項(xiàng)目的速度和效率對(duì)于工程專業(yè)的學(xué)生來(lái)說(shuō)至關(guān)重要。SOLIDWORKS教育版作為一款專門(mén)為學(xué)生設(shè)計(jì)的3D CAD軟件,不僅提供了強(qiáng)大的設(shè)計(jì)工具,更致力于幫助學(xué)生了解如何加快設(shè)計(jì)項(xiàng)目的速度,提升他們的設(shè)計(jì)能力和效率。
    的頭像 發(fā)表于 04-09 16:00 ?343次閱讀

    項(xiàng)目的時(shí)候,是不是每一個(gè)功能做一個(gè)中斷,怎么選擇中斷去實(shí)現(xiàn)功能?

    我想問(wèn)一下,做項(xiàng)目的時(shí)候,是不是每一個(gè)功能做一個(gè)中斷,怎么選擇中斷去實(shí)現(xiàn)功能,而又可以互相嵌套中斷,有什么資料可以參考的
    發(fā)表于 04-08 06:00

    硬件測(cè)試服務(wù)項(xiàng)目的重要性和作用

    硬件測(cè)試服務(wù)項(xiàng)目是確保硬件設(shè)備性能穩(wěn)定、質(zhì)量可靠的關(guān)鍵環(huán)節(jié)。它涉及對(duì)硬件產(chǎn)品進(jìn)行全面、細(xì)致的檢查和驗(yàn)證,以確保其滿足設(shè)計(jì)要求并具備優(yōu)良的用戶體驗(yàn)。以下是關(guān)于硬件測(cè)試服務(wù)項(xiàng)目的詳細(xì)介紹。 一、硬件測(cè)試
    的頭像 發(fā)表于 03-28 09:54 ?808次閱讀
    硬件測(cè)試服務(wù)<b class='flag-5'>項(xiàng)目的</b>重要性和作用

    項(xiàng)目分享|基于ELF 1開(kāi)發(fā)板的遠(yuǎn)程監(jiān)測(cè)及人臉識(shí)別項(xiàng)目

    小伙伴詳盡展示這一項(xiàng)目的相關(guān)細(xì)節(jié)。項(xiàng)目實(shí)現(xiàn)步驟1.視頻監(jiān)控這一步驟中需要實(shí)現(xiàn)兩個(gè)程序:(1)在連接攝像頭的ELF1開(kāi)發(fā)板上實(shí)現(xiàn)一
    的頭像 發(fā)表于 03-13 16:41 ?550次閱讀
    <b class='flag-5'>項(xiàng)目</b>分享|基于ELF 1開(kāi)發(fā)板的遠(yuǎn)程監(jiān)測(cè)及人臉識(shí)別<b class='flag-5'>項(xiàng)目</b>

    MES系統(tǒng)項(xiàng)目的正確實(shí)施

    電子發(fā)燒友網(wǎng)站提供《MES系統(tǒng)項(xiàng)目的正確實(shí)施.docx》資料免費(fèi)下載
    發(fā)表于 01-31 09:24 ?0次下載