Day07-1 实现逻辑回归

建立一个逻辑回归模型预测一个大学生是否会被大学录取

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

Day07-1 实现逻辑回归

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import os
path='E:\唐宇迪数据集'+os.sep+'LogiReg_data.txt'
pdData=pd.read_csv(path,header=None,names=['Exam 1','Exam 2','Admitted'])
print(pdData.head())

Day07-1 实现逻辑回归

print(pdData.shape)

Day07-1 实现逻辑回归

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')
plt.show()

Day07-1 实现逻辑回归

目标:建立分类器 (求解三个参数 θ0 偏置项 θ1 对应第一个参数 θ2 对应第二个参数)

设定阈值(相当于概率值 最后把概率值转换成类别)根据阈值判断录取结果(比如大于0.5 视为录取 否则 未被录取)

要完成的模块

1.sigmoid :完成数据到概率的映射函数

2.model:返回预测结果值

3.cost:根据参数计算损失

4.gradient:计算每个参数的梯度方向

5.decent:进行参数更新

6.accuracy 计算精度