機器學習第三練 為慈善機構尋找捐助者

2022-08-30 17:36:10 字數 2443 閱讀 9506

這個任務同樣是在jupyter notebook中完成,

專案目的是通過前面的所有特徵列,當然去掉序號列,然後**最後一列,收入'income',究竟是大於50k,還是小於等於50k.

第一步,探索資料,像探索性統計裡經常涉及到的頻數,均值,眾數或者眾位數相關的計算,我們通過這些統計指標,使用python來看一下資料的大概情況

這塊主要還是涉及pandas, numpy, visuals相關的內容來進行操作

比如檢視一下資料都有哪些特徵,標籤,因為本身是監督學習

第二步,資料相關處理,

這裡涉及到兩個變數,資本利得和資本損失,這其實是管理會計相關的概念,利得是指買了一支**,5塊的買的,1000股,漲到10塊,賣掉,收益5000(假設沒除去其他費用),利得就是5000,同樣,假如賣的**是3塊,那麼損失就是2000. 其實扯的這個概念在分析特徵與標籤的關聯時才可能用到。

下圖,是兩個變數原始的分布情況:比如利得的資料看著分散,偏左,如果是期望值是正態分佈的話,資料需要轉化一下,

使用對數進行轉化,可以把極值變小,下圖是轉換後效果,看著是不是利得和損失的均值都更接近一些了。

這時資料的分布好一些,但仍需要對資料進行規一化操作,從而在下面使用監督學習器的時候能夠被平等的對待

規一化操作的結果使得特徵的範圍被圈在乙個極值範圍之內,比如0,1之間,這裡的規一化操作就是特徵縮放。

沒有規一化之前是這個樣子

規一化之後是這個樣子,可以對比一下上下兩幅圖的資料,

對標籤進行啞編碼:(從定性變數轉化成定量)

使用pandas.get_dummies()對'features_raw'資料來施加乙個獨熱編碼

轉換之前:

轉換之後:

第三步,進行訓練集和測試集的分割,

第三步,模型效能評估

混淆矩陣的相關模型評價指標,比如說準確度,fbeta指標(混合指標,準確率和召回率的混合,beta=0.5時,會強調準確率)

第四步,選擇乙個監督模型來做學習器,並闡述其優缺點, 需要舉例,並寫出引用出處,

個人答案,可能不是太嚴格,也參考了很多網上的資料,

第五步,建立乙個pipline來評估上面三個模型,選擇最優

有條件限制:

1,比如選擇資料的部分內容做**,使用不同的size來做訓練,包括樣本的.01,.1和1

2,還是使用sklearn.metrics中的fbeta_scoreaccuracy_score來進行判定

下面是訓練集的結果:

下面是測試集的結果:

第六步,選擇最優模型和調參

最優的話,從測試集的比例為1的結果來判斷,邏輯回歸勝出。

調優的話使用 sklearn的網格搜尋,配置好對應的引數值,

在呼叫學習器的時候,grid_obj = gridsearchcv(estimator=clf,param_grid=parameters,scoring=scorer)

引數random_state可以讓網格搜尋每次劃分訓練集和驗證集的時候都是完全一樣的

邏輯回歸的引數c,主要是控制模型在過擬合和欠擬合之間保持乙個平衡。

結果如下,還是引數調優對模型本身是有幫助的。

第七步,提取特徵重要性:

從下圖可以看出,其實如果在提取特徵這一步之前做主觀推測的話,最重要的特徵應該會跟下面五項有偏離,

但是下圖顯示,資本利得和資本損失的權重就比較高,原因應該是在於在此練習過程中,其他的特徵都沒有被數位化,

機器學習第三週

在進行特徵選擇之前,一般會先進行資料無量綱化處理,這樣,表徵不同屬性 單位不同 的各特徵之間才有可比性,如1cm 與 0.1kg 你怎麼比?無量綱處理方法很多,使用不同的方法,對最終的機器學習模型會產生不同的影響。本文將對常用的無量綱化技術進行總結,試圖指出他們的適用場景,並給出在python中的相...

機器學習第三講

第三講 分類 1.數學知識回顧 點到平面距離 梯度下降法 隨機梯度下降法 學習率的取值要逐步降低 最大似然估計 2.分類介紹 另一種典型的有監督學習問題 標籤 模型 值 y為離散值 實際應用舉例 新聞主題分類 科技 教育 社會 體育?疾病診斷 根據病人肺部影像,診斷是否患 covid 19肺炎 市場...

機器學習第三週

應用機器學習的時候,會遇到很多問題。比如模型的選擇,資料的擬合程度,新樣本的泛化程度。這裡記錄 一些相關概念和應對方法。1.將 資料集分成 訓練集,驗證集,測試集。最好是採用隨機方法來取,一般是 60 20 20 要考慮假設函式的擬合程度 也就是模型選擇 以及 新情況的泛化程度,驗證集作用是挑出擬合...