Python数据分析(3)逻辑回归模型

前言

  • 蛋肥计划搭建基础的逻辑回归模型。

准备

时间:2021/06/30
系统环境:Windows 10
所用工具:Jupyter Notebook\Python 3.0
涉及的库:pandas\train_test_split\LogisticRegression\accuracy_score\classification_report

搭建逻辑回归模型

蛋肥想法:数据集来源于阿里云天池,对鱼的种类进行逻辑回归分类。

参考资料
阿里云天池-Fish market 鱼市场

#读取数据集
import pandas as pd
df=pd.read_csv(r"C:\Users\Archer\Desktop\Fish.csv")

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

#划分训练集、测试集,测试集占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)

获取预测准确度

蛋肥想法:通过测试集数据,检验鱼种类预测准确度,测得准确度为75%。

#预测结果评分
from sklearn.metrics import accuracy_score
Y_pred=regr.predict(X_test)
score=accuracy_score(Y_pred,Y_test)
print(str(score))

获取预测概率

蛋肥想法:逻辑回归模型的本质是预测概率,而不是直接预测具体类别,通过代码更直观地观察测试集数据的概率分布情况。

#预测概率,regr.classes_为每个位置的概率分别对应的类别标签
Y_pred_=regr.predict_proba(X_test)
data=pd.DataFrame(Y_pred_,columns=list(regr.classes_))

获取逻辑回归系数

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

获取模型命中率

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

总结

  • 如果要对离散变量进行预测,则要使用分类模型,分类模型与回归模型的区别在于其预测的变量不是连续的,而是离散的一些类别。

你可能感兴趣的:(Python数据分析(3)逻辑回归模型)