导入安装包
import pandas as pd
from keras.models import Sequential
from keras.layers import Dense
import sklearn.datasets as datasets
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
import matplotlib.pyplot as plt
加载数据
使用波士顿房价数据
# 加载数据
boston = datasets.load_boston()
data = boston.data
target = boston.target
#划分训练集和测试集
x_train,x_test,y_train,y_test = train_test_split(data,target,test_size=0.2,random_state=21)
#查看数据维度
print(x_train.shape)
print(y_train.shape)
创建模型并训练
#简单的线性回归
#创建模型
model = Sequential()
model.add(Dense(1,input_dim=13)) #Dense(1,input_dim=13),第一个参数是输出空间维度
#编译模型
model.compile(optimizer='adam',
loss='mse') #optimizer优化器:adam,loss损失函数:均方误差
#训练模型
model.fit(x_train,y_train,epochs=2000)
#打印模型
model.summary()
该模型输入有13维,输出有1维,是多元线性回归模型,即
Output Shape:输出维度
Param:生成的模型有14个参数,即13个x,1个b
预测与结果可视化
#预测
pred = model.predict(x_test)
print("mse:",mean_squared_error(y_test,pred))
#可视化
plt.figure(figsize=(8,6))
plt.plot(pred,color='r',alpha=0.7,label='prediction')
plt.plot(y_test,color='skyblue',label='true')
plt.legend()
plt.show()
写文不容易,请给个赞吧!