天池-学生考试成绩预测

个人学习之作,水平有限,仅供参考,与诸君共勉。

1:目的

调用库,熟悉数据清洗,数据处理,熟悉python的编程知识

大概流程如下(建议熟记,对知识的掌握和面试都是有好处的):

  1. 确保数据集本身是可用的,包括但不限于:
    a) 检查数据本身是否平衡(balanced or not),并处理
    b) 检查数据本身是否有缺失值 (missing value),并处理
    c) 检查数据本身是否有一些明显的异类数据(outlier), 根据情况再做处理

  2. 检查数据集本身特质,确定适合的机器学习模型(machine learning model)
    a) 有监督模型(Supervised) VS 无监督模型(Unsupervised)
    b) 回归模型(Regression) VS 分类模型(Classification)

  3. 通过数据可视化,建立一个对于数据集的直觉(intuition)和认知(understanding)

  4. 通过数据可视化,大致了解特征与结果之间的联系,进一步确定适合的机器学习模型

  5. 预测并验证未来模型产出的结果

  6. 对用在模型中的特征做初步的筛选

  7. 为特征工程(feature engineering)部分做准备

2: 数据

数据csv大概如下:我会上传到下载那块,有需求的朋友自己下载

3:开始

# 引入库包
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

df = pd.read_csv('student-por.csv')

在引入库包之后,进行初步的数据处理

print(df.head(10))
print(df.shape)
print(df.isnull().sum())
print(df.describe(include = 'all'))
print(df.info())

重点说一下,这个数据集比较干净,也无任何缺省,

数据段中文对应关系如下

字段名 含义 类型 描述
sex 性别 string F是女,M表示男
address 住址 string U表示城市,R表示乡村
famsize 家庭成员数 string LE3表示少于三人,GT3多于三人
pstatus 是否与父母住在一起 string T住在一起,A分开
medu 母亲的文化水平 string 从0~4逐步增高
fedu 父亲的文化水平 string 从0~4逐步增高
mjob 母亲的工作 string 分为教师相关、健康相关、服务业
fjob 父亲的工作 string 分为教师相关、健康相关、服务业
guardian 学生的监管人 string mother,father or other
traveltime 从家到学校需要的时间 double 以分钟为单位
studytime 每周学习时间 double 以小时为单位
failures 挂科数 double 挂科次数
schoolsup 是否有额外的学习辅助 string yes or no
fumsup 是否有家教 string yes or no
paid 是否有相关考试学科的辅助 string yes or no
activities 是否有课外兴趣班 string yes or no
higher 是否有向上求学意愿 string yes or no
internet 家里是否联网 string yes or no
famrel 家庭关系 double 从1~5表示关系从差到好
freetime 课余时间量 double 从1~5从少到多
goout 跟朋友出去玩的频率 double 从1~5从少到多
dalc 日饮酒量 double 从1~5从少到多
walc 周饮酒量 double 从1~5从少到多
health 健康状况 double 从1~5从状态差到好
absences 出勤量 double 0到93次
G1,G2,G3 期末成绩 double 20分制

1;对性别进行处理

sns.countplot(x = 'sex', order = ['M','F'], data = df )
df['sex'].replace('M','0')
df['sex'].replace('F','1')

将M-男,F-女 转化为01

2:对地址进行转换

sns.countplot(x = 'address', order = ['U','R'], data = df )
df['address'].replace('U','1')
df['address'].replace('R','0')

Reference:

1:https://tianchi.aliyun.com/course/video?spm=5176.12282042.0.0.3eb22042bd6YRi&liveId=7729

1:https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.12281897.0.0.209439a9IUXP6k&postId=7459

1:https://blog.csdn.net/jiangtianshe/article/details/77703450

发布了29 篇原创文章 · 获赞 4 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_33083551/article/details/93626472