keras线性拟合

网易云课堂计算机视觉实战

import keras
import numpy as np
import matplotlib.pyplot as plt
from keras.models import Sequential
from keras.layers import Dense

#构建数据集
x_data = np.random.rand(100)
noisy = np.random.normal(0,0.01,x_data.shape)
y_data = x_data*0.1 + 0.2 + noisy

plt.scatter(x_data, y_data)
plt.show()

#构建模型
model = Sequential()

#添加一个神经元
model.add(Dense(units=1,input_dim=1))

#编译模型
model.compile(optimizer='sgd', loss='mse')

for epoch in range(3000):
    cost = model.train_on_batch(x_data,y_data)
    if(epoch%500==0):
        print("cost:",cost)

y_pred = model.predict(x_data)
plt.scatter(x_data,y_data)
plt.plot(x_data,y_pred, 'r-', lw = 3)
plt.show()

 

你可能感兴趣的:(keras)