机器学习之使用Python完成逻辑回归

本文通过Python实现逻辑回归模型,用于预测学生大学录取情况。讨论了批量、随机和小批量梯度下降的差异,并对比了不同停止策略(迭代次数、损失值变化、梯度变化)对结果的影响。实验结果显示,经过数据预处理的Mini-batch梯度下降在时间和准确性上表现最优。

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

一、任务基础

我们将建立一个逻辑回归模型来预测一个学生是否被大学录取。假设你是一个大学系的管理员,你想根据两次考试的结果来决定每个申请人的录取机会。你有以前的申请人的历史数据,你可以用它作为逻辑回归的训练集。对于每一个培训例子,你有两个考试的申请人的分数和录取决定。为了做到这一点,我们将建立一个分类模型,根据考试成绩估计入学概率。

数据集链接为:链接: https://pan.baidu.com/s/1H3T3RfyT3toKbFrqO2z8ug ,提取码:jku5 

首先导入需要使用到的Python库:

# 数据分析三个必备的python库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline

读取数据然后查看数据:

import os

path = "data" + os.sep + "LogiReg_data.txt"
# header=None 表示没有列标签 第三列表示考生是否被录取 Exam 1 Exam 2  表示两个特征
pdData = pd.read_csv(path, header=None, names=['Exam 1', 'Exam 2', 'Admitted'])
pdData.head()

查看数据维度:

pdData.shape  
(100, 3)

根据是否录取为标准,查看数据集的分布

 
# pdData 是二维数组
positive = pdData[pdData['Admitted'] == 1]
negative = pdData[pdData['Admitted'] == 0]

fig, ax = plt.subplots(figsize=(10, 5))
# 绘制散点图
ax.scatter(positive['Exam 1'],
           positive['Exam 2'],
           s=30,
           c='b',
           marker='o',
           label='Admitted')
ax.scatter(negative['Exam 1'],
           negative['Exam 2'],
           s=30,
           c='r',
           marker='x',
           label='Not Admitted')
ax.legend()  # 添加图例
ax.set_xlabel('Exam 1 Score')
ax.set_ylabel('Exam 2 Score')
PYthon学习企鹅裙:88198-2657  领取python自动化编程资料教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值