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实现杨辉三角思路
Jul 14 Python
对Python发送带header的http请求方法详解
Jan 02 Python
Python中的heapq模块源码详析
Jan 08 Python
python面向对象法实现图书管理系统
Apr 19 Python
Python3中的bytes和str类型详解
May 02 Python
Django框架使用mysql视图操作示例
May 15 Python
计算机二级python学习教程(2) python语言基本语法元素
May 16 Python
python控制台实现tab补全和清屏的例子
Aug 20 Python
Python List列表对象内置方法实例详解
Oct 22 Python
基于keras输出中间层结果的2种实现方式
Jan 24 Python
pytorch 6 batch_train 批训练操作
May 28 Python
Python实现双向链表
May 25 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 操作文件的一些FAQ总结
2009/02/12 PHP
UCenter中的一个可逆加密函数authcode函数代码
2010/07/20 PHP
PHP中$_SERVER的详细参数与说明介绍
2013/10/26 PHP
PHP通过get方法获得form表单数据方法总结
2018/09/12 PHP
event.srcElement+表格应用
2006/08/29 Javascript
Jquery操作radio的简单实例
2014/01/06 Javascript
一个可以增加和删除行的table并可编辑表格中内容
2014/06/16 Javascript
jQuery中andSelf()方法用法实例
2015/01/08 Javascript
js实现点击图片改变页面背景图的方法
2015/02/28 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
浅谈JavaScript的函数及作用域
2016/12/30 Javascript
Vue.js自定义指令的用法与实例解析
2017/01/18 Javascript
解析jquery easyui tree异步加载子节点问题
2017/03/08 Javascript
JS对象的深度克隆方法示例
2017/03/16 Javascript
canvas实现弧形可拖动进度条效果
2017/05/11 Javascript
Vue中的无限加载vue-infinite-loading的方法
2018/04/08 Javascript
Promise.all中对于reject的处理方法
2018/08/01 Javascript
python实现迭代法求方程组的根过程解析
2019/11/25 Javascript
jQuery实现轮播图效果demo
2020/01/11 jQuery
Python实现远程调用MetaSploit的方法
2014/08/22 Python
Python 利用pydub库操作音频文件的方法
2019/01/09 Python
python使用pipeline批量读写redis的方法
2019/02/18 Python
python学生管理系统学习笔记
2019/03/19 Python
Python爬虫之Selenium实现窗口截图
2020/12/04 Python
next在python中返回迭代器的实例方法
2020/12/15 Python
荣耀俄罗斯官网:HONOR俄罗斯
2020/10/31 全球购物
《锄禾》教学反思
2014/04/08 职场文书
三年级评语大全
2014/04/23 职场文书
绿色环保口号
2014/06/12 职场文书
机关党员进社区活动总结
2014/07/05 职场文书
升职自荐信怎么写
2015/03/05 职场文书
2015年大学生实习评语
2015/03/25 职场文书
技术入股合作协议书
2016/03/21 职场文书
导游词之金鞭溪风景区
2019/09/12 职场文书
创业计划书之网络外卖
2019/10/31 职场文书
《勇者辞职不干了》ED主题曲无字幕动画MV公开
2022/04/13 日漫