tensorflow2.x处理多分类问题模板

import os
os.environ['CUDA_VISIBLE_DEVICES']='-1'
from tensorflow.keras import layers,losses,optimizers,activations,metrics,utils#utils工具箱,里边有好多工具,独热就在里边
import numpy as np
from sklearn.model_selection import train_test_split
from tensorflow.keras.models import Sequential
import matplotlib.pyplot as plt
# (1)数据处理
# ①读取data-04-zoo.csv文件 np.loadtxt
# ②数据按照float类型处理
data=np.loadtxt('./data-04-zoo.csv',delimiter=',',dtype=np.float32)
x=data[:,:-1]
y=data[:,-1:]
# ⑤对y标签进行独热处理 tensorflow.keras.utils.to_cate
#y=utils.to_categorical(y,num_classes=7)#num_classe表示有多少类
train_x,test_x,train_y,test_y=train_test_split(x,y ,test_size=0.3,shuffle=True)#shuffle是洗牌
# (2)模型处理
# ①创建模型 Sequential
model=Sequential()
# ②根据分类情况,设置网络,使用合理激活函数 layers.Dense layers.Activition
# 添加隐藏层和输出层,要求两层隐藏Dense层神经元个数分别为 14,10,激活函数relu,输出层激活函数softmax
model.add(layers.Dense(12,input_dim=16,activation='relu'))
model.add(layers.Dense(8,activation=activations.relu))
model.add(layers.Dense(7,activation=activations.softmax))
# ③编译模型,使用合理的优化器、代价函数及评估指标 optimizers losses metrics
# model.compile(optimizer=optimizers.Adam(),loss=losses.categorical_crossentropy,metrics='acc')
model.compile(optimizer=optimizers.Adam(),loss=losses.sparse_categorical_crossentropy,metrics='acc')
# ④训练模型400次 fit
train_log=model.fit(train_x,train_y,epochs=400)

print("训练历史日志-损失值:", train_log.history['loss'])
print("训练历史日志-准确率:", train_log.history['acc'])

# 模型最终的损失值和准确率
loss,acc=model.evaluate(test_x,test_y)
print('Loss:',loss,'acc:',acc)
loss_list=train_log.history['loss']
plt.plot(loss_list)
plt.show()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值