目录
前言
- 🍨 本文为🔗365天深度学习训练营 中的学习记录博客
- 🍖 原作者:K同学啊
一、我的环境
- 电脑系统:Windows 11
- 语言环境:Python 3.9.7
- 编辑器:Jupyter Lab
二、 简单线性回归模型代码实现
1.数据预处理
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
dataset = pd.read_csv('F:\\博士期间\\课程学习\\机器学习\\365训练营\\data\\studentscores.csv')
# 数据分割:使用iloc方法从Pandas DataFrame中选取数据。X变量包含了数据集中的所有行和第一列的值,而Y变量包含了所有行和第二列的值。
# X变量存储了数据集中的所有特征(.iloc[:, :1]表示选择第一列,即特征列)
#Y变量存储了数据集中的目标变量(.iloc[:, 1]表示选择第二列,即标签列)
X = dataset.iloc[ : , :1].values
Y = dataset.iloc[ : ,1].values
#分割数据集 划分训练集和测试集
#test_size:测试集数据量在整体数据量中的占比(可以理解为X_test与X的比值)
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)
dataset
print(dataset)
2.简单线性回归模型
sklearn.linear_model包实现了广义线性模型,包括线性回归、Ridge回归、Bayesian回归等。LinearRegression是其中较为简单的线性回归模型。
from sklearn.linear_model import LinearRegression
#创建线性回归模型实例 用于后续的模型训练
regressor = LinearRegression()
#拟合模型
regressor = regressor.fit(X_train, Y_train)
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.show()
测试集预测结果可视化
plt.scatter(X_test, Y_test, color='red')
plt.plot(X_test, regressor.predict(X_test), color='blue')
plt.show()
三、多元线性回归模型代码实现
1.数据预处理
导入数据集
import pandas as pd
import numpy as np
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data"
#指定列名 names
names = ['花萼-length', '花萼-width', '花瓣-length', '花瓣-width', 'class']
dataset = pd.read_csv(url, names=names)
print(dataset)
数据分析
import matplotlib.pyplot as plt
#使用matplotlib绘制不同特征之间的关系,以'x', 'o', 'v'作为标记
plt.plot(dataset['花萼-length'], dataset['花瓣-width'], 'x', label="marker='x'")
plt.plot(dataset['花萼-width'], dataset['花瓣-width'], 'o', label="marker='o'")
plt.plot(dataset['花瓣-length'], dataset['花瓣-width'], 'v', label="marker='v'")
plt.legend(numpoints=1)
plt.show()
构建训练集、测试集
#选择特征列和目标列
X = dataset.iloc[ : ,[1,2]].values
Y = dataset.iloc[ : , 3 ].values
#构建训练集、测试集
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)
2.训练多元线性回归模型
#训练多元线性回归模型
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(X_train, Y_train)
3.在测试集上预测结果
#在测试集上预测结果
y_pred = regressor.predict(X_test)
4.测试集预测结果可视化
plt.scatter(Y_test,y_pred, color='red')
plt.xlabel("Prediction")
plt.ylabel("True");
plt.show()
四、总结
- 线性回归模型的原理及代码实现
- 特征列和目标列的划分、训练集预测集的构建