Python數(shù)據(jù)分析(3)邏輯回歸模型

前言

  • 蛋肥計(jì)劃搭建基礎(chǔ)的邏輯回歸模型。

準(zhǔn)備

時(shí)間:2021/06/30
系統(tǒng)環(huán)境:Windows 10
所用工具:Jupyter Notebook\Python 3.0
涉及的庫:pandas\train_test_split\LogisticRegression\accuracy_score\classification_report

搭建邏輯回歸模型

蛋肥想法:數(shù)據(jù)集來源于阿里云天池,對(duì)魚的種類進(jìn)行邏輯回歸分類。

參考資料
阿里云天池-Fish market 魚市場(chǎng)

#讀取數(shù)據(jù)集
import pandas as pd
df=pd.read_csv(r"C:\Users\Archer\Desktop\Fish.csv")

#選取自變量、因變量
X=df.drop(columns="Species")
Y=df["Species"]

#劃分訓(xùn)練集、測(cè)試集,測(cè)試集占20%
from sklearn.model_selection import train_test_split
X_train,X_test,Y_train,Y_test=train_test_split(X,Y,test_size=0.2,random_state=1)

#搭建邏輯回歸模型
from sklearn.linear_model import LogisticRegression
regr=LogisticRegression()
regr.fit(X_train,Y_train)

獲取預(yù)測(cè)準(zhǔn)確度

蛋肥想法:通過測(cè)試集數(shù)據(jù),檢驗(yàn)魚種類預(yù)測(cè)準(zhǔn)確度,測(cè)得準(zhǔn)確度為75%。

#預(yù)測(cè)結(jié)果評(píng)分
from sklearn.metrics import accuracy_score
Y_pred=regr.predict(X_test)
score=accuracy_score(Y_pred,Y_test)
print(str(score))

獲取預(yù)測(cè)概率

蛋肥想法:邏輯回歸模型的本質(zhì)是預(yù)測(cè)概率,而不是直接預(yù)測(cè)具體類別,通過代碼更直觀地觀察測(cè)試集數(shù)據(jù)的概率分布情況。

#預(yù)測(cè)概率,regr.classes_為每個(gè)位置的概率分別對(duì)應(yīng)的類別標(biāo)簽
Y_pred_=regr.predict_proba(X_test)
data=pd.DataFrame(Y_pred_,columns=list(regr.classes_))

獲取邏輯回歸系數(shù)

print(str(regr.coef_[0]))
print(str(regr.intercept_))

獲取模型命中率

#模型命中率
from sklearn.metrics import classification_report
print(classification_report(Y_test,Y_pred))

總結(jié)

  • 如果要對(duì)離散變量進(jìn)行預(yù)測(cè),則要使用分類模型,分類模型與回歸模型的區(qū)別在于其預(yù)測(cè)的變量不是連續(xù)的,而是離散的一些類別。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容