问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

基于线性回归的大学申请成功率预测实战

创作时间:
作者:
@小白创作中心

基于线性回归的大学申请成功率预测实战

引用
CSDN
1.
https://m.blog.csdn.net/Ayyyyyyy8/article/details/143398151

本文将介绍如何使用线性回归模型预测大学申请成功率。通过实际案例,展示从数据导入、模型训练到结果预测的完整过程。

实践代码

1. 引入相对应的库

在开始之前,我们需要导入必要的库。这里我们主要使用pandas进行数据处理,使用sklearn中的LinearRegression进行模型训练。

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score

2. 导入数据

接下来,我们导入数据并查看其基本信息。

data = pd.read_csv('admission_data.csv')
print(data.head())
print(data.info())

3. 数据切割

我们需要将数据分为特征(X)和目标变量(y),然后将其分为训练集和测试集。

X = data.drop('Chance of Admit ', axis=1)
y = data['Chance of Admit ']

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

4. 模型训练

使用线性回归模型对训练集进行训练。

model = LinearRegression()
model.fit(X_train, y_train)

5. 模型预测

在测试集上进行预测,并计算评价指标。

y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
print(f'Mean Squared Error: {mse}')
print(f'R-squared: {r2}')

6. 新数据预测

使用训练好的模型对新数据进行预测。

new_data = pd.DataFrame({
    'GRE Score': [337],
    'TOEFL Score': [120],
    'University Rating': [5],
    'SOP': [5],
    'LOR ': [5],
    'CGPA': [10],
    'Research': [1]
})

new_prediction = model.predict(new_data)
print(f'Predicted Admission Chance: {new_prediction[0]}')

分析结论

  1. 根据模型进行的方差分析得出:使用该模型进行预测误差不大(误差为:0.005195),并且模型R-squared值大于0.6(R-squared 值为:0.73077)说明该模型良好。
  2. 但根据新的申请测试者的数据来看(使用数据的都是接近最大值),该申请者预测成功率为百分之53左右(具体值为:0.536057) ,说明该大学的offer较难获得。
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号