现有一份来自kaggle的美国教育相关的数据集,数据中一共有1497个样本,25个属性。我们先将这份数据的缺失值进行补充,并进行标准化,然后将这份数据中的学生数学成绩作为标签,利用其它的24个属性构建机器学习方法,来对学生成绩进行预测,通过本实训,您将学习并掌握如何对一份数据进行处理,然后应用机器学习算法进行分析,并且成绩预测的准确度将高达95%。
认识数据
# -*- coding: utf-8 -*-
def get_feature_names(df):
'''
input:df(DataFrame):输入数据
output:feature_names
'''
#********* Begin *********#
feature_names = df.keys()
#********** End **********#
return feature_names
数据预处理
# -*- coding: utf-8 -*-
from sklearn.preprocessing import Imputer,MinMaxScaler
def data_preprocessing(data):
'''
input:data(ndarray):待处理数据
output:preprocessing_data(ndarray):预处理后数据
'''
#*********Begin*********#
imp = Imputer(missing_values='NaN', strategy='mean', axis=0)
data = imp.fit_transform(data)
min_max_scaler = MinMaxScaler()
preprocessing_data = min_max_scaler.fit_transform(data)
#********** End **********#
return preprocessing_data
数学成绩预测
# -*- coding: utf-8 -*-
from sklearn.linear_model import LinearRegression
def lr(train_data,train_label,test_data):
'''
input:train_data(ndarray):训练数据
train_label(ndarray):训练标签
test_data(ndarray):测试数据
output:predict(ndarray):测试数据预测标签
'''
#********* Begin *********#
lr = LinearRegression()
lr.fit(train_data,train_label)
predict = lr.predict(test_data)
#********** End **********#
return predict
谢谢大家的支持!!!!!!!!!!!!!!!!!!!!!!!!!!