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

 更新时间:2020年02月15日 16:14:37   作者:米米奇  
这篇文章主要介绍了Python利用逻辑回归分类实现模板的思路,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

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利用逻辑回归分类实现模板,希望对大家有所帮助!

相关文章

  • Window 64位下python3.6.2环境搭建图文教程

    Window 64位下python3.6.2环境搭建图文教程

    这篇文章主要为大家详细介绍了Window 64位下python3.6.2环境搭建图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • Python实现智能贪吃蛇游戏的示例代码

    Python实现智能贪吃蛇游戏的示例代码

    我想大家都玩过诺基亚上面的贪吃蛇吧,这篇文章将带你一步步用python语言实现一个snake小游戏,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-07-07
  • python使用OpenCV模块实现图像的融合示例代码

    python使用OpenCV模块实现图像的融合示例代码

    这篇文章主要介绍了python使用OpenCV模块实现图像的融合示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python栈类实例分析

    Python栈类实例分析

    这篇文章主要介绍了Python栈类,实例分析了Python实现栈的入栈、出栈、移除、判定为空的相关技巧,需要的朋友可以参考下
    2015-06-06
  • Python中的Decimal使用及说明

    Python中的Decimal使用及说明

    这篇文章主要介绍了Python中的Decimal使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • Python pip安装第三方库实现过程解析

    Python pip安装第三方库实现过程解析

    这篇文章主要介绍了Python pip安装第三方库实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 分享5个方便好用的Python自动化脚本

    分享5个方便好用的Python自动化脚本

    这篇文章主要介绍了分享5个方便好用的Python自动化脚本,这次我们使用Python来实现几个自动化场景,或许可以用到你的工作中或者对你的学习有所帮助,需要的朋友可以参考一下
    2022-03-03
  • Python JSON编解码方式原理详解

    Python JSON编解码方式原理详解

    这篇文章主要介绍了Python JSON编解码方式原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Python基础知识之函数,类,模块

    Python基础知识之函数,类,模块

    今天小编就为大家分享一篇Python函数,类,模块,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-10-10
  • 用Python制作简单的钢琴程序的教程

    用Python制作简单的钢琴程序的教程

    这篇文章主要介绍了用Python制作简单的钢琴程序的教程,用键盘演奏、包括变速和变调等功能的实现,需要的朋友可以参考下
    2015-04-04

最新评论