逻辑回归【python,机器学习,算法】

27 篇文章 0 订阅
20 篇文章 0 订阅

逻辑回归是一种有监督的学习分类算法,用于预测目标变量的概率。目标或因变量的性质是二分法的,这意味着将只有两个可能的类。主要解决二分类问题。

主要步骤有三个:

  1. 求线性回归曲线。
  2. 通过 sigmoid 函数将线性回归曲线转为 0-1 范围函数。 σ ( x ) = 1 1 + e − x \sigma(x)=\frac{1}{1+e^{-x}} σ(x)=1+ex1。其中x是步骤 1 中的线性回归曲线。
  3. 然后转为 0、1 分类,大于 0.5 的是一类,小于 0.5 的划分为另一种类。

以下是一个简单的应用示例:

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import confusion_matrix, accuracy_score

# 假设 df 是包含上述数据的 DataFrame
df = pd.read_csv('bank_data.csv')

# 数据预处理:将分类标签转化为数值
df['Subscribed'] = df['Subscribed'].map({'No': 0, 'Yes': 1})

# 特征与目标变量
X = df[['Age', 'Income', 'Savings']]
y = df['Subscribed']

# 数据标准化
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

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

# 创建逻辑回归模型,注意设置max_iter以避免迭代次数不够的警告
logreg = LogisticRegression(max_iter=1000)

# 训练模型
logreg.fit(X_train, y_train)

# 预测
predictions = logreg.predict(X_test)

# 评估模型
print(y_test)
print(predictions)

print("Confusion Matrix:")
print(confusion_matrix(y_test, predictions))
print("Accuracy Score:", accuracy_score(y_test, predictions))

上述代码演示了如何使用sklearn进行逻辑回归模型训练以及预测。与其他训练模型的基本思路一致,主要包括以下步骤:

  1. 获取数据集。
  2. 标准化数据集。
  3. 将数据集划分成训练集和测试集。
  4. 训练。
  5. 对测试集合进行预测。
  6. 评估准确率。
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值