keras的简单使用

Keras 是一个用 Python 编写的高级神经网络 API

官网:https://keras.io/zh/


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]

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值