使用kNN算法预测价格
来源:互联网 发布:stata 债券数据 编辑:程序博客网 时间:2024/05/17 02:22
# -*- coding: cp936 -*-#使用kNN预测价格from random import random,randintimport mathdef 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 pricedef 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 rowsdef euclidean(v1,v2): d=0.0 for i in range(len(v1)): d+=(v1[i]-v2[i])**2 return math.sqrt(d)def getdistances(data,vec1): distancelist=[] for i in range(len(data)): vec2=data[i]['input'] distancelist.append((euclidean(vec1,vec2),i)) distancelist.sort() return distancelistdef knnestimate(data,vec1,k=5): dlist=getdistances(data,vec1) avg=0.0 for i in range(k): idx=dlist[i][1] avg+=data[idx]['result'] avg=avg/k return avgdef gaussian(dist,sigma=10.0): return math.e**(-dist**2/(2*sigma**2))def weightedknn(data,vec1,k=5,weightf=gaussian): dlist=getdistances(data,vec1) avg=0.0 totalweight=0.0 for i in range(k): dist=dlist[i][0] idx=dlist[i][1] weight=weightf(dist) avg+=weight*data[idx]['result'] totalweight+=weight avg=avg/totalweight return avg
0 1
- 使用kNN算法预测价格
- 用knn算法来预测喜爱程度
- K邻近(KNN)分类和预测算法
- KNN算法预测泰坦尼克号乘客生存率
- K近邻算法应用——价格预测
- 使用MapReduce实现knn算法
- 使用KNN算法识别数字
- 使用KNN算法手写体识别
- 钻石与价格预测
- 2013年人参价格预测
- 使用KNN算法的分类实验源代码
- 【机器学习】使用python实现kNN算法
- scikit-learn/KNN算法使用GridSearchCV调优
- 使用kNN算法识别手写数字
- K邻近(KNN)分类和预测算法的原理及实现
- 机器学习分类之结合实际应用介绍KNN算法原理以及利用sklearn进行分类预测
- KNN算法
- KNN算法
- 程序员如何快速准备面试中的算法
- Stanford机器学习笔记-6. 学习模型的评估和选择
- 仿电商(京东等)的列表分类展示案例
- CentOS安装java环境(jdk+tomcat+mysql)
- C# 静态类泛型方法查找数组元素
- 使用kNN算法预测价格
- Android---open failed: ENOENT (No such file or directory) 错误
- hibernate上课视频
- 枚举初步认识
- Left Pad
- jsp前台点击下载功能
- setContentView和LayoutInflater相关总结
- 三个故事看出他是否真的爱你
- Stanford机器学习笔记-7. Machine Learning System Design