机器学习:逻辑回归预测癌症数据

简介: 机器学习:逻辑回归预测癌症数据

逻辑回归公式

屏幕截图 2021-11-23 115358.png

sigmoid函数g(z)

过点:(0, 0.5)

映射区间:(负无穷, 正无穷) -> (0, 1)

e 是常数 2.71828…

逻辑回归的损失函数

对数似然损失函数

屏幕截图 2021-11-23 115500.png

完整的损失函数

屏幕截图 2021-11-23 115655.png

cost 损失值越小,那么预测的类别准确度更高

逻辑回归

线性回归的式子作为逻辑回归的输入

逻辑回归的损失函数,优化

与线性回归原理相同,但由于是分类问题,损失函数不一样,只能通过梯度下降求解

算法 策略 优化

逻辑回归 对数似然损失 梯度下降

损失函数(梯度下降求解)

-均方误差(不存在多个局部最低点,只有一个最小值)

-对数似然损失(多个局部最小值)

-1、多次随机初始化,多次比较最小值结果

-2、求解过程中,调整学习率,劲量改善

-3、尽管没有全局最低点,但是效果都是不错的

逻辑回归,属于1的概率值

哪个类别少,判定概率值是指的这个类别

恶性 正例

良性 反例

逻辑回归应用

广告点击率预测,是否患病,金融诈骗,是否为虚假账号

优点:适合需要得到一个分类概率的场景,简单速度快

缺点:不好处理多分类问题

softmax方法,逻辑回归在多分类问题上的推广

区别

        逻辑回归            朴素贝叶斯
解决问题    二分类             多分类
应用场景    癌症,二分类需要概率  文本分类
参数        正则化力度         没有参数
模型        判别模型           生成模型
先验概率     不需要             需要
共同点      得出的结果都有概率解释

判别模型:K-近邻,决策树,随机森林,神经网络

生成模型:隐马尔科夫模型

代码示例

# -*- coding: utf-8 -*-
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import classification_report
# 加载数据
breast = load_breast_cancer()
# 数据拆分
X_train, X_test, y_train, y_test = train_test_split(
    breast.data, breast.target)
# 数据标准化
std = StandardScaler()
X_train = std.fit_transform(X_train)
X_test = std.transform(X_test)
# 训练预测
lg = LogisticRegression()
lg.fit(X_train, y_train)
y_predict = lg.predict(X_test)
# 查看训练准确度和预测报告
print(lg.score(X_test, y_test))
print(classification_report(
    y_test, y_predict, labels=[0, 1], target_names=["良性", "恶性"]))
"""
0.958041958041958
             precision    recall  f1-score   support
         良性       0.98      0.90      0.93        48
         恶性       0.95      0.99      0.97        95
avg / total       0.96      0.96      0.96       143
"""


相关文章
|
存储 编解码 安全
现代IM系统中聊天消息的同步和存储方案探讨
本文原作者:木洛,阿里云高级技术专家,内容有删减和修订,感谢原作者。 1、前言 IM全称是『Instant Messaging』,中文名是即时通讯。在这个高度信息化的移动互联网时代,生活中IM类产品已经成为必备品,比较有名的如钉钉、微信、QQ等以IM为核心功能的产品。
5393 0
|
1月前
|
存储 网络安全 对象存储
金融保险行业客户配置OSS公共读引发数据泄漏风险
根据网络安全等级保护三级要求,企业应对个人信息等隐私数据实施严格的访问控制,并在存储过程中采取加密等安全措施,确保数据的保密性与完整性。OSS产品默认使用“私有读写”,并在开放“公共读”时进行风险提示。
|
7月前
|
SQL 容灾 关系型数据库
阿里云DTS踩坑经验分享系列|DTS打通SQL Server数据通道能力介绍
SQL Server 以其卓越的易用性和丰富的软件生态系统,在数据库行业中占据了显著的市场份额。作为一款商业数据库,外部厂商在通过解析原生日志实现增量数据捕获上面临很大的挑战,DTS 在 SQL Sever 数据通道上深研多年,提供了多种模式以实现 SQL Server 增量数据捕获。用户可以通过 DTS 数据传输服务,一键打破自建 SQL Server、RDS SQL Server、Azure、AWS等他云 SQL Server 数据孤岛,实现 SQL Server 数据源的流动。
392 0
阿里云DTS踩坑经验分享系列|DTS打通SQL Server数据通道能力介绍
|
Java Serverless Nacos
nacos常见问题之serverless应用引擎连接异常如何解决?
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
|
SQL 关系型数据库 MySQL
「Go开源」goose:深入学习数据库版本管理工具
「Go开源」goose:深入学习数据库版本管理工具
「Go开源」goose:深入学习数据库版本管理工具
|
SQL JSON JavaScript
为什么从egg.js到nest.js(一)
进入部门工作后,接触到的node.js服务端框架,是egg.js,后面基于扩展增加了很多插件,比如:@Controller @Service等注解,还有针对egg-framework 定制化部门使用的底层framework。
685 0
|
数据安全/隐私保护
JMX安全漏洞修复 服务端增加用户名和密码验证机制
JMX安全漏洞修复 服务端增加用户名和密码验证机制
381 0
|
Web App开发 前端开发 小程序
在网页中使用 icon 字体图标 | 前端开发
在网页中使用 icon 字体图标 | 前端开发
|
机器学习/深度学习 文字识别 并行计算
GitHub 车牌检测识别项目调研
GitHub 车牌检测识别项目调研
671 0
|
前端开发 数据可视化 JavaScript
云栖大会上,阿里巴巴重磅发布前端知识图谱!
阿里巴巴前端知识图谱,由大阿里众多前端技术专家团历经1年时间精心整理,从 初阶 -> 中阶 -> 高阶 的维度讲述前端的 成长路线,囊括了前端从初学到当下热门领域的 717个重点知识节点,同时对于一些难点,还配套了详细的解释以及相关的学习查阅资料,不仅方便大家快速领略大纲,而且还可以轻松的查到最详细权威的资料。
1814 0
云栖大会上,阿里巴巴重磅发布前端知识图谱!