jsp网站开发文献,网站推广网站制作网站建设公司,网站制作的前期主要是做好什么工作,网站建设深圳亿联时代关于 
本实验采用DEAP情绪数据集进行数据分类任务。使用了三种典型的深度学习网络#xff1a;2D 卷积神经网络#xff1b;1D卷积神经网络GRU#xff1b; LSTM网络。 
工具 数据集 
DEAP数据 图片来源#xff1a; DEAP: A Dataset for Emotion Analysis using Physiological…关于 
本实验采用DEAP情绪数据集进行数据分类任务。使用了三种典型的深度学习网络2D 卷积神经网络1D卷积神经网络GRU LSTM网络。 
工具 数据集 
DEAP数据 图片来源 DEAP: A Dataset for Emotion Analysis using Physiological and Audiovisual Signals 
方法实现 
2D-CNN网络 
加载必要库函数 
import pandas as pd
import keras.backend as K
import numpy as np
import pandas as pd
from keras.models import Sequential
from keras.layers import Dense
from keras.models import Sequential
from keras.layers.convolutional import Conv1D
from keras.layers.convolutional import MaxPooling1D
from tensorflow.keras.utils import to_categorical 
from keras.layers import Flatten
from keras.layers import Dense
import numpy as np
import keras
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D
from keras import backend as K
from keras.models import Model
import timeit
from keras.models import Sequential
from keras.layers.core import Flatten, Dense, Dropout
from keras.layers.convolutional import Convolution1D, MaxPooling1D, ZeroPadding1D
from tensorflow.keras.optimizers import SGD
#import cv2, numpy as np
import warnings
warnings.filterwarnings(ignore) 
加载DEAP数据集 data_training  []
label_training  []
data_testing  []
label_testing  []for subjects in subjectList:with open(/content/drive/My Drive/leading_ai/try/s  subjects  .npy, rb) as file:sub  np.load(file,allow_pickleTrue)for i in range (0,sub.shape[0]):if i % 5  0:data_testing.append(sub[i][0])label_testing.append(sub[i][1])else:data_training.append(sub[i][0])label_training.append(sub[i][1])np.save(/content/drive/My Drive/leading_ai/data_training, np.array(data_training), allow_pickleTrue, fix_importsTrue)
np.save(/content/drive/My Drive/leading_ai/label_training, np.array(label_training), allow_pickleTrue, fix_importsTrue)
print(training dataset:, np.array(data_training).shape, np.array(label_training).shape)np.save(/content/drive/My Drive/leading_ai/data_testing, np.array(data_testing), allow_pickleTrue, fix_importsTrue)
np.save(/content/drive/My Drive/leading_ai/label_testing, np.array(label_testing), allow_pickleTrue, fix_importsTrue)
print(testing dataset:, np.array(data_testing).shape, np.array(label_testing).shape) 数据标准化 
from sklearn.preprocessing import StandardScaler
scaler  StandardScaler()
x_train  scaler.fit_transform(x_train)
x_test  scaler.fit_transform(x_test) 
定义训练超参数 
batch_size  256
num_classes  10
epochs  200
input_shape(x_train.shape[1], 1) 定义模型 
from keras.layers import Convolution1D, ZeroPadding1D, MaxPooling1D, BatchNormalization, Activation, Dropout, Flatten, Dense
from keras.regularizers import l2model  Sequential()
intput_shape(x_train.shape[1], 1)
model.add(Conv1D(164, kernel_size3,padding  same,activationrelu, input_shapeinput_shape))
model.add(BatchNormalization())
model.add(MaxPooling1D(pool_size(2)))
model.add(Conv1D(164,kernel_size3,padding  same, activationrelu))
model.add(BatchNormalization())
model.add(MaxPooling1D(pool_size(2)))
model.add(Conv1D(82,kernel_size3,padding  same, activationrelu))
model.add(MaxPooling1D(pool_size(2)))
model.add(Flatten())
model.add(Dense(82, activationtanh))
model.add(Dropout(0.2))
model.add(Dense(42, activationtanh))
model.add(Dropout(0.2))
model.add(Dense(21, activationrelu))
model.add(Dropout(0.2))
model.add(Dense(num_classes, activationsoftmax))
model.summary() 
模型配置和训练 
model.compile(losskeras.losses.categorical_crossentropy,optimizeradam,metrics[accuracy])historymodel.fit(x_train, y_train,batch_sizebatch_size,epochsepochs,  verbose1,validation_data(x_test,y_test)) 模型测试集验证 
score  model.evaluate(x_test, y_test, verbose1)
print(Test loss:, score[0])
print(Test accuracy:, score[1]) 模型训练过程可视化 
# summarize history for accuracy
plt.plot(history.history[accuracy])
plt.plot(history.history[val_accuracy])
plt.title(model accuracy)
plt.ylabel(accuracy)
plt.xlabel(epoch)
plt.legend([train, test], locupper left)
plt.show() 模型测试集分类混沌矩阵 
cmatrixconfusion_matrix(y_test1, y_pred)import seaborn as sns
figure  plt.figure(figsize(8, 8))
sns.heatmap(cmatrix, annotTrue,cmapplt.cm.Blues)
plt.tight_layout()
plt.ylabel(True label)
plt.xlabel(Predicted label)
plt.show() 模型测试集分类report 
from sklearn import metrics
y_pred  np.around(model.predict(x_test))
print(metrics.classification_report(y_test,y_pred)) 1D-CNNGRU网络 
数据预处理 
必要库函数加载,数据加载预处理同2D CNN一样不在赘述。 
!pip install githttps://github.com/forrestbao/pyeeg.git
import numpy as np
import pyeeg as pe
import pickle as pickle
import pandas as pd
import matplotlib.pyplot as plt
import mathimport os
import time
import timeit
import keras
import keras.backend as K
from keras.models import Model
from keras.layers import Flatten
from keras.datasets import mnist
from keras.models import Sequential
from sklearn.preprocessing import normalize
from tensorflow.keras.optimizers import SGD
from keras.layers.convolutional import Conv1D
from keras.layers.convolutional import MaxPooling1D
from keras.layers.convolutional import ZeroPadding1D
from tensorflow.keras.utils import to_categorical
from keras.layers import Dense, Dropout, Flatten,GRUimport warnings
warnings.filterwarnings(ignore) 
模型搭建 
from keras.layers import Convolution1D, ZeroPadding1D, MaxPooling1D, BatchNormalization, Activation, Dropout, Flatten, Dense,GRU,LSTM
from keras.regularizers import l2from keras.models import load_model
from keras.layers import Lambda
import tensorflow as tfmodel_2  Sequential()model_2.add(Conv1D(128, 3, activationrelu, input_shapeinput_shape))
model_2.add(MaxPooling1D(pool_size2))
model_2.add(Dropout(0.2))model_2.add(Conv1D(128, 3,  activationrelu))
model_2.add(MaxPooling1D(pool_size2))
model_2.add(Dropout(0.2))model_2.add(GRU(units  256, return_sequencesTrue))  
model_2.add(Dropout(0.2))model_2.add(GRU(units  32))
model_2.add(Dropout(0.2))model_2.add(Flatten())model_2.add(Dense(units  128, activationrelu))
model_2.add(Dropout(0.2))model_2.add(Dense(units  num_classes))
model_2.add(Activation(softmax))model_2.summary() 模型编译和训练 
model_2.compile(optimizer adam,loss  categorical_crossentropy,metrics[accuracy]
)history_2  model_2.fit(x_train, y_train,epochsepochs,batch_sizebatch_size,verbose1,validation_data(x_test, y_test),callbacks[keras.callbacks.EarlyStopping(monitorval_loss,patience20,restore_best_weightsTrue)]
) 模型训练过程可视化 
# summarize history for accuracy
plt.plot(history_2.history[accuracy],colorgreen,linewidth3.0)
plt.plot(history_2.history[val_accuracy],colorred,linewidth3.0)
plt.title(model accuracy)
plt.ylabel(accuracy)
plt.xlabel(epoch)
plt.legend([train, test], locupper left)plt.savefig(/content/drive/My Drive/GRU/model accuracy.png)
plt.show()# summarize history for loss
plt.plot(history_2.history[loss],colorgreen,linewidth2.0)
plt.plot(history_2.history[val_loss],colorred,linewidth2.0)
plt.title(model loss)
plt.ylabel(loss)
plt.xlabel(epoch)
plt.legend([train, test], locupper left)plt.savefig(/content/drive/My Drive/GRU/model loss.png)
plt.show() 模型测试集分类混沌矩阵和分类report LSTM网络 
数据加载/预处理 
同上 
模型搭建和训练 from keras.regularizers import l2from keras.layers import Bidirectionalfrom keras.layers import LSTMmodel  Sequential()model.add(Bidirectional(LSTM(164, return_sequencesTrue), input_shapeinput_shape))model.add(Dropout(0.6))model.add(LSTM(units  256, return_sequences  True))  model.add(Dropout(0.6))model.add(LSTM(units  82, return_sequences  True))  model.add(Dropout(0.6))model.add(LSTM(units  82, return_sequences  True))  model.add(Dropout(0.4))model.add(LSTM(units  42))model.add(Dropout(0.4))model.add(Dense(units  21))model.add(Activation(relu))model.add(Dense(units  num_classes))model.add(Activation(softmax))model.compile(optimizer adam, loss keras.losses.categorical_crossentropy,metrics[accuracy])model.summary()mmodel.fit(x_train, y_train,epochs200,batch_size256,verbose1,validation_data(x_test, y_test)) 模型训练过程可视化 
import matplotlib.pyplot as plt
print(m.history.keys())
# summarize history for accuracy
plt.plot(m.history[accuracy],colorgreen,linewidth3.0)
plt.plot(m.history[val_accuracy],colorred,linewidth3.0)plt.title(model accuracy)
plt.ylabel(accuracy)
plt.xlabel(epoch)
plt.legend([train, test], locupper left)plt.savefig(./Bi- LSTM/model accuracy.png)
plt.show()import imageio
plt.plot(m.history[loss],colorgreen,linewidth2.0)
plt.plot(m.history[val_loss],colorred,linewidth2.0)plt.title(model loss)
plt.ylabel(loss)
plt.xlabel(epoch)
plt.legend([train, test], locupper left)#to save the image
plt.savefig(./Bi- LSTM/model loss.png)
plt.show() 模型测试集分类性能 代码获取 
后台私信请注明文章题目数据需要自己下载和处理 
相关项目和代码问题欢迎交流。