我将对具有ip地址和端口号等列的网络数据应用聚类(k-means)。尽管端口号是整数,但例如第80和81端口的关系并不比第80和1800端口的关系更紧密。所以我认为我不应该使用它们,因为它们是整数。
我认为使用DictVectorizer也不合适,因为有65535端口,所以我需要一种不同的方法。IP地址也有同样的端口问题
有或没有scikit-learn(或有或没有k-means)的方法来解决问题吗?
k-means必须计算means
端口80和81的平均值是多少?港80.5吗?
不,k-means 仅对连续和线性属性有意义。否则,方差(k-means的优化准则)和均值都没有意义…
您可以尝试各种技巧,例如使每个端口具有单独的属性。但是k-means对于二进制数据也没有意义。
使用其他算法。基于距离的算法很好,如果你已经知道如何衡量相似性。