使用数据集进行TensorFlow分类

时间:2016-04-18 21:53:22

标签: machine-learning neural-network classification tensorflow

我需要利用TensorFlow为项目根据属性将项目分类到某个类(1,2或3)。

只有问题几乎每个TF教程或我在网上找到的例子都是关于图像识别或文本分类。我无法根据数字找到任何有关分类的信息。我想我要求的是从哪里开始。如果有人知道相关的例子,或者我只是想到这个完全错误。

我们为每个项目提供了13个属性,并且需要使用TF神经网络对每个项目进行正确分类(或标记误差范围)。但是网上的任何内容都没有告诉我如何从这种数据集开始。

数据集示例:(第一个值是类,其他值是属性)

2, 11.84, 2.89, 2.23, 18,   112, 1.72, 1.32, 0.43, 0.95, 2.65, 0.96, 2.52, 500
3, 13.69, 3.26, 2.54, 20,   107, 1.83, 0.56, 0.5,  0.8,  5.88, 0.96, 1.82, 680
3, 13.84, 4.12, 2.38, 19.5, 89,  1.8,  0.83, 0.48, 1.56, 9.01, 0.57, 1.64, 480
2, 11.56, 2.05, 3.23, 28.5, 119, 3.18, 5.08, 0.47, 1.87, 6,    0.93, 3.69, 465
1, 14.06, 1.63, 2.28, 16,   126, 3,    3.17, 0.24, 2.1,  5.65, 1.09, 3.71, 780

2 个答案:

答案 0 :(得分:0)

假设您有一个文件data.txt中的数据。您可以使用Numpy来阅读:

import numpy as np
xy = np.loadtxt('data.txt', unpack=True, dtype='float32')
x_data = xy[1:]
y_data = xy[0];

更多信息:http://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.loadtxt.html

也许,你可能需要' np.transpose'取决于你的重量和操作的形状。

x_data = np.transpose(xy[1:])

然后,使用'占位符'和' feed_dict'训练/测试你的模型:

X = tf.placeholder("float", ...
Y = tf.placeholder("float", ...
....
with tf.Session() as sess:
....
       sess.run(optimizer, feed_dict={X:x_data, Y:y_data})

答案 1 :(得分:0)

针对此类问题,TensorFlow有深入的教程here 或致力于数据科学here

如果您正在寻找要开始播放的视频,我认为senddex有关泰坦尼克号数据集的教程 是您正在寻找的东西,尽管他使用k表示进行分类 (实际上,我认为他的整个深度学习/机器学习播放列表都很不错)
您可以找到它here

否则,如果您正在寻找基本的入门方法

第一个前提:

首先尝试将数据分为类标签和输入(pandas lib应该可以帮助您)

使您的类标签成为一个热点数组

将数据标准化:

您的不同数据属性似乎具有截然不同的范围,请确保将它们全部设置在0到1之间的同一范围内

建立模型:

一个简单的完全连接的网络应该可以解决问题 请记住,使输出层的大小与您拥有的类数相同

在结局层的输出上使用argmax函数来确定模型认为哪个类是正确的分类