简单逻辑回归(Simple Logistic Regression)是一种统计学习方法,用于建立分类模型,预测结果为离散的类别。它通过对一个或多个自变量进行线性组合,然后将线性组合的结果通过一个激活函数(通常为sigmoid函数)映射到0和1之间,进而得到分类结果。下面是一个使用Python实现简单逻辑回归的Vanilla代码示例:
import numpy as np
def sigmoid(z):
"""
Sigmoid函数的实现
"""
return 1 / (1 + np.exp(-z))
def logistic_regression(X, y, num_iterations, learning_rate):
"""
简单逻辑回归模型的训练函数
参数:
X: 特征矩阵,shape为 (样本数, 特征数)
y: 标签向量,shape为 (样本数, )
num_iterations: 迭代次数
learning_rate: 学习率
返回:
theta: 训练得到的模型参数,shape为 (特征数, )
"""
m, n = X.shape
theta = np.zeros(n) # 初始化模型参数
for i in range(num_iterations):
z = np.dot(X, theta) # 计算线性组合
h = sigmoid(z) # 通过sigmoid函数得到预测概率
gradient = np.dot(X.T, (h - y)) / m # 计算梯度
theta -= learning_rate * gradient # 更新模型参数
return theta
# 使用示例数据进行训练和预测
X_train = np.array([[1, 2], [2, 3], [3, 4], [4, 5]])
y_train = np.array([0, 0, 1, 1])
theta = logistic_regression(X_train, y_train, num_iterations=1000, learning_rate=0.1)
print("模型参数:", theta)
# 预测新样本
X_test = np.array([[5, 6], [6, 7]])
z = np.dot(X_test, theta)
h = sigmoid(z)
predictions = (h >= 0.5).astype(int)
print("预测结果:", predictions)
上述代码首先定义了sigmoid函数,用于实现激活函数的计算。然后,定义了logistic_regression函数,用于训练简单逻辑回归模型。在训练函数中,通过梯度下降的方式迭代更新模型参数,最终得到训练好的模型参数theta。
使用示例数据进行训练和预测的代码部分,首先定义了训练样本的特征矩阵X_train和标签向量y_train。然后,调用logistic_regression函数进行模型训练,指定迭代次数为1000次,学习率为0.1。最后,使用训练好的模型参数对新样本进行预测,计算预测概率并根据阈值0.5将概率转换为类别。
以上是一个简单逻辑回归的Python Vanilla代码实现,可以根据实际需求进行调整和扩展。作为云计算领域的专家,可以结合云计算提供的资源和工具来优化模型训练和预测的性能。例如,使用腾讯云的GPU实例加速训练过程,使用腾讯云的函数计算服务部署预测服务等。腾讯云提供了一系列云计算相关产品,具体可以参考腾讯云官网:腾讯云产品介绍。
领取专属 10元无门槛券
手把手带您无忧上云