Python 2.7 如何用python编写多级多值训练数据集
我是机器学习的初学者。我的学术项目涉及从加速度和陀螺仪数据中检测人体姿态。我一开始就被困住了。我的加速计数据有x、y、z值,gyro也有x、y、z值存储在文件acc.csv和gyro.csv中。我想把“站”、“坐”、“走”和“躺”的姿势分类。我们的想法是使用某种ML算法(监督)训练机器,然后抛出一个新的acc+陀螺数据集,以确定这个新数据集预测了什么(主题目前正在做什么)。我面临以下问题--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和陀螺轴读数将是独立的。所以,如果我想把它组合成一
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。我认为二维列表可能很有用,但只是不知道如何实现它。