首页 > 其他 > 详细

7.逻辑回归实践

时间:2020-04-28 13:53:54      阅读:69      评论:0      收藏:0      [点我收藏+]

1.逻辑回归是怎么防止过拟合的?为什么正则化可以防止过拟合?(大家用自己的话介绍下)

2.用logiftic回归来进行实践操作,数据不限。

解:

1、

  (1)增加样本量,这是万能的方法,适用任何模型;如果数据稀疏,使用L1正则,其他情况,用L2要好,可自己尝试;通过特征选择,剔除一些不重要的特征,从而降低模型复杂度;如果还过拟合,那就看看是否使用了过度复杂的特征构造工程,比如,某两个特征相乘/除/加等方式构造的特征,不要这样做了,保持原特征;检查业务逻辑,判断特征有效性,是否在用结果预测结果等。

  (2)过拟合的时候,拟合函数的系数往往非常大,需要顾忌每一个点,最终形成的拟合函数波动很大。在某些很小的区间里,函数值的变化很剧烈。这就意味着函数在某些小区间里的导数值(绝对值)非常大,由于自变量值可大可小,所以只有系数足够大,才能保证导数值很大。 而正则化是通过约束参数的范数使其不要太大,所以可以在一定程度上减少过拟合情况。

2、

 数据:LogisticRegression.csv

技术分享图片

 

 

 代码:

# 案例3:使用逻辑回归算法预算研究生入学考试是否会被录取
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report
# (1)数据读取与预处理
data=pd.read_csv(LogisticRegression.csv)
x=data.iloc[:,1:]
y=data.iloc[:,0]
x_train,x_test,y_train,y_test=train_test_split(x, y,test_size=0.2,random_state=5)
# (2)构建逻辑回归模型
LR_model=LogisticRegression()
# (3)训练模型
LR_model.fit(x_train,y_train)
# (4)预测模型
pre=LR_model.predict(x_test)
print(模型的正确率:,LR_model.score(x_test,y_test))
print(输出模型的分类报告:,classification_report(y_test,pre))

运行结果:

技术分享图片

 

7.逻辑回归实践

原文:https://www.cnblogs.com/keshangming/p/12786285.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!