【用Python玩Machine Learning】KNN * 序

这段时间工作太忙,很久没学习了。这两天,工作之余,偶尔在家翻翻书,权且当做休息了。

我一直是c/c++的忠实用户,尤其是c的粉丝——概念简洁、运行高效——计算机专业的人,不用c语言,不了解程序底层的运行机制和过程,那和那些外专业的只会调用接口、函数的同学有什么区别呢?不过,最近一年还是慢慢去了解、尝试python了。原因很简单,开发成本太低了。c/c++就像复杂的吸尘器、洗碗机,优点是高效,缺点是笨重,且对不同的场景要不同的适配;python就像是一块脏抹布,哪儿都能用,用完就扔,再用的时候再捡起块儿新抹布也代价不大......比较适合我现在的需求。说多了。再说是不是就要引起骂战了。哦,再加一句,用python的一个次要原因是我发现了一个比较好的python
ide(pycharm),虽然和微软的visual studio没法比,不过总比自带的idle强多了——如果这东西是用c写的就更好了,无奈是用java写的,启动速度巨慢~~

最近翻翻《machine learning in action》这本书。书中用python实现了一些机器学习算法。我想把这些东西重新实现一遍。几个原因:1. 机器学习算法,不自己动手写一遍、调试运行一遍,有些细节问题是没法体会的;2. 练练python和numpy;3. 书里面的代码实在太丑了,真忍不了!

在接下来的博文里,就不介绍KNN基本原理了。接下来,直接贴代码,偶尔穿插着聊两句了。

如有转载,请注明出处:http://blog.csdn.net/xceman1997/article/details/44993741

时间: 2024-11-05 13:04:10

【用Python玩Machine Learning】KNN * 序的相关文章

【用Python玩Machine Learning】KNN * 测试

样本我就用的<machine learning in action>中提供的数据样例,据说是婚恋网站上各个候选人的特征,以及当前人对这些人的喜欢程度.一共1k条数据,前900条作为训练样本,后100条作为测试样本. 数据格式如下: 46893 3.562976 0.445386 didntLike 8178 3.230482 1.331698 smallDoses 55783 3.612548 1.551911 didntLike 1148 0.000000 0.332365 smallDos

【用Python玩Machine Learning】KNN * 代码 * 一

KNN的是"k Nearest Neighbors"的简称,中文就是"最近邻分类器".基本思路就是,对于未知样本,计算该样本和训练集合中每一个样本之间的距离,选择距离最近的k个样本,用这k个样本所对应的类别结果进行投票,最终多数票的类别就是该未知样本的分类结果.选择什么样的度量来衡量样本之间的距离是关键. 一.从文本中读取样本的特征和分类结果. ''' kNN: k Nearest Neighbors ''' import numpy as np ''' funct

【用Python玩Machine Learning】KNN * 代码 * 二

继续之前的写. 三.对单个样本进行分类. ''' function: classify the input sample by voting from its K nearest neighbor input: 1. the input feature vector 2. the feature matrix 3. the label list 4. the value of k return: the result label ''' def ClassifySampleByKNN(featu

[Machine Learning]kNN代码实现(Kd tree)

具体描述见<统计学习方法>第三章. 1 // 2 // main.cpp 3 // kNN 4 // 5 // Created by feng on 15/10/24. 6 // Copyright © 2015年 ttcn. All rights reserved. 7 // 8 9 #include <iostream> 10 #include <vector> 11 #include <algorithm> 12 #include <cmath&

[Machine :Learning] kNN近邻算法

from numpy import * import operator def createDataSet() : group = array([[1.0, 1.1], [1.0, 1.0], [0, 0], [0, 1.1]]) labels = ['A', 'A', 'B', 'B'] return group, labels ''' tile(array, (intR, intC): 对矩阵进行组合,纵向复制intR次, 横向复制intC次 比如 : tile([1,2,3], (3, 2

Python Tools for Machine Learning

Python Tools for Machine Learning Python is one of the best programming languages out there, with an extensive coverage in scientific computing: computer vision, artificial intelligence, mathematics, astronomy to name a few. Unsurprisingly, this hold

【machine learning】KNN算法

适逢学习机器学习基础知识,就将书中内容读读记记,本博文代码参考书本Machine Learning in Action(<机器学习实战>). 一.概述 kNN算法又称为k近邻分类(k-nearest neighbor classification)算法. kNN算法则是从训练集中找到和新数据最接近的k条记录,然后根据他们的主要分类来决定新数据的类别.该算法涉及3个主要因素:训练集.距离或相似的衡量.k的大小. 二.算法要点 1.指导思想 kNN算法的指导思想是"近朱者赤,近墨者黑&q

Machine Learning In Action 第二章学习笔记: kNN算法

本文主要记录<Machine Learning In Action>中第二章的内容.书中以两个具体实例来介绍kNN(k nearest neighbors),分别是: 约会对象预测 手写数字识别 通过“约会对象”功能,基本能够了解到kNN算法的工作原理.“手写数字识别”与“约会对象预测”使用完全一样的算法代码,仅仅是数据集有变化. 约会对象预测 1 约会对象预测功能需求 主人公“张三”喜欢结交新朋友.“系统A”上面注册了很多类似于“张三”的用户,大家都想结交心朋友.“张三”最开始通过自己筛选的

机器学习系统设计(Building Machine Learning Systems with Python)- Willi Richert Luis Pedro Coelho

机器学习系统设计(Building Machine Learning Systems with Python)- Willi Richert Luis Pedro Coelho 总述 本书是 2014 的,看完以后才发现有第二版的更新,2016.建议阅读最新版,有能力的建议阅读英文版,中文翻译有些地方比较别扭(但英文版的书确实是有些贵). 我读书的目的:泛读主要是想窥视他人思考的方式. 作者写书的目标:面向初学者,但有时间看看也不错.作者说"我希望它能激发你的好奇心,并足以让你保持渴望,不断探索