机器学习3/100天-多特征线形回归

Day3:Multiple Linear Regression

github: 100-Days-Of-ML-Code
多属性线形回归流程与简单线形回归相同,不同之处在于模型评估部分,可以确定对预测结果影响最大的特征,以及特征间相互关系。
y = b0 + b1x1 + b2x2 + b3x3 … … bnxn

假定

1.线性,因变量与自变量之间是线性关系
2.同方差性,误差项的方差是等同的
3.多变量正态分布
4.不存在多重共线性,各个特征互相独立
特征选择有以下几种方法:
1.Forward Selection
2.Backward Selection
3.Bi-directional Comparision

对于定性数据可以通过编码方式Encoder,OneHotEncoder将非数字信息编码为数字信息。对于定性数据特征变量应该比类别数量少1,以防止出现共线性性(所有类别比重相加等于1)。

1.数据预处理

import pandas as pd
import numpy as np

dataset = pd.read_csv('50_Startups.csv')
X = dataset.iloc[ : , :-1].values
Y = dataset.iloc[ : ,  4 ].values

from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder = LabelEncoder()
X[: , 3] = labelencoder.fit_transform(X[ : , 3])
onehotencoder = OneHotEncoder(categorical_features = [3])
X = onehotencoder.fit_transform(X).toarray()

X = X[: , 1:]

from sklearn.cross_validation import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 0.2, random_state = 0)

2.训练数据拟合模型

from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(X_train, Y_train)

3.测试数据结果预测

y_pred = regressor.predict(X_test)

猜你喜欢

转载自blog.csdn.net/zombee0/article/details/81909567
今日推荐