创建一个新的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)
我们的任务
是不是很简单~
那么接下来,展示~
在这个数据集当中,我们只想做一个二分类,不想做多分类,那我们就需要对目标数据进行处理~
在这里我们对每一个病人的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.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即可
一次训练应该包含:
这里我们先引用一些测试方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3MpQMjoT-1668652248242)(http://cdn.wen-luminous.xyz/202211101650645.png)]
然后编写测试过程,这里我写的比较繁琐,因为想展示一些测试用的方法是怎么来的,包括稀疏矩阵等等~
当然可以直接用roc_auc_score等一些方法,直接可以得到~
希望大家自行尝试!!!
然后引用这个test函数
在当前目录下,运行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)]