用于网络数据聚类的预处理

时间:2014-07-20 13:21:55

标签: python numpy cluster-analysis scikit-learn data-mining

我将对网络数据应用群集(k-means),其中包含ip地址和端口号等列。尽管端口号是整数,但是例如第80和第81端口之间的关系不比第80和第1800端口之间的关系更接近。所以我认为我不应该使用它们(整数)。

我认为使用DictVectorizer也不合适,因为有65535个端口所以我需要一个不同的方法。 IP地址与端口有相同的问题。

使用或不使用scikit-learn(或使用或不使用k-means)有没有办法解决问题?

1 个答案:

答案 0 :(得分:3)

k-means必须计算表示

端口80和81的平均值是多少?港口80.5?

不,k-means 连续线性属性敏感。否则,方差(k均值的优化标准)和均值都没有任何意义......

您可以尝试各种黑客攻击,例如将每个端口设为单独的属性。但k-means对二进制数据也没有意义。

使用其他算法。基于距离的算法很好,如果你已经弄清楚如何测量相似性。