linux平台基于python语言的MYO手环手势识别开发(二)

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

四、未来规划

通过训练集行进建模,并用测试集进行预测

五、最后

迟到的中秋快乐!昨天吃了四个月饼!请添加图片描述
希望大家都开开心心的去感受每一天的美好和喜悦!


  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值