为了账号安全,请及时绑定邮箱和手机立即绑定

结合 scikit-learn 模型使用 TensorFlow 预处理

结合 scikit-learn 模型使用 TensorFlow 预处理

泛舟湖上清波郎朗 2023-03-22 17:01:24
对于我最近的工作,我必须针对给定的非线性问题尝试不同的 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])
查看完整描述

1 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

我可以解决我的问题。我写了一个新函数(feature_columns, train, val, test) = preprocessing.getPreProcessedDataframes(args.data, args.zip, args.batchSize),它返回熊猫数据帧而不是 TensorFlow 数据集。之后,我使用feature_layer对数据帧进行预处理,作为 sklearn 分类器的训练输入。

对数据帧应用预处理:

x_train = feature_layer(dict(train)).numpy()
x_test = feature_layer(dict(test)).numpy()

训练:

model.fit(x_train, y_train)


查看完整回答
反对 回复 2023-03-22
  • 1 回答
  • 0 关注
  • 87 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信