我对下面的问题很难过。我不确定我是否正确,但无论哪种方式,如果有人有时间解释,我需要一些帮助进一步了解它,请做。
设计L1和L2距离函数以评估银行客户的相似性。每个客户都具有以下属性: - 年龄(顾客的年龄,这是一个最大年龄为90岁,最小年龄为15岁的实际数字) - Cr(“信用评级”),这是一个序数属性,其值为“非常好”,“良好”,“中等”,“差”和“非常差”。 - Av_bal(平均账户余额,这是一个平均值为7000的实数,标准差为4000)
使用L2距离函数计算上述2个客户之间的距离
使用L2距离函数计算上述2个客户之间的距离。 回答L1
d(c1,c2)=(c1.cr-c2.cr)/ 4 +(c1.avg.bal -c2.avg.bal / 4000)*(c1.age-mean.age / std.age ) - (c2.age-mean.age / std.age)
答案 0 :(得分:0)
这个问题,留下了一些解释空间。主要是因为未完全指定相似性。我将尝试解释标准方法是什么。
通常,在开始之前,您希望将值标准化,使它们在相同范围内变得粗糙。否则,您的相似性将由具有最大方差的特征支配。
如果您没有关于分布的信息,而只是您想要尝试将它们正常化为[0,1]的值的范围。对于您的示例,这意味着
norm_age =(age-15)/(90-15)
对于名义值,如果要使用L p -Norms,则要查找到序数值的映射。注意:这并不总是可行的(例如,颜色不能直观地映射到序数值)。在这种情况下,您可以像这样转换信用评级
cr = {0如果'非常好',1如果'好,2如果'中等',3如果'差',4如果'非常'}
之后你可以做与年龄相同的规范化
norm_cr = cr / 4
最后,对于正态分布值,您通常通过减去平均值并除以标准差来执行标准化。
norm_av_bal =(av_bal-7000)/ 4000
现在你已经规范了你的值,你可以继续定义距离函数:
L1(c1,c2)= | c1.norm_age - c2.norm_age | + | c1.norm_cr - c2.norm_cr | + | c1.norm_av_bal - c2.norm_av_bal |
和
L2(c1,c2)= sqrt((c1.norm_age - c2.norm_age) 2 +(c1.norm_cr - c2.norm_cr) 2 +(c1.norm_av_bal - c2.norm_av_bal) 2 )