这篇文章主要是为了说明一个基本结论:
在单一工况下的故障分类准确率已经难以区分好的模型和方法,利用不同工况之间的直接预测,而后取均值是一种思路。
0.数据集处理方式
数据集处理方式具体见我之前的文章,这里基本的的信息就是取2048个点进行作为样本大小,样本通过滑动时间窗取值获得,步长为128,训练集、验证集、测试集的比例为7:1.5:1.5。标签处理为one-hot模式,如果用SVM就不需要了。
滑窗取值这里默认使用,后续我会单独比较和非滑窗的区别,还有一种是训练集和验证集和滑窗、测试集不滑窗取值,或者还可以只有训练集滑窗,所以还是很麻烦的,需要单独进行一次。
dataDE_A = case10.data_DE_win(650, 'A', steps=128)
dataDE_B = case10.data_DE_win(650, 'B', steps=128)
dataDE_C = case10.data_DE_win(650, 'C', steps=128)
数据用的还是DE端的,A、B、C对应0/1/2三种转速工况。
1.单工况下的测试结果
单工况下主要比较SVM、普通CNN和WDCNN的差别,三种模型代码如下:
svm.SVC(C=0.9, kernel='rbf')
def CNN_1D():
inputs1 = Input(shape=(2048, 1))
conv1 = Conv1D(filters=16, kernel_si