gpt4 book ai didi

python - Tensorflow:如何为 numpy 矩阵输入创建 feature_columns

转载 作者:行者123 更新时间:2023-11-28 17:05:52 26 4
gpt4 key购买 nike

我使用的是 tensorflow 1.8.0,python 3.6.5。数据是虹膜数据集。这是代码:

import pandas as pd
import numpy as np
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
import tensorflow as tf

X = iris['data']
y = iris['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

input_train=tf.estimator.inputs.numpy_input_fn(x=X_train,
y=y_train, num_epochs=100, shuffle=False)
classifier_model = tf.estimator.DNNClassifier(hidden_units=[10,
20, 10], n_classes=3, feature_columns=??)

这是我的问题,如何为 numpy 矩阵设置 feature_columns?

如果我将 X 和 y 隐藏到 pandas.DataFrame,我可以对 feature_columns 使用以下代码,它适用于 DNNClassifier 模型。

features = X.columns
feature_columns = [tf.feature_column.numeric_column(key=key) for key in features]

最佳答案

您可以将您的 numpy ndarray 包装在字典中并将其作为输入 x 传递给 numpy_input_fn 方法,然后使用该字典中的键来定义您的 feature_column 。另请注意,由于您的 X_train 中的每个数据都有 4 个维度,因此您需要在定义 tf.feature_column.numeric_column 时指定 shape 参数。这是完整的代码:

import pandas as pd
import numpy as np
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
import tensorflow as tf

iris = load_iris()

X = iris['data']
y = iris['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

input_train = tf.estimator.inputs.numpy_input_fn(
x = {'x': X_train},
y = y_train,
num_epochs = 100,
shuffle = False)

feature_columns = [tf.feature_column.numeric_column(key='x', shape=(X_train.shape[1],))]

classifier_model = tf.estimator.DNNClassifier(
hidden_units=[10, 20, 10],
n_classes=3,
feature_columns=feature_columns)

关于python - Tensorflow:如何为 numpy 矩阵输入创建 feature_columns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51108765/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com