Python-根据成绩分析是否继续深造

案例:该数据集的是一个关于每个学生成绩的数据集,接下来我们对该数据集进行分析,判断学生是否适合继续深造数据集特征展示1GRE成绩(290to340)2TOEFL成绩(92to120)3学校等级(1to5)4自身的意愿(1to5)5推荐信的力度(1to5)6CGPA成绩(6.8to9.92)7是否有研习经验(0or1)8读硕士的意向(0.34to0.97)1.导入包importnumpyasnpim...

Python-根据成绩分析是否继续深造

案例:该数据集的是一个关于每个学生成绩的数据集,接下来我们对该数据集进行分析,判断学生是否适合继续深造

数据集特征展示

1  GRE 成绩 (290 to 340)2  TOEFL 成绩(92 to 120)3  学校等级 (1 to 5)4  自身的意愿 (1 to 5)5  推荐信的力度 (1 to 5)6  CGPA成绩 (6.8 to 9.92)7  是否有研习经验 (0 or 1)8  读硕士的意向 (0.34 to 0.97)

1.导入包

import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport os,sys

2.导入并查看数据集

df = pd.read_csv("D:\\machine-learning\\score\\Admission_Predict.csv",sep = ",")
print('There are ',len(df.columns),'columns')
for c in df.columns:
sys.stdout.write(str(c) ', '
There are  9 columnsSerial No., GRE Score, TOEFL Score, University Rating, SOP, LOR , CGPA, Research, Chance of Admit , 
一共有9列特征
df.info()
<class 'pandas.core.frame.DataFrame'>RangeIndex: 400 entries, 0 to 399Data columns (total 9 columns):Serial No.  400 non-null int64GRE Score400 non-null int64TOEFL Score 400 non-null int64University Rating 400 non-null int64SOP400 non-null float64LOR400 non-null float64CGPA  400 non-null float64Research 400 non-null int64Chance of Admit400 non-null float64dtypes: float64(4), int64(5)memory usage: 28.2 KB

数据集信息:
  1.数据有9个特征,分别是学号,GRE分数,托福分数,学校等级,SOP,LOR,CGPA,是否参加研习,进修的几率
  2.数据集中没有空值
  3.一共有400条数据
# 整理列名称df = df.rename(columns={'Chance of Admit ':'Chance of Admit'})
# 显示前5列数据
df.head()

3.查看每个特征的相关性

fig,ax = plt.subplots(figsize=(10,10))sns.heatmap(df.corr(),ax=ax,annot=True,linewidths=0.05,fmt='.2f',cmap='magma')plt.show()

  结论:1.最有可能影响是否读硕士的特征是GRE,CGPA,TOEFL成绩

     2.影响相对较小的特征是LOR,SOP,和Research

 4.数据可视化,双变量分析

   4.1 进行Research的人数

print("Not Having Research:",len(df[df.Research == 0]))print("Having Research:",len(df[df.Research == 1]))y = np.array([len(df[df.Research == 0]),len(df[df.Research == 1])])x = np.arange(2)plt.bar(x,y)plt.title("Research Experience")plt.xlabel("Canditates")plt.ylabel("Frequency")plt.xticks(x,('Not having research','Having research'))plt.show()

  结论:进行research的人数是219,本科没有research人数是181

  4.2 学生的托福成绩

y = np.array([df['TOEFL Score'].min(),df['TOEFL Score'].mean(),df['TOEFL Score'].max()])x = np.arange(3)plt.bar(x,y)plt.title('TOEFL Score')plt.xlabel('Level')plt.ylabel('TOEFL Score')plt.xticks(x,('Worst','Average','Best'))plt.show()

  结论:最低分92分,最高分满分,进修学生的英语成绩很不错

  4.3 GRE成绩

df['GRE Score'].plot(kind='hist',bins=200,figsize=(6,6))plt.title('GRE Score')plt.xlabel('GRE Score')plt.ylabel('Frequency')plt.show()

  结论:310和330的分值的学生居多

  4.4 CGPA和学校等级的关系

plt.scatter(df['University Rating'],df['CGPA'])plt.title('CGPA Scores for University ratings')plt.xlabel('University Rating')plt.ylabel('CGPA')plt.show()

  结论:学校越好,学生的GPA可能就越高

  4.5 GRE成绩和CGPA的关系

plt.scatter(df['GRE Score'],df['CGPA'])plt.title('CGPA for GRE Scores')plt.xlabel('GRE Score')plt.ylabel('CGPA')plt.show()

  结论:GPA基点越高,GRE分数越高,2者的相关性很大

  4.6 托福成绩和GRE成绩的关系

df[df['CGPA']>=8.5].plot(kind='scatter',x='GRE Score',y='TOEFL Score',color='red')plt.xlabel('GRE Score')plt.ylabel('TOEFL Score')plt.title('CGPA >= 8.5')plt.grid(True)plt.show()

  结论:多数情况下GRE和托福成正相关,但是GRE分数高,托福一定高。

  4.6 学校等级和是否读硕士的关系

s = df[df['Chance of Admit'] >= 0.75]['University Rating'].value_counts().head(5)plt.title('University Ratings of Candidates with an 75% acceptance chance')s.plot(kind='bar'
源文地址:https://www.guoxiongfei.cn/cntech/9855.html