使用Python读取人工智能训练数据(.csv)到特定数据结构

我是Python新手,正在尝试执行一个简单的任务,即读取一个.csv文件并将其保存到特定的数据结构中。我使用numpy来加载数据,得到的是一个ndarrayndarray,这并不是我想要的。

我的代码如下:

import numpyfilename = '../HTRU2/HTRU_2.csv'raw_data = open(filename, 'rU')data = numpy.loadtxt(raw_data, delimiter=',')

我想要的数据结构是一个listtuples。这些tuples是一对(x,y)的ndarrayx是一个形状为(nx – 1, 1)的ndarray,其中填充了float类型的数据,nx是文件中每行元素的数量减1;y是一个形状为(1, 1)的ndarray,它保存了该行的最后一个元素(也是float类型)。

你可能会认为这是一个我编造的奇怪数据结构,但实际上它非常有用,因为我的最终目标是将其放入神经网络中(如果你了解神经网络,你可能会猜到这个元组实际上是一对输入/输出,其中两者都是列矩阵)。我不能更改数据结构。

文件样本:

140.5625,55.68378214,-0.234571412,-0.699648398,3.199832776,19.11042633,7.975531794,74.24222492,0102.5078125,58.88243001,0.465318154,-0.515087909,1.677257525,14.86014572,10.57648674,127.3935796,0

每个元组看起来像这样:

#     x                      y[[140.5625]               [55.68378214][-0.234571412][-0.699648398][3.199832776][19.11042633][7.975531794][74.24222492]]     ,      [[0]]

回答:

我已经找到了一个解决方案:

import numpyfilename = '../HTRU2/test.csv'file = open(filename, 'rU')data = numpy.loadtxt(file, delimiter=',')training_data = list()for test in data:    training_data.append((test[:-1].reshape(8, 1), test[-1].reshape(1, 1)))

其中输入神经元的数量为8,输出神经元的数量为1。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注