在这部分的练习中,你将建立一个逻辑回归模型来预测一个学生是否能进入大学。假设你是一所大学的行政管理人员,你想根据两门考试的结果,来决定每个申请人是否被录取。你有以前申请人的历史数据,可以将其用作逻辑回归训练集。对于每一个训练样本,你有申请人两次测评的分数以及录取的结果。为了完成这个预测任务,我们准备构建一个可以基于两次测试评分来评估录取可能性的分类模型。
import scipy.optimize as opt
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
"""
在本部分的练习中,您将使用Logistic回归模型来预测一个学生是否被大学录取。
假设你是大学某个院系的管理员,你想通过申请人在两门考试中的表现来决定每个人的录取率,你有来自以前申请人的历史数据,你可以用这些数据作为训练集建立Logistic回归,对每一个训练样本,你有申请人在两门考试中的分数和录取决定。
你的任务是建立一个分类模型,基于这两门课的分数来估计申请人的录取概率。
"""
# ------------sigmiod函数-------------
def sigmoid(z):
"""
返回参数z对应sigmod函数值
"""
return 1 / (1 + np.exp(- z))
# -----------代价函数-----------------
def costfunction(theta,X,y):
"""
返回当前参数对应的代价
theta : 参数
X :特征矩阵
y :标签
"""
first=(-y)*np.log(sigmoid(X@theta)