深度学习之回归模型-简单线性模型
首页 专栏 tensorflow 文章详情
0

深度学习之回归模型-简单线性模型

小鸡 发布于 3 月 30 日

深度学习之回归模型-简单线性模型

数据集生成

from sklearn.model_selection import train_test_split from sklearn import datasets import matplotlib.pyplot as plt from tensorflow import keras X,y = datasets.make_regression(n_samples=10000,noise=0,random_state=8,n_informative=1,n_features=1) plt.scatter(X,y,c='blue') plt.show()

定义线性模型

model = keras.models.Sequential([ keras.layers.Dense(1,input_shape = X_train.shape[1:])] ) model.summary()

训练模型

model.compile(loss = keras.losses.mean_squared_error,optimizer=keras.optimizers.Adam(),metrics=['mse']) history = model.fit(X,y,epochs=1000,validation_split=0.25,callbacks=[keras.callbacks.EarlyStopping(patience=3)])

画出损失历史图

# 绘制训练 & 验证的损失值 plt.plot(history.history['loss']) plt.plot(history.history['val_loss']) plt.title('Model loss') plt.ylabel('Loss') plt.xlabel('Epoch') plt.legend(['Train', 'Valid'], loc='upper left') plt.show()

查看模型是否拟合

import numpy as np weights = model.get_weights() print(weights) print(weights[0][0,0]) print(weights[1][0]) w1 = weights[0][0,0] b1 = weights[1][0] m_x = np.array([-4,3]) m_y = m_x * w1 + b1 plt.plot(m_x,m_y,color = 'red') plt.scatter(X,y,c='blue') plt.show()

tensorflow
阅读 50 发布于 3 月 30 日
收藏
分享
本作品系原创, 采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议
大数据学习笔记
记录自己对大数据学习的点滴
关注专栏
avatar
小鸡

1.01的365次方=37.8

声望
9 粉丝
关注作者
0 条评论
得票数 最新
提交评论
你知道吗?

注册登录
avatar
小鸡

1.01的365次方=37.8

声望
9 粉丝
关注作者
宣传栏
目录

深度学习之回归模型-简单线性模型

数据集生成

from sklearn.model_selection import train_test_split from sklearn import datasets import matplotlib.pyplot as plt from tensorflow import keras X,y = datasets.make_regression(n_samples=10000,noise=0,random_state=8,n_informative=1,n_features=1) plt.scatter(X,y,c='blue') plt.show()

定义线性模型

model = keras.models.Sequential([ keras.layers.Dense(1,input_shape = X_train.shape[1:])] ) model.summary()

训练模型

model.compile(loss = keras.losses.mean_squared_error,optimizer=keras.optimizers.Adam(),metrics=['mse']) history = model.fit(X,y,epochs=1000,validation_split=0.25,callbacks=[keras.callbacks.EarlyStopping(patience=3)])

画出损失历史图

# 绘制训练 & 验证的损失值 plt.plot(history.history['loss']) plt.plot(history.history['val_loss']) plt.title('Model loss') plt.ylabel('Loss') plt.xlabel('Epoch') plt.legend(['Train', 'Valid'], loc='upper left') plt.show()

查看模型是否拟合

import numpy as np weights = model.get_weights() print(weights) print(weights[0][0,0]) print(weights[1][0]) w1 = weights[0][0,0] b1 = weights[1][0] m_x = np.array([-4,3]) m_y = m_x * w1 + b1 plt.plot(m_x,m_y,color = 'red') plt.scatter(X,y,c='blue') plt.show()