一、任务基础
我们将建立一个逻辑回归模型来预测一个学生是否被大学录取。假设你是一个大学系的管理员,你想根据两次考试的结果来决定每个申请人的录取机会。你有以前的申请人的历史数据,你可以用它作为逻辑回归的训练集。对于每一个培训例子,你有两个考试的申请人的分数和录取决定。为了做到这一点,我们将建立一个分类模型,根据考试成绩估计入学概率。
数据集链接为:链接: 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自动化编程资料教程