机器学习实战
chchlh
CS学生,爱读书,爱学习,爱互联网。
展开
-
机器学习实战之k-近邻算法(2)---python简单版
from numpy import *import operatordef createDataSet(): group = array([[1.0, 1.1], [1.0, 1.0], [0, 0], [0, 0.1]]) labels = ['A', 'A', 'B', 'B'] return group, labelsdef classify0(inX, dat原创 2014-11-29 15:30:04 · 1044 阅读 · 0 评论 -
机器学习实战之k-近邻算法(5)--- 完整版约会网站数据分类
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#根据输入测试实例进行k-近邻原创 2014-11-29 20:47:06 · 2823 阅读 · 0 评论 -
机器学习实战之k-近邻算法(1)---c++简单版
//k-近邻算法简单版 两类分类器//数据量特别大的话,不能用冒泡排序,应该使用优先队列或者K最大/小堆来维护#include #include using namespace std;double d1[10000], d2[10000], d3[10000], d4[10000];int y[10000];int t1[10000], t2[10000], t3[10000],原创 2014-11-29 15:17:08 · 815 阅读 · 0 评论 -
机器学习实战之k-近邻算法(4)--- 如何归一化数据
归一化的公式:newValue = (oldValue - min) / (max - min)就是把数据归一化到[0, 1]区间上。好处:防止某一维度的数据的数值大小对距离就算产生影响。多个维度的特征是等权重的,所以不能被数值大小影响。下面是归一化特征值的代码:#归一化特征值def autoNorm(dataSet): minVals = dataSet.min原创 2014-11-29 18:34:06 · 4092 阅读 · 2 评论 -
机器学习实战之k-近邻算法(3)---如何可视化数据
关于可视化:《机器学习实战》书中的一个小错误,P22的datingTestSet.txt这个文件,根据网上的源代码,应该选择datingTestSet2.txt这个文件。主要的区别是最后的标签,作者原来使用字符串‘veryLike’作为标签,但是Python转换会出现ValueError: invalid literal for int() with base 10: 'largeDoses'原创 2014-11-29 17:23:50 · 13047 阅读 · 14 评论 -
机器学习实战之k-近邻算法(6)---手写数字识别系统(0-9识别)
from numpy import *import operatorfrom os import listdir#创建数据集def createDataSet(): group = array([[1.0, 1.1], [1.0, 1.0], [0, 0], [0, 0.1]]) labels = ['A', 'A', 'B', 'B'] return group,原创 2014-11-29 21:32:27 · 3134 阅读 · 0 评论 -
机器学习实战之k-近邻算法(7)---算法总结
kNN算法总结kNN算法是分类算法里面最简单的。也很有效。但是它的缺点过于明显,以至于大家都不会用。就是时间和空间复杂度都太大了。kNN算法必须保存所有的数据集,如果数据很大,空间占用十分大。对每个数据集的每个数据特征都需要计算距离值,这个在实际使用中将是致命的,十分耗时。鉴于此,它的算法一般仅仅适用于机器学习入门和开阔思维,实际中很少用。原创 2014-12-02 09:41:20 · 793 阅读 · 0 评论 -
机器学习实战之决策树(1)---ID3算法与信息熵,基尼不纯度
关于ID3算法百度文库有一篇十分详细的文章,介绍看一个例子,给出了具体的计算过程。文章链接:http://wenku.baidu.com/view/7933c2f6f61fb7360b4c65fd.html这是最后的决策树的形状,来源是百度文库。另有一篇CSDN博客介绍ID3算法:http://blog.csdn.net/zhaoyl03/article/details/86656原创 2014-12-02 11:26:28 · 4482 阅读 · 1 评论 -
机器学习实战之决策树(2)---选择最好的特征来划分数据集
from math import log#计算给定数据集的香农熵def calcShannonEnt(dataSet): numEntries = len(dataSet) labelCounts = {} for featVec in dataSet: currentLabel = featVec[-1] #为所有的可能分类创建字典原创 2014-12-02 14:41:34 · 3253 阅读 · 1 评论