当前位置:   article > 正文

python考研成绩查询_2020-09-08考研成绩预测模型

python考研数据预测

本程序为小生统计学期末作业的一部分。作业搜集了北京大学应用统计硕士考研初试成绩单。运用sklearn库,根据数学、专业课和英语三科容易在备考期间自行估分的科目复习效果,对考研总分进行预测。我们认为不同科目所处于的备考状态是一致的,其他三科成绩可以对第四科成绩乃至总分做出预测。

import pandas as pd

import numpy as np

import seaborn as sns

import matplotlib.pyplot as plt

from pandas import DataFrame,Series

from sklearn.model_selection import train_test_split

from sklearn.linear_model import LinearRegression

#读取文件

datafile = 'C:\\Users\\64849\\Desktop\\HW.xlsx'#文件所在位置,u为防止路径中有中文名称,此处没有,可以省略

data = pd.read_excel(datafile)#datafile是excel文件,所以用read_excel,如果是csv文件则用read_csv

examDf = DataFrame(data)

examDf.head(257)

#这个情况下,把下面中括号中的0改为1就好,要哪些列取哪些列

new_examDf = examDf.iloc[:examDf.index.get_loc(256) + 1, :5]

#检验数据

print(new_examDf.describe())#数据描述,会显示最值,平均数等信息,可以简单判断数据中是否有异常值

print("空值\n{}".format(new_examDf[new_examDf.isnull()==True].count()))#检验缺失值,若输出为0,说明该列没有缺失值

#输出相关系数,判断是否值得做线性回归模型

print("相关系数\n{}".format(new_examDf.corr()))#0-0.3弱相关;0.3-0.6中相关;0.6-1强相关;

#通过seaborn添加一条最佳拟合直线和95%的置信带,直观判断相关关系

sns.pairplot(data, x_vars=['Call','Connect'], y_vars='Return', height=7, aspect=0.8, kind='reg')

plt.show()

#拆分训练集和测试集

X_train,X_test,Y_train,Y_test = train_test_split(new_examDf.ix[:,:2],new_examDf.Return,train_size=0.8)

#new_examDf.ix[:,:2]取了数据中的前两列为自变量,此处与单变量的不同

print("自变量---源数据:",new_examDf.ix[:,:2].shape, ";  训练集:",X_train.shape, ";  测试集:",X_test.shape)

print("因变量---源数据:",examDf.Return.shape, ";  训练集:",Y_train.shape, ";  测试集:",Y_test.shape)

#调用线性规划包

model = LinearRegression()

model.fit(X_train,Y_train)#线性回归训练

a  = model.intercept_#截距

b = model.coef_#回归系数

print("拟合参数:截距",a,",回归系数:",b)

#显示线性方程,并限制参数的小数位为两位

print("最佳拟合线: Y = ",round(a,2),"+",round(b[0],2),"* X1 + ",round(b[1],2),"* X2")

Y_pred = model.predict(X_test)#对测试集数据,用predict函数预测

plt.plot(range(len(Y_pred)),Y_pred,'red', linewidth=2.5,label="predict data")

plt.plot(range(len(Y_test)),Y_test,'green',label="test data")

plt.legend(loc=2)

plt.show()#显示预测值与测试值曲线

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/109400
推荐阅读
相关标签
  

闽ICP备14008679号