H20自编码器异常检测仅接受数值预测变量

我在使用H2O自编码器进行异常检测以找出模型中的异常数据,但问题是自编码器只接受数值预测变量。我的需求是基于卡号或商户号来找出异常数据。卡号是12位数字(例如342178901244),且大多是唯一的,因此属于名义数据,我们不能使用独热编码,因为这会根据唯一的卡号创建许多新字段。所以请建议有什么方法可以包含分类数据,同时仍然可以运行自编码器。

model=H2OAutoEncoderEstimator(activation="Tanh",                              hidden=[70],                              ignore_const_cols=False,                              epochs=40)model.train(x=predictors,training_frame=train.hex)#Get anomalous valuestest_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')

回答:

你不能将几乎唯一的分类特征放入预测变量(无论是自编码器还是其他任何模型)并期望它能正常工作。

相反,你需要从中提取有意义的特征,这取决于你想要解决的问题。例如,如果是信用卡号,你可以添加一个特征来编码卡的发行机构(如VISA、万事达、美国运通等)。限制只有你的想象力和对领域的了解。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注