keras实现神经网络结构

一、使用Sequential方式

import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
# 绘图
import seaborn as sns
import pandas as pd
from keras import  Sequential
from keras.layers import Dense,Activation
# 数值计算
import numpy as np
# sklearn中的相关⼯具
# 划分训练集和测试集
from sklearn.model_selection import train_test_split
# 逻辑回归
from sklearn.linear_model import LogisticRegressionCV
# tf.keras中使⽤的相关⼯具
# ⽤于模型搭建
import tensorflow as tf
#from tensorflow.keras import Sequential

# 构建模型的层和激活⽅法
#from tensorflow.keras.layers import Dense, Activation
# 数据处理的辅助⼯具
from sklearn.datasets import  load_iris
dic = load_iris()
#print(dic)
# dict['key_name'] 访问字典的一对键值对
feature = pd.DataFrame(dic['data'], columns=['sepal_length (cm)',
  'sepal_width (cm)',
  'petal_length (cm)',
  'petal_width (cm)'])
target = pd.DataFrame(dic['target'], columns=['species'])
# 在上述代码块的尾部添加
iris = pd.concat([feature, target], axis = 1)
sns.pairplot(iris,hue="species")
#plt.show()
#iris.head()
X=iris.values[:,:4]
y=iris.values[:,4]
# 将数据集划分为训练集和测试集
train_X, test_X, train_y, test_y = train_test_split(X,y,
                                                    test_size=0.5,
                                                    random_state=0)
train_y_one=pd.get_dummies(train_y)
test_y_one=pd.get_dummies(test_y)
#print(train_y_one)
model=Sequential([
    Dense(10, activation="relu", input_shape=(4,)),
    # 隐藏层2,激活函数是relu
     Dense(10, activation="relu"),
     # 输出层
     Dense(3,activation="softmax")
])
#model.summary()
#print(tf.__version__)
model.compile(optimizer="adam",
              loss="categorical_crossentropy",
              metrics=["accuracy"])
model.fit(train_X,train_y_one,epochs=1000,batch_size=5,verbose=1)

通过function API构建

#function API构建神经网络
import tensorflow as tf
from keras.layers import Input, Dense
from keras.models import Model
import keras
inputs = Input(shape=(3,))
#第一隐藏层
x = Dense(3,activation='relu',name='layer1')(inputs)
#第二隐藏层
x = Dense(2,activation='relu',name='layer2')(x)
#输出层
outputs=Dense(2,activation='sigmoid',name='layer3')(x)
#创建模型
model = Model(inputs=inputs,outputs = outputs)

model.summary()#展示模型结果

keras.utils.plot_model(model,show_shapes=True)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值