對于我最近的工作,我必須針對給定的非線性問題嘗試不同的 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)
添加回答
舉報
0/150
提交
取消