# -*-coding: utf-8-*-
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import scipy.io as sio
from sklearn.decomposition import PCA
from sklearn.cross_validation import train_test_split
from sklearn.preprocessing import StandardScaler
import pca_vector_number
# 导入matlab文件
matfn=u'/home/wangbo/特征数据/realdata3.mat'
rawdata=sio.loadmat(matfn) # 得到的是字典类型
# 导出所有特征
ppgfeatures=rawdata['PPG_Features'] #这是一个 long×31 的
ecgfeatures=rawdata['ECG_Features'] #这是一个 long×5 的
alingfeatures=rawdata['PPG_ECG_alingFeatures'] #这是一个 long×3 的
sys_bp=rawdata['SYS_BP'].transpose() # 这里的数据的二维ndarray数据 1*long,再转置
dia_bp=rawdata['DIA_BP'].transpose()
# 变ndarray为DataFrame
a=pd.DataFrame(ppgfeatures,columns=['PH','DNH','DNHr','DPH','DPHr','RBW','RBW10','RBW25','RBW33','RBW50','RBW75','DBW10','DBW25','DBW33','DBW50','DBW75','PDNT','DNDPT','KVAL','PWA','RBAr','DBAr','DiaAr','SLP1','SLP2','SLP3','AmBE','E','KTEMIU','KTEDELTA','ENTROP'])
b=pd.DataFrame(ecgfeatures,columns=['T_QR','T_RS','T_RR','H_QR','H_RS'])
c=pd.DataFrame(alingfeatures,columns=['PWTT_RP','PWTT_RO','PWTT_RhalfP'])
d=pd.DataFrame(sys_bp,columns=['SYS_BP'])
e=pd.DataFrame(dia_bp,columns=['DIA_BP'])
data=pd.concat([a,b,c,d,e],axis=1)
# 将数据划分为训练数据集和测试集
x=data.iloc[:,0:39]
y=data.iloc[:,[39,40]]
x_train, x_test, y_train, y_test=train_test_split(x,y,test_size=0.1,random_state=0) #70%训练
# 特征数据标准化
stdsc = StandardScaler()
x_train_std = stdsc.fit_transform(x_train)
x_test_std = stdsc.transform(x_test)
# 构造协方差矩阵
cov_mat = np.cov(x_train_std,rowvar=0)
eigen_vals, engen_vecs = np.linalg.eig(cov_mat)
print eigen_vals
number=pca_vector_number.percentage2n(eigen_vals,0.95)
print number
# 要几个特征向量
tot=sum(eigen_vals)
var_exp=[(i/tot) for i in sorted(eigen_vals,reverse=True)]
cum_var_exp=np.cumsum(var_exp)
plt.bar(range(1,40),var_exp,alpha=0.5,align='center')
plt.step(range(1,40),cum_var_exp,where='mid')
plt.show()
基于机器学习的连续血压估计.zip
版权申诉
21 浏览量
2024-02-15
14:31:03
上传
评论 1
收藏 2KB ZIP 举报
博士僧小星
- 粉丝: 1923
- 资源: 5884
最新资源
- keil2 + proteus + 8051.exe
- 1961ee27df03bd4595d28e24b00dde4e_744c805f7e4fb4d40fa3f695bfbab035_8(1).c
- mediapipe-0.9.0.1-cp37-cp37m-win-amd64.whl.zip
- windows注册表编辑工具
- mediapipe-0.9.0.1-cp37-cp37m-win-amd64.whl.zip
- 校园通行码预约管理系统20240522075502
- 车类型数据集6250张VOC+YOLO格式.zip
- The PyTorch implementation of STGCN.STGCN-main.zip
- 092300108.cpp
- 车类型数据集6000张VOC+YOLO格式.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