【问题标题】:Each csv as one training example每个 csv 作为一个训练样例
【发布时间】:2025-12-07 10:00:01
【问题描述】:

我有许多 csv 文件,其中包含多行和多列,其中大部分是浮点数(有些是分类的,但单热编码)。 每个 csv 文件是一个训练示例的表示。它在同一个文件中包含因变量和自变量。 (例如,它不像机器学习问题,每行包含所有信息并预测该行的 y1、y2、y3,它像 x1 到 x8 的所有行组合 将预测 y1 到 y3 的所有行组合。因此,每个 csv 都成为一个训练样本。

representation of one such csv

** 上图是此类 csv 文件之一的表示

请注意,每个 csv 的长度/大小各不相同。

我想构建一个简单的 ann 或任何其他神经网络模型。我在处理输入数据时遇到问题。由于每个 csv 都是一个单独的训练示例,我应该以哪种格式存储数据以传递给神经网络。

提前致谢, skw

【问题讨论】:

  • 数据是关于什么的?行或列是否以任何方式相关。请提供更多信息。你得到 3 个输出:y1,y2,y3 8 个输入属性:x1-x8

标签: python-3.x csv machine-learning


【解决方案1】:

假设您有一些具有相同数据格式的 .csv 文件存储在文件夹 data 中。

首先,您可以使用 glob 读取文件名并使用 pandas 读取 csv 并转换为 numpy 数组。

import glob
import pandas as pd

csv = [] # read as numpy array
for f in glob.glob('path/*.csv'):
    csv.append(pd.read_csv(f).to_numpy)

print(csv[0].shape)

# it should print (num_rows_csv, 11) # as, 11 columns

# now, first 8 columns are features, and last 3 columns are response

X = []
y = []
for arr in csv:
    X.append(arr[0:8])
    y.append(arr[8:])

X = np.array(X)
y = np.array(y)

现在,使用 CNN、LSTM 以及您想要的任何模型都可以轻松地进行训练。

【讨论】:

    最近更新 更多