机器学习 | 机器学习100天(2) --- 简单线性回归
机器学习100天系列学习笔记基于机器学习100天(中文翻译版),机器学习100天(英文原版)
所有代码使用iPython Notebook实现
目录
实验综述
1.数据预处理
#导入库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
#导入数据集
data = pd.read_csv('studentscores.csv')
print(data.head())
X = data.iloc[:,:-1].values #此时-1也可以用1 因为只有一个特征
Y = data.iloc[:,-1].values
#没有缺失数据
#划分数据集 为训练集和测试集
from sklearn.model_selection import train_test_split
X_train,X_test,Y_train,Y_test = train_test_split(X,Y,test_size=1/4,random_state=0)
2.通过训练集来训练简单线性回归模型
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor = regressor.fit(X_train,Y_train) #会自动对X_train进行特征缩放,并且前面加一列1 便于向量化运算
3.预测结果
Y_pred = regressor.predict(X_test)
4.可视化
#训练集结果可视化
plt.scatter(X_train,Y_train,color='red') #可视化训练样本
plt.plot(X_train,regressor.predict(X_train),color='blue') #可视化拟合线
#测试集结果可视化
plt.scatter(X_test,Y_test,color='red') #可视化测试样本
plt.plot(X_test,Y_pred,color='blue')