机器学习-期末测试
线性回归
1.代码展示
# coding = UTF-8
# 拆分训练集和测试集
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
# 是线性回归类 是sklearn写好的 根据梯度下降法
from sklearn.linear_model import LinearRegression
import pandas as pd
# 1.加载数据 有监督学习
datas=pd.read_csv("D:\PyCharm 2021\jtxy_ml\data\household_power_consumption_1000.txt",sep=";")
# 2.对数据做清洗转换 如果有不好的数据
# 3.抽取X Y
X=datas.iloc[:,2:4]
Y=datas.iloc[:,5]
# 4.数据拆分 拆分成训练集和测试集
trainX,testX,trainY,testY=train_test_split(X,Y,test_size=0.2)
# 5.训练模型
model=LinearRegression()
# 训练 求theta
model.fit(trainX,trainY)
# 对测试集进行预测
yhat=model.predict(testX)
# 6.效果评估
# model.score(testX,testY) jhw
import matplotlib.pyplot as plt
plt.figure()
# 预测值
plt.plot(range(len(yhat)),yhat,label="predict",color="red")
# 真实值
plt.plot(range(len(testY)),testY,label="test",color="green")
plt.legend()
plt.show()
2.运行结果