csv文件处理及数据标准化
文章目录
一、对写入的多个csv文件进行合并处理
开始阶段先着重于对单一简单手势的分类,在这里先研究握拳(clench):
1.先运行在上一章节的数据提取程序在这里我将提取的数据保存到以下路径:/home/ubantu/Documents/MyoDataProcessing/all_Data/Clench_Data/data0.csv
命名csv文件为data0.csv,并在最后空白列补充gesture属性,给每个样本添加“clench”真实值,如下图:
保存数据。用同样的方法在路径:
/home/ubantu/Documents/MyoDataProcessing/all_Data/Stable_Data/data0.csv
下保存静止状态下(即不做任何动作下的数据),同样命名为data0.csv(和之前命名不冲突)
2.进行文件合并:
csv1 = pd.read_csv("/home/ubantu/Documents/MyoDataProcessing/all_Data/Clench_Data/data0.csv")
csv2 = pd.read_csv("/home/ubantu/Documents/MyoDataProcessing/all_Data/Stable_Data/data0.csv")
#合并csv表
result = csv1.append(csv2)
# 提取emg_1~gyrp_3切片
result = result.iloc[:, 1:19]
得到DataFrame格式result,再将数据切片处理(不需要index和gesture属性)以便进行标准化处理,print(result)得到输出如下:
emg_1: emg_2 emg_3 emg_4 ... accel_3 gyro_1 gyro_2 gyro_3
0 2 36 23 -8 ... 0.153809 -0.0625 0.1250 -0.5000
1 -5 17 12 -5 ... 0.153809 -0.0625 0.1250 -0.5000
2 14 21 -14 12 ... 0.152344 -1.7500 -0.1875 -0.5000
3 4 -56 -79 -43 ... 0.152344 -1.7500 -0.1875 -0.5000
4 14 62 69 27 ... 0.152344 -1.7500 -0.1875 -0.5000
.. ... ... ... ... ... ... ... ... ...
991 -7 -7 -13 -7 ... 0.022461 -0.0625 0.0000 0.0000
992 -6 -5 -8 -9 ... 0.016113 -0.0625 0.0625 -0.0625
993 9 7 10 5 ... 0.016113 -0.0625 0.0625 -0.0625
994 -3 5 -2 1 ... 0.016113 -0.0625 0.0625 -0.0625
995 -6 -4 -13 -10 ... 0.016113 -0.0625 0.0625 -0.0625
[1992 rows x 18 columns] <class 'pandas.core.frame.DataFrame'>
二、进行训练集和数据集划分
1.引入库
from sklearn.model_selection import train_test_split
2. 定义Train_test_split()方法
#训练集、测试集划分
def Train_test_split():
train_data,test_data=train_test_split(result,test_size=0.3,shuffle=True,random_state=42)
#print(train_data,type(train_data))
return test_data,test_data
我把测试集大小设置为百分之30即test_size=0.3,shuffle=True打乱顺序,和随便的随机数random_state=42。
三、对训练集进行标准化处理
1.引入库
from sklearn.preprocessing import StandardScaler
2.定义StandardScalerPreprocessing(train_data)方法
def StandardScalerPreprocessing(train_data):
#实列化转换器
transfer = StandardScaler()
resultnew = transfer.fit_transform(train_data)
#print("resultnew:\n", resultnew, type(resultnew))
return resultnew
3.测试
resultnew:
[[-0.00450228 -0.39534353 0.25061944 ... 0.5214773 2.20450957
0.88013602]
[ 0.09521483 0.182297 0.14266955 ... 0.5214773 -0.95885242
-1.22639765]
[ 0.19493194 -0.33116125 -0.82887942 ... 0.06985757 0.69159732
0.33399766]
...
[ 0.39436615 0.5032084 0.50250251 ... 0.1827625 -0.82131494
-0.99233836]
[ 0.39436615 0.08602358 0.21463615 ... -0.04304737 -1.09638989
-1.07035812]
[-1.10139046 0.3427527 -3.34771011 ... -1.39790657 0.69159732
0.88013602]] <class 'numpy.ndarray'>
Process finished with exit code 0
四、未来规划
通过训练集行进建模,并用测试集进行预测
五、最后
迟到的中秋快乐!昨天吃了四个月饼!
希望大家都开开心心的去感受每一天的美好和喜悦!