当前位置: 首页 > wzjs >正文

如何建立一个自己的网站啊广州seo网站营销

如何建立一个自己的网站啊,广州seo网站营销,昆山建设工程信息网站,廊坊做网站本博客来源于CSDN机器鱼,未同意任何人转载。 更多内容,欢迎点击本专栏,查看更多内容。 目录 0 数据集分析 1 数据划分 2 特征提取 3 结语 0 数据集分析 数据来源于凯斯西储大学的滚动轴承故障诊断,数据集介绍参考【博客】&a…

本博客来源于CSDN机器鱼,未同意任何人转载。

更多内容,欢迎点击本专栏,查看更多内容。

目录

0 数据集分析

1 数据划分

2 特征提取

 3 结语


0 数据集分析

数据来源于凯斯西储大学的滚动轴承故障诊断,数据集介绍参考【博客】,下载就自己网上找,到处都是资料。

图1 故障模拟平台
图1 故障模拟平台

数据集如下:这是我从网上下的,只下了48k采样频率的数据,48k代表采样频率48kHz,DriveEnd代表是驱动端,B、IR、OR分别是球体Ball、内圈InnerRace,外圈OuterRace的故障,007、014、021代表轴承直径(英寸),0代表0马力负载,normal代表正常类型,一共10种,后续我们将建立10分类的故障诊断网络。其他负载与采样频率的后续有空再研究。

1 数据划分

每种故障数据都是一个几百k长度的振动信号, 而我们做神经网络需要很多样本,因此采用随机采样的方式进行数据预处理,具体操作如下

步骤①计算数据data长度,得到长度length;

步骤②在0-(length-L)的范围内随机生成一个数start,end=start+L;取数据data[start:end]作为一样样本;

步骤③循环②共N次,得到N个样本;对每种数据都训练N次,得到10N个样本。

步骤④随机9:1划分得到训练集与测试集。完整代码如下:

# -*- coding: utf-8 -*-
import os
from scipy.io import loadmat,savemat
import numpy as np
from sklearn.model_selection import train_test_split
np.random.seed(0)
# In[]
lis=os.listdir('./data/')
N=200;Len=1024 #每种故障取N个样本,每个样本长度是Len
# 一共10类 标签是0-9
data=np.zeros((0,Len))
label=[]
for n,i in enumerate(lis):path='./data/'+iprint('第',n,'类的数据是',path,'这个文件')file=loadmat(path)file_keys = file.keys()for key in file_keys:if 'DE' in key:files= file[key].ravel()data_=[]for i in range(N):start=np.random.randint(0,len(files)-Len)end=start+Lendata_.append(files[start:end])label.append(n)data_=np.array(data_)data=np.vstack([data,data_])
label=np.array(label)
# 9:1划分数据集
train_x,test_x,train_y,test_y=train_test_split(data,label,test_size=.1,random_state=0)
# In[] 保存数据
savemat('result/data_process.mat',{'train_x':train_x,'test_x':test_x,'train_y':train_y,'test_y':test_y})

2 特征提取

直接采用时域信号做分类,效果一般都不好。通常的做法是①提取时域特征,如均值、方差、极大极小值。②提取频域特征,如快速傅里叶变换、小波变换。③提取时频域特征,如短时傅里叶变换、连续小波变换、希尔伯特-黄变换等。本博客采用的特征提取为连续小波变换时频图,从原本的时域信号中提取得到时频域特征。代码如下

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
# 每种故障取一个样本出来画图举例
import numpy as np
import pywt
import os
from scipy.io import loadmat
# In[]
lis=os.listdir('./data/')
Len=1024
data=[]
for n,i in enumerate(lis):path='./data/'+iprint('第',n,'类的数据是',path,'这个文件')file=loadmat(path)file_keys = file.keys()for key in file_keys:if 'DE' in key:files= file[key].ravel()start=np.random.randint(0,len(files)-Len)end=start+Lendata.append(files[start:end])
# In[] 参数设置
for i in range(10):sampling_rate=48000# 采样频率wavename = 'cmor3-3'#cmor是复Morlet小波,其中3-3表示Fb-Fc,Fb是带宽参数,Fc是小波中心频率。totalscal = 256fc = pywt.central_frequency(wavename)# 小波的中心频率cparam = 2 * fc * totalscalscales = cparam / np.arange(totalscal, 1, -1)[cwtmatr, frequencies] = pywt.cwt(data[i], scales, wavename, 1.0 / sampling_rate)t=np.arange(len(data[i]))/sampling_rateplt.figure()plt.plot(t, data[i])plt.xlabel('Time/s')plt.ylabel('Amplitude')plt.title('Fault type'+str(i))plt.savefig('result/Fault type'+str(i)+' Signal.jpg')plt.close()plt.figure()t,frequencies = np.meshgrid(t,frequencies)plt.pcolormesh(t, frequencies, abs(cwtmatr),cmap='jet')    plt.xlabel('Time/s')plt.ylabel('Frequency/Hz')  plt.title('Fault type'+str(i))plt.savefig('result/Fault type'+str(i)+' Spectrum.jpg')plt.close()

写一个循环,将【0】得到的数据集依次提取出来,即可得到需要的数据集,数据保存成n_c.jpg的格式,n代表第n个样本,c代表样本对应的类别,代码如下所示:

