''' created by bug_code in 2020.11.1 '''
数据集为自定义数据集,方法一样。
-
在 datapretreat_1.py文件中进行初步的文件清洗。
-
读取训练集文件下的所有文件内容
-
将文本标签 [C、T、R、S、V] 分别用数字 [0、1、2、3] 表示
-
只读取其中英文字符,忽略数字、标点
-
以单个文件及该文件所属标签作为一条数据(没个文件表示数据集中的一条数据)
-
将一条数据中割裂的文本单词组合成一个字符串(形成初步清洗好的字符串文本)
-
使用 numpy 中的 np.savez() 函数保存文件,文件名为: train_dataset.npz 和 test_dataset.npz 文件
-
读取清洗好的 train_dataset.npz 和 test_dataset.npz 文件
-
获取训练集文本词袋大小
-
获取最大文本文件的大小
-
将所有文本数据以词袋中唯一的编号表示
-
以最大文本文件大小作为基准,文本数据小于最大文本文件大小的填充至该大小
-
使用 numpy 中的 np.savez() 函数保存文件,文件名为: train_data_vec.npz 和 test_data_vec.npz 文件
-
读取处理好的训练集与测试集 train_data_vec.npz 和 test_data_vec.npz 文件
-
将测试集与训练集进行切分与打乱
-
构建basic_model模型(基础全连接网络模型)、LSTM_model模型(基础lstm模型)、CNN_model(基础一维卷积神经网络模型)
-
训练与测试,计算平均准确率与loss
-
绘制图像
无论是使用何种方式,其准确率和loss效果均不理想。关键在于数据集之中是否存在内在的逻辑性。在进行数据清洗后,采取的清洗策略会对最终效果稍有影响,但是如果数据集内部没有逻辑性,神经网络就无法学习到其中的关系。
生成的 train_data_vec.npz 和 test_data_vec.npz 文件,如果不该变清洗策略,则可以直接导入使用,和标准库中的数据集使用方法类似。