深度学习小白入门教程-基础运用篇
- 可能有图片没部署成功,如果有影响,请回小主主页
- PyCharm
- 玩个文本类数据二分类
- 第一步,把我们可能用到的包安排上,还有python的标准主函数~
- 第二步,导入数据集,cv大法就好啦~
- 第三步,读取数据集,这里我们用pandas这个包去读取,当然我们可以打印看看读取后是怎么样的~
- 第四步,造model~
- 第五步,开始写训练
- 第六步,好了,训练我们写完了,现在开始写test,毕竟test结果才是衡量模型的一个主要指标~
- 第七步,然后我们记录我们的结果,并用matplotlib记录下来,编写一个绘图函数~
- 最后一步,run起来~
- 方式一,右击屏幕,点击run,假如没有,需要去安装(百度吧,累了~)
- 方式二,点击下方的terminal,命令行来运行
- 结果~
可能有图片没部署成功,如果有影响,请回小主主页
Link:https://wen-luminous.xyz/
PyCharm
创建一个新的Python项目,当然可以用之前的环境,这个不重要,我们可以调整~
左上角是项目目录,右下角是所使用的python环境,这里我们更换为刚刚创建的xiaobai
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e035cBkN-1668652248232)(http://cdn.wen-luminous.xyz/202211101524082.png)]
右键文件夹,把bioai文件设置为我们的根目录就好了!
这样子我们的编辑器就基本上可以开始造了~
玩个文本类数据二分类
首先我这里给一个数据集链接:https://pan.baidu.com/s/1pVCDBJ-KrmgS5SbfTtcGGA?pwd=7777
提取码:7777
该数据集是n个病患(每一行代表一个病人)各种生理指标的数据集,我们这里处理的是他的aki指标,我们想通过这个aki指标去判断这个病人是否患病~
名称短的这个数据集我们用来造分类标签label(对照,Y),长的这个数据集我们用来造特征矩阵(输入,X)
我们的任务
- 读取数据集
- 处理数据
- 构建分类器模型
- 输入数据
- 处理结果
是不是很简单~
那么接下来,展示~
第一步,把我们可能用到的包安排上,还有python的标准主函数~
第二步,导入数据集,cv大法就好啦~
第三步,读取数据集,这里我们用pandas这个包去读取,当然我们可以打印看看读取后是怎么样的~
在这个数据集当中,我们只想做一个二分类,不想做多分类,那我们就需要对目标数据进行处理~
在这里我们对每一个病人的label数据做最大值处理,将结果存入label_aki列表当中,当然也可以打印看看它是啥样的~
接下来我们造输入去~
这里我们用了一个train_test_split()函数,它就是用来给我们分割数据集的,分成测试集和验证集~
但是这里报错了?原来是封装在sklearn里面的一个函数,我们加上他的引用即可~
pycharm可以自动检错,并给出对应措施的,鼠标移到错误上面就可以啦~
这里也要注意,我们用torch训练的话,肯定要符合他自己的标准,所以我们把数据转为了tensor格式,这样子才能输入到我们的model里面~
当然我们可以输出看看,tensor长啥样。
这里我给出一点点建议~
# 在python查看对象的大小
len(list/dict/map/tensor)
tensor.shape
# 如果是二维的
len(list[0])
# 当然还有type查看类型~
第四步,造model~
我们新建一个model.py来存放我们的模型
当然还可以这样子写~
这样子,我们就构建了一个非常简单的包含一层隐藏层的分类模型,他的参数有三个(in_dim, n_hidden_1, out_dim),Sequential是集成这些模型的意思,Linear是全连接层,他可以将输入的shape转为输出的shape,就相当于我们输入的tensor大小是[x, in_dim]那么输出就是[x, n_hidden_1]~
BatchNorm是用来归一化的,relu是激活函数~
这些都是学习任务,好了在这里我们的model就完成了~
这里,我们接下来需要引用这个模型,可以这样子做,引用Model这个模型类~
第五步,开始写训练
然后写上我们需要训练的一些指标~
这个copy也需要我们去引用,impor copy即可
一次训练应该包含:
- 获取loss:输入矩阵张量和标签,通过model计算得到预测值,计算损失函数;
- optimizer.zero_grad() 清空过往梯度;
- loss.backward() 反向传播,计算当前梯度;
- optimizer.step() 根据梯度更新网络参数
第六步,好了,训练我们写完了,现在开始写test,毕竟test结果才是衡量模型的一个主要指标~
这里我们先引用一些测试方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3MpQMjoT-1668652248242)(http://cdn.wen-luminous.xyz/202211101650645.png)]
然后编写测试过程,这里我写的比较繁琐,因为想展示一些测试用的方法是怎么来的,包括稀疏矩阵等等~
当然可以直接用roc_auc_score等一些方法,直接可以得到~
希望大家自行尝试!!!
然后引用这个test函数
第七步,然后我们记录我们的结果,并用matplotlib记录下来,编写一个绘图函数~
最后一步,run起来~
方式一,右击屏幕,点击run,假如没有,需要去安装(百度吧,累了~)
方式二,点击下方的terminal,命令行来运行
在当前目录下,运行python day1110.py即可~
当然我们也可以把这个结果输入到一个txt文件里面,像这样
python day1110.py > out1110.txt
结果~
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QYWabtI0-1668652248245)(http://cdn.wen-luminous.xyz/202211101708585.png)]
好像不是很好哈~
需要咱们调整参数咯,还有模型~
加油,AI小白们!!!
0.py > out1110.txt
[外链图片转存中…(img-7ebSxKoQ-1668652248244)]
[外链图片转存中…(img-RdKgH7am-1668652248245)]