码迷,mamicode.com
首页 > 其他好文 > 详细

7.逻辑回归实践

时间:2020-04-27 13:01:55      阅读:55      评论:0      收藏:0      [点我收藏+]

标签:情况   特征   假设   www   res   过拟合   info   加强   好的   

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

逻辑回归是通过正则化来防止过拟合的;

正则化可以防止过拟合是:因为过拟合的时候,拟合函数的系数往往非常大,而正则化是通过约束参数的范数使其不要太大,所以可以在一定程度上减少过拟合情况。

正规化背后的思路就是:如果我们的参数值对应一个较小值的话(参数值比较小),那么往往我们会得到一个形式更简单的假设。

正则化因子,也就是里面的那个lamda,如果它变大了,说明目标函数的作用变小了,正则化项的作用变大了,对参数的限制能力加强了,这会使得参数的变化不那么剧烈。

对于房屋价格预测我们可能有上百种特征,如果我们有一百个特征,我们并不知道如何选择关联度更好的参数,如何缩小参数的数目等等。因此在正则化里,我们要做的事情,就是把减小我们的代价函数(例子中是线性回归的代价函数)所有的参数值,因为我们并不知道是哪一个或哪几个要去缩小。因此,我们需要修改代价函数,在这后面添加一项,就像我们在方括号里的这项。当我们添加一个额外的正则化项的时候,我们收缩了每个参数。

链接:链接1  链接2  链接3
 

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

from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import classification_report

# 获取乳腺癌数据
data = load_breast_cancer()
# 把数据划分为属性值x和结果集y
x=data[data]
y=data[target]
# 对数据进行划分测试集和训练集,并制定随机种子
x_tr,x_te,y_tr,y_te=train_test_split(x,y,test_size=0.2,random_state=6)
# 初始化逻辑函数模型
lr = LogisticRegression()
# 对模型进行训练
lr.fit(x_tr,y_tr)
# 对模型进行预测
pre = lr.predict(x_te)
# 输出数据
print(训练的得分:,lr.score(x_tr,y_tr))
print(测试的得分:, lr.score(x_te,y_te))
print(输出模型的分类报告:\n,classification_report(y_te,pre))

实验截图:

技术图片

 

 技术图片

 

7.逻辑回归实践

标签:情况   特征   假设   www   res   过拟合   info   加强   好的   

原文地址:https://www.cnblogs.com/a131452/p/12784751.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!