首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

简单逻辑回归的Python Vanilla代码

简单逻辑回归(Simple Logistic Regression)是一种统计学习方法,用于建立分类模型,预测结果为离散的类别。它通过对一个或多个自变量进行线性组合,然后将线性组合的结果通过一个激活函数(通常为sigmoid函数)映射到0和1之间,进而得到分类结果。下面是一个使用Python实现简单逻辑回归的Vanilla代码示例:

代码语言:txt
复制
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实例加速训练过程,使用腾讯云的函数计算服务部署预测服务等。腾讯云提供了一系列云计算相关产品,具体可以参考腾讯云官网:腾讯云产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券