【发布时间】:2021-08-11 19:22:01
【问题描述】:
我目前正在使用太阳能电池板的随机森林机器学习技术构建手势检测系统。我有 6 种不同的手势(顺时针、滑动、张开拳头等)。我从 2 名参与者那里收集了每个手势的数据。虽然,我正在努力为我的项目上传和组织数据以准备培训、测试和验证。
两名参与者重复每个手势 30 次。我使用的 PicoScope 软件记录了两个变量,时间和电压。这都保存在一个 csv 文件中。时间在所有文件中都是常数,但电压会根据上面执行的手势而变化。
我有多个文件,保存在多个文件夹中。我的数据是这样排列的:
- 我目前有两个文件夹,参与者 1,参与者 2。
- 在参与者文件夹中还有 6 个文件夹来表示他们执行的每个手势 (顺时针、滑动、张开拳头等)
- 在每个手势文件夹中有 30 个 csv 文件,即 30 重复该特定手势
- 然后 csv 文件包含两列,时间和电压,包含 15,007 数据点。目标按其存储的文件夹分类 下
例如 - Participant1/Clockwise/Clockwise_23.csv
我将在此处留下数据集的链接:link dataset
我以前从未使用过多个文件进行机器学习,我相信我必须将所有文件附加在一起,然后才能输入机器学习模型。我将上传一张我认为这些数据应该是什么样子的图片。左边是数据当前的样子,右边是数据应该如何格式化? format
我一直在研究追加,但我没有看到任何接近这种复杂性的东西。我有多个子目录。我想要一个包含所有 csv 文件的数据集,其中包含时间、电压及其生成的手势目标。它的手势目标可以通过它所在的文件夹找到。有人可以帮我解决这个问题吗?
我已经设法将所有文件附加在一起 - 但目前,所有文件都被添加到相同的两个标题下,给我留下了 5507348 列。我希望每个文件数据都可以通过它自己的标签来识别。一行是时间,然后是下面的每个文件电压读数,最后是结果目标(保存文件的文件夹)
【问题讨论】:
-
基本上你想将文件路径(例如 Participant1/Clockwise/Clockwise_23)作为输出文件中最左边的 3 列,然后是该文件中已有的列。如果您可以计算出如何枚举所有文件(查看
os.path.walk()),那么您就有了这 3 列的值以及要扫描的文件的名称。依次读取每个文件,添加识别列,然后将标记数据写入单个文件。csv模块将非常简单地处理这个问题。毫无疑问,您会被告知“使用pandas”,但是如果有这么多数据,您可能会耗尽内存或时间。
标签: python machine-learning append tensor