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选课系统开发程序
Sep 02 Python
浅谈Python的垃圾回收机制
Dec 17 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
Jan 04 Python
python使用Flask操作mysql实现登录功能
May 14 Python
解决在Python编辑器pycharm中程序run正常debug错误的问题
Jan 17 Python
用uWSGI和Nginx部署Flask项目的方法示例
May 05 Python
计算机二级python学习教程(2) python语言基本语法元素
May 16 Python
Python3安装psycopy2以及遇到问题解决方法
Jul 03 Python
Python如何实现在字符串里嵌入双引号或者单引号
Mar 02 Python
django实现HttpResponse返回json数据为中文
Mar 27 Python
Python竟然能剪辑视频
May 25 Python
Python+Tkinter打造签名设计工具
Apr 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
php无限分类使用concat如何实现
2015/11/05 PHP
javascript document.referrer 用法
2009/04/30 Javascript
js 函数的执行环境和作用域链的深入解析
2009/11/01 Javascript
网络之美 JavaScript中Get和Set访问器的实现代码
2010/09/19 Javascript
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
2020/04/04 Javascript
javascript使用location.search的示例
2013/11/05 Javascript
JS实现多物体缓冲运动实例代码
2013/11/29 Javascript
Javascript代码实现仿实例化类
2015/04/03 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
2016/01/19 Javascript
jQuery设置和获取select、checkbox、radio的选中值方法
2017/01/01 Javascript
浅谈JS中的反柯里化( uncurrying)
2017/08/17 Javascript
AngularJS的$location使用方法详解
2017/10/19 Javascript
使用vuex缓存数据并优化自己的vuex-cache
2018/05/30 Javascript
浅谈微信小程序之官方UI框架we-ui使用教程
2018/08/20 Javascript
jQuery实现的淡入淡出图片轮播效果示例
2018/08/29 jQuery
Vue.directive使用注意(小结)
2018/08/31 Javascript
vue-cli3.0+element-ui上传组件el-upload的使用
2018/12/03 Javascript
vue使用nprogress实现进度条
2019/12/09 Javascript
JS实现页面数据懒加载
2020/02/13 Javascript
快速解决vue2+vue-cli3项目ie兼容的问题
2020/11/17 Vue.js
python使用Flask框架获取用户IP地址的方法
2015/03/21 Python
python实现自动发送邮件发送多人、群发、多附件的示例
2018/01/23 Python
pandas去重复行并分类汇总的实现方法
2019/01/29 Python
Python实现PyPDF2处理PDF文件的方法示例
2019/09/25 Python
Python自动化测试笔试面试题精选
2020/03/12 Python
python删除指定列或多列单个或多个内容实例
2020/06/28 Python
python中用ctypes模拟点击的实例讲解
2020/11/26 Python
Python批量修改xml的坐标值全部转为整数的实例代码
2020/11/26 Python
JACK & JONES瑞典官方网站:杰克琼斯欧式风格男装
2017/12/23 全球购物
Linux如何压缩可执行文件
2013/10/21 面试题
实用求职信范文分享
2013/12/25 职场文书
2014全国两会心得体会
2014/03/17 职场文书
上班时间打瞌睡检讨书
2014/09/26 职场文书
2014年学校党建工作总结
2014/11/11 职场文书
毕业论文答辩稿范文
2015/06/23 职场文书
八年级作文之友谊
2019/12/02 职场文书