一维卷积神经网络应用于电信号分类

本文介绍了一维卷积神经网络如何应用于电信号分类,以家用电器识别为例,详细阐述了数据预处理、模型构建、训练过程和预测方法。通过一维卷积运算、池化和全连接层,模型能有效提取电信号特征。经过LabelEncoder编码、标准化处理后,使用StratifiedShuffleSplit划分训练集和测试集,构建并训练了模型,最后进行了分类预测。
摘要由CSDN通过智能技术生成

  维卷积神经网络,可以用来做一维的数据分析,以家用电器的识别分类作为背景。使用excel画出的简单的图形如下,横坐标为用电器开启后的秒数,纵坐标为某一秒的有功功率,由上至下分别为空调(Air Conditioner),冰箱(Refrigerator),烤炉(Stove):
!

在这里插入图片描述
在这里插入图片描述 在这里插入图片描述

  从上面三个图可以看出不同的用电器在工作时会以自己特有的方式工作。从而形成不同的特征峰及平台。接下来使用到的数据一共有9类用电器,包括上面这三种,但是我这边的训练集仅有每分钟一个数据的训练集,如果有朋友有大量的一秒一个数据的dataset,可以分享一下哈,感恩。
一维卷积神经网络应用于电信号的分类的大致逻辑如下图:
!

在这里插入图片描述

对比于其它维度的卷积神经网络,其卷积运算过程(ConV),池化过程(pooling)和全连接等可以理解为下图:
!

在这里插入图片描述

具体的一维卷积运算过程如下图,蓝色框框就是我们的卷积核,也就是特征提取的detector,箭头方向即为我们卷积核的移动方向,因为是一维的,所以它只有一个方向上移动,而不像多维那样,往复:
!

在这里插入图片描述

一、导入包和数据:

import os
import csv
import keras
import pandas as pd
import numpy as np
from sklearn.metrics import classification_report
from sklearn.preprocessing import LabelEncoder,StandardScaler
from sklearn.model_selection import StratifiedShuffleSplit
from keras.models import Sequential
from keras.layers import Dense, Activation, Flatten, Convolution1D, Dropout
from keras.optimizers import SGD
from keras.utils import np_utils
import time
from datetime import datetime
from sklearn.datasets import make_blobs #generate isotropic Gaussian blobs for clustering
path=r'E:\ilm\train_data'
files=os.listdir(path)
column_names=[]
train=pd.DataFrame()
for item in files:
    data_frame=pd.read_csv('E:/ilm/train_data/'+item)
    data_frame['mins']=range(len(data_frame))
    data_frame=data_frame.drop(['Unnamed: 0'],axis=1)
    data_frame=pd.pivot_table(data_frame,columns=['mins'])
    train=train.append(data_frame)
train=train.reset_index
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值