Python利用逻辑回归分类实现模板


Posted in Python onFebruary 15, 2020

Logistic Regression Classifier逻辑回归主要思想就是用最大似然概率方法构建出方程,为最大化方程,利用牛顿梯度上升求解方程参数。

  • 优点:计算代价不高,易于理解和实现。
  • 缺点:容易欠拟合,分类精度可能不高。
  • 使用数据类型:数值型和标称型数据。

好了,下面开始正文。

算法的思路我就不说了,我就提供一个万能模板,适用于任何纬度数据集。
虽然代码类似于梯度下降,但他是个分类算法

定义sigmoid函数

def sigmoid(x):
 return 1/(1+np.exp(-x))

进行逻辑回归的参数设置以及迭代

def weights(x,y,alpha,thershold):
 #初始化参数
 m,n = x_train.shape
 theta = np.random.rand(n) #参数
 cnt = 0 # 迭代次数
 max_iter = 50000
 #开始迭代
 while cnt < max_iter:
  cnt += 1
  diff = np.full(n,0)
  for i in range(m):
   diff = (y[i]-sigmoid(theta.T @ x[i]))*x[i]
   theta = theta + alpha * diff
  if(abs(diff)<thershold).all():
   break
 return theta

预测函数

def predict(x_test,theta):
 if sigmoid(theta.T @ x_test)>0.5:
  return 1
 else:return 0

调用函数

x_train = np.array([[1,2.697,6.254],
     [1,1.872,2.014],
     [1,2.312,0.812],
     [1,1.983,4.990],
     [1,0.932,3.920],
     [1,1.321,5.583],
     [1,2.215,1.560],
     [1,1.659,2.932],
     [1,0.865,7.362],
     [1,1.685,4.763],
     [1,1.786,2.523]])
y_train = np.array([1,0,0,1,0,1,0,0,1,0,1])
alpha = 0.001 # 学习率
thershold = 0.01 # 指定一个阈值,用于检查两次误差
print(weights(x_train,y_train,alpha,thershold))

总结

以上所述是小编给大家介绍的Python利用逻辑回归分类实现模板,希望对大家有所帮助!

Python 相关文章推荐
Python中isnumeric()方法的使用简介
May 19 Python
Python用threading实现多线程详解
Feb 03 Python
Python使用Phantomjs截屏网页的方法
May 17 Python
Python用for循环实现九九乘法表
May 31 Python
python3实现SMTP发送邮件详细教程
Jun 19 Python
解决python Markdown模块乱码的问题
Feb 14 Python
pandas实现to_sql将DataFrame保存到数据库中
Jul 03 Python
Python tkinter实现图片标注功能(完整代码)
Dec 08 Python
Python命令行click参数用法解析
Dec 19 Python
Python 实现日志同时输出到屏幕和文件
Feb 19 Python
Python基于gevent实现文件字符串查找器
Aug 11 Python
Pycharm连接gitlab实现过程图解
Sep 01 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
Feb 15 #Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
Feb 15 #Python
tensorboard显示空白的解决
Feb 15 #Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
Feb 15 #Python
tensorboard 可以显示graph,却不能显示scalar的解决方式
Feb 15 #Python
解决Tensorboard 不显示计算图graph的问题
Feb 15 #Python
基于TensorBoard中graph模块图结构分析
Feb 15 #Python
You might like
global.php
2006/12/09 PHP
使用php get_headers 判断URL是否有效的解决办法
2013/04/27 PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
2015/12/24 PHP
php构造函数与析构函数
2016/04/23 PHP
PHP执行linux命令6个函数代码实例
2020/11/24 PHP
Javascript 调试利器 Firebug使用详解六
2009/07/05 Javascript
Linux下编译安装php libevent扩展实例
2015/02/14 Javascript
详解AngularJS中自定义指令的使用
2015/06/17 Javascript
JavaScript性能优化之小知识总结
2015/11/20 Javascript
分享12个实用的jQuery代码片段
2016/03/09 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
js关于getImageData跨域问题的解决方法
2016/10/14 Javascript
详解如何在Angular中快速定位DOM元素
2017/05/17 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
2017/06/12 jQuery
理解 JavaScript EventEmitter
2018/03/29 Javascript
js实现移动端轮播图
2020/12/21 Javascript
微信小程序云开发之使用云函数
2019/05/17 Javascript
使用Vue生成动态表单
2019/11/26 Javascript
Python实现简单的文件传输与MySQL备份的脚本分享
2016/01/03 Python
Python argv用法详解
2016/01/08 Python
python学习必备知识汇总
2017/09/08 Python
padas 生成excel 增加sheet表的实例
2018/12/11 Python
Django uwsgi Nginx 的生产环境部署详解
2019/02/02 Python
对numpy下的轴交换transpose和swapaxes的示例解读
2019/06/26 Python
Python pathlib模块使用方法及实例解析
2020/10/05 Python
Origins悦木之源英国官网:雅诗兰黛集团高端植物护肤品牌
2017/11/06 全球购物
雷曼兄弟的五金店:Lehman’s Hardware Store
2019/04/10 全球购物
Marc O’Polo俄罗斯官方在线商店:德国高端时尚品牌
2019/12/26 全球购物
会计专业自我鉴定范文
2013/10/06 职场文书
房地产开盘策划方案
2014/02/10 职场文书
新年寄语大全
2014/04/12 职场文书
求职信的正确写法
2014/07/10 职场文书
2014国庆节国旗下演讲稿(精选版)
2014/09/26 职场文书
2016年元旦寄语
2015/08/17 职场文书
推广普通话宣传标语口号
2015/12/26 职场文书
2016年小学中秋节活动总结
2016/04/05 职场文书