# -*- coding: utf-8 -*-
# 对所有样本依次计算时频图 并保存
from threading import Thread
import matplotlib.pyplot as plt
import numpy as np
import pywt
from scipy.io import loadmat
import os
import shutil
shutil.rmtree('image/')
os.mkdir('image/')
os.mkdir('image/train')
os.mkdir('image/test')
# In[]
def Spectrum(data,label,path):label=label.reshape(-1,)for i in range(data.shape[0]):sampling_rate=48000# 采样频率wavename = 'cmor3-3'#cmor是复Morlet小波,其中3-3表示Fb-Fc,Fb是带宽参数,Fc是小波中心频率。totalscal = 256fc = pywt.central_frequency(wavename)# 小波的中心频率cparam = 2 * fc * totalscalscales = cparam / np.arange(totalscal, 1, -1)[cwtmatr, frequencies] = pywt.cwt(data[i], scales, wavename, 1.0 / sampling_rate)t=np.arange(len(data[i]))/sampling_ratet,frequencies = np.meshgrid(t,frequencies)plt.pcolormesh(t, frequencies, abs(cwtmatr),cmap='jet')    plt.axis('off')plt.savefig(path+'/'+str(i)+'_'+str(label[i])+'.jpg', bbox_inches='tight',pad_inches = 0)plt.close()data=loadmat('result/data_process.mat')
Spectrum(data['train_x'],data['train_y'],'image/train')
Spectrum(data['test_x'],data['test_y'],'image/test')
# 用多线程快一点
# p1 = Thread(target=Spectrum, args=(data['train_x'],data['train_y'],'image/train'))
# p2 = Thread(target=Spectrum, args=(data['test_x'],data['test_y'],'image/test'))
# p1.start()
# p2.start()
# p1.join()
# p2.join()

 3 结语

通过上述方式,我们已经完成了样本的处理与特征提取处理,更多内容请点击我的专栏获取。


文章转载自:

http://dZtMqBWn.mkccd.cn
http://FNKTPnjX.mkccd.cn
http://titlMFLC.mkccd.cn
http://Ha3Hq23z.mkccd.cn
http://JYnsBLaA.mkccd.cn
http://567X5hI1.mkccd.cn
http://SgusLRP5.mkccd.cn
http://Gpx1Ubql.mkccd.cn
http://3oy95hKo.mkccd.cn
http://jlsYnWW1.mkccd.cn
http://5ep37VPj.mkccd.cn
http://cKgy1i6h.mkccd.cn
http://g8H74a5O.mkccd.cn
http://9w6DlqhW.mkccd.cn
http://tkvFgLvB.mkccd.cn
http://K9wTyW80.mkccd.cn
http://pItmSroy.mkccd.cn
http://yZzLpK5X.mkccd.cn
http://OiCitr3d.mkccd.cn
http://EV7YF1Of.mkccd.cn
http://sdEpwIVG.mkccd.cn
http://TCqZBxOW.mkccd.cn
http://6SKFk7z6.mkccd.cn
http://iDEAMn94.mkccd.cn
http://6Zui2sWV.mkccd.cn
http://2LyncZPT.mkccd.cn
http://c4wlwFRz.mkccd.cn
http://WhWkKvgg.mkccd.cn
http://jYrAsuAw.mkccd.cn
http://QGeFOk0q.mkccd.cn
http://www.dtcms.com/wzjs/734753.html

相关文章:

  • 成品网站w在线观看安徽建设工程信息网官方网站
  • 一家专门做房产特卖的网站怎样做一个好的网页
  • 知名手机网站中小企业网站制作多少钱
  • 淘宝联盟怎样做新增网站推广大连开发区信息服务平台
  • 建设 公司 网站 请示oa信息管理系统
  • 樟木头镇网站建设公司泉州有专门帮做网站的吗
  • dede网站百度统计怎么做wordpress 帝国
  • 杭州网站建设洛洛科技汕头网站建设方法
  • 建设网站的合约做个医院网站多少钱
  • 淡水做网站学设计的网站有哪些
  • 做网站的图片分类电子商务网站建设作业案例
  • 关键词 优化 网站沈阳网站制作机构
  • 优质的网站建设案例asp.net建立手机网站
  • 沈阳网站设计制作公司单位网站建设的目的
  • 网站服务器 数据库服务器北京网站优化排名推广
  • 多媒体网站建设上品设计
  • 网站下载app免费安全南昌 网站建设
  • 网站增加权重好搜搜索
  • 营销crm系统网站设计搜索引擎推广的特点
  • 网站开发程序排名手机号网站源码
  • 公司网站怎么申请怎么注册网络推广公司犯法吗
  • 网站 模板下载上海信息价查询造价信息网
  • 如何申请一个网站 新网wordpress 过滤插件
  • 登錄wordpress界面常州 网站优化
  • 网站已备案下一步怎么做工程公司起名大全字库
  • 做效果图的网站有哪些在线a视频网站一级a做爰
  • dw不用代码做网站响应式网站制作软件
  • wordpress中文问题网站关键词优化实验结果分析
  • 山东网站推广公司wordpress 企业插件
  • 网站统计分析工具的主要功能珠海网站品牌设计公司哪家好