深度学习小白入门教程-基础运用篇

可能有图片没部署成功,如果有影响,请回小主主页

Link:https://wen-luminous.xyz/

PyCharm

创建一个新的Python项目,当然可以用之前的环境,这个不重要,我们可以调整~

image-20221110152052247

image-20221110152256756

左上角是项目目录,右下角是所使用的python环境,这里我们更换为刚刚创建的xiaobai

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e035cBkN-1668652248232)(http://cdn.wen-luminous.xyz/202211101524082.png)]

image-20221110152511651

image-20221110152547454

image-20221110153123461

image-20221110153143852

image-20221110153208545

image-20221110153257705

image-20221110153336376

image-20221110153605913

右键文件夹,把bioai文件设置为我们的根目录就好了!

这样子我们的编辑器就基本上可以开始造了~

玩个文本类数据二分类

首先我这里给一个数据集链接:https://pan.baidu.com/s/1pVCDBJ-KrmgS5SbfTtcGGA?pwd=7777
提取码:7777

该数据集是n个病患(每一行代表一个病人)各种生理指标的数据集,我们这里处理的是他的aki指标,我们想通过这个aki指标去判断这个病人是否患病~

名称短的这个数据集我们用来造分类标签label(对照,Y),长的这个数据集我们用来造特征矩阵(输入,X)

我们的任务

  • 读取数据集
  • 处理数据
  • 构建分类器模型
  • 输入数据
  • 处理结果

是不是很简单~

那么接下来,展示~

第一步,把我们可能用到的包安排上,还有python的标准主函数~

image-20221110155545406

第二步,导入数据集,cv大法就好啦~

image-20221110155809694

第三步,读取数据集,这里我们用pandas这个包去读取,当然我们可以打印看看读取后是怎么样的~

image-20221110155846718

在这个数据集当中,我们只想做一个二分类,不想做多分类,那我们就需要对目标数据进行处理~

在这里我们对每一个病人的label数据做最大值处理,将结果存入label_aki列表当中,当然也可以打印看看它是啥样的~

image-20221110161008983

接下来我们造输入去~

image-20221110161307578

这里我们用了一个train_test_split()函数,它就是用来给我们分割数据集的,分成测试集和验证集~

但是这里报错了?原来是封装在sklearn里面的一个函数,我们加上他的引用即可~

pycharm可以自动检错,并给出对应措施的,鼠标移到错误上面就可以啦~

image-20221110161810422

这里也要注意,我们用torch训练的话,肯定要符合他自己的标准,所以我们把数据转为了tensor格式,这样子才能输入到我们的model里面~

当然我们可以输出看看,tensor长啥样。

这里我给出一点点建议~

# 在python查看对象的大小
len(list/dict/map/tensor)
tensor.shape

# 如果是二维的
len(list[0])

# 当然还有type查看类型~

第四步,造model~

我们新建一个model.py来存放我们的模型

image-20221110162640233

当然还可以这样子写~

image-20221110162756449

这样子,我们就构建了一个非常简单的包含一层隐藏层的分类模型,他的参数有三个(in_dim, n_hidden_1, out_dim),Sequential是集成这些模型的意思,Linear是全连接层,他可以将输入的shape转为输出的shape,就相当于我们输入的tensor大小是[x, in_dim]那么输出就是[x, n_hidden_1]~

BatchNorm是用来归一化的,relu是激活函数~

这些都是学习任务,好了在这里我们的model就完成了~

image-20221110163845321

这里,我们接下来需要引用这个模型,可以这样子做,引用Model这个模型类~

第五步,开始写训练

然后写上我们需要训练的一些指标~

image-20221110163947492

这个copy也需要我们去引用,impor copy即可

一次训练应该包含:

  1. 获取loss:输入矩阵张量和标签,通过model计算得到预测值,计算损失函数;
  2. optimizer.zero_grad() 清空过往梯度;
  3. loss.backward() 反向传播,计算当前梯度;
  4. optimizer.step() 根据梯度更新网络参数

image-20221110164346241

第六步,好了,训练我们写完了,现在开始写test,毕竟test结果才是衡量模型的一个主要指标~

这里我们先引用一些测试方法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3MpQMjoT-1668652248242)(http://cdn.wen-luminous.xyz/202211101650645.png)]

然后编写测试过程,这里我写的比较繁琐,因为想展示一些测试用的方法是怎么来的,包括稀疏矩阵等等~

当然可以直接用roc_auc_score等一些方法,直接可以得到~

希望大家自行尝试!!!

image-20221110165253865

然后引用这个test函数

image-20221110165643538

第七步,然后我们记录我们的结果,并用matplotlib记录下来,编写一个绘图函数~

image-20221110165946144

image-20221110170046119

最后一步,run起来~

方式一,右击屏幕,点击run,假如没有,需要去安装(百度吧,累了~)

image-20221110170352571

image-20221110170652241

方式二,点击下方的terminal,命令行来运行

在当前目录下,运行python day1110.py即可~

当然我们也可以把这个结果输入到一个txt文件里面,像这样

python day1110.py > out1110.txt

image-20221110170718174

image-20221110170731943

结果~

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QYWabtI0-1668652248245)(http://cdn.wen-luminous.xyz/202211101708585.png)]

好像不是很好哈~

需要咱们调整参数咯,还有模型~

加油,AI小白们!!!

0.py > out1110.txt

[外链图片转存中…(img-7ebSxKoQ-1668652248244)]

[外链图片转存中…(img-RdKgH7am-1668652248245)]

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值