对于我最近的工作,我必须针对给定的非线性问题尝试不同的 ML 模型。我使用 TensorFlow 和 Keras 构建了逻辑回归和神经网络的工作版本。现在我必须为同样的问题构建一个 SVM 分类器。由于我在 TensorFlow 中找不到有效的 SVM 估计器,我正在考虑改用 scikit-learn。在我的前两个模型中,我使用 tf.feature_column 来预处理我的数据(bucketized_column、embedding_column、crossed_column 等)。由于这种预处理在某种程度上很复杂并且效果很好,我想知道我是否可以将 TensorFlow 预处理与 scikit-learn 结合使用。
这有可能吗?或者我可以在 TensorFlow(类似于 Keras)中以某种方式使用 scikit-learn,这样我也可以使用 TensorBoard 来分析我的结果吗?
这里是我的代码中相关部分的概述:
(feature_columns, train_ds, val_ds, test_ds) = preprocessing.getPreProcessedData(args.data, args.zip, args.batchSize)
在模型模块中,我使用此函数调用来获取预处理数据。feature_columns是 tf.feature_column 的不同类型映射的数组。train_ds等是 TensorFlow 数据集。
在 array 的帮助下创建 DenseFeature feature_columns:
feature_layer = tf.keras.layers.DenseFeatures(feature_columns, trainable=False)
使用预处理构建 Keras 模型:
model = tf.keras.models.Sequential([
feature_layer,
tf.keras.layers.Dense(1, activation=tf.nn.sigmoid)
])
模型的拟合:
model.fit(train_ds,
validation_data=val_ds,
epochs=args.epoch,
callbacks=[tensorboard_callback])
HUWWW
相关分类