犯罪模式的 KMeans

数据挖掘 机器学习 数据挖掘 阿帕奇火花 k-均值 pyspark
2022-03-07 09:19:52

我试图在数据库中的犯罪记录中找到模式。我认为集群是一种方法。

这是我的(煮熟的)数据集:

age,nationality,country_of_birth,place_of_birth,no_of_checkedinbaggage,noofcabinbaggage,no_of_co_passengers,watchlist
34,GBR,GBR,London,2,1,0,Drug Trafficker
32,IND,IND,Delhi,2,1,0,Human Trafficker
31,USA,USA,Tampa,2,1,0,Arms Dealer
.....

基本上,我想识别监视列表的集群,看看它们是否有模式。基于集群,我也想预测未来的数据。

聚类(K-Means)是正确的选择吗?而且,所有变量都必须是数字吗?如果是这样,我不确定如何将它们编码为数字。想法?

2个回答

欢迎来到本站!

如您所知,KMeans 是一种无监督学习,它可以帮助您找出数据中是否存在任何模式。是的,您正在遵循的程序在数据中找到一些共性/模式。但这通常不用于预测。仅供参考,您也可以使用K-means进行预测,最近我遇到了这种情况,但我不知道它是否会产生预期的结果。

如果数据是分类数据,您需要应用One-Hot Encoding,它将分类数据转换为数字,您可以通过链接更好地理解。如果不是这样,您将无法应用 K-Means 算法。

如果您无法将分类数据转换为数字数据,那么您可以使用 R 中的这个包ClustMixType,您可以在 Python 中使用 KMODES。

如果您准备好目标变量,因为您没有提到数据目标变量,如果目标变量是 Numeric,您可以使用

  1. 神经网络
  2. 回归
  3. 支持向量机
  4. 随机森林等等

如果目标变量是二进制(他是罪犯是/否)

  1. 神经网络
  2. 支持向量机
  3. 逻辑回归
  4. 随机森林
  5. 朴素贝叶斯分类器
  6. KNN 等等。

请浏览此链接,以更好地了解混合数据类型聚类

如果您需要任何帮助,请告诉我。

是的,聚类 K-Means 算法是不错的选择。唯一的事情是您应该选择您想要的集群数量作为结果。经验:k = 4

如我所见,您的数据中有分类变量,您可以使用“One-Hot-Encoding”将它们转换为数值特征。我建议你在那之后也扩展你的数据。

这里的关键词:“编码分类特征”、“一个热编码器”、“特征缩放”。我建议你阅读更多关于这些的内容。