Я использую аномалию автоматического кодера воды для нахождения выбросов в моей модели, но проблема заключается в том, что автоматический кодер принимает только числовые предикторы.
Мое требование заключается в том, что я должен найти выбросы на основе номера CardNumber или продавца.
и Cardnumber 12 цифр (342178901244) и в основном уникален. Так что его номинальные данные, и мы не можем делать горячее кодирование, а также он будет создавать много новых полей, так как уникальной карты нет.
Поэтому, пожалуйста, предложите, каким образом мы можем включить категориальные данные, и все же мы можем запустить автоэнкодер
model=H2OAutoEncoderEstimator(activation="Tanh",
hidden=[70],
ignore_const_cols=False,
epochs=40)
model.train(x=predictors,training_frame=train.hex)
#Get anomalous values
test_rec_error=model.anomaly(test.hex,per_feature=True)
train_rec_error=model.anomaly(train.hex,per_feature=True)
recon_error_df['outlier'] = np.where(recon_error_df['Reconstruction.MSE'] > top_whisker, 'outlier', 'no_outlier')