逻辑回归原理&skearn简单实现

本文详细解释了逻辑回归的名称由来,指出其本质上是线性回归的一种非线性转换,用于解决分类问题,特别强调了sigmoid函数和交叉熵作为核心组件。通过sklearn库中的accuracy_score函数评估模型性能,以实例展示了从数据准备到模型应用的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

理论解释

  1. 理解“逻辑回归”的名字,需要拆开理解,拆成两部分:“逻辑”和“回归”
    “回归””来自其父级,即广义线性回归模型。
    “逻辑”如何理解?Logistic 不应该翻译成“逻辑”,因其语义来自Logarithm:对数,这也更体现了Logistic Regression的本质。

  2. 逻辑回归虽然叫做回归,但是其主要【解决分类问题】。可用于二分类,也可以用于多分类问题。
    对于预测变量y为离散值时候,可以用逻辑回归算法(Logistic Regression),
    逻辑回归的本质是将线性回归进行一个变换,该模型的输出变量范围始终在 0 和 1 之间。

  3. 逻辑函数在逻辑回归中为sigmoid函数,简称S型函数
    逻辑回归的代价函数为交叉熵函数

  4. sklearn中计算逻辑回归(分类)的准确性
    accuracy_score函数是scikit-learn库中用于计算分类器准确率的函数。
    准确率是分类器在所有分类样本中正确分类的比例
    accuracy_score函数接受两个参数,分别是预测标签和真实标签,返回一个准确率的浮点数值。

实例

实现步骤和线性回归基本类似:
1)准备数据集,特征集X,标签集y
2) 实例化模型 和 拟合模型(训练模型)
model = LogisticRegression()
model.fit(X_train,y_train)
3) 模型应用–预测新数据(测试数据)
model.predict(X_test)
4) 评估模型准确性
rate= accuracy_score(y_真实,y_预测)

与线性回归不同的是应用的模型不同与评估模型好坏的函数不同,且这两者均为sklearn提供好的。

from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 假设有特征矩阵X和目标变量y(0或1)
X = [[1, 2], [2, 4], [3, 6], [4, 8]]
y = [0, 0, 1, 1]

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 创建逻辑回归模型
model = LogisticRegression()

# 拟合模型
model.fit(X_train, y_train)

# 预测测试集
y_pred = model.predict(X_test)

# 计算分类准确率
accuracy = accuracy_score(y_test, y_pred)

print("逻辑回归模型的准确率:", accuracy)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值