0

请就以下聚类问题的编码数据提出建议。我有一个包含汽车使用信息的数据集。数据集有以下字段: 1. 车型(Toyoya Celica、BMW、Nissan X-Trail、Mazda Cosmo 等) 2. 建造年份 3. 汽车行驶的国家 4. 大修前的汽车行驶距离

重要提示:上述数据集是稀疏的。在大多数情况下,并非所有国家/地区都知道给定汽车的“距离”。

问题:对于给定的汽车,预测它在“距离”未知的国家进行大修之前将运行的“距离”。

我的方法:我想将数据集中的每条记录表示为具有以下组件的稀疏向量: 1. 二进制 (1/0) 汽车模型组件。这些组件的数量等于数据集中所有可能模型的数量。2.汽车运行的二进制(1/0)国家。这些组件的数量等于数据集中所有可能国家的数量。3. 距离。单个整数分量,等于汽车行驶的距离。

接下来我想对这些向量进行聚类(k-means)并分析结果组。

问题: 1)在我的向量中,我混合了不同性质的组件 - 二进制(模型,国家)和连续(距离)。如何计算向量之间的组件距离?余弦相似度?2)用有限的值集(模型,国家)对组件进行编码以与连续组件(例如距离)一起工作的其他方法?

谢谢!安东

4

1 回答 1

1

1)根据我的经验,规范只是对(整个数据集的)特征进行加权,使其范围相似。我不认为余弦相似性也能很好地工作 - 考虑两辆车的距离分别为 1 公里和 2 公里/英里。它们的距离和它们之间的距离差异可以忽略不计,但对于余弦相似度(如果我理解正确的话)来说意义重大。

2)由于一辆车只能有 1 个型号和 1 个国家(我假设),每个只能用一个整数表示(0 = Toyota Celica,1 = BMW,2 = Nissan X-Trail,3 = Mazda Cosmo 等。 )。

我假设您对不同模型或国家之间的关系一无所知,因此仅将距离定义为相等(如果相等,则为 0,如果不相等,则为 0,适当加权)将是您能做的最好的事情。如果一辆车可以有多个型号或国家,我建议汉明距离。

我希望你在描述你的方法时不小心跳过了建造年份,这是重要的数字数据。

话虽如此,除非您添加一些额外的功能(包含一些连续(数字)数据),例如品牌(丰田、日产、马自达等)、重量、国家平均温度,否则我认为聚类不会很好地工作,国家平均雨量或雪量,路况的数字表示等)如果可能的话。据我所知,聚类不适用于非数字数据(例如品牌/型号),但是,如果加权正确(或者如果您可以定义不同品牌/型号之间的数学关系),我想它能行得通。

只是一个想法,但是用经度和纬度来定义国家怎么样?然后你可以计算国家之间的距离。否则,如果可能,我可能会建议将其替换为有关该国家/地区的数字特征。

旁注 - 在聚类中使用二进制字段的问题(至于品牌/型号的相等性)是您必须自己选择权重。这意味着您将领导集群,这可能会搞砸,或者充其量,使其符合您对数据的先入为主的概念。这就是数字数据更好的原因。

于 2012-12-24T09:31:16.990 回答