Python Tensorflow中的多个分类输入变量
我有一个数据集,其中每个特征向量有50个特征,其中45个是分类的。我无法将分类变量发送到tensorflow。我已经找到了一个例子,但不明白如何将其应用于既有数据类型又有多种功能的集合。下面是我的第一次尝试,但这并没有对大多数变量进行编码Python Tensorflow中的多个分类输入变量,python,machine-learning,tensorflow,skflow,Python,Machine Learning,Tensorflow,Skflow,我有一个数据集,其中每个特征向量有50个特征,其中45个是分类的。我无法将分类变量发送到tensorflow。我已经找到了一个例子,但不明白如何将其应用于既有数据类型又有多种功能的集合。下面是我的第一次尝试,但这并没有对大多数变量进行编码 input_classes, input_gradients, outputs = databank.get_dataset() print("Creating feature matrix") inputs = np.array(input_classes
input_classes, input_gradients, outputs = databank.get_dataset()
print("Creating feature matrix")
inputs = np.array(input_classes, dtype=np.int32)
outputs = np.array(outputs, dtype=np.int32)
random.seed(42)
input_train, input_test, output_train, output_test = cross_validation.train_test_split(inputs, outputs, test_size=0.2, random_state=42)
print("Creating DNN")
# Prepare the neural net
def my_model(X, y):
# DNN with 10,20,10 hidden layers and dropout chance of 0.5
layers = skflow.ops.dnn(X, [10, 20, 10], keep_prob=0.5)
return skflow.models.logistic_regression(layers, y)
classifier = skflow.TensorFlowEstimator(model_fn=my_model, n_classes=2)
print("Testing DNN")
# Test the neural net
classifier.fit(input_train, output_train)
score = metrics.accuracy_score(classifier.predict(input_test), output_test)
print("Accuracy: %f" % score)
我认为真正的问题是,我真的不明白如何处理上面代码中my_模型函数的输入“tensor”X。在输入之前,使用分类处理器将类别映射为整数,如下所示
cat_processor = skflow.preprocessing.CategoricalProcessor()
X_train = np.array(list(cat_processor.fit_transform(X_train)))
X_test = np.array(list(cat_processor.transform(X_test)))
n_classes = len(cat_processor.vocabularies_[0])