每日一结
- 工作总结
- 读书总结
工作总结
- 花了比较长的时间,仍然没有解决或者没有头绪,可以考虑睡觉了。保准第二天爬起来,发现这也叫问题。。。。
- 很多东西都是有迹可循,对于程序员来说,就是代码。去读,有关的去读,去试。
读书总结
《机器学习实战》
机器学习之:K近邻算法KNN 分类
流程:
导入特征值和种类
分类:
(1)输入待分类样本特征值
(2) 计算与各个样本特征值的欧氏距离
(3) 排序,从大到小,取前K个
(4)K个样本种类出现频率,取最高的为待测试的种类
// KNN.py
from numpy import *
import operator
def createDataSet():
group = array([1.0,1.1],[1.0,1.0],[0,0],[0,0.1])// 矩阵
labels = ['A','A','B','B']
return group,labels
>>>import KNN
//classify
def classify0(inX,dataSet,label,k):
//4*(inX)-4*2
diffMat = tile(inX,(dataSet.shape[0],1)) - dataSet
// ^2
sqDiffMat = diffMat ** 2
// sum
sqd = sqDiffMat .sum(axis = 1)
// distance
dis = sqd ** 0.5
// sort
sortDis = dis .argsort()
classcount = {}
for i in range(k):
voteLabel = labels [sortDis[i]]
// statistic
classcount[votelabel] = classcount.get(voteLabel ,0) + 1
sortClasscount = sorted(classcount.iteritems(),
key = operator.itermgetter(1),reverse=true)
return sortClasscount [0][0]