机器学习——逻辑回归原理(python实现)
目录
一、什么是逻辑回归
1.1逻辑回归定义
1.2 小栗子~(例子)
1.3 代码
二、逻辑回归的实现
三、用逻辑回归分类预测肿瘤
3.1代码
3.2结果
逻辑回归是一种用于有监督学习的分类任务的简单算法,虽然算法的名字为回归,但是逻辑回归常常用于分类。
一、什么是逻辑回归
1.1逻辑回归定义
逻辑回归是一种学习某个事件发生概率的算法。利用这个概率,可以对事件进行二元分类。(也可以三种类别以上分类)。因为是概率,所以输出值范围是0-1。
1.2 小栗子~(例子)
比如suo,下雪天我们要不要穿棉鞋出门捏~( ̄▽ ̄)~*?
如果有积雪,我们就穿棉鞋出门,如果雪化了,我们就传平时滴鞋子~!!!
我们用代码模拟一下数据:
X轴代表温度,Y轴代表概率。
其中Y是穿棉鞋的概率。
计算0℃、1℃、2℃ 穿棉鞋的概率
我们随机取100个[-1,3]温度,穿棉鞋可能性的随机点。
用Sigmoid函数 进行拟合:
最后可以看出,0℃、1℃、2℃ 穿棉鞋的概率分别为:0.06432261,0.45283124,090878457
所以,可以根据概率判断是否要穿棉鞋。
1.3 代码
import numpy as np
from sklearn.linear_model import LogisticRegression
import matplotlib.pyplot as plt#np.r_是按列连接两个矩阵,就是把两矩阵上下相加,要求列数相等。
x_train = np.r_[np.random.normal(3,1,size=50),np.random.normal(-1,1,size=50)].reshape((100,-1))
y_train = np.r_[np.ones(50),np.zeros(50)]
x = np.arange(-2,5,0.01).reshape((700,-1))
model =LogisticRegression()
model.fit(x_train,y_train)
plt.xlabel('x', fontsize=18)
plt.ylabel('y', fontsize=18)
plt.plot(x_train,y_train,'o')
plt.plot(x,model.predict_proba(x)[:,1])
print('下雪的可能:',model.predict_proba([[0],[1],[2]])[:,1])
plt.show()
二、逻辑回归的实现
根据上述可以发现,逻辑回归根据数据x和表示其所属类别的标签y进行学习,计算概率。
逻辑回归的基本思想与线性回归,对数据x乘以权重向量w,再加上偏置w0,计算wTx + w0的值。
与线性回归不同的是,为了计算概率,逻辑回归的输出范围必须限制在0和1之间。逻辑回归使用Sigmoid函数h(z)=1/[z+exp(-z)],返回0和1之间的数值。
逻辑回归分为三步:
step1:根据经验和观察,认为选定某个算法进行尝试;
step2:寻找某些“最佳”参数,从而得到某个具体的“最佳”算法模型;
step3:使用某个具体的“最佳”算法模型进行预测。
比如,上述例子采用的就是Sigmoid函数。
选择好算法后,要计算损失函数值,在线性回归中,损失函数用的是最小二乘法。但是在逻辑回归中,因为表达式是非线性的,采用均方误差会导致求解过程在局部损失最小值出截至,达不到全局最小值。
所以采用如下损失函数:
之后进行参数估计和正则化。
三、用逻辑回归分类预测肿瘤
3.1代码
from sklearn.datasets import load_breast_cancer
breast_cancer = load_breast_cancer()
breast_cancer
x = breast_cancer.data
y = breast_cancer.targetfrom sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test = train_test_split(x,y,random_state=33,test_size=0.3)from sklearn.preprocessing import StandardScaler
breast_cancer_ss = StandardScaler()
x_train = breast_cancer_ss.fit_transform(x_train)
x_test = breast_cancer_ss.transform(x_test)from sklearn.linear_model import LogisticRegression
lr = LogisticRegression()
lr.fit(x_train,y_train)
lr_y_predict = lr.predict(x_test)from sklearn.metrics import classification_report
print('正确率:',lr.score(x_test,y_test))
print(classification_report(y_test,lr_y_predict,target_names=['begin','malignant']))
3.2结果
机器学习——逻辑回归原理(python实现)相关推荐
- 逻辑回归原理梳理_以python为工具 【Python机器学习系列(九)】
逻辑回归原理梳理_以python为工具 [Python机器学习系列(九)] 文章目录 1.传统线性回归 2.引入sigmoid函数并复合 3. 代价函数 4.似然函数也可以 5. python梯度下降 ...
- 逻辑回归模型 python_机器学习-逻辑回归分析(Python)
编辑推荐: 本文首先介绍这两种方法的区别和联系,然后对分类方法中的逻辑回归进行较详细的说明(包括其基本原理及评估指标),最后结合案例介绍如何利用Python进行逻辑回归分析. 本文来自于csdn,由火 ...
- 【机器学习】逻辑回归原理介绍
[机器学习]逻辑回归原理介绍 [机器学习]逻辑回归python实现 [机器学习]逻辑回归sklearn实现 Logistic 回归模型是目前广泛使用的学习算法之一,通常用来解决二分类问题,虽然名字中有 ...
- python实现逻辑回归的流程_逻辑回归原理及其python实现
September 28, 2018 7 min to read 逻辑回归原理及其python实现 原理 逻辑回归模型: $h_{\theta}(x)=\frac{1}{1+e^{-{\theta}^ ...
- [转载] 吴恩达机器学习逻辑回归练习题:逻辑回归及规则化(python实现)
参考链接: 了解逻辑回归 Python实现 练习题背景:网易云课堂->吴恩达机器学习课程->逻辑回归练习题 对于练习题的详细内容,和课程中推荐的octave编程实现,请见:吴恩达机器学习逻 ...
- 【机器学习】Logistic Regression逻辑回归原理与java实现
[机器学习]Logistic Regression逻辑回归原理与java实现 1.基于概率的机器学习算法 2.逻辑回归算法原理 2.1.分离超平面 2.2.阈值函数 2.3.样本概率 2.4.损失函数 ...
- 逻辑回归原理简述及代码实现
Logistic回归 1 逻辑回归原理 1.1 线性回归 1.2 逻辑回归 2 具体过程 2.1 构造预测函数 2.2 构造损失函数J(θ) 2.3 采用梯度下降算法minJ(θ) 2.4 采用向量化 ...
- 逻辑回归原理与sklearn实现
目录 一.逻辑回归介绍 1.应用场景 2.逻辑回归原理 2.1 输入 2.2激活函数 3.损失与优化 3.1 损失(对数似然损失) 3.2 优化 二.逻辑回归API介绍 三.案例实现 四.分类评估方法 ...
- 逻辑回归及其python实现
二. 逻辑回归及其python实现 1. 二分类逻辑回归 (1). 交叉熵损失函数 (2). 交叉熵损失函数原理推导 (3). 梯度下降 (i). 偏导 (ii). 参数更新 2. 多元逻辑回归 (1 ...
最新文章
- CentOS 6.5 使用docker 容器
- golang底层深入_带有Golang的GraphQL:从基础到高级的深入研究
- 韩顺平php视频笔记70 面向对象编程的三大特征1 抽象 封装
- PyCharm编辑器的安装
- iPhone XS Max第三方售价低于7千元 引用户疯抢
- linux用户管理和群界面怎么打开,Linux命令行界面下的用户和组的管理
- R语言-异常数据处理3
- CCNA培训课总结笔记--静态路由实现负载均衡(四)
- SAP ABAP代码下载 备份
- [算法]px4位置估计-inav (2017/10/26更新)
- 尝试导入导出Alembic动画模型(.abc)
- Udacity DNN
- Java:使用Java编写一个随机点名器
- 【excel】python破解excel加密视图
- c语言基础学习(2)
- python如何绘制条形图_python Matplotlib 系列教程(三)——绘制直方图和条形图
- 小傻蛋的妹妹跟随小甲鱼学习Python的第十六节016
- 天津大学计算机学院博士生李楠,2015年天津大学各学院博士研究生拟录取名单公示汇总(更新中)...
- 威纶通触摸屏宏指令GetData和SetData函数的使用方法示例
- 【知识分享】计算机网络(谢希仁)-解决IPv4网络匮乏的问题的解决方案(划分子网和构造超网)的知识要点总结