版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第python回歸分析邏輯斯蒂模型之多分類任務(wù)詳解目錄邏輯斯蒂回歸模型多分類任務(wù)1.ovr策略2.onevsone策略3.softmax策略邏輯斯蒂回歸模型多分類案例實(shí)現(xiàn)
邏輯斯蒂回歸模型多分類任務(wù)
上節(jié)中,我們使用邏輯斯蒂回歸完成了二分類任務(wù),針對多分類任務(wù),我們可以采用以下措施,進(jìn)行分類。
我們以三分類任務(wù)為例,類別分別為a,b,c。
1.ovr策略
我們可以訓(xùn)練a類別,非a類別的分類器,確認(rèn)未來的樣本是否為a類;同理,可以訓(xùn)練b類別,非b類別的分類器,確認(rèn)未來的樣本是否為b類;同理,可以訓(xùn)練c類別,非c類別的分類器,確認(rèn)未來的樣本是否為c類;這樣我們通過增加分類器的數(shù)量,K類訓(xùn)練K個分類器,完成多分類任務(wù)。
2.onevsone策略
我們將樣本根據(jù)類別進(jìn)行劃分,分別訓(xùn)練a與b、a與c、b與c之間的分類器,通過多個分類器判斷結(jié)果的匯總打分,判斷未來樣本的類別。同樣使用了增加分類的數(shù)量的方法,需要注意訓(xùn)練樣本的使用方法不同,K類訓(xùn)練K(K-1)/2個分類器,完成多分類任務(wù)
3.softmax策略
通過計(jì)算各個類別的概率,比較最高概率后,確定最終的類別。
對于類別互斥的情況,建議使用softmax,而不同類別之間關(guān)聯(lián)性較強(qiáng)時,建議使用增加多個分類器的策略。
邏輯斯蒂回歸模型多分類案例實(shí)現(xiàn)
本例我們使用sklearn數(shù)據(jù)集,鳶尾花數(shù)據(jù)。
1.加載數(shù)據(jù)
樣本總量:150組預(yù)測類別:山鳶尾,雜色鳶尾,弗吉尼亞鳶尾三類,各50組。樣本特征4種:花萼長度sepallength(cm)、花萼寬度sepalwidth(cm)、花瓣長度petallength(cm)、花瓣寬度petalwidth(cm)。
2.使用seaborn提供的pairplot方法,可視化展示特征與標(biāo)簽
3.訓(xùn)練模型
fromsklearn.datasetsimportload_iris
importpandasaspd
importseabornassns
frommatplotlibimportpyplotasplt
fromsklearn.model_selectionimporttrain_test_split
#加載數(shù)據(jù)
data=load_iris()
iris_target=data.target#
iris_df=pd.DataFrame(data=data.data,columns=data.feature_names)#利用Pandas轉(zhuǎn)化為DataFrame格式
iris_df['target']=iris_target
##特征與標(biāo)簽組合的散點(diǎn)可視化
sns.pairplot(data=iris_df,diag_kind='hist',hue='target')
plt.show()
#劃分?jǐn)?shù)據(jù)集
X=iris_df.iloc[:,:-1]
y=iris_df.iloc[:,-1]
x_train,x_test,y_train,y_test=train_test_split(X,y,test_size=0.2)
##創(chuàng)建邏輯回歸模型
clf=LogisticRegression(random_state=0,solver='lbfgs')
'''優(yōu)化算法選擇參數(shù):solver\
solver參數(shù)決定了我們對邏輯回歸損失函數(shù)的優(yōu)化方法,有4種算法可以選擇,分別是:
a)liblinear:使用了開源的liblinear庫實(shí)現(xiàn),內(nèi)部使用了坐標(biāo)軸下降法來迭代優(yōu)化損失函數(shù)。
b)lbfgs:擬牛頓法的一種,利用損失函數(shù)二階導(dǎo)數(shù)矩陣即海森矩陣來迭代優(yōu)化損失函數(shù)。
c)newton-cg:也是牛頓法家族的一種,利用損失函數(shù)二階導(dǎo)數(shù)矩陣即海森矩陣來迭代優(yōu)化損失函數(shù)。
d)sag:即隨機(jī)平均梯度下降,是梯度下降法的變種,和普通梯度下降法的區(qū)別是每次迭代僅僅用一部分的樣本來計(jì)算梯度,適合于樣本數(shù)據(jù)多的時候。
從上面的描述可以看出,newton-cg,lbfgs和sag這三種優(yōu)化算法時都需要損失函數(shù)的一階或者二階連續(xù)導(dǎo)數(shù),因此不能用于沒有連續(xù)導(dǎo)數(shù)的L1正則化,只能用于L2正則化。而liblinear通吃L1正則化和L2正則化。
同時,sag每次僅僅使用了部分樣本進(jìn)行梯度迭代,所以當(dāng)樣本量少的時候不要選擇它,而如果樣本量非常大,比如大于10萬,sag是第一選擇。但是sag不能用于L1正則化,所以當(dāng)你有大量的樣本,又需要L1正則化的話就要自己做取舍了。要么通過對樣本采樣來降低樣本量,要么回到L2正則化。
從上面的描述,大家可能覺得,既然newton-cg,lbfgs和sag這么多限制,如果不是大樣本,我們選擇liblinear不就行了嘛!錯,因?yàn)閘iblinear也有自己的弱點(diǎn)!我們知道,邏輯回歸有二元邏輯回歸和多元邏輯回歸。對于多元邏輯回歸常見的有one-vs-rest(OvR)和many-vs-many(MvM)兩種。而MvM一般比OvR分類相對準(zhǔn)確一些。郁悶的是liblinear只支持OvR,不支持MvM,這樣如果我們需要相對精確的多元邏輯回歸時,就不能選擇liblinear了。也意味著如果我們需要相對精確的多元邏輯回歸不能使用L1正則化了。
clf.fit(x_train,y_train)
##查看自變量對應(yīng)的系數(shù)w
print('theweightofLogisticRegression:\n',clf.coef_)
##查看常數(shù)項(xiàng)對應(yīng)的系數(shù)w0
print('theintercept(w0)ofLogisticRegression:\n',ercept_)
#模型1的變量重要性排序
coef_c1=pd.DataFrame({'var':pd.Series(x_test.columns),
'coef_abs':abs(pd.Series(clf.coef_[0].flatten()))
coef_c1=coef_c1.sort_values(by='coef_abs',ascending=False)
print(coef_c1)
#模型2的變量重要性排序
coef_c2=pd.DataFrame({'var':pd.Series(x_test.columns),
'coef_abs':abs(pd.Series(clf.coef_[1].flatten()))
coef_c2=coef_c2.sort_values(by='coef_abs',ascending=False)
print(coef_c2)
#模型3的變量重要性排序
coef_c3=pd.DataFrame({'var':pd.Series(x_test.columns),
'coef_abs':abs(pd.Series(clf.coef_[2].flatten()))
coef_c3=coef_c3.sort_values(by='coef_abs',ascending=False)
print(coef_c3)
4.對模型進(jìn)行評價:模型得分、交叉驗(yàn)證得分、混淆矩陣
fromsklearn.metricsimportaccuracy_score,recall_score
##模型評價
score=clf.score(x_train,y_train)#Returnthemeanaccuracyonthegiventestdataandlabels.
print(score)#0.628125
#模型在訓(xùn)練集上的得分
train_score=accuracy_score(y_train,clf.predict(x_train))
print(train_score)#0.628125
#模型在測試集上的得分
test_score=clf.score(x_test,y_test)
print(test_score)#0.6
y_predict=clf.predict(x_test)
#訓(xùn)練集的召回率
train_recall=recall_score(y_train,clf.predict(x_train),average='macro')
print("訓(xùn)練集召回率",train_recall)#0.47934382086167804
#測試集的召回率
test_recall=recall_score(y_test,clf.predict(x_test),average='macro')
print("測試集召回率",test_recall)#0.5002736726874658
fromsklearn.metricsimportclassification_report
print('測試數(shù)據(jù)指標(biāo):\n',classification_report(y_test,y_predict,digits=4))
#k-fold交叉驗(yàn)證得分
fromsklearn.model_selectionimportcross_val_score
scores=cross_val_score(clf,x_train,y_train,cv=10,scoring='accuracy')
print('十折交叉驗(yàn)證:每一次的得分',scores)
#結(jié)果:每一次的得分[0.593750.593750.68750.593750.531250.56250.656250.6250.718750.625]
print('十折交叉驗(yàn)證:平均得分',scores.mean())
#結(jié)果:平均得分0.61875
fromsklearn.preprocessingimportLabelEncoder
fromsklearn.metricsimportconfusion_matrix
importpandasaspd
labelEncoder=LabelEncoder()
labelEncoder.fit(y)##對變量y進(jìn)行硬編碼,將標(biāo)簽變?yōu)閿?shù)字
cm=confusion_matrix(y_test,y_predict)
cm_pd=pd.DataFrame(data=cm,columns=labelEncoder.classes_,index=labelEncoder.classes_)
print("混淆矩陣")
print(cm_pd)
importmatplotlib.p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年延安市人民醫(yī)院臨聘人員公開招聘12人備考題庫及一套參考答案詳解
- 2026年國投種業(yè)科創(chuàng)中心有關(guān)崗位社會招聘備考題庫參考答案詳解
- 2026年廈門市集美區(qū)后溪鎮(zhèn)二農(nóng)社區(qū)職業(yè)經(jīng)理人招聘備考題庫及一套完整答案詳解
- 2026年廈門勢拓伺服科技股份有限公司招聘備考題庫完整參考答案詳解
- 2026年佛山市交通發(fā)展有限公司招聘備考題庫附答案詳解
- 2026年中農(nóng)華開唐山科技有限公司招聘備考題庫參考答案詳解
- 2026年九江職業(yè)大學(xué)附屬幼兒園教師招聘備考題庫及1套參考答案詳解
- 2026年吉安市第十二中學(xué)面向社會公開招聘編外工作人員的備考題庫及參考答案詳解
- 2026年豐臺區(qū)豐臺街道辦事處公開招聘城市協(xié)管員備考題庫含答案詳解
- 2026年安順市西秀區(qū)高級中學(xué)招聘教師備考題庫及一套參考答案詳解
- 國開2025年人文英語4寫作形考答案
- 2025秋蘇教版(2024)小學(xué)科學(xué)二年級上冊(全冊)教學(xué)設(shè)計(jì)(附目錄P123)
- 光伏基礎(chǔ)吊裝施工方案
- 專題05病句辨析與修改-2023年小升初語文高頻考點(diǎn)100題(部編版)
- 合肥市瑤海區(qū)S社區(qū)居家養(yǎng)老服務(wù)站建設(shè)研究:現(xiàn)狀、問題與優(yōu)化路徑
- 果園防草布采購合同范本
- 《黃土原位測試規(guī)程》
- 冀教版(2024)三年級上冊《稱量物體》單元測試(含解析)
- 數(shù)學(xué)-湖南長郡中學(xué)、杭州二中、南師附中三校2025屆高三4月聯(lián)考試題+答案
- 醫(yī)學(xué)三維可視化與虛擬現(xiàn)實(shí)技術(shù):革新肝癌腹腔鏡手術(shù)的探索與實(shí)踐
- 統(tǒng)編版(2024)八年級上冊歷史新教材全冊知識點(diǎn)復(fù)習(xí)提綱
評論
0/150
提交評論