Keras之DNN:基于Keras(sigmoid+linear+mse+predict)利用DNN实现回归预测——DIY多分类数据集&预测新数据点
目录
输出结果
实现代码
# coding:utf-8
Xa=[]
Xb=[]
for i in range(0,len(X)):
Xa.append(X[i][0])
Xb.append(X[i][1])
print('a',Xa)
print('b',Xb)
plt.scatter(Xa,Xb,marker='o',c='',edgecolors='g')#edgecolors是控制圆圈的边缘颜色,c是控制圆心的颜色,c=''就是空心
# 定义并拟合模型
model = Sequential()
model.add(Dense(4, input_dim=2, activation='relu'))
model.add(Dense(4, activation='relu'))
model.add(Dense(1, activation='linear'))
model.compile(loss='mse', optimizer='adam')
model.fit(X, y, epochs=1000, verbose=0)
# #T1、单个预测,新的未知数据实例
# # 未知的新数据
# Xnew = array([[0.29466096, 0.30317302]])
# # 作出预测
# ynew = model.predict(Xnew)
# print("X=%s, Predicted=%s" % (Xnew[0], ynew[0]))
# # 显示输入和输出
# plt.scatter(Xnew[0][0],Xnew[0][1],marker='^',c='',edgecolors='b')#edgecolors是控制圆圈的边缘颜色,c是控制圆心的颜色,c=''就是空心
# plt.title('Keras-DNN-Single: sigmoid+linear+mse+predict——Jason Niu')
# plt.show()
#T2、多个预测,新的未知数据实例
# 未知的新数据
Xnew, a = make_regression(n_samples=3, n_features=2, noise=0.1, random_state=1)
Xnew = scalarX.transform(Xnew)
# 作出预测
ynew = model.predict(Xnew)
# 显示输入和输出
Xnew_x=[]
Xnew_y=[]
for i in range(len(Xnew)):
print("X=%s, Predicted=%s" % (Xnew[i], ynew[i]))
Xnew_x.append(Xnew[i][0])
Xnew_y.append(Xnew[i][1])
plt.scatter(Xnew_x,Xnew_y,marker='.',c='',edgecolors='r')#edgecolors是控制圆圈的边缘颜色,c是控制圆心的颜色,c=''就是空心
plt.title('Keras-DNN-Multiple: sigmoid+linear+mse+predict——Jason Niu')
plt.show()