Machine Learing in Action
来源:互联网 发布:淘宝运营助理要做多久 编辑:程序博客网 时间:2024/05/16 19:42
kNN算法核心代码
'''kNN分类器,处理数据为向量inX: 任意N维向量dataSet: 学习数据集为m个N维向量labels: 数据集的类别k: kNN算法中的参数k,k必须为奇数,以避免half-half困境返回:预测类别'''def classify0(inX, dataSet, labels, k): #计算点inX到各个样本点的距离,记录在distances中,inX可以是任意n维向量 dataSetSize = dataSet.shape[0] diffMat = tile(inX, (dataSetSize,1)) - dataSet sqDiffMat = diffMat**2 sqDistances = sqDiffMat.sum(axis=1) #axis=1为行 distances = sqDistances**0.5 #按照距离递增次序排序 sortedDistIndicies = distances.argsort() #选取与当前点距离最小的k个点,将其类别统计记录在classCount,如(A类:4个,B类:1个,C类:k-5个) classCount={} for i in range(k): voteIlabel = labels[sortedDistIndicies[i]] classCount[voteIlabel] = classCount.get(voteIlabel,0) + 1 #类别统计进行排序 sortedClassCount = sorted(classCount.iteritems(), key=operator.itemgetter(1), reverse=True) #返回出现频率最高的类别作为当前点的预测分类 return sortedClassCount[0][0]
'''归一化数值,将任意取值范围的特征值转化为0到1区间内的值,使各个特征等权dataSet: 数据集为m个N维向量返回:归一化后的数据集,各列值的范围,各列的最小值'''def autoNorm(dataSet): minVals = dataSet.min(0) #axis=0为列,获取每一列的最小值 maxVals = dataSet.max(0) ranges = maxVals - minVals normDataSet = zeros(shape(dataSet)) m = dataSet.shape[0] normDataSet = dataSet - tile(minVals, (m,1)) normDataSet = normDataSet/tile(ranges, (m,1)) return normDataSet, ranges, minVals
0 0
- Machine Learing in Action
- Machine Learing in Action
- machine learning in action
- Machine Learning in Action
- Machine Learning In Action
- Machine Learning In Action
- Machine Learning In Action
- Machine Learning In Action
- Machine Learning In Action
- Machine Learning In Action
- Machine Learning In Action
- Machine Learning In Action
- Machine Learning In Action
- Machine Learning in Action
- Machine Learning in Action
- Machine Learing导读。
- 《Machine Learning In Action》翻译
- MACHINE LEARNING IN ACTION KNN
- 京东2017实习生Java.md
- windows7下 VS2015 编译VLFeat所遇到的问题
- How To Become A Hacker
- 论文笔记 You Only Look Once: Unified, Real-Time Object Detection
- niceValidator的使用
- Machine Learing in Action
- PTA 5-32说反话-加强版
- 前后台系统
- 水池数目
- 终结者编程题(京东2017实习生真题)
- Android Studio之快捷键
- 我眼中的张国荣
- Android基础—WebView(网页视图)基本用法
- 图像特征处理