首页 > 其他分享 >深度学习框架Keras

深度学习框架Keras

时间:2023-06-15 11:56:06浏览次数:36  
标签:框架 Keras 模型 add train 深度 test import model

模型亮点

  1. 测试集上评分为1.0
  2. 数据集由sklearn自带

-----------------------------------------以下为模型具体实现-----------------------------------------

Step1.数据读取

how 数据读取?

  • 使用load_iris命令,加载鸢尾花数据集
from sklearn.datasets import load_iris
iris=load_iris()
x=iris.data
y=iris.target
import pandas as pd
df_x=pd.DataFrame(x)
df_y=pd.DataFrame(y)
df_x.columns=['sepal_length','sepal_width','petal_length','petal_width']
df_y.columns=['class']

Step2.划分训练集和测试集

why 划分训练集和测试集?

  • 把所有样本当作训练集,做过的题都是旧题,都会~
  • 把部分样本当作训练集,在新题上做测试,起到检测效果~
from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=0)

Step3.数据清洗

why 数据清洗?how 数据清洗?

  • Squential模型为单输出,但那这里是多分类问题
  • 把分类标签y,变成独热编码

Step4.定义神经网络结构

what 定义结构?

  1. 定义模型models,序贯模型Sequential或函数式模型Functional,前者是线性单输出,后者是多输出
  2. 定义常用层layers,全连接层Dense(与下一层全连接),激活层Activation(对上一层输出施加激活函数),中断层Dropout(防止过拟合)
from keras.models import Sequential
from keras.layers import Dense,Activation
model=Sequential() #定义模型
model.add(Dense(units=16,input_dim=4)) #定义输入层为4个神经元,第一个隐藏层为16个神经元;unit输出维度,input_dim输入维度
model.add(Activation('relu')) #定义激活层
model.add(Dense(16)) #定义第二个隐藏层为16个神经元
model.add(Activation('relu'))
model.add(Dense(3)) #定义输出层为3个神经元
model.add(Activation('softmax'))

Step5.启动模型

how 启动模型?

  1. 编译模型,设定初始化参数
  2. 拟合训练集数据,也需设定参数

what 设定参数?

  • epochs:迭代次数,含完整的一次前向与后向传播,batch_size:数据集太大,分块训练
  • verbose:是否输出每次迭代的详细信息,validation_data:其中的数据集不会被用来拟合
model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])
model.fit(x_train,y_train_ohe,epochs=20,batch_size=1,verbose=2,validation_data=(x_test,y_test_ohe))

Step6.模型评估

how 模型评估?

  • 这里没有自带的score,改用evaluate
print("训练集上评分:{}".format(round(model.evaluate(x_train,y_train_ohe,verbose=2)[1],2))) #以列表形式,返回loss和指定好的accuracy,这里只需返回accuracy
print("测试集上评分:{}".format(round(model.evaluate(x_test,y_test_ohe,verbose=2)[1],2)))

Step7.保存模型

why 保存模型?how 保存模型?

  1. for job-lib(工作自由)~
  2. dump转存模型,以pkl格式
  3. load加载模型
from sklearn.externals import joblib
joblib.dump(model,'d:\keras.pkl')
new_model=joblib.load('d:\keras.pkl')
print(new_model.predict(x_test,verbose=2)) #返回分类值对应概率
print(new_model.predict_classes(x_test,verbose=2)) #返回分类值

-END

标签:框架,Keras,模型,add,train,深度,test,import,model
From: https://www.cnblogs.com/peitongshi/p/17482455.html

