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中requests模块的使用方法
Apr 08 Python
将Python的Django框架与认证系统整合的方法
Jul 24 Python
在Django同1个页面中的多表单处理详解
Jan 25 Python
python+requests+unittest API接口测试实例(详解)
Jun 10 Python
Django项目实战之用户头像上传与访问的示例
Apr 21 Python
python实现守护进程、守护线程、守护非守护并行
May 05 Python
Python网页正文转换语音文件的操作方法
Dec 09 Python
详解python tkinter教程-事件绑定
Mar 28 Python
python tkinter canvas 显示图片的示例
Jun 13 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
Mar 13 Python
Numpy一维线性插值函数的用法
Apr 22 Python
python的scipy.stats模块中正态分布常用函数总结
Feb 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反射类ReflectionClass和ReflectionObject的使用方法
2013/11/13 PHP
php curl模拟post请求小实例
2013/11/13 PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
2014/08/21 PHP
php经典趣味算法实例代码
2020/01/21 PHP
Ajax异步提交表单数据的说明及方法实例
2013/06/22 Javascript
jquery ajax jsonp跨域调用实例代码
2013/12/11 Javascript
jquery中常用的函数和属性详细解析
2014/03/07 Javascript
href下载文件根据id取url并下载
2014/05/28 Javascript
node.js中的path.isAbsolute方法使用说明
2014/12/08 Javascript
使用CDN和AJAX加速WordPress中jQuery的加载
2015/12/05 Javascript
AngularJS入门心得之directive和controller通信过程
2016/01/25 Javascript
Ionic默认的Tabs模板使用实例
2016/08/29 Javascript
jquery实现input框获取焦点的简单实例
2017/01/26 Javascript
让你彻底掌握es6 Promise的八段代码
2017/07/26 Javascript
jQuery模拟12306城市选择框功能简单实现方法示例
2018/08/13 jQuery
Vue在 Nuxt.js 中重定向 404 页面的方法
2019/04/23 Javascript
详解微信小程序开发聊天室—实时聊天,支持图片预览
2019/05/20 Javascript
原生javascript如何实现共享onload事件
2020/07/03 Javascript
微信小程序中target和currentTarget的区别小结
2020/11/06 Javascript
vue实现下载文件流完整前后端代码
2020/11/17 Vue.js
[59:15]EG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/29 DOTA
python实现图书管理系统
2018/03/12 Python
对numpy中数组元素的统一赋值实例
2018/04/04 Python
python3学习之Splash的安装与实例教程
2018/07/09 Python
Python判断以什么结尾以什么开头的实例
2018/10/27 Python
python 接收处理外带的参数方法
2018/12/03 Python
Python OpenCV视频截取并保存实现代码
2019/11/30 Python
中东最大的在线宠物店:Dubai Pet Food
2020/06/11 全球购物
医学院四年学习生活的自我评价
2013/11/06 职场文书
网络工程师自荐书范文
2014/04/01 职场文书
上班时间打瞌睡检讨书
2014/09/26 职场文书
中国文明网向国旗敬礼寄语大全
2014/09/27 职场文书
怎样写辞职信
2015/02/27 职场文书
调研报告的主要写法
2019/04/18 职场文书
JS封装cavans多种滤镜组件
2022/02/15 Javascript
详解flex:1什么意思
2022/07/23 HTML / CSS