当前位置: 首页 > 编程笔记 >

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

井修雅
2023-03-14
本文向大家介绍Python利用逻辑回归分类实现模板,包括了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利用逻辑回归分类实现模板,希望对大家有所帮助!

 类似资料:
  • 本文向大家介绍逻辑回归怎么实现多分类相关面试题,主要包含被问及逻辑回归怎么实现多分类时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 方式一:修改逻辑回归的损失函数,使用softmax函数构造模型解决多分类问题,softmax分类模型会有相同于类别数的输出,输出的值为对于样本属于各个类别的概率,最后对于样本进行预测的类型为概率值最高的那个类别。 方式二:根据每个类别都建立一个二分类器,本类别

  • 本文向大家介绍python实现逻辑回归的示例,包括了python实现逻辑回归的示例的使用技巧和注意事项,需要的朋友参考一下 代码 以上就是python实现逻辑回归的示例的详细内容,更多关于python 逻辑回归的资料请关注呐喊教程其它相关文章!

  • 逻辑回归对应线性回归,但旨在解决分类问题,即将模型的输出转换为从 0 到 1 之间的概率值。逻辑回归直接对分类的可能性进行建模,无需事先假设数据的分布。 最理想的转换函数为单位阶跃函数(也称Heaviside函数),但单位阶跃函数是不连续的,没法在实际计算中使用。故而,在分类过程中更常使用对数几率函数(即sigmoid函数): $$f(x)=\frac{1}{1+e^{-x}}$$ 这样,模型就变

  • 1 二元逻辑回归   回归是一种很容易理解的模型,就相当于y=f(x),表明自变量x与因变量y的关系。最常见问题如医生治病时的望、闻、问、切,之后判定病人是否生病或生了什么病, 其中的望、闻、问、切就是获取的自变量x,即特征数据,判断是否生病就相当于获取因变量y,即预测分类。最简单的回归是线性回归,但是线性回归的鲁棒性很差。   逻辑回归是一种减小预测范围,将预测值限定为[0,1]间的一种回归模型

  • 综述  “子非鱼,焉知鱼之乐” 本文采用编译器:jupyter  逻辑回归方法是从线性回归方法发展过来的,通常解决的是分类问题,读者或许有这样一个疑问:既然是回归算法又么解决分类问题的呢? 道理其实很简单,在我们求出线性回归系数a,b之后,对于每一个输入的x值,模型都可以输出对应的y值,如果把输出值y限制在0到1的范围内,那么这个y就非常的像一个概率p,我们只用规定概率的不同取值范围对应不同的标记

  • 二类分类问题 逻辑回归最广泛的应用就是二类分类,我们以脏话判别为例来利用逻辑回归,对一句话做脏话分析判断 输入样本如下: 是脏话:fuck you 是脏话:fuck you all 不是脏话:hello everyone 我们来预测以下两句话是否是脏话: fuck me hello boy # coding:utf-8 import sys reload(sys) sys.setdefault

  • 本文向大家介绍PyTorch线性回归和逻辑回归实战示例,包括了PyTorch线性回归和逻辑回归实战示例的使用技巧和注意事项,需要的朋友参考一下 线性回归实战 使用PyTorch定义线性回归模型一般分以下几步: 1.设计网络架构 2.构建损失函数(loss)和优化器(optimizer) 3.训练(包括前馈(forward)、反向传播(backward)、更新模型参数(update)) 迭代十次打印

  • 主要内容:语法,示例,创建回归模型逻辑回归是一种回归模型,其响应变量(因变量)具有分类值,如或。 它实际上是根据与预测变量相关的数学方程,来衡量二进制响应的概率作为响应变量的值。 逻辑回归的一般数学方程为 - 以下是使用的参数的描述 - y - 是响应变量。 x - 是预测变量。 a 和 b 是数字常数的系数。 用于创建回归模型的函数是函数。 语法 用于计算逻辑回归的函数的基本语法是 - 以下是使用的参数的描述 - formula