keras的简单使用
Keras 是一个用 Python 编写的高级神经网络 API官网:https://keras.io/zh/from keras.models import Sequential# 神经网络各个层的容器from keras.layers import Dense, Activation# 安全求和的层 激活函数from keras.optimizers import SG...
·
Keras 是一个用 Python 编写的高级神经网络 API
from keras.models import Sequential # 神经网络各个层的容器
from keras.layers import Dense, Activation # 安全求和的层 激活函数
from keras.optimizers import SGD # 随机梯度下降算法
from sklearn.datasets import load_iris # 数据集
from sklearn.preprocessing import LabelBinarizer
from sklearn.model_selection import train_test_split
iris = load_iris()
print(iris["target"]) # 标签化
print(LabelBinarizer().fit_transform(iris["target"])) # 标签化
# 训练集 测试集
train_data, test_data, train_target, test_target = train_test_split(iris.data, iris.target, test_size=20)
labels_train = LabelBinarizer().fit_transform(train_target)
labels_test = LabelBinarizer().fit_transform(test_target)
# 模型训练
# 方式一 网络结构
model = Sequential(
[
Dense(5, input_dim=4), # 第一层输出有5 输入对应 4个属性值
Activation("relu"), # 激活函数
Dense(3), # 可以省略
Activation("sigmoid"), # 激活函数
]
)
# 方式二
# model = Sequential()
# model.add(Dense(5,input=4)) # 一层一层往里面添加
# 构建优化器
sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True) # decay步长 实质因子0.9
model.compile(optimizer=sgd, loss="categorical_crossentropy") # 优化器 sgd 损失函数 categorical_crossentropy
model.fit(train_data, labels_train, epochs=200, batch_size=40) # 训练200轮
print("测试结果:\n", model.predict_classes(test_data)) # 打印预测结果
model.save_weights("weights") # 存 权重因子
model.load_weights('weights') # 下次使用可以直接加载
iris["target"]:(输出)
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2]
01码:(输出)
链接 提取码:grrn
200轮训练过程:
链接 提取码:ml85
测试结果:
[1 2 2 2 2 2 0 0 1 2 2 1 2 0 2 1 1 0 1 1]
更多推荐
已为社区贡献1条内容
所有评论(0)