相关文章

  • 深度学习应用篇-元学习[15]:基于度量的元学习:SNAIL、RN、PN、MN
    深度学习应用篇-元学习[15]:基于度量的元学习:SNAIL、RN、PN、MN1.SimpleNeuralAttentiveLearner(SNAIL)元学习可以被定义为一种序列到序列的问题,在现存的方法中,元学习器的瓶颈是如何去吸收同化利用过去的经验。注意力机制可以允许在历史中精准摘取某段具体的信息。SimpleN......
  • fastapi框架
    @fastapi框架fastapi,一个用于构建API的现代、快速(高性能)的web框架。fastapi是建立在Starlette和Pydantic基础上的,Pydantic是一个基于Python类型提示来定义数据验证、序列化和文档的库。Starlette是一种轻量级的ASGI框架/工具包,是构建高性能Asyncio服务的理性选择。快速:可......
  • 搞深度学习/图像处理 三个必备网站
    哎,这是个悲伤的故事。猜猜领导对我说过最多的一句话是什么A:你很优秀,我看好你B:好好干,今年奖金不会少C:辛苦了D:最近有啥进展E:这你都不会啊F:这个不对,再改改很显然,肯定不是A,不然我叹啥气呀......
  • 深度学习用于疾病预后-第二课第二周第1-5节-基于树的模型用于医学预后
    本周,我们将使用决策树(DecisionTrees)构建我们的第一个机器学习模型。树(trees)在医学应用中非常有用的的原因是:1️⃣它们处理连续和分类数据的能力,2️⃣它们的可解释性以及训练速度。我们将使用树来模拟在医学数据中观察到的非线性(non-linear)关系。当然,我们将构建我们的第一个基于机......
  • 深度学习用于疾病预后-第二课第一周第4-7节 医学预后案例欣赏+作业解析
    第二课第一周第4-7节医学预后案例欣赏+作业解析视频地址:B>Tina-姐预后的案例在这节课中,我们将看看预后临床例子。看看预后任务的输入和输出是什么样子的,以及我们如何权衡输入之间的权重。我们可以把预后模型看作一个系统,它把病人的资料(profile)作为输入,并输出病人的风险评分。pro......
  • 【论文阅读】MONAI Label:人工智能辅助的 3D 医学图像交互式标注框架
    Abstract缺乏带注释的数据集是训练监督AI算法的主要挑战,因为手动注释既昂贵又耗时。为了解决这个问题,我们提出了MONAILabel,这是一个免费的开源平台,有助于开发基于AI的应用程序,旨在减少注释3D医学图像数据集所需的时间。通过MONAILabel,研究人员可以开发专注于其专业领域的......
  • 深度学习-错误集锦
    1. target=target.cuda(async=True)  AttributeError:'list'objecthasnoattribute'cuda'查看自己的target类型,原为['1','0','1','1']。这种列表试字符串型。而应该修改为torch.tensor类型。才能用于网络计算简单改为:先改为numpy再转换为tensor,搞定!lab......
  • 机器学习/深度学习前沿技术,论文,数据,源码?这个网站统统都有,必须收藏!
    废话不多,就是这个网站。https://paperswithcode.com/目录1.有事没事浏览一下最新技术2.3597个公开数据集1.有事没事浏览一下最新技术点击网页最上方,BrowseState-of-the-Art。里面涵盖了各个领域的最新技术论文,数据,以及论文代码。下面这个图是经上面翻译来的。主要包含以下几......
  • 深度学习图像标签标注软件labelme超详细教程
    文章目录前言一、labelme是什么?二、快速安装使用1.windows安装2.linux安装3.macos安装安装成功的哑子三、界面说明四、为图像创建类标签4.1参数介绍4.1文件夹所有文件创建分类标签4.2为文件夹所有文件创建分割标签5.其他问题5.1如何快速查看分割的json文件5.2json转png前......
  • 2023-06-14:我们从二叉树的根节点 root 开始进行深度优先搜索。 在遍历中的每个节点处,
    2023-06-14:我们从二叉树的根节点root开始进行深度优先搜索。在遍历中的每个节点处,我们输出D条短划线(其中D是该节点的深度)然后输出该节点的值。(如果节点的深度为D,则其直接子节点的深度为D+1根节点的深度为0如果节点只有一个子节点,那么保证该子节点为左子节点给出遍......