Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 如何用python编写多级多值训练数据集_Python 2.7_Machine Learning_Activity Recognition - Fatal编程技术网

Python 2.7 如何用python编写多级多值训练数据集

Python 2.7 如何用python编写多级多值训练数据集,python-2.7,machine-learning,activity-recognition,Python 2.7,Machine Learning,Activity Recognition,我是机器学习的初学者。我的学术项目涉及从加速度和陀螺仪数据中检测人体姿态。我一开始就被困住了。我的加速计数据有x、y、z值,gyro也有x、y、z值存储在文件acc.csv和gyro.csv中。我想把“站”、“坐”、“走”和“躺”的姿势分类。我们的想法是使用某种ML算法(监督)训练机器,然后抛出一个新的acc+陀螺数据集,以确定这个新数据集预测了什么(主题目前正在做什么)。我面临以下问题-- 构建一个训练数据集——我认为我的活动将是因变量,acc和陀螺轴读数将是独立的。所以,如果我想把它组合成一

我是机器学习的初学者。我的学术项目涉及从加速度和陀螺仪数据中检测人体姿态。我一开始就被困住了。我的加速计数据有x、y、z值,gyro也有x、y、z值存储在文件acc.csv和gyro.csv中。我想把“站”、“坐”、“走”和“躺”的姿势分类。我们的想法是使用某种ML算法(监督)训练机器,然后抛出一个新的acc+陀螺数据集,以确定这个新数据集预测了什么(主题目前正在做什么)。我面临以下问题--

  • 构建一个训练数据集——我认为我的活动将是因变量,acc和陀螺轴读数将是独立的。所以,如果我想把它组合成一个矩阵,矩阵的每个元素都有它自己的acc和gyro值(比如主矩阵和子矩阵),我该怎么做呢?或者,有没有其他办法可以做到这一点
  • 如何在一个培训矩阵中获取多个活动和多个读数的数据, 我的意思是10个行走数据,每个都有自己的acc(xyz)和陀螺仪(xyz)+10个站立数据,每个都有自己的acc(xyz)和陀螺仪(xyz)+10个坐姿数据,每个都有自己的acc(xyz)和陀螺仪(xyz),以此类推
  • 每个数据文件都有不同数量的记录和时间戳,如何将它们带到一个公共平台中。 我知道我在问一些非常基本的问题,但这些都是没有人向我解释清楚的困惑部分。我感觉就像站在一扇关闭的大门前,里面正在发生着非常有趣的事情,而此时我的知识有限,无法参与其中。我的数学背景只有高中水平。请帮忙
  • 我在Github中完成了一些关于活动识别的项目。但是对于像我这样的初学者来说,它们太复杂了

    import pandas as pd
    import os
    import warnings 
    from sklearn.utils import shuffle
    warnings.filterwarnings('ignore')
    os.listdir('../input/testtraindata/')
    
    base_train_dir = '../input/testtraindata/Train_Set/'
    #Train Data
    train_data = pd.DataFrame(columns = ['activity','ax','ay','az','gx','gy','gz'])
    train_folders = os.listdir(base_train_dir)
    
    for tf in train_folders:
        files = os.listdir(base_train_dir+tf)
        for f in files:
            df = pd.read_csv(base_train_dir+tf+'/'+f)
            train_data = pd.concat([train_data,df],axis = 0)
    train_data = shuffle(train_data)
    train_data.reset_index(drop = True,inplace = True)
    train_data.head()
    

    令人惊讶的是,如果我从

    train_data = pd.DataFrame(columns =['activity','ax','ay','az','gx','gy','gz'])
    

    一切正常。

    您已将数据标记为?-->x,y,z的位置…=位置

    我对这些值没有任何线索(因为我没有看到数据集,也没有关于位置、acc或gyro的线索),但我猜你应该在矩阵中有一个数据集,其中x、y、z为类别,目标类别;“职位”

    如果您需要全部6个(3个来自一个csv,3个来自另一个csv)来定义职位,您可以创建6个类别+职位

    类似于:x_1、y_1 z_1、x_2、y_2和z_2+位置标签(“位置”类别)

    您还可以将每个职位设置为自己的类别,0/1为真/假。 “坐”、“走”等等。。。并将0和1作为列中的值

    时间戳对该职位是否重要?如果这不是一个重要的特征,我就放弃它。如果它在某种程度上很重要,你可能想把它们扔进垃圾箱

    这是一个来自媒体的初学者指南,您可以在其中了解一些如何预处理数据。它还显示了一个热编码:)


    还可以尝试通过谷歌搜索预处理数据,然后您可能会找到正确的配方

    谢谢您详细的回复。我已经在文件夹“SITT”中标记了姿态sit1=acc的xyz+陀螺的xyz,sit2=acc的xyz+陀螺的zyz…sit10=acc的xyz+陀螺的xyz的数据。与其他活动类似。时间戳并不重要。因此,我认为第二种方法可能是最好的:将其设置为一个csv:x_1…,并将坐姿设置为每个姿势的不同类别…?好,实际上,我做了一个csv文件的组合部分,它使用100条记录从每个acc.json和gyro.json生成一个包含字段的文件sit1.csv,现在我已经缩小了问题的范围。对于每个y列=坐着,我有100行x列值。现在如何将其传送到x-train?我看到的所有示例都是考虑一行X-train对应一行y-train[一对一关系],但在我的例子中,一行y-train[多对一关系]对应100行X-train。我认为二维列表可能很有用,但只是不知道如何实现它。