python-3.x - 每个 csv 作为一个训练样例
问题描述
我有许多具有多行和多列的 csv 文件,这些文件大多是浮点数(有些是分类的,但单热编码)。每个 csv 文件是一个训练示例的表示。它在同一个文件中包含因变量和自变量。(例如,它不像机器学习问题,其中每一行包含所有信息并预测该行的 y1、y2、y3,它就像 x1 到 x8 组合的所有行将预测 y1 到 y3 组合的所有行。因此,每个csv 成为一个训练示例。
** 上图是此类 csv 文件之一的表示
请注意,每个 csv 的长度/大小各不相同。
我想建立一个简单的 ann 或任何其他神经网络模型。我在处理输入数据时遇到问题。由于每个 csv 都是一个单独的训练示例,我应该以哪种格式存储数据以传递给神经网络。
提前谢谢, skw
解决方案
假设您有一些具有相同数据格式的 .csv 文件存储在文件夹数据中。
首先,您可以使用 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 以及您想要的任何模型都可以轻松地进行训练。
推荐阅读
- jquery - 日期选择器未显示
- android - 错误活动管理器:PID:24243
- java - 如何在 Web 服务器上部署 Java 应用程序
- javascript - 如何在 JavaScript 中添加日期时间的小时数
- html - 一个菜单栏在最小化后隐藏在另一个菜单栏下
- javascript - 来自数据库的日历
- java - 如何使用 Stream 的 collect() 按字符串列表的内容进行分组?
- xamarin.forms - Xamarin Forms,主详细信息中的错误
- angular - Chrome 控制台在提供生产数据时记录错误的打字稿文件和行
- javascript - Div 无处复制