sklearn调包侠之逻辑回归

算法原理

传送门:机器学习实战之Logistic回归

正则化

这里补充下正则化的知识。当一个模型太复杂时,就容易过拟合,解决的办法是减少输入特征的个数,或者获取更多的训练样本。正则化也是用来解决模型过拟合的一种方法。常用的有L1和L2范数做为正则化项。

  • L1范数 L1范数作为正则化项,会让模型参数θ稀疏话,就是让模型参数向量里为0的元素尽量多。L1就是在成本函数后加入:
  • L2范数 而L2范数作为正则化项,则是让模型参数尽量小,但不会为0,即尽量让每个特征对预测值都有一些小的贡献。L2就是在成本函数后加入:

实战——乳腺癌检测

数据导入

本次实战依旧是使用sklearn中的数据集,如图所示。

from sklearn.datasets import load_breast_cancer
cancer = load_breast_cancer()
print(cancer.DESCR)
切分数据集
X = cancer.data
y = cancer.target

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=33)
模型训练与评估

逻辑回归算法使用sklearn.linear_model 模块中的LogisticRegression方法。常用的参数如下:

  • penalty:设置正则化项,其取值为'l1'或'l2',默认为'l2'。
  • C:正则化强度,C越大,权重越小。
from sklearn.linear_model import LogisticRegression

model = LogisticRegression()
model.fit(X_train, y_train)
model.score(X_test, y_test)

# result
# 0.94736842105263153

我们换为L1范数:

model2 = LogisticRegression(penalty='l1')
model2.fit(X_train, y_train)
model2.score(X_test, y_test)

# result
# 0.95614035087719296

这里查看模型的参数,发现确实有很多特征的参数为0。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程

关于反向传播在Python中应用的入门教程

我来这里的目的是为了测试我对于Karpathy的博客《骇客的神经网络指导》以及Python的理解,也是为了掌握最近精读的Derek Banas的文章《令人惊奇的...

1807
来自专栏计算机视觉

对抗生成网络-文字到图片的合成Generative Adversarial Text to Image Synthesis

新的一年,新的开始,好想发论文啊!废话不多说,下面讲下文字到图片的生成。 ? 文字生成图片 ? 最有代表的一张图怕是这个了,牛人,大佬 RNN可用来对文字进行判...

36611
来自专栏ATYUN订阅号

【学术】谷歌AI课程附带的机器学习术语整理(超详细!)

AiTechYun 编辑:xiaoshan 为了帮助大家更好的了解机器学习,谷歌在上周推出了一系列免费的AI课程,同时还附带了一个详细地机器学习术语库。 本术语...

3167
来自专栏大数据挖掘DT机器学习

Python机器学习:数据拟合与广义线性回归

机器学习中的预测问题通常分为2类:回归与分类。 简单的说回归就是预测数值,而分类是给数据打上标签归类。 本文讲述如何用Python进行基本的数据拟合,以及如何对...

3006
来自专栏机器之心

自创数据集,使用TensorFlow预测股票入门

3527
来自专栏PPV课数据科学社区

贝叶斯、概率分布与机器学习

一. 简单的说贝叶斯定理: 贝叶斯定理用数学的方法来解释生活中大家都知道的常识 形式最简单的定理往往是最好的定理,比如说中心极限定理,这样的定理往往会成为某一个...

31710
来自专栏PPV课数据科学社区

谷歌最新机器学习术语表,A/B 测试 、混淆矩阵、决策边界……都在这里了!

日前,谷歌发布机器学习术语表,以下术语表中列出了一般的机器学习术语和 TensorFlow 专用术语的定义。 A A/B 测试 (A/B testing) 一种...

2766
来自专栏AI研习社

一文详解 Word2vec 之 Skip-Gram 模型(训练篇)

第一部分我们了解 skip-gram 的输入层、隐层、输出层。在第二部分,会继续深入讲如何在 skip-gram 模型上进行高效的训练。 在第一部分讲解完成后,...

4985
来自专栏CreateAMind

生成对抗网络GAN-从最简单代码开始-到INFOGAN

671
来自专栏企鹅号快讯

机器学习算法实战

目 录 逻辑回归算法步骤简述 选择输入函数:sigmoid函数 选择优化算法:梯度上升法 观察数据集 批梯度上升训练 随机梯度上升训练 推荐阅读时间: 10m...

1925

扫码关注云+社区