網(wǎng)格搜索、管道、決策樹、支持向量機、Hyperparameter調優(yōu)、混淆矩陣、ROC曲線,如果你三個月前向我提起這些術語,我絕對不知道你在說什么。
然而我剛剛完成了一個項目,使用了所有這些技術、方法和工具。我的大腦已經(jīng)接受了每天都會被新概念淹沒的事實,并期待著能夠立即將它們投入使用。
Flatiron School數(shù)據(jù)科學項目的第三個主要項目是一個專門關注分類的監(jiān)督機器學習項目。與之前的其他項目不同,我們被要求構建預測離散目標變量的模型,而不是連續(xù)或數(shù)值目標變量。
與預測票房、電影價值或房屋銷售價格不同,我們可以在幾個不同的分類數(shù)據(jù)集中選擇,也可以選擇我們自己的一個。在搜索存儲庫和數(shù)據(jù)收集數(shù)天之后,我最終確定了一個符合我興趣的,并提出了一個需要解決的現(xiàn)實問題。
當我聽同伴們討論話題時,我意識到我錯過了一個難得的機會,為這個項目選擇一些積極向上、引人入勝的東西來進行調查。
我聽到學生們談論他們很想做出的與體育相關的不同預測,還有人計劃使用算法來預測電子游戲中的音樂類型或評分。非常多有趣的想法!輪到我介紹我的主題時,我深深地嘆了口氣,笨拙地解釋說,我選擇了一個有關胎兒健康結果和死亡率的數(shù)據(jù)集。是的。不知何故,無憂無慮的我挑了一個最嚴肅、最令人沮喪的話題。
然而,我的項目本身和數(shù)據(jù)的目標實際上是相當有希望和樂觀的。這一切的前提是美國持續(xù)存在的公共健康問題即胎兒死亡率。這是我非常關心的一個話題,這促使我花了幾個小時尋找用于這個目的的正確數(shù)據(jù)。
我發(fā)現(xiàn)這個數(shù)據(jù)集包含超過2000行患者的心電圖(CTG)記錄,包含諸如胎兒心率、子宮收縮、胎兒運動等特征。然后,每一份記錄都由“專業(yè)產(chǎn)科醫(yī)生”分類為正常、可疑或病理胎兒健康結果。
我將其調整為一個二元分類問題,將可疑結果和病理結果合并到一個類別中,并將其標記為“危險”。我打算證明,僅憑CTG檢查的指標就可以預測胎兒健康結果,這意味著這種預測可以自動化,而醫(yī)療服務提供商只需通過閱讀報告,就可以采取更積極的挽救生命措施。
我在著手這個項目時首先意識到的一件事是,管道基本上是一種神奇的東西,它簡化了將分類器與數(shù)據(jù)匹配的過程。
管道承擔了擴展、預處理和設置分類器的所有步驟,并將它們組合到單個對象中,從而干凈地完成流程并消除一些人為錯誤。
因為有很多不同的算法我想探索,所以我寫了一個函數(shù)。這個函數(shù)輸入一個分類器并且返回一個管道對象。(請注意,我class_weight參數(shù)設置為‘balanced’,因為我的目標變量不平衡;在我的數(shù)據(jù)中,健康狀況正常的嬰兒比危險嬰兒要多得多。)
現(xiàn)在,可以說比管道搜索更令人驚奇的是網(wǎng)格搜索的能力。
GridSearchCV允許你為一個模型檢查許多不同的超參數(shù),并通過選擇最佳參數(shù)為所選的度量優(yōu)化你的模型。
在這種情況下,我優(yōu)先考慮的指標是召回率。通過對召回率進行優(yōu)化,我最小化了模型預測中錯誤否定或第二類錯誤的數(shù)量。
雖然我對模型有時錯誤地預測嬰兒處于危險中沒有意見,但我對模型有時錯誤地預測嬰兒是健康的就不那么滿意了。召回率指標是這個項目最重要的指標,遠遠超過精度、準確性或其他任何評估指標。
為此我編寫了一個函數(shù),它接受一個管道對象(例如,來自上面的函數(shù))和一組要調優(yōu)的超參數(shù),并返回一個網(wǎng)格搜索對象。如果你要優(yōu)化的不是召回率,比如準確性,那么你只需要更改評分參數(shù)來反映這一點。
最后,我編寫了一個函數(shù)來接收網(wǎng)格搜索對象(如上面的函數(shù)所創(chuàng)建的對象)并返回用于評估的相關信息。這才是真正神奇的地方。最后一個函數(shù)接受上面的網(wǎng)格搜索對象,并對模型進行優(yōu)化,結果:
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.