使用Tensorflow处理UCI数据集

我正在尝试使用Tensorflow识别UCI数据集中的手写数字(https://archive.ics.uci.edu/ml/datasets/Optical+Recognition+of+Handwritten+Digits)。数据集中每行是一个8*8像素矩阵的扁平化表示,最后一个属性是类别代码0-9。然而,我之前学习的教程是关于MNIST数据的,这与之大不相同。MNIST数据是一个28*28的矩阵,值范围是0-255。所以,代码是这样的:

from tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets("/tmp/data", one_hot=True)x = tf.placeholder('float', [None, 784])y = tf.placeholder('float')

由于我对Tensorflow还比较陌生,我无法为UCI数据准备神经网络模型。我现在有两个主要的问题需要指导。

  1. 导入数据的方法是否正确?
  2. 如何将最后一个属性作为’y’标签?

目前我在考虑这样做:

filename_queue = tf.train.string_input_producer(["optdigits.tra"])reader = tf.TextLineReader()_, serialized_example = reader.read(filename_queue)image,label = decode(serialized_example)x = tf.placeholder('float', [None, 64])y = tf.placeholder('float')

基本上,我希望准备一个具有64个节点的输入层,并使用’y’标签作为输出,以便训练NN模型


回答:

我也是新手,可能这不是一个好的方法。我使用numpy导入了数据,然后将其转换为tensorflow格式。

import tensorflow as tfimport numpy as nptrainingDataSet_ = np.loadtxt('/data/optdigits.tra', delimiter=',');trainingDataSet = tf.convert_to_tensor(trainingDataSet_, np.int32)# 存储每个样本的标签y = trainingDataSet[:, 64]# 从特征中移除标签x = trainingDataSet[:, :64]

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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