我正在尝试构建一个用于账户注册欺诈检测的机器学习分类模型。我手头拥有的数据包括:姓名、电子邮件地址、坐标(IP地址注册时的纬度和经度)以及标签(欺诈 vs 非欺诈)。以下是我的数据集简要概述:
>>> dataset.summary
Index(['name', 'email','latitude','longitude','label'],dtype='object')
>>> dataset.shape
(93207, 4)
到目前为止,我在训练模型时对如何处理坐标变量感到困惑。一些StackExchange用户建议使用正弦和余弦函数的组合将纬度和经度转换为X、Y和Z坐标。(例如: https://datascience.stackexchange.com/questions/13567/ways-to-deal-with-longitude-latitude-feature) 但我不知道在我的分类用例中是否真的必要?我考虑将每个记录的纬度和经度合并为一个变量。然而,某些地区的经度值为负数。此外,一些欺诈者可能位于高纬度和经度的地区,而其他欺诈者可能位于低纬度和经度的地区。因此,将纬度和经度合并为一个变量可能无法帮助训练模型?
我也可以将纬度和经度转换为城市名称。但是,如果这样做,一个城市的拼写可能与离它很远的另一个城市相似,这可能不会有助于训练模型。您有什么建议吗?