以下练习将引导您完成手动创建相似性指标的过程。
假设您有一个简单的房屋数据集,如下所示:
特征 | 类型 |
---|---|
价格 | 正整数 |
大小 | 正浮点值,以平方米为单位 |
邮政编码 | 整数 |
卧室数量 | 整数 |
房屋类型 | “single_family”、“multi-family”、“apartment”、“condo”的文本值 |
Garage | 0/1(表示否/是) |
颜色 | 多元分类:标准颜色“白色”、“黄色”、“绿色”等中的一个或多个值。 |
预处理
第一步是预处理数值特征:价格、大小、卧室数量和邮政编码。对于其中每项功能,您都需要执行不同的操作。例如,假设价格数据遵循双模分布。接下来您应该做些什么?
在下面的字段中,尝试说明如何处理尺寸数据。
:
在下面的字段中,尝试说明如何处理卧室数量的数据。
:
您应该如何表示邮政编码?将邮政编码转换为经度和纬度。然后,像处理其他数值一样处理这些值。
计算每个特征的相似度
现在,您需要计算每个特征的相似度了。对于数值特征,您只需要找出不同之处。对于二元特征(例如一栋房子有车库),您还可以找到它们的差值,得出 0 或 1。那么分类特征呢?请回答下面的问题,了解相关信息。
计算总体相似度
您已使用数值计算了每个特征的相似度。但是,聚类算法需要与集群房屋的整体相似性。使用均方根误差 (RMSE) 合并每个特征的相似度,即可计算一对房子之间的总体相似度。也就是说,\(s_1,s_2,\ldots,s_N\) 表示特征的相似之处 \(N\) :
\[\text{RMSE} = \sqrt{\frac{s_1^2+s_2^2+\ldots+s_N^2}{N}}\]
手动相似性衡量功能的限制
如本练习所示,当数据变得复杂时,处理和组合数据变得越来越难以通过语义上有意义的方式来衡量相似性。考虑颜色数据。颜色真的应该分类吗?还是应该分配红色和深红色等颜色,使其具有比黑白颜色更高的相似度?至于组合数据,我们只是将车库特征与房价加权在一起。不过,车库价格比车库更重要。真的要平等地衡量它们吗?
如果您创建的相似度测量不能真正反映示例之间的相似度,则派生的聚类没有意义。分类数据经常出现这种情况,并将我们引进监督措施。