机器学习 | 机器学习100天(3) --- 多元线性回归

机器学习100天系列学习笔记基于机器学习100天(中文翻译版),机器学习100天(英文原版)

所有代码使用iPython Notebook实现

完整代码

目录

实验综述

1.数据预处理

2.在训练集上训练多元线性回归模型

3.在测试集上预测结果


实验综述

机器学习 | 机器学习100天(3) --- 多元线性回归_第1张图片

机器学习 | 机器学习100天(3) --- 多元线性回归_第2张图片

 

机器学习 | 机器学习100天(3) --- 多元线性回归_第3张图片

1.数据预处理

机器学习 | 机器学习100天(3) --- 多元线性回归_第4张图片

'''1.导入相关库'''
import pandas as pd
import numpy as np

'''2.导入数据集'''
data = pd.read_csv('50_Startups.csv')
print(data.head())
#分离特征矩阵X和标签向量Y
X = data.iloc[:,:-1].values
Y = data.iloc[:,-1].values

'''3.检查缺失数据'''
#没有缺失数据

'''4.解析分类数据'''
#将类别数据数字化
from sklearn.preprocessing import LabelEncoder,OneHotEncoder
labelencoder = LabelEncoder()
#第3个特征State是类别数据 需要数字化
X[:,3] = labelencoder.fit_transform(X[:,3])
#对第3个特征State数字化后 采用one-hot编码
onehotencoder = OneHotEncoder(categorical_features=[3])
X = onehotencoder.fit_transform(X).toarray()

'''5.躲避虚拟变量陷阱'''
#one-hot编码 向量第一分量值 = 1-向量其他分量值之和
#可以去掉第一个特征(one-hot向量的第一个分量)
X = X[:,1:]

'''6.分割数据集为训练集和测试集'''
from sklearn.model_selection import train_test_split
X_train,X_test,Y_train,Y_test = train_test_split(X,Y,test_size=0.2,random_state=0)

'''7.特征缩放'''
#使用线性回归模型训练或预测时  会有相关库自动进行特征缩放

机器学习 | 机器学习100天(3) --- 多元线性回归_第5张图片

2.在训练集上训练多元线性回归模型

from sklearn.linear_model import LinearRegression

regressor = LinearRegression() #实例化线性回归类的对象
regressor = regressor.fit(X_train,Y_train) #使用实例化的对象调用类中的fit方法 返回训练好的对象/模型

3.在测试集上预测结果

#使用训练好的对象/模型调用类中的predict方法 进行预测 返回预测值
y_pred = regressor.predict(X_test)

 

 

 

 

 

 

 

你可能感兴趣的:(林轩田机器学习)