【Python】 逻辑回归:从训练到预测的完整案例


我把我唱给你听

把你纯真无邪的笑容给我吧

我们应该有快乐的

幸福的晴朗的时光

我把我唱给你听

用我炙热的感情感动你好吗

岁月是值得怀念的留恋的

害羞的红色脸庞

谁能够代替你呀

趁年轻尽情的爱吧

最最亲爱的人啊

路途遥远我们在一起吧

🎵 叶蓓《想把我唱给你听》


逻辑回归是监督学习中常用的一种分类算法,尤其擅长于二分类问题。在本文中,我们将通过一个具体的案例,展示如何使用逻辑回归进行模型训练,并在一个新的数据集上进行预测验证。

1. 案例介绍

假设我们的任务是根据病人的体检数据来预测其是否有患糖尿病的风险。我们将使用公开的Pima印第安人糖尿病数据集来训练我们的模型。这个数据集包含了病人的多种生理健康指标,如:怀孕次数、胰岛素水平、体重指数(BMI)、年龄等。

2. 数据预处理

在开始模型训练前,首先需要对数据进行预处理:

数据清洗:检查并处理数据中的缺失值或异常值。

特征选择:选择对预测糖尿病有显著影响的特征。

数据分割:将数据集分为训练集和测试集,比如使用70%的数据进行训练,30%的数据用于测试。

3. 模型训练

使用Python的scikit-learn库来进行逻辑回归模型的训练:

python 复制代码
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

# 加载数据
data = pd.read_csv('pima_indians_diabetes.csv')
X = data.drop('Outcome', axis=1)
y = data['Outcome']

# 分割数据
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

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

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

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

# 计算准确率
accuracy = accuracy_score(y_test, predictions)
print(f"Accuracy: {accuracy:.2f}")

4. 新数据集上的预测验证

为了进一步验证模型的泛化能力,我们可以在另一个相关的新数据集上进行测试。假设这个新数据集来自另一地区的病人数据,具有相同的特征结构。

python 复制代码
# 加载新的数据集
new_data = pd.read_csv('new_diabetes_data.csv')
X_new = new_data.drop('Outcome', axis=1)
y_new = new_data['Outcome']

# 使用已训练的模型进行预测
new_predictions = model.predict(X_new)

# 计算新数据集的准确率
new_accuracy = accuracy_score(y_new, new_predictions)
print(f"New Dataset Accuracy: {new_accuracy:.2f}")

5. 结论

通过上述案例,我们可以看到逻辑回归不仅能有效处理二分类问题,而且操作简单,易于实现。同时,通过在不同的数据集上进行预测验证,我们能够评估模型的泛化能力和实用性。逻辑回归模型特别适用于那些特征与结果之间具有明显线性关系的场景。

总结来说,逻辑回归是一种强大而灵活的工具,能够帮助研究者和开发者解决实际问题,尤其在医学、金融等领域的应用尤为广泛。希望本文能够帮助你理解和运用逻辑回归,为你的数据分析项目提供支持。

相关推荐
张彦峰ZYF16 分钟前
从检索到生成:RAG 如何重构大模型的知识边界?
人工智能·ai·aigc
刘海东刘海东17 分钟前
结构型智能科技的关键可行性——信息型智能向结构型智能的转变(修改提纲)
人工智能·算法·机器学习
2301_8050545629 分钟前
Python训练营打卡Day59(2025.7.3)
开发语言·python
**梯度已爆炸**39 分钟前
NLP文本预处理
人工智能·深度学习·nlp
uncle_ll44 分钟前
李宏毅NLP-8-语音模型
人工智能·自然语言处理·语音识别·语音模型·lm
Liudef0644 分钟前
FLUX.1-Kontext 高效训练 LoRA:释放大语言模型定制化潜能的完整指南
人工智能·语言模型·自然语言处理·ai作画·aigc
静心问道1 小时前
大型语言模型中的自动化思维链提示
人工智能·语言模型·大模型
万千思绪1 小时前
【PyCharm 2025.1.2配置debug】
ide·python·pycharm
众链网络1 小时前
你的Prompt还有很大提升
人工智能·prompt·ai写作·ai工具·ai智能体
汀沿河1 小时前
2 大模型高效参数微调;prompt tunning
人工智能·深度学习·prompt