机器学习中敏感数据的模糊处理

我正在为学术研究准备一份数据集。原始数据集中包含了交易中的敏感信息,例如Credit card no(信用卡号)、Customer email(客户邮箱)、client ip(客户端IP)、origin country(来源国家)等。在这些数据离开我的原始数据源之前,我必须对这些敏感信息进行模糊处理,并将它们存储起来以供我的分析算法使用。数据中的一些字段是分类数据,模糊处理起来并不困难。问题在于非分类数据字段,如何最好地对它们进行模糊处理,以保持数据的基本统计特征,同时使其无法(至少在数学上非常困难)恢复到原始数据。

编辑:我使用Java作为前端来准备数据。准备好的数据随后将由Python处理,用于机器学习。

编辑2:为了解释我的情景,作为评论的跟进。我有如下数据字段:

'CustomerEmail', 'OriginCountry', 'PaymentCurrency', 'CustomerContactEmail','CustomerIp', 'AccountHolderName', 'PaymentAmount', 'Network','AccountHolderName', 'CustomerAccountNumber', 'AccountExpiryMonth','AccountExpiryYear'

我必须对这些字段中的数据(数据样本)进行模糊处理。我计划将这些字段视为特征(使用模糊处理后的数据),并针对一个二元类别标签(我有用于训练和测试样本的标签)训练我的模型。


回答:

对于非分类数据,没有通用的模糊处理方法,因为任何处理都会导致信息丢失。你能做的唯一事情是尝试列出哪些类型的信息是最重要的,并设计出保留这些信息的转换。例如,如果你的数据是Lat/Lng地理位置标签,你可以执行任何保持距离的转换,如平移、旋转等。如果这还不够,你可以将数据嵌入到较低维度的空间中,同时保持成对距离(有许多这样的方法)。总的来说,每种类型的非分类数据都需要不同的处理,每种处理都会破坏信息——你需要列出重要的属性,并找到保留这些属性的转换方法。

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中创建了一个多类分类项目。该项目可以对…

发表回复

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