一、构造数据
#根据rating和age评估价格
def wineprice(rating,age):
peak_age=rating-50
price=rating/2
if age>peak_age:
price=price*(5-(age-peak_age))#过了峰值年,价值降低
else:
price=price*(5*(age+1)/peak_age)#临近峰值年,价值增高
if price<0:
price=0
return price
#构造数据集合:输入——rating,age;输出——price
def wineset1():
rows=[]
for i in range(300):
rating=random()*50+50
age=random()*50
price=wineprice(rating,age)
price*=(random()*0.4+0.8)
rows.append({
'input':(rating,age),'result':price})
return rows
#构造数据集合:输入——rating,age,aisle,bottlesize;输出——price
def wineset2():
rows=[]
for i in range(300):
rating=random()*50+50
age=random()*50
aisle=float(randint(

本文详细介绍了如何使用K近邻算法进行价格预测,从构造数据、距离评估到K近邻预测,再到交叉验证和测试,揭示了k值选择对预测结果的影响,并指出k过大或过小可能导致的过拟合和无关数据干扰问题。最后,文章预告将进行优化部分的探讨。
最低0.47元/天 解锁文章
8641

被折叠的 条评论
为什么被折叠?



