概念
标签label:即需要预测的值
特征:即已知数据
KNN:即K近邻,K是取多少近邻
特征:
accommodates容纳旅客数量
bedrooms卧室数量
bathrooms厕所的数量
beds床的数量
price每晚的价格
minimum_nights客人最少住几晚
maximum_nights客人最多住几晚上
number_of_reviews评论的数量
已知条件 => 未知数
例1:当我有个3个卧室的房间,不知道要租多少钱?
已知条件:3个卧室
未知数:单价
从已知数据中,找出k个与3最近的房间价格取平均,即得未知数的值
例2:当我有一个3个卧室,2个厕所,3张床的房间,不知道要租多少钱?
已知条件:3个卧室,2个厕所,3张床
未知:单价
问题1来了,当多个特征时,如何取近邻?
解答:把一条数据看出一个整体(向量),根据距离公式算出一个值d,d越小,代表越近
image.png
Q(q1,q2,q3,...,qn)是已知条件
P(p1,p2,p3,...,pn)是已知的一条数据
这样就得到了所有已知数据与预测数据的近邻程度,那么问题2又来了,例如要取K=3个近邻,满足条件的有m个,如何选取呢?
解答:洗牌操作,取前3个,最后求均值即未知数的值
预测出来的值到底行不行,就需要评估一下,将已知数据划分为两部分(75%trainData ,20%testData),
评估例1
在trainData中取k个与3个卧室最相近的房间求平均,即训练样本得出的预测值
在testData中取k个与3个卧室最相近的房间,算RMSE(root mean squared error)均方根误差
image.png
这个公式应该是k个,不是n个
当rmse越小,说明预测的越准确
每一个特征的rmse都不一样,有的大些,有的小些,这说明了问题3,这个租金与房间数关系大,与厕所数关系小,那用距离公式描述相似就不精确了,出现了权重的概念W(w1,w2,w3,...,wn),对应着每个特征的重要性,那么这个权重在已知条件中没有告诉怎么办?
解答:这时候用到评估,将已知数据划分为两部分(75%trainData ,20%testData),
网友评论