分类——逻辑回归Python实现

目录

一、确认训练数据

二、逻辑回归实现

三、验证

四、线性不可分分类的实现

五、随机梯度下降算法的实现


一、确认训练数据

import numpy as np
import matplotlib.pyplot as plt
#读入训练数据
train = np.loadtxt('D:/深度之眼/study/sourcecode-cn/sourcecode-cn/images2.csv', delimiter=',', skiprows=1)
train

打印结果

二、逻辑回归实现

train_x = train[:,0:2]
train_y = train[:,2]
#初始化参数
theta = np.random.rand(3)
#标准化
mu = train_x.mean(axis = 0)
sigma = train_x.std(axis = 0)
def standardize(x):
    return (x - mu)/ sigma
train_z = standardize(train_x)
#增加x0
def to_matrix(x):
    x0 = np.ones([x.shape[0], 1])
    return np.hstack([x0, x])
X &
  • 8
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
Python中,可以使用逻辑回归进行分类。首先,我们需要定义一个Sigmoid函数来进行预测。Sigmoid函数可以通过如下代码来实现: ```python import numpy as np def sigmoid(x): return 1 / (1 + np.exp(-x)) ``` 然后,我们需要定义逻辑回归模型的参数更新表达式。这个表达式可以通过对似然函数求导并进行梯度下降来得到。具体实现代码如下: ```python def logistic_regression(X, y, learning_rate, num_iterations): m, n = X.shape theta = np.zeros(n) for i in range(num_iterations): z = np.dot(X, theta) h = sigmoid(z) gradient = np.dot(X.T, (h - y)) / m theta -= learning_rate * gradient return theta ``` 在上述代码中,X是输入特征矩阵,y是对应的目标变量,learning_rate是学习率,num_iterations是迭代次数。最终返回的theta就是训练得到的模型参数。 接下来,我们可以使用训练得到的模型参数来进行分类预测。假设我们有一个测试样本X_test,可以通过如下代码来进行预测: ```python def predict(X, theta): z = np.dot(X, theta) h = sigmoid(z) predictions = (h >= 0.5).astype(int) return predictions ``` 在上述代码中,X是测试样本的特征矩阵,theta是训练得到的模型参数。最终返回的predictions是预测的分类结果。 综上所述,逻辑回归可以通过定义Sigmoid函数和实现参数更新表达式来进行分类预测。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [分类——逻辑回归Python实现](https://blog.csdn.net/weixin_43734080/article/details/118914664)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [逻辑回归分类python实现)](https://blog.csdn.net/qq_45830471/article/details/131709079)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上海大学 吴昊

作者逐个题目分析的噢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值