Input Tensorflow:学习布尔特征的评估

Input Tensorflow:学习布尔特征的评估,input,tensorflow,boolean,Input,Tensorflow,Boolean,我想用tensorflow训练一个具有如下布尔特征的模型: data = np.array([[0,0,0],[0,0,1],[0,1,0],[1,0,0],[1,0,1],[1,1,1]], dtype=bool) target = np.array([0,1,2,3,4,5], dtype=np.int ) 看起来对我来说是一项容易的任务,但事实证明,这对我来说并不容易。我不知道如何做到这一点,在网上找不到任何类似的(除此之外),我也无法根据我的需要调整tensorflow示例之一 好的

我想用tensorflow训练一个具有如下布尔特征的模型:

data = np.array([[0,0,0],[0,0,1],[0,1,0],[1,0,0],[1,0,1],[1,1,1]], dtype=bool)

target = np.array([0,1,2,3,4,5], dtype=np.int )
看起来对我来说是一项容易的任务,但事实证明,这对我来说并不容易。我不知道如何做到这一点,在网上找不到任何类似的(除此之外),我也无法根据我的需要调整tensorflow示例之一

好的,代码来了

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function


import tensorflow as tf
import numpy as np
import collections

# Data sets
dataComplete = np.array([[0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1],[1,1,0],[1,1,1]], dtype=bool)
targetComplete = np.array([0,     1,      2,      3,      4,      5,      6,      7     ], dtype=np.int )

Dataset = collections.namedtuple('Dataset', ['data', 'target'])

# for trainig data, remove some data from the complete set
data = np.delete(dataComplete, [2,4,6], 0)
target = np.delete(targetComplete, [2,4,6])
training_set = Dataset(data=data, target=target)

# for test set pick some of the complete set.
data = np.array([[0,1,0], [1,0,0]], dtype=bool)
target = np.array([2,4], dtype=np.int )
test_set = Dataset(data=data, target=target)


# Specify that all features have real-value data 
# <-- This is seems to be wrong. I do not have a real valued featured, but boolean features. However
# I could not something like tf.contrib.layers.boolean_valued_column
feature_columns = [tf.contrib.layers.real_valued_column("", dimension=3)]


# Build 3 layer DNN with 10, 20, 10 units respectively.
#classifier = tf.contrib.learn.DNNClassifier(feature_columns=feature_columns,
#                                            hidden_units=[10, 20, 10],
#                                            n_classes=8,
#                                            model_dir="/tmp/chesspositions_model")
classifier = tf.contrib.learn.LinearClassifier(feature_columns)

# Fit model.
classifier.fit(x=training_set.data,
               y=training_set.target,
               steps=100)

# Evaluate accuracy.
accuracy_score = classifier.evaluate(x=test_set.data,
                                     y=test_set.target)["accuracy"]

print('Accuracy: {0:f}'.format(accuracy_score))
来自未来导入绝对导入
来自未来进口部
来自未来导入打印功能
导入tensorflow作为tf
将numpy作为np导入
导入集合
#数据集
dataComplete=np.数组([[0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,1],[1,1,0],[1,1,0],[1,1,1]],dtype=bool)
targetComplete=np.array([0,1,2,3,4,5,6,7],dtype=np.int)
Dataset=collections.namedtuple('Dataset',['data','target']))
#对于trainig数据,从整套数据中删除一些数据
数据=np.delete(数据完整,[2,4,6],0)
target=np.delete(targetComplete[2,4,6])
培训集=数据集(数据=数据,目标=目标)
#对于测试集,选择一些完整的测试集。
data=np.array([[0,1,0],[1,0,0]],dtype=bool)
target=np.array([2,4],dtype=np.int)
测试集=数据集(数据=数据,目标=目标)
#指定所有要素都具有真实值数据

#请发布一些tensorflow代码,你使用了什么?谢谢你的快速回复。请发布一些tensorflow代码,你使用了什么?谢谢你的快速回复。