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 相关文章推荐
tornado框架blog模块分析与使用
Nov 21 Python
用Python展示动态规则法用以解决重叠子问题的示例
Apr 02 Python
Python处理文本文件中控制字符的方法
Feb 07 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
Sep 11 Python
python3实现elasticsearch批量更新数据
Dec 03 Python
python 和c++实现旋转矩阵到欧拉角的变换方式
Dec 04 Python
Python中 Global和Nonlocal的用法详解
Jan 20 Python
Python Tkinter Entry和Text的添加与使用详解
Mar 04 Python
Django获取model中的字段名和字段的verbose_name方式
May 19 Python
深入了解Python 方法之类方法 &amp; 静态方法
Aug 17 Python
Jupyter Notebook安装及使用方法解析
Nov 12 Python
python 自动识别并连接串口的实现
Jan 19 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实现图象锐化代码
2007/06/14 PHP
Apache+php+mysql在windows下的安装与配置图解(最新版)
2008/11/30 PHP
基于PHP如何把汉字转化为拼音
2015/12/11 PHP
PHP后台实现微信小程序登录
2018/08/03 PHP
PHP+ajax实现二级联动菜单功能示例
2018/08/10 PHP
深入理解JavaScript系列(11) 执行上下文(Execution Contexts)
2012/01/15 Javascript
js FLASH幻灯片字符串中有连接符&的处理方法
2012/03/01 Javascript
使用CSS和jQuery模拟select并附提交后取得数据的代码
2013/10/18 Javascript
node.js中的fs.stat方法使用说明
2014/12/16 Javascript
JavaScript中的eval()函数使用介绍
2014/12/31 Javascript
Javascript闭包用法实例分析
2015/01/23 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
2015/03/12 Javascript
自定义百度分享的分享按钮
2015/03/18 Javascript
JavaScript时间转换处理函数
2015/04/14 Javascript
jquery插件bxslider用法实例分析
2015/04/16 Javascript
使用jQuery mobile库检测url绝对地址和相对地址的方法
2015/12/04 Javascript
JS文件上传神器bootstrap fileinput详解
2021/01/28 Javascript
JS 实现随机验证码功能
2017/02/15 Javascript
基于JS实现9种不同的面包屑和分布式多步骤导航效果
2017/02/21 Javascript
JavaScript正则获取地址栏中参数的方法
2017/03/02 Javascript
JavaScript实现移动端轮播效果
2017/06/06 Javascript
微信小程序基于本地缓存实现点赞功能的方法
2017/12/18 Javascript
vue项目中极验验证的使用代码示例
2019/12/03 Javascript
详解Webpack4多页应用打包方案
2020/07/16 Javascript
[01:34]传奇从这开始 2016国际邀请赛中国区预选赛震撼开启
2016/06/26 DOTA
Python中实现对list做减法操作介绍
2015/01/09 Python
python将字符串list写入excel和txt的实例
2019/07/20 Python
django项目登录中使用图片验证码的实现方法
2019/08/15 Python
施华洛世奇加拿大官网:SWAROVSKI加拿大
2018/06/03 全球购物
九州传奇上机题
2014/07/10 面试题
大学学风建设方案
2014/05/04 职场文书
小学生读书笔记
2015/07/01 职场文书
财产分割协议书
2016/03/22 职场文书
Python中常见的反爬机制及其破解方法总结
2021/06/10 Python
利用Java设置Word文本框中的文字旋转方向的实现方法
2021/06/28 Java/Android
python flappy bird小游戏分步实现流程
2022/02/15 Python