Dataset 说明
每年高中生和大学生都会申请进入到各种各样的高校中去。每个学生都有一组唯一的考试分数,成绩和背景数据。录取委员会根据这个数据决定是否接受这些申请者。在这种情况下一个二元分类算法可用于接受或拒绝申请,本文简单说明逻辑回归的使用。
本数据集admissions.csv包含了400个申请者的信息,特征如下:
- gre -(入学考试成绩)
- gpa - (累积平均绩点)
- admit - 适合被录取 0或1
- rank-本科学校等级(1-4,其中4代表最差,1代表最好)
1.Use Linear Regression To Predict Admission
这是原本的数据,admit的值是0或者1。可以发现”gpa”和”admit”并没有线性关系,因为”admit”只取两个值
import pandas
import matplotlib.pyplot as plt
admissions = pandas.read_csv("admissions.csv")
plt.scatter(admissions["gpa"], admissions["admit"])
plt.show()
这是通过线性回归模型预测的admit的值,发现admit_prediction 取值范围较大,有负值,不是我们想要的。
# The admissions DataFrame is in memory
# Import linear regression class
from sklearn.linear_model import LinearRegression
# Initialize a linear regression model
model = LinearRegression()
# Fit model
model.fit(admissions[['gre', 'gpa']], admissions["admit"])
# Prediction of admission
admit_prediction = model.predict(admissions[['gre', 'gpa']])
# Plot Estimated Function
plt.scatter(admissions["gpa"], admit_prediction)