首页 > 解决方案 > 加载和解释多个 csv 文件作为机器学习数据集的单独项目

问题描述

项目描述

为了很好地说明一个问题,我将简要描述我正在处理的项目,对于问题描述,请看低一点

我正在创建道路质量测试系统,基本上它的工作原理是您驾驶汽车,将手机放在手机支架或其他稳定的地方,安装应用程序,从加速度计传感器和 GPS(以及其他一些时间等不太重要),然后将数据发送到服务器,在该服务器上在地图上进行解释和可视化。

现在,我正在收集的数据看起来像这样(您不需要确切知道数字是什么,重要的是颜色模式),彩色列是力向量的长度,首先是原始的,然后另外两个是在应用了一些数学函数之后: 原始数据

正如您在一些数据过滤后可以注意到的那样,我可以得到提到的模式,即最后一个彩色列中的那些红色字段。提供的只是一些路上的赔率

另一个例子,这次只有彩色柱子,是道路上的洞:

孔示例

我现在能认出的最后一个道路障碍是道路颠簸,它看起来像定期间隔的 4 个洞。

问题描述

我发现我可以创建机器学习模型,该模型将能够识别是否发生道路损坏和/或识别此障碍物的类型。我正在为自己收集数据,所以我开始准备数据集。我假设 ML 模型只需要我的因素(彩色的)和行驶速度(可能是时间)。

我在障碍物上方和下方获取 200 行数据,以便从中获取 200 个 csv 文件,以说明我如何收集这些文件:

从数据中收集 200 行

文件夹结构:

文件夹结构 - 目录 文件夹结构 - csv 文件

csv 内容示例:

0.2745889796080920;27.658
0.1789459363942790;27.658
0.1789459363942790;27.658
0.5064691706612310;27.658
13.6741337473481000;27.658
0.0008198475472302;27.658
0.6966460666299380;27.658
1.7608043004079600;27.658
17.1857193812806000;27.658
0.0033345195462651;27.658
1.0955065298328300;27.658
23.1644179090102000;27.658
9.3623249392203400;27.658
0.0400827515217403;27.658
0.2744935355442740;27.658
1.4151560667347700;27.658
0.0211310325855840;27.658
0.0529549443495651;27.658
1.0637415545460900;27.262
0.9158744998054270;27.262
65.2394434473637000;27.262
0.9373089761616180;27.262
4.4455242861703800;27.262
4.4455242861703800;27.262
0.0153213854311974;27.262
0.1598523159957960;27.262
2.9905854651232400;27.262
0.0013359036789980;27.262
1.5977170994976800;27.262
0.3556375168313520;27.262
0.0478571184444607;27.262
0.2921162160902950;27.262
0.0045640507972654;27.262

为以下三个类别之一创建 CSV 文件:Hole、Odds、Bumps。我可以通过文件名或将它们放置在其他目录中或使用所有 csv 名称和每个标签创建其他 csv 来标记它们。我希望在给模型 200 行数据后,它可以确定是否有任何障碍或定义其类型。

我想使用 Tensorflow 和 Python 创建 ML 模型,以前从未这样做过。现在我在 Google Collab 工作(如果有什么不同的话)我已经搜索过,但找不到答案,我发现只导入带有值和标签的 csv 文件。

我确实有基本的 python 代码,但它什么也没做。这是我的方法:

import pandas as pd
import numpy as np

# Make numpy values easier to read.
np.set_printoptions(precision=3, suppress=True)

import tensorflow as tf
from tensorflow.keras import layers
from tensorflow.keras.layers.experimental import preprocessing

roads_zip = tf.keras.utils.get_file(
    'dataset.zip',  "#Google-drive-link",
    extract=True)

import pathlib
font_csvs =  sorted(str(p) for p in pathlib.Path('dataset/dataset/hole').glob("*.csv"))

font_csvs[:10]

class DataInfo:
  bump = sorted(str(p) for p in pathlib.Path('dataset/dataset/bump').glob("*.csv"))
  hole = sorted(str(p) for p in pathlib.Path('dataset/dataset/hole').glob("*.csv"))
  odds = sorted(str(p) for p in pathlib.Path('dataset/dataset/odds').glob("*.csv"))
data = DataInfo()
print(data.hole)

所以问题是

如何从所有这些文件创建数据集以及如何导入它们并使 ML 正确解释它们?我的方法是否正确?

标签: pythonpandastensorflowmachine-learning

解决方案


推荐阅读