Machine Learning A-Z学习笔记
第二章 简单线性回归
1.简单原理
简单线性回归(Simple Linear Regression):只有1个自变量
自变量(Indenpent Variable)
因变量(Denpent Variable)
常量(Constant)
系数(Coefficient)
一个简单例子。
- 初始薪水30k,这就是常量。
- 每增加1年的薪水增加10,这就是系数。
- 薪水受到年份影响,因此薪水为因变量,年份为自变量。
- 黑色线条为回归线,代表薪水于年份的关系。。
- 红点为实际数据点
评论模型好坏,可以通过例如 普通最小二乘法来比较预测,越小代表效果越好
2.实现代码
# 简单线性回归
# 导入标准库
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
# 导入数据集
dataset = pd.read_csv('Salary_Data.csv')
X = dataset.iloc[:,:-1].values
y = dataset.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/3,random_state = 0)
#导入线性回归类
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(X_train, y_train)
#用回归器预测测试集应变量的结果
y_pred = regressor.predict(X_test)
#图像化
plt.scatter(X_train, y_train, color='red')
plt.plot(X_train, regressor.predict(X_train), color='blue')
#图像加上标题
plt.title('Salary VS Experience (training set)')
plt.xlabel('Years of Experience')
plt.ylabel('Salary')
plt.show()
#预测结果和新的样品比较
#测试集实际数据和回归器二点比较情况
plt.scatter(X_test, y_test, color='red')
plt.plot(X_train, regressor.predict(X_train), color='blue')
#图像加上标题
plt.title('Salary VS Experience (test set)')
plt.xlabel('Years of Experience')
plt.ylabel('Salary')
plt.show()