使用神经网络训练数据之前,对数据进行标准化。且由于数据集正负样本不平衡,需要对训练集过采样以训练数据。

1. 标准化

1
2
3
4
5
6
7
8
9
def stand_sca(data):
"""
标准差标准化
:param data:传入的数据
:return:标准化之后的数据
"""

new_data=(data-data.mean())/data.std()
return new_data
X = stand_sca(X)

3. 过采样

一种方法是随机过采样,另一种方法是使用SMOTE方法

1
2
3
4
5
6
7
8
9
from imblearn.over_sampling import SMOTE
from imblearn.over_sampling import RandomOverSampler

#随机过采样
ros = RandomOverSampler(random_state=0, sampling_strategy='auto')
XX_train, yy_train = ros.fit_sample(XX_train, yy_train)

#SMOTE过采样
XX_train, yy_train = SMOTE().fit_sample(XX_train, yy_train)