├── 1.机器学习基础 ├── 1.1 认识机器学习中的数据 │ ├── 1.1 认识机器学习中的数据.md │ ├── screenshot │ │ ├── 127313-6ee7f73fd968d278.png │ │ ├── QQ截图20180725205546.png │ │ ├── QQ截图20180725221256.png │ │ └── QQ截图20181106220953_副本.png │ └── 线性代数 矩阵.md ├── 1.2 机器学习的主要任务 │ ├── 1.2 机器学习的主要任务.md │ └── screenshot │ │ ├── QQ截图20180728195902.png │ │ ├── QQ截图20181106222409_副本.png │ │ └── QQ截图20181106222752_副本.png └── 1.3 机器学习算法的几大分类 │ ├── 1.3 机器学习算法的几大分类.md │ └── screenshot │ ├── QQ截图20180728201449_副本.png │ ├── QQ截图20180905214010_副本.png │ ├── QQ截图20181106224120_副本.png │ └── timg.jpg ├── 2.机器学习相关工具安装与使用 ├── 2.1 Python3的安装 │ ├── 2.1 Python3的安装.md │ └── screenshot │ │ ├── QQ截图20180904233717.png │ │ └── QQ截图20180904235947.png ├── 2.2 相关IDE的安装与使用 │ ├── 2.2 相关IDE的安装与使用.md │ └── screenshot │ │ ├── QQ截图20180905000934_副本.png │ │ ├── QQ截图20180905002137_副本.png │ │ ├── QQ截图20180905102714.png │ │ ├── QQ截图20180905233038_副本.png │ │ └── QQ截图20180905235640_副本.png ├── 2.3 Numpy的基本使用(一) │ ├── 2.3 Numpy的基本使用(一).md │ └── screenshot │ │ ├── QQ截图20180906230656_副本.png │ │ ├── QQ截图20180906230746_副本.png │ │ ├── QQ截图20180906230850_副本.png │ │ ├── QQ截图20180906230910_副本.png │ │ ├── QQ截图20180906230921_副本.png │ │ ├── QQ截图20180909230554_副本.png │ │ ├── QQ截图20180909230611_副本.png │ │ ├── QQ截图20180909230645_副本.png │ │ ├── QQ截图20180909230708_副本.png │ │ └── QQ截图20180909230729_副本.png ├── 2.4 Numpy的基本使用(二) │ ├── 2.4 Numpy的基本使用(二).md │ └── screenshot │ │ ├── 10_副本.png │ │ ├── 11_副本.png │ │ ├── 12_副本.png │ │ ├── 13_副本.png │ │ ├── 14_副本.png │ │ ├── 15_副本.png │ │ ├── 16_副本.png │ │ ├── 1_副本.png │ │ ├── 2_副本.png │ │ ├── 3_副本.png │ │ ├── 4_副本.png │ │ ├── 5_副本.png │ │ ├── 6_副本.png │ │ ├── 7_副本.png │ │ ├── 8_副本.png │ │ └── 9_副本.png ├── 2.5 Numpy的基本使用(三) │ ├── 2.5 Numpy的基本使用(三).md │ └── screenshot │ │ ├── 10_副本.png │ │ ├── 11_副本.png │ │ ├── 12_副本.png │ │ ├── 1_副本.png │ │ ├── 2_副本.png │ │ ├── 3_副本.png │ │ ├── 4_副本.png │ │ ├── 5_副本.png │ │ ├── 6_副本.png │ │ ├── 7_副本.png │ │ ├── 8_副本.png │ │ └── 9_副本.png ├── 2.6 Matplotlib的基本使用 │ ├── 2.6 Matplotlib的基本使用.md │ └── screenshot │ │ ├── 1.png │ │ ├── 11.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ ├── 9.png │ │ ├── QQ截图20181107125938_副本.png │ │ ├── QQ截图20181107130124_副本.png │ │ ├── QQ截图20181107130142_副本.png │ │ └── QQ截图20181108195151_副本.png └── 2.7 Scikit-learn的简单探索 │ ├── 2.7 Scikit-learn的简单探索.md │ └── screenshot │ ├── 2.png │ ├── 3.png │ ├── 4.png │ ├── 5.png │ ├── 6.png │ ├── 7.png │ └── QQ截图20181107130015_副本.png ├── 3.KNN ├── 3.1 KNN算法原理与简单实现 │ ├── 3.1 KNN算法原理与简单实现.md │ └── screenshot │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 11.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ └── 9.png ├── 3.2 Scikit-learn中KNN算法的封装 │ ├── 3.2 Scikit-learn中KNN算法的封装.md │ ├── kNN.py │ ├── kNNClassifier.py │ └── screenshot │ │ ├── WX20190718-205950@2x.png │ │ ├── WX20190723-143401@2x.png │ │ ├── WX20190723-143643@2x.png │ │ ├── WX20190723-155643@2x.png │ │ └── WX20190723-203849@2x.png └── 3.3 如何判断算法的好坏与性能 │ └── 3.3 如何判断算法的好坏与性能.md ├── README.md ├── screenshot └── QQ截图20180725235425.png └── 简介 什么是机器学习 ├── screenshot ├── QQ截图20180728195850.png ├── QQ截图20180728201445.png └── QQ截图20181106202946_副本.png └── 简介 什么是机器学习.md /1.机器学习基础/1.1 认识机器学习中的数据/1.1 认识机器学习中的数据.md: -------------------------------------------------------------------------------- 1 | # 1.1 认识机器学习中的数据 2 | 3 | ### IRIS(鸢yuan尾花)数据集 4 | 5 | > Iris(鸢尾花卉)数据集是非常著名且常用的分类实验数据集,由Fisher, 1936收集整理。数据集包含150个数据集,分为3类,每类50个数据,每个数据包含4个属性。可通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)三个种类中的哪一类。 6 | 7 | 该数据集包含了5个属性:Sepal.Length(花萼长度);Sepal.Width(花萼宽度);Petal.Length(花瓣长度);Petal.Width(花瓣宽度); 8 | 种类:Setosa(山鸢尾)、Versicolour(杂色鸢尾),以及Virginica(维吉尼亚鸢尾) 9 | 10 | - 下面表中用0、1、2代表三个种类,计算机中对数据处理,我们先学会采取数字化 11 | 12 | ### 数据 13 | 14 | ![QQ截图20180725205546.png](https://i.loli.net/2018/07/25/5b5873ba1899a.png) 15 | 16 | ![QQ截图20180725221256.png](https://i.loli.net/2018/07/25/5b5885e4ef87c.png) 17 | 18 | - 为可视化方便,我们只选取前两种花的前两个特征绘制出的其各个样本在平面二维图中的分布,即所有样本的两个特征组成了该特征空间,如下图所示 19 | 20 | 21 | 22 | - 举一反三:选取3个特征即可在3维空间中表示,n个特征即可在n维空间表示 23 | - 由上图我们可以清晰地看到每种花的特征在特征空间中的分布是不同的,我们简单地划两条直线将特征空间分成两部分 24 | - 得出结论:**分类任务的本质就是在特征空间中的切分**,高维空间同理 25 | - 思维:实际数据特征不止两个这么简单,我们应学会将高维空间先降维至低维空间思考 26 | 27 | ### 如何选取特征 举例 28 | > MNIST 数据集是一个最大的手写字符数据集,其经常被应用在机器学习领域,用于训练和测试。 29 | 30 | 31 | 32 | - 每个手写数字图像中每个像素点都可以看作为一个特征,因此可以用28*28=784个像素点的灰度值即特征来描述该图像,那么彩色图像特征如RGB值也更多,因此特征可以很抽象 33 | 34 | - **特征数据很大程度将决定算法运行的结果**,如何挖掘特征大家可以另外深入学习 35 | 36 | 37 | ### 相关概念 38 | - 数据集(data set):一组记录的合集 39 | - 样本(sample):也叫示例,对于某个对象的描述 40 | - 特征(feature):也叫属性,对象的某方面表现或特征 41 | - 特征空间(feature space):特征张成的空间 42 | - 样本空间/输入空间(sample space):同特征空间 43 | - 特征向量(feature vector):在特征空间里每个点对应一个坐标向量,把一个样本称作特征向 44 | - 维数(dimensionality):描述样本参数的个数(也就是空间是几维的) 45 | 46 | --- 47 | 48 | - 作者:Exrick 49 | - Github地址:https://github.com/Exrick/Machine-Learning 50 | - 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。 51 | -------------------------------------------------------------------------------- /1.机器学习基础/1.1 认识机器学习中的数据/screenshot/127313-6ee7f73fd968d278.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/1.机器学习基础/1.1 认识机器学习中的数据/screenshot/127313-6ee7f73fd968d278.png -------------------------------------------------------------------------------- /1.机器学习基础/1.1 认识机器学习中的数据/screenshot/QQ截图20180725205546.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/1.机器学习基础/1.1 认识机器学习中的数据/screenshot/QQ截图20180725205546.png -------------------------------------------------------------------------------- /1.机器学习基础/1.1 认识机器学习中的数据/screenshot/QQ截图20180725221256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/1.机器学习基础/1.1 认识机器学习中的数据/screenshot/QQ截图20180725221256.png -------------------------------------------------------------------------------- /1.机器学习基础/1.1 认识机器学习中的数据/screenshot/QQ截图20181106220953_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/1.机器学习基础/1.1 认识机器学习中的数据/screenshot/QQ截图20181106220953_副本.png -------------------------------------------------------------------------------- /1.机器学习基础/1.1 认识机器学习中的数据/线性代数 矩阵.md: -------------------------------------------------------------------------------- 1 | # 1.1 线性代数 矩阵 2 | 3 | ### 4 | -------------------------------------------------------------------------------- /1.机器学习基础/1.2 机器学习的主要任务/1.2 机器学习的主要任务.md: -------------------------------------------------------------------------------- 1 | # 1.2 机器学习的主要任务 2 | 3 | ### 主要任务 4 | 5 | - 分类:划分类别 (有限范围) 6 | - 识别是否为垃圾邮件(二分类,分类结果仅两种),手写数字识别(多分类) 7 | 8 | - 回归:结果是一个数值 (离散) 9 | - 预测股价、房价 10 | 11 | ![QQ截图20180728195902_副本.png](https://i.loli.net/2018/07/28/5b5c6afa63284.png) 12 | 13 | ### 分类任务 14 | 15 | - 学会将问题转化为分类任务,如 16 | - 下围棋:根据棋盘选择一个点落子 17 | - 自动驾驶:根据环境选择方向盘朝什么方向转多少度、踩下油门或刹车力度 18 | 19 | - 一些算法只支持解决二分类,一些只支持多分类,也有都支持解决的算法 20 | 21 | - 多标签分类任务 22 | 23 | 24 | 25 | - 每部电影都有可能被分成一个或多个不同的类别。每个实例都可以使用多个类别进行分配。这类类型的问题被称为多标签分类问题。 26 | 27 | ### 回归任务 28 | - 结果为连续的数值,如预测房价、成绩 29 | 30 | 31 | 32 | - 一些算法只支持解决分类问题,一些只支持回归问题,也有都支持解决的算法 33 | - 回归任务可转化为分类任务 34 | - 如预测成绩多少分值为回归任务,实际有时候只需评级,如为60分以下不及格、90分以上为优秀,因此又将该问题转化为分类任务 35 | 36 | ### 相关概念 37 | - 分类(classification):预测值是离散值,比如把人分为好人和坏人之类的学习任务 38 | - 回归(regression):预测值是连续值,比如你的好人程度达到了0.9,0.6之类的 39 | - 二分类(binary classification):只涉及两个类别的分类任务 40 | - 多分类(multi-class classification):涉及多个类别的分类 41 | 42 | --- 43 | 44 | - 作者:Exrick 45 | - Github地址:https://github.com/Exrick/Machine-Learning 46 | - 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。 47 | -------------------------------------------------------------------------------- /1.机器学习基础/1.2 机器学习的主要任务/screenshot/QQ截图20180728195902.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/1.机器学习基础/1.2 机器学习的主要任务/screenshot/QQ截图20180728195902.png -------------------------------------------------------------------------------- /1.机器学习基础/1.2 机器学习的主要任务/screenshot/QQ截图20181106222409_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/1.机器学习基础/1.2 机器学习的主要任务/screenshot/QQ截图20181106222409_副本.png -------------------------------------------------------------------------------- /1.机器学习基础/1.2 机器学习的主要任务/screenshot/QQ截图20181106222752_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/1.机器学习基础/1.2 机器学习的主要任务/screenshot/QQ截图20181106222752_副本.png -------------------------------------------------------------------------------- /1.机器学习基础/1.3 机器学习算法的几大分类/1.3 机器学习算法的几大分类.md: -------------------------------------------------------------------------------- 1 | # 1.3 机器学习算法的几大分类 2 | 3 | ### 机器学习算法的几大分类 4 | - 监督学习 5 | - 给机器训练的数据有标记(结果/答案),即给了机器答案的划分,这种正确的划分就是一种监督 6 | 7 | ![QQ截图20180728201449_副本.png](https://i.loli.net/2018/08/02/5b6300640ed79.png) 8 | 9 | - 例如医院拥有了大量病人患病的信息和确诊信息,通过这些数据训练机器来确定病人患病情况(再具体点:肿瘤是恶性还是良性) 10 | 11 | - 监督学习主要处理两大问题: 12 | - 分类 13 | - 回归 14 | - 非监督学习 15 | - 反之,给机器训练的数据没有任何标记(结果/答案) 16 | - 聚类分析:对没标记的数据进行分类 17 | - 应用:社交网络分析,市场划分,天文数据分析等 18 | 19 | ![timg.jpg](https://i.loli.net/2018/08/02/5b6310288c614.jpg) 20 | - 例如淘宝用户随着浏览购买商品产生的数据我们可以对顾客数据进行分析分成许多类别 21 | - 非监督学习的作用一:降维,方便可视化 22 | - 特征提取:扔掉无关的特征 23 | - 特征压缩(PCA算法):不扔掉任何特征,从中提取部分特征也可正确得出结果,提高运行效率。即尽量少损失信息,将高维特征向量压缩为低维特征向量 24 | - 非监督学习的作用二:异常检测 25 | 26 | 27 | 28 | > 无监督学习本身的特点使其难以得到如分类一样近乎完美的结果。假设两个人刷高考题,一个正常刷题,而另一人做的所有题目没有答案,那么想必第一个人高考会发挥更好,第二个人会发疯。 29 | 30 | - 半监督学习 31 | - 一部分数据有标记,一部分没有 32 | - 这种情况在实际场景下很常见,通常使用无监督学习先对数据处理,再使用监督学习进行模型训练 33 | 34 | - 增强学习 35 | 36 | ![QQ截图20180905214010_副本.png](https://i.loli.net/2018/09/05/5b8fdd3427b16.png) 37 | 38 | - AlphaGo、无人驾驶都是增强学习的应用,监督学习、半监督学习依然是基础 39 | 40 | ### 其他分类 41 | 42 | - 批量学习(离线学习) 43 | - 一次性批量将数据喂给算法(填鸭式学习),训练后的模型不再变化 44 | - 优缺点:简单,但如果要适应新环境变化需要重新批量学习,由于运算量巨大,例如在股市每时每刻都在变化,这种情况显然不可行 45 | - 在线学习 46 | - 输入样例后马上能得到正确的结果(股市),再根据得到的结果改进机器学习算法。即循环学习,不断修正优化模型 47 | - 优缺点:能及时反映新环境变化,但新数据是好是坏(异常数据?),因此需要对异常数据进行检查(非监督学习应用) 48 | - 参数学习 49 | - 假设线性关系,例如最简单的 `f(x)=ax+b`,机器学习的本质就是找到最优的参数a和b(基本的线性回归),一旦通过大量数据集学到参数后,数据集即没用了。 50 | - 非参数学习 51 | - 不对模型进行过多假设,但不代表没参数,区别于参数学习,不对问题建模,不把问题理解为学习参数 52 | 53 | ### 相关概念 54 | - 监督学习(supervised learning):分类和回归 55 | - 无监督学习(unsupervised learning):聚类 56 | - 聚类(clustering):把训练集中的对象分为若干组 57 | - 半监督学习(Semi-Supervised Learning):使用大量的未标记数据,同时使用标记数据,来进行模式识别工作 58 | - 增强学习(Reinforcement Learning):解决一个能感知环境的自治 59 | agent,怎样通过学习选择能达到其目标的最优动作问题。 60 | - 批量学习(Batch Learning):一次性批量输入给学习算法,可以被形象的称为填鸭式学习 61 | - 在线学习(Online Learning):按照顺序,循序的学习,不断的去修正模型,进行优化 62 | - 参数学习(Parametric Learning):假设可以最大程度地简化学习过程,与此同时也限制可以学习到是什么。这种算法简化成一个已知的函数形式 63 | - 非参数学习(Nonparametric Learning):不对目标函数的形式作出强烈假设的算法。通过不做假设,它们可以从训练数据中自由地学习任何函数形式 64 | --- 65 | 66 | - 作者:Exrick 67 | - Github地址:https://github.com/Exrick/Machine-Learning 68 | - 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。 69 | -------------------------------------------------------------------------------- /1.机器学习基础/1.3 机器学习算法的几大分类/screenshot/QQ截图20180728201449_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/1.机器学习基础/1.3 机器学习算法的几大分类/screenshot/QQ截图20180728201449_副本.png -------------------------------------------------------------------------------- /1.机器学习基础/1.3 机器学习算法的几大分类/screenshot/QQ截图20180905214010_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/1.机器学习基础/1.3 机器学习算法的几大分类/screenshot/QQ截图20180905214010_副本.png -------------------------------------------------------------------------------- /1.机器学习基础/1.3 机器学习算法的几大分类/screenshot/QQ截图20181106224120_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/1.机器学习基础/1.3 机器学习算法的几大分类/screenshot/QQ截图20181106224120_副本.png -------------------------------------------------------------------------------- /1.机器学习基础/1.3 机器学习算法的几大分类/screenshot/timg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/1.机器学习基础/1.3 机器学习算法的几大分类/screenshot/timg.jpg -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.1 Python3的安装/2.1 Python3的安装.md: -------------------------------------------------------------------------------- 1 | # 2.1 Python3的安装 2 | 3 | > 由于Pyhton2相对过时,且官方即将停止维护,请使用安装使用python3版本 4 | 5 | ### Windows 6 | 7 | - [官网下载](https://www.python.org/downloads/) 8 | 9 | - 踩坑提醒 截至2018年9月1日 建议请[下载3.6.6版本](https://www.python.org/downloads/release/python-366/),请勿下载最新3.7,避免不兼容,打开3.6.6版本网页后滑至底部可看到各版本,根据你系统选择下载 10 | 11 | ![QQ截图20180904233717.png](https://i.loli.net/2018/09/04/5b8ea6ceb3f88.png) 12 | 13 | > 更新:2019年03月19日 现可尝试下载最新版本 14 | 15 | - 记得勾选添加环境变量,避免手动添加 16 | 17 | 18 | 19 | - 接下来一路下一步安装即可 20 | - 完成后打开命令窗口输入执行 `python` 即可看到当前安装pyhton版本说明安装成功 21 | 22 | ### Mac 23 | 24 | - [下载地址](https://www.python.org/downloads/mac-osx/) 25 | - 双击下一步安装即可 26 | - 同样命令窗口终端输入 `python` 或 `python3` 验证是否安装成功(mac自带2.7版本) 27 | 28 | ![QQ20190319-223046@2x.png](https://i.loli.net/2019/03/19/5c90fd58c22bc.png) 29 | 30 | ### 其他系统版本自行根据官网说明安装 31 | 32 | --- 33 | 34 | - 作者:Exrick 35 | - Github地址:https://github.com/Exrick/Machine-Learning 36 | - 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。 37 | -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.1 Python3的安装/screenshot/QQ截图20180904233717.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.1 Python3的安装/screenshot/QQ截图20180904233717.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.1 Python3的安装/screenshot/QQ截图20180904235947.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.1 Python3的安装/screenshot/QQ截图20180904235947.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.2 相关IDE的安装与使用/2.2 相关IDE的安装与使用.md: -------------------------------------------------------------------------------- 1 | # 2.2 相关IDE的安装与使用 2 | 3 | ### Jupyter Notebook的安装与使用 4 | 5 | > Jupyter Notebook是一个开源Web应用程序,允许您创建和共享包含实时代码,方程式,可视化和叙述文本的文档。用途包括:数据清理和转换,数值模拟,统计建模,数据可视化,机器学习等等。 6 | 7 | - [官网安装教程](http://jupyter.org/install) 8 | 9 | - 只需要使用python安装该库即可 10 | 11 | ``` 12 | pip --version 或 python -m pip --version # 检查pip 13 | python -m pip install --upgrade pip # 若无pip安装最新 14 | python -m pip install jupyter # 安装jupyter 15 | ``` 16 | Python3版本安装 17 | ``` 18 | python3 -m pip install --upgrade pip 或 pip3 install --upgrade pip #安装最新pip 19 | python3 -m pip install jupyter #安装jupyter 20 | ``` 21 | - 安装完成后执行命令 `jupyter notebook` 即可运行自动打开Web 22 | 23 | - 由于notebook可对历史代码进行修改或执行、单元格操作、编辑Markdown、导出等强大功能,本学习笔记主要主要使用该编译器,当然具体使用方法或快捷键自行搜索,菜单栏上工具有什么用请自行尝试使用了解,以后用到的地方也会提到一些。 24 | 25 | > 最新版本现已支持中文! 26 | 27 | - 新建一个notebook,选择内核语言 28 | 29 | ![QQ截图20180905000934_副本.png](https://i.loli.net/2018/09/05/5b8eafee6da67.png) 30 | 31 | - 输入代码使用快捷键 Shift + Enter 或点击运行Run按钮执行,单击单元格可继续编辑 32 | 33 | ![QQ截图20180905002137_副本.png](https://i.loli.net/2018/09/05/5b8eb1f0e1030.png) 34 | 35 | - 快捷键或帮助文档查看 36 | 37 | ![QQ截图20180905233038_副本.png](https://i.loli.net/2018/09/05/5b8ff7db3cc99.png) 38 | 39 | - 高级魔法命令的使用 40 | 41 | - `%run`:运行本地其他脚本文件,示例:`%run hello.py` 42 | - `%timeit`:测试查看运行时间,示例:`%timeit L = 1`,多次循环测试取平均值 43 | - `%time`:只取一次测量时间 44 | - 查看所有魔法命令 `%lsmagic` 45 | - 相应魔法命令文档 加问号即可 `%run?` 46 | 47 | ![QQ截图20180905235640_副本.png](https://i.loli.net/2018/09/05/5b8ffce1e1bc3.png) 48 | 49 | ### PyCharm的安装 50 | 51 | - 使用pyhton开发的小伙伴应该不会陌生,JetBrains旗下产品 52 | 53 | - [官方下载地址](https://www.jetbrains.com/pycharm/download/#section=windows) 54 | 55 | - 下载Professional专业版的话自己去找激活方法 56 | 57 | - 安装使用问题具体百度 58 | 59 | ### Anaconda的安装 60 | 61 | - 截至2018年9月5日,Anaconda版本5.2 62 | 63 | - [官方下载地址](https://www.anaconda.com/download/) 64 | 65 | - 选择Python 3.6 version版本 66 | 67 | - [官网安装教程](http://docs.anaconda.com/anaconda/install/windows/) 68 | 69 | ![QQ截图20180905102714.png](https://i.loli.net/2018/09/05/5b8f3f292314b.png) 70 | 71 | - 安装使用问题具体百度 72 | 73 | --- 74 | 75 | - 作者:Exrick 76 | - Github地址:https://github.com/Exrick/Machine-Learning 77 | - 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。 78 | -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.2 相关IDE的安装与使用/screenshot/QQ截图20180905000934_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.2 相关IDE的安装与使用/screenshot/QQ截图20180905000934_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.2 相关IDE的安装与使用/screenshot/QQ截图20180905002137_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.2 相关IDE的安装与使用/screenshot/QQ截图20180905002137_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.2 相关IDE的安装与使用/screenshot/QQ截图20180905102714.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.2 相关IDE的安装与使用/screenshot/QQ截图20180905102714.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.2 相关IDE的安装与使用/screenshot/QQ截图20180905233038_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.2 相关IDE的安装与使用/screenshot/QQ截图20180905233038_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.2 相关IDE的安装与使用/screenshot/QQ截图20180905235640_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.2 相关IDE的安装与使用/screenshot/QQ截图20180905235640_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.3 Numpy的基本使用(一)/2.3 Numpy的基本使用(一).md: -------------------------------------------------------------------------------- 1 | # 2.3 Numpy的基本使用(一) 2 | 3 | > NumPy 是一个Python包。它代表 “Numeric Python”。它是一个由多维数组对象和用于处理数组的例程集合组成的库。可以执行以下操作:数组的算数和逻辑运算;傅立叶变换和用于图形操作的例程;与线性代数有关的操作,NumPy拥有线性代数和随机数生成的内置函数。NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用。 4 | 5 | - 官网:http://www.numpy.org 6 | 7 | - 安装Numpy 8 | - `pip install numpy` 或 `python -m pip install numpy` 9 | - Jupyter Notebook使用补充 10 | - 鼠标点击单元格左侧空白处,快捷键 `M` 切换Markdown输入 11 | - 菜单栏 `Insert` 可插入单元格,对应快捷键 `A` 和 `B` 12 | - 删除单元格 `双击D` 13 | - `Tab` 可提示补全 14 | 15 | ![QQ截图20180909220411_副本.png](https://i.loli.net/2018/09/09/5b9539fe36162.png) 16 | 17 | ![QQ截图20180906230746_副本.png](https://i.loli.net/2018/09/06/5b914576ba69c.png) 18 | 19 | ![QQ截图20180906230850_副本.png](https://i.loli.net/2018/09/06/5b914576cb418.png) 20 | 21 | ![QQ截图20180906230910_副本.png](https://i.loli.net/2018/09/06/5b914576d9a27.png) 22 | 23 | ![QQ截图20180906230921_副本.png](https://i.loli.net/2018/09/06/5b914576dc921.png) 24 | 25 | ![QQ截图20180909230554_副本.png](https://i.loli.net/2018/09/09/5b953a0509dae.png) 26 | 27 | ![QQ截图20180909230611_副本.png](https://i.loli.net/2018/09/09/5b953a0a1f896.png) 28 | 29 | ![QQ截图20180909230645_副本.png](https://i.loli.net/2018/09/09/5b953a0ebf7fb.png) 30 | 31 | ![QQ截图20180909230708_副本.png](https://i.loli.net/2018/09/09/5b953a12f1dbe.png) 32 | 33 | ![QQ截图20180909230729_副本.png](https://i.loli.net/2018/09/09/5b953a1c410d3.png) 34 | 35 | --- 36 | 37 | - 作者:Exrick 38 | - Github地址:https://github.com/Exrick/Machine-Learning 39 | - 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。 40 | -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.3 Numpy的基本使用(一)/screenshot/QQ截图20180906230656_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.3 Numpy的基本使用(一)/screenshot/QQ截图20180906230656_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.3 Numpy的基本使用(一)/screenshot/QQ截图20180906230746_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.3 Numpy的基本使用(一)/screenshot/QQ截图20180906230746_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.3 Numpy的基本使用(一)/screenshot/QQ截图20180906230850_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.3 Numpy的基本使用(一)/screenshot/QQ截图20180906230850_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.3 Numpy的基本使用(一)/screenshot/QQ截图20180906230910_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.3 Numpy的基本使用(一)/screenshot/QQ截图20180906230910_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.3 Numpy的基本使用(一)/screenshot/QQ截图20180906230921_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.3 Numpy的基本使用(一)/screenshot/QQ截图20180906230921_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.3 Numpy的基本使用(一)/screenshot/QQ截图20180909230554_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.3 Numpy的基本使用(一)/screenshot/QQ截图20180909230554_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.3 Numpy的基本使用(一)/screenshot/QQ截图20180909230611_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.3 Numpy的基本使用(一)/screenshot/QQ截图20180909230611_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.3 Numpy的基本使用(一)/screenshot/QQ截图20180909230645_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.3 Numpy的基本使用(一)/screenshot/QQ截图20180909230645_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.3 Numpy的基本使用(一)/screenshot/QQ截图20180909230708_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.3 Numpy的基本使用(一)/screenshot/QQ截图20180909230708_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.3 Numpy的基本使用(一)/screenshot/QQ截图20180909230729_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.3 Numpy的基本使用(一)/screenshot/QQ截图20180909230729_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/2.4 Numpy的基本使用(二).md: -------------------------------------------------------------------------------- 1 | # 2.4 Numpy的基本使用(二) 2 | 3 | - 官网:http://www.numpy.org 4 | 5 | ![1_副本.png](https://i.loli.net/2018/11/08/5be43242ec57b.png) 6 | 7 | ![2_副本.png](https://i.loli.net/2018/11/08/5be43241876be.png) 8 | 9 | ![3_副本.png](https://i.loli.net/2018/11/08/5be4324524345.png) 10 | 11 | ![4_副本.png](https://i.loli.net/2018/11/08/5be43244b95fa.png) 12 | 13 | ![5_副本.png](https://i.loli.net/2018/11/08/5be4324533e94.png) 14 | 15 | ![6_副本.png](https://i.loli.net/2018/11/08/5be43244ee0e9.png) 16 | 17 | ![7_副本.png](https://i.loli.net/2018/11/08/5be432443acc9.png) 18 | 19 | ![8_副本.png](https://i.loli.net/2018/11/08/5be43245ae81d.png) 20 | 21 | ![9_副本.png](https://i.loli.net/2018/11/08/5be43245b9a5e.png) 22 | 23 | ![10_副本.png](https://i.loli.net/2018/11/08/5be43245b8ef8.png) 24 | 25 | ![11_副本.png](https://i.loli.net/2018/11/08/5be43375808d8.png) 26 | 27 | ![12_副本.png](https://i.loli.net/2018/11/08/5be433756d48e.png) 28 | 29 | ![13_副本.png](https://i.loli.net/2018/11/08/5be43374b1c14.png) 30 | 31 | ![14_副本.png](https://i.loli.net/2018/11/08/5be433757cf34.png) 32 | 33 | ![15_副本.png](https://i.loli.net/2018/11/08/5be433757ebfa.png) 34 | 35 | --- 36 | 37 | - 作者:Exrick 38 | - Github地址:https://github.com/Exrick/Machine-Learning 39 | - 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。 40 | -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/10_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/10_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/11_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/11_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/12_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/12_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/13_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/13_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/14_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/14_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/15_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/15_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/16_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/16_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/1_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/1_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/2_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/2_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/3_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/3_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/4_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/4_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/5_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/5_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/6_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/6_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/7_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/7_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/8_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/8_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/9_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.4 Numpy的基本使用(二)/screenshot/9_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/2.5 Numpy的基本使用(三).md: -------------------------------------------------------------------------------- 1 | # 2.5 Numpy的基本使用(三) 2 | 3 | - 官网:http://www.numpy.org 4 | 5 | ![1_副本.png](https://i.loli.net/2018/11/08/5be4360844f9d.png) 6 | 7 | ![2_副本.png](https://i.loli.net/2018/11/08/5be4360ee51a8.png) 8 | 9 | ![3_副本.png](https://i.loli.net/2018/11/08/5be4361106daf.png) 10 | 11 | ![4_副本.png](https://i.loli.net/2018/11/08/5be4361103467.png) 12 | 13 | ![5_副本.png](https://i.loli.net/2018/11/08/5be436119f48d.png) 14 | 15 | ![6_副本.png](https://i.loli.net/2018/11/08/5be4361105055.png) 16 | 17 | ![7_副本.png](https://i.loli.net/2018/11/08/5be4361193b3d.png) 18 | 19 | ![8_副本.png](https://i.loli.net/2018/11/08/5be4361145ece.png) 20 | 21 | ![9_副本.png](https://i.loli.net/2018/11/08/5be4361193333.png) 22 | 23 | ![10_副本.png](https://i.loli.net/2018/11/08/5be436110f335.png) 24 | 25 | ![11_副本.png](https://i.loli.net/2018/11/08/5be436407a45d.png) 26 | 27 | ![12_副本.png](https://i.loli.net/2018/11/08/5be4364118fa2.png) 28 | --- 29 | 30 | - 作者:Exrick 31 | - Github地址:https://github.com/Exrick/Machine-Learning 32 | - 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。 33 | -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/10_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/10_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/11_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/11_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/12_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/12_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/1_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/1_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/2_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/2_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/3_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/3_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/4_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/4_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/5_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/5_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/6_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/6_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/7_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/7_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/8_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/8_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/9_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.5 Numpy的基本使用(三)/screenshot/9_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/2.6 Matplotlib的基本使用.md: -------------------------------------------------------------------------------- 1 | # 2.5 Matplotlib的基本使用 2 | 3 | > Matplotlib是一个Python 2D绘图库,它可以在各种平台上以各种硬拷贝格式和交互式环境生成出具有出版品质的图形。 Matplotlib可用于Python脚本,Python和IPython shell,Jupyter笔记本,Web应用程序服务器和四个图形用户界面工具包。 4 | 5 | - 官网:https://matplotlib.org 6 | 7 | - 安装Matplotlib 8 | - `pip install -U matplotlib` 或 `python -m pip install -U matplotlib` 9 | - 具体使用请查询官方文档,以下仅总结一些常用命令 10 | 11 | - 中文显示配置 12 | - 由于matplotlib库中无中文字体,图例为中文时将无法显示 13 | - 推荐解决方案一:每次编码前进行参数配置 14 | 15 | ```python 16 | import matplotlib.pyplot as plt 17 | plt.rcParams['font.sans-serif']=['SimHei'] # 正常显示中文 18 | plt.rcParams['axes.unicode_minus']=False # 正常显示负号 19 | ``` 20 | - 方案一Mac下配置说明 21 | ```python 22 | import matplotlib 23 | # 查看matplotlib支持的字体集 24 | a = sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist]) 25 | for i in a: 26 | print(i) 27 | # 找一个上面输出的中文字体,如Adobe Heiti Std 28 | plt.rcParams['font.family']=['Adobe Heiti Std'] # 正常显示中文 29 | plt.rcParams['axes.unicode_minus'] = False # 正常显示负号 30 | ``` 31 | - 推荐解决方案二:替换matplotlib字体库,一劳永逸 [参考地址](http://segmentfault.com/a/1190000005144275) 32 | 33 | ![1.png](https://i.loli.net/2018/11/07/5be1bfec79c1e.png) 34 | 35 | ![2.png](https://i.loli.net/2018/11/07/5be1bfed86407.png) 36 | 37 | ![3.png](https://i.loli.net/2018/11/07/5be1bfeca74a7.png) 38 | 39 | ![4.png](https://i.loli.net/2018/11/07/5be1bfed765b5.png) 40 | 41 | ![5.png](https://i.loli.net/2018/11/07/5be1bfed70f47.png) 42 | 43 | ![6.png](https://i.loli.net/2018/11/07/5be1bfed8099a.png) 44 | 45 | ![7.png](https://i.loli.net/2018/11/07/5be1bfed66987.png) 46 | 47 | ![8.png](https://i.loli.net/2018/11/07/5be1bfed53579.png) 48 | 49 | ![9.png](https://i.loli.net/2018/11/07/5be1bfed9dfbf.png) 50 | 51 | ![QQ截图20181107125938_副本.png](https://i.loli.net/2018/11/07/5be272a13e5c2.png) 52 | 53 | ![QQ截图20181107130124_副本.png](https://i.loli.net/2018/11/07/5be272a15f3cd.png) 54 | 55 | ![QQ截图20181107130142_副本.png](https://i.loli.net/2018/11/07/5be272a162bb3.png) 56 | 57 | ![QQ截图20181108195151_副本.png](https://i.loli.net/2018/11/08/5be42f6f40b95.png) 58 | 59 | --- 60 | 61 | - 作者:Exrick 62 | - Github地址:https://github.com/Exrick/Machine-Learning 63 | - 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。 64 | -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/1.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/11.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/2.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/3.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/4.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/5.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/6.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/7.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/8.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/9.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/QQ截图20181107125938_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/QQ截图20181107125938_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/QQ截图20181107130124_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/QQ截图20181107130124_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/QQ截图20181107130142_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/QQ截图20181107130142_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/QQ截图20181108195151_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.6 Matplotlib的基本使用/screenshot/QQ截图20181108195151_副本.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.7 Scikit-learn的简单探索/2.7 Scikit-learn的简单探索.md: -------------------------------------------------------------------------------- 1 | # 2.6 Scikit-learn的简单探索 2 | 3 | > Scikit-learn是一个专门用于机器学习的Python库。它基于NumPy,SciPy和matplotlib构建,是一个简单有效的数据挖掘和数据分析工具。 4 | 5 | - 官网:http://scikit-learn.org 6 | 7 | - 安装Matplotlib 8 | - `pip install -U scikit-learn` 或 `python -m pip install -U scikit-learn` 9 | 10 | - 再次提醒请学会查看官方文档,由于scikit-learn本身就是一个专门用于机器学习的开源库,大家在其官网就能学到很多东西 11 | 12 | - 官方开源地址:https://github.com/scikit-learn/scikit-learn 13 | 14 | - 文档:http://scikit-learn.org/stable/documentation.html 15 | 16 | - User Guide:http://scikit-learn.org/stable/user_guide.html 17 | 18 | - 简单探索 19 | 20 | ![QQ截图20181107130015_副本.png](https://i.loli.net/2018/11/07/5be272a14eeca.png) 21 | 22 | ![2.png](https://i.loli.net/2018/11/07/5be1c372d4fda.png) 23 | 24 | ![3.png](https://i.loli.net/2018/11/07/5be1c3743a7ae.png) 25 | 26 | ![4.png](https://i.loli.net/2018/11/07/5be1c3749d648.png) 27 | 28 | ![5.png](https://i.loli.net/2018/11/07/5be1c374044ac.png) 29 | 30 | ![6.png](https://i.loli.net/2018/11/07/5be1c3749d06a.png) 31 | 32 | ![7.png](https://i.loli.net/2018/11/07/5be1c374680d0.png) 33 | 34 | --- 35 | 36 | - 作者:Exrick 37 | - Github地址:https://github.com/Exrick/Machine-Learning 38 | - 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。 39 | -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.7 Scikit-learn的简单探索/screenshot/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.7 Scikit-learn的简单探索/screenshot/2.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.7 Scikit-learn的简单探索/screenshot/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.7 Scikit-learn的简单探索/screenshot/3.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.7 Scikit-learn的简单探索/screenshot/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.7 Scikit-learn的简单探索/screenshot/4.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.7 Scikit-learn的简单探索/screenshot/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.7 Scikit-learn的简单探索/screenshot/5.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.7 Scikit-learn的简单探索/screenshot/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.7 Scikit-learn的简单探索/screenshot/6.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.7 Scikit-learn的简单探索/screenshot/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.7 Scikit-learn的简单探索/screenshot/7.png -------------------------------------------------------------------------------- /2.机器学习相关工具安装与使用/2.7 Scikit-learn的简单探索/screenshot/QQ截图20181107130015_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/2.机器学习相关工具安装与使用/2.7 Scikit-learn的简单探索/screenshot/QQ截图20181107130015_副本.png -------------------------------------------------------------------------------- /3.KNN/3.1 KNN算法原理与简单实现/3.1 KNN算法原理与简单实现.md: -------------------------------------------------------------------------------- 1 | # 3.1 KNN算法原理与简单实现 2 | 3 | > K最近邻(k-Nearest Neighbor,KNN)分类算法,是最简单的机器学习算法之一,涉及高等数学知识近乎为0,虽然它简单,但效果很好,是入门机器学习的首选算法。但很多教程只是一笔带过,在这里通过该算法,我们可以学习到在机器学习中所涉及的其他知识点和需要注意的地方。 4 | 5 | - 在之前的鸢尾花数据集中,我们只将2种花的150个样本的前2个特征在二维特征空间中表示,如下图 6 | 7 | 8 | 9 | - 那么当来了一个新的数据(如下图中绿色的点),我们如何判断它最可能属于哪种花呢 10 | 11 | 12 | 13 | ### KNN算法原理 14 | 15 | - 我们先取一个k值(即KNN中的"K"),在这里我们先根据经验假设取得了最优值k=3。K近邻算法做的事情就是**对于每个新的点,我们计算出距离它最近的前k个点,然后这k个点进行投票**,在这里k=3,如下图所示 16 | 17 | 18 | 19 | - 这个例子中,蓝色:红色为2:1 20 | 21 | 22 | 23 | - 因此该新的绿色数据点更有可能属于蓝色类别的花 24 | 25 | 26 | 27 | - 即KNN算法就是通过**各样本之间的相似程度**(样本空间中的距离)作出判断,因此只考虑1个样本是不具有说服力的,通常我们考虑k为多个 28 | 29 | - 这里K近邻解决的就是前面讲到的分类问题,它也可以解决回归问题 30 | 31 | ### KNN算法的简单实现 32 | 33 | - 经过上面的分析我们可以得出该算法大致思路,即判断新来的数据点与其他所有数据的**距离**,距离最近的点的类别即可能为该新点的类别 34 | - 这里模拟了十组数据,每组数据横坐标代表已患肿瘤天数,纵坐标代表对应肿瘤大小,依次对应标记数据:0代表良性肿瘤用绿点表示,1代表恶性肿瘤红点表示 35 | 36 | ![WX20190328-142302@2x.png](https://i.loli.net/2019/03/28/5c9c7eb6c5ebf.png) 37 | 38 | - 这里所用到的数学公式是大家初高中就学习的求两点(x1, y1)与(x2, y2)间距离公式,,即**欧氏距离**公式 39 | 40 | 41 | 42 | - 假设现在来了一个新的病人数据(2.5, 2.2)对应图中蓝色点,绘制散点图后我们可以很容易发现其属于红色即恶性肿瘤一类,那么接下来让我们用代码实现吧 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | - 通过预测结果得出:由于该点所属类别很可能为1(恶性肿瘤),因此很遗憾,该病人很可能已经是癌症晚期 53 | --- 54 | 55 | - 作者:Exrick 56 | - Github地址:https://github.com/Exrick/Machine-Learning 57 | - 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。 58 | -------------------------------------------------------------------------------- /3.KNN/3.1 KNN算法原理与简单实现/screenshot/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/3.KNN/3.1 KNN算法原理与简单实现/screenshot/1.png -------------------------------------------------------------------------------- /3.KNN/3.1 KNN算法原理与简单实现/screenshot/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/3.KNN/3.1 KNN算法原理与简单实现/screenshot/10.png -------------------------------------------------------------------------------- /3.KNN/3.1 KNN算法原理与简单实现/screenshot/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/3.KNN/3.1 KNN算法原理与简单实现/screenshot/11.png -------------------------------------------------------------------------------- /3.KNN/3.1 KNN算法原理与简单实现/screenshot/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/3.KNN/3.1 KNN算法原理与简单实现/screenshot/2.png -------------------------------------------------------------------------------- /3.KNN/3.1 KNN算法原理与简单实现/screenshot/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/3.KNN/3.1 KNN算法原理与简单实现/screenshot/3.png -------------------------------------------------------------------------------- /3.KNN/3.1 KNN算法原理与简单实现/screenshot/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/3.KNN/3.1 KNN算法原理与简单实现/screenshot/4.png -------------------------------------------------------------------------------- /3.KNN/3.1 KNN算法原理与简单实现/screenshot/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/3.KNN/3.1 KNN算法原理与简单实现/screenshot/5.png -------------------------------------------------------------------------------- /3.KNN/3.1 KNN算法原理与简单实现/screenshot/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/3.KNN/3.1 KNN算法原理与简单实现/screenshot/6.png -------------------------------------------------------------------------------- /3.KNN/3.1 KNN算法原理与简单实现/screenshot/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/3.KNN/3.1 KNN算法原理与简单实现/screenshot/7.png -------------------------------------------------------------------------------- /3.KNN/3.1 KNN算法原理与简单实现/screenshot/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/3.KNN/3.1 KNN算法原理与简单实现/screenshot/8.png -------------------------------------------------------------------------------- /3.KNN/3.1 KNN算法原理与简单实现/screenshot/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/3.KNN/3.1 KNN算法原理与简单实现/screenshot/9.png -------------------------------------------------------------------------------- /3.KNN/3.2 Scikit-learn中KNN算法的封装/3.2 Scikit-learn中KNN算法的封装.md: -------------------------------------------------------------------------------- 1 | # 3.2 Scikit-learn中KNN算法的封装 2 | - 我们将之前自己实现的KNN算法继续完善,加入了一些参数变量判断,并将其封装进了函数方法 3 | 4 | ``` python 5 | import numpy as np 6 | from math import sqrt 7 | from collections import Counter 8 | 9 | ''' 10 | k:kNN中的k,判断多少个最近的数据 11 | xTrain:待训练的特征数据 12 | yTrain:待训练的Label标记数据 13 | x:新的待预测判断的数据 14 | return 返回预测结果 15 | ''' 16 | def kNNClassify(k, xTrain, yTrain, x): 17 | 18 | # k需大于1且小于训练集样本数量 19 | print(k) 20 | print(xTrain.shape[0]) 21 | if 1 <= k <= xTrain.shape[0]: 22 | print("无效的K值") 23 | return 24 | # 训练数据特征需与Label一一对应数量相同 25 | if xTrain.shape[0] != yTrain.shape[0]: 26 | print("训练数据特征与Label数量不同") 27 | return 28 | # 训练数据特征维度需与待预测的数据相同 29 | if xTrain.shape[0] != x.shape[0]: 30 | print("训练数据特征维度与待预测的数据不同") 31 | return 32 | 33 | distances = [sqrt(np.sum((xTrain - x)**2)) for xTrain in xTrain] 34 | nearest = np.argsort(distances) 35 | topKY = [yTrain[i] for i in nearest[:k]] 36 | votes = Counter(topKY) 37 | 38 | return votes.most_common(1)[0][0] 39 | ``` 40 | - 使用魔法命令加载该文件,运行函数得到一致的预测结果 41 | 42 | 43 | 44 | ### 小结 45 | - 通过该KNN机器学习算法的学习,对比之前的机器学习流程图,我们可以知道: 46 | - 对于监督学习,训练数据集既要有特征也包括了相应的标签(如刷高考题,既给你题目也给你答案) 47 | - 训练模型这个过程更专业的叫法英文中为`fit`,通常译为**拟合**;最后得出预测结果即为`predict` 48 | - **由于KNN算法的特殊性,我们未得到一个训练出的模型,因为KNN是一个不需要训练过程的算法,没有模型,但其训练数据集即可被看做为模型** 49 | 50 | 51 | 52 | 53 | 54 | 55 | ## Scikit-learn中KNN算法的使用 56 | 57 | > 再次提醒学会查询帮助文档及官方文档 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | - 如上就是使用Scikit-learn中的算法相当标准的步骤,总结为如下四步: 66 | - 加载相应算法 67 | - 创建实例(传入相应参数) 68 | - Fit拟合 69 | - Predict预测得出结果 70 | 71 | ## 模仿Scikit-learn重构自己实现的kNN算法 72 | 73 | ``` python 74 | import numpy as np 75 | from math import sqrt 76 | from collections import Counter 77 | 78 | class kNNClassifier: 79 | # 定义构造函数 80 | def __init__(self, k): 81 | 82 | assert k>=1, "无效的K值" 83 | self.k = k 84 | # 加上_定义为protected变量 85 | self._xTrain = None 86 | self._yTrain = None 87 | 88 | # 定义fit方法 89 | def fit(self, xTrain, yTrain): 90 | 91 | self._xTrain = xTrain 92 | self._yTrain = yTrain 93 | return self 94 | 95 | # 定义predict方法 96 | def predict(self, xPredict): 97 | 98 | assert self._xTrain is not None and self._yTrain is not None, "请先进行Fit" 99 | assert xPredict.shape[1] == self._xTrain.shape[1], "特征数量与训练数据集不一致(列数不一致)" 100 | 101 | yPredict = [self._predict(x) for x in xPredict] 102 | return np.array(yPredict) 103 | 104 | def _predict(self, x): 105 | 106 | assert x.shape[0] == self._xTrain.shape[1], "特征数量与训练数据集不一致(列数不一致)" 107 | 108 | distances = [sqrt(np.sum((xTrain - x)**2)) for xTrain in self._xTrain] 109 | nearest = np.argsort(distances) 110 | topKY = [self._yTrain[i] for i in nearest[:self.k]] 111 | votes = Counter(topKY) 112 | 113 | return votes.most_common(1)[0][0] 114 | 115 | def __repr__(self): 116 | return "kNN(k=%d)" % self.k 117 | ``` 118 | 119 | 120 | - 当然,Scikit-learn中底层实现的kNN算法没这么简单,为提升性能做了很多优化。 121 | --- 122 | 123 | - 作者:Exrick 124 | - Github地址:https://github.com/Exrick/Machine-Learning 125 | - 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。 126 | -------------------------------------------------------------------------------- /3.KNN/3.2 Scikit-learn中KNN算法的封装/kNN.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | from math import sqrt 3 | from collections import Counter 4 | 5 | ''' 6 | k:kNN中的k,判断多少个最近的数据 7 | xTrain:待训练的特征数据 8 | yTrain:待训练的Label标记数据 9 | x:新的待预测判断的数据 10 | return 返回 11 | ''' 12 | def kNNClassify(k, xTrain, yTrain, x): 13 | 14 | # k需大于1且小于训练集样本数量 15 | print(k) 16 | print(xTrain.shape[0]) 17 | if 1 <= k <= xTrain.shape[0]: 18 | print("无效的K值") 19 | return 20 | # 训练数据特征需与Label一一对应数量相同 21 | if xTrain.shape[0] != yTrain.shape[0]: 22 | print("训练数据特征与Label数量不同") 23 | return 24 | # 训练数据特征维度需与待预测的数据相同 25 | if xTrain.shape[0] != x.shape[0]: 26 | print("训练数据特征维度与待预测的数据不同") 27 | return 28 | 29 | distances = [sqrt(np.sum((xTrain - x)**2)) for xTrain in xTrain] 30 | nearest = np.argsort(distances) 31 | topKY = [yTrain[i] for i in nearest[:k]] 32 | votes = Counter(topKY) 33 | 34 | return votes.most_common(1)[0][0] -------------------------------------------------------------------------------- /3.KNN/3.2 Scikit-learn中KNN算法的封装/kNNClassifier.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | from math import sqrt 3 | from collections import Counter 4 | 5 | class kNNClassifier: 6 | # 定义构造函数 7 | def __init__(self, k): 8 | 9 | assert k>=1, "无效的K值" 10 | self.k = k 11 | # 加上_定义为protected变量 12 | self._xTrain = None 13 | self._yTrain = None 14 | 15 | # 定义fit方法 16 | def fit(self, xTrain, yTrain): 17 | 18 | self._xTrain = xTrain 19 | self._yTrain = yTrain 20 | return self 21 | 22 | # 定义predict方法 23 | def predict(self, xPredict): 24 | 25 | assert self._xTrain is not None and self._yTrain is not None, "请先进行Fit" 26 | assert xPredict.shape[1] == self._xTrain.shape[1], "特征数量与训练数据集不一致(列数不一致)" 27 | 28 | yPredict = [self._predict(x) for x in xPredict] 29 | return np.array(yPredict) 30 | 31 | def _predict(self, x): 32 | 33 | assert x.shape[0] == self._xTrain.shape[1], "特征数量与训练数据集不一致(列数不一致)" 34 | 35 | distances = [sqrt(np.sum((xTrain - x)**2)) for xTrain in self._xTrain] 36 | nearest = np.argsort(distances) 37 | topKY = [self._yTrain[i] for i in nearest[:self.k]] 38 | votes = Counter(topKY) 39 | 40 | return votes.most_common(1)[0][0] 41 | 42 | def __repr__(self): 43 | return "kNN(k=%d)" % self.k 44 | -------------------------------------------------------------------------------- /3.KNN/3.2 Scikit-learn中KNN算法的封装/screenshot/WX20190718-205950@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/3.KNN/3.2 Scikit-learn中KNN算法的封装/screenshot/WX20190718-205950@2x.png -------------------------------------------------------------------------------- /3.KNN/3.2 Scikit-learn中KNN算法的封装/screenshot/WX20190723-143401@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/3.KNN/3.2 Scikit-learn中KNN算法的封装/screenshot/WX20190723-143401@2x.png -------------------------------------------------------------------------------- /3.KNN/3.2 Scikit-learn中KNN算法的封装/screenshot/WX20190723-143643@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/3.KNN/3.2 Scikit-learn中KNN算法的封装/screenshot/WX20190723-143643@2x.png -------------------------------------------------------------------------------- /3.KNN/3.2 Scikit-learn中KNN算法的封装/screenshot/WX20190723-155643@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/3.KNN/3.2 Scikit-learn中KNN算法的封装/screenshot/WX20190723-155643@2x.png -------------------------------------------------------------------------------- /3.KNN/3.2 Scikit-learn中KNN算法的封装/screenshot/WX20190723-203849@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/3.KNN/3.2 Scikit-learn中KNN算法的封装/screenshot/WX20190723-203849@2x.png -------------------------------------------------------------------------------- /3.KNN/3.3 如何判断算法的好坏与性能/3.3 如何判断算法的好坏与性能.md: -------------------------------------------------------------------------------- 1 | # 3.3 如何判断算法的好坏与性能 2 | - 问题:将所有真实数据通过训练得出的模型如果很差怎么办? 3 | - 解决办法:训练与测试数据集分离 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Machine-Learning 2 | > 个人机器学习(Machine Learning, ML)笔记 参考多个学习资源 包含个人理解与总结 不能保证完全专业正确性 如有错误欢迎提出 期待您的补充贡献! 3 | 4 | 5 | 6 | - 机器学习:让机器去学习 7 | 8 | ## 目录 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 |
章节小节数学知识补充参与贡献人
介 绍什么是机器学习Exrick
第 1 章: 机器学习基础1.1: 认识机器学习中的数据线性代数: 矩阵Exrick
1.2: 机器学习的主要任务Exrick
1.3: 机器学习算法的几大分类Exrick
第 2 章: 机器学习相关工具安装与使用2.1: Python3的安装Exrick
2.2: 相关IDE的安装与使用Exrick
2.3: Numpy的基本使用(一)Exrick
2.4: Numpy的基本使用(二)Exrick
2.5: Numpy的基本使用(三)Exrick
2.6: Matplotlib的基本使用Exrick
2.7: Scikit-learn的简单探索Exrick
第 3 章: 最简单的分类算法:k近邻算法3.1: KNN算法原理与简单实现Exrick
3.2: Scikit-learn中KNN算法的封装Exrick
3.3: 如何判断算法的好坏与性能Exrick
102 | 103 | ### 推荐学习资源 104 | - [Google机器学习速成课程](https://developers.google.cn/machine-learning/crash-course/) 105 | - [斯坦福大学公开课-机器学习的动机与应用 讲师:Andrew Ng](http://open.163.com/movie/2008/1/M/C/M6SGF6VB4_M6SGHFBMC.html) 106 | - [吴恩达机器学习](https://study.163.com/course/courseMain.htm?courseId=1004570029) 107 | 108 | ### 参考 109 | - 百度百科、维基百科 110 | - [AiLearning](https://github.com/apachecn/AiLearning) 111 | - 引用相关大佬前辈 112 | - [吴恩达 Andrew Ng](https://baike.baidu.com/item/%E5%90%B4%E6%81%A9%E8%BE%BE/9465313) 113 | - [李飞飞](https://baike.baidu.com/item/李飞飞/7448630) -------------------------------------------------------------------------------- /screenshot/QQ截图20180725235425.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/screenshot/QQ截图20180725235425.png -------------------------------------------------------------------------------- /简介 什么是机器学习/screenshot/QQ截图20180728195850.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/简介 什么是机器学习/screenshot/QQ截图20180728195850.png -------------------------------------------------------------------------------- /简介 什么是机器学习/screenshot/QQ截图20180728201445.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/简介 什么是机器学习/screenshot/QQ截图20180728201445.png -------------------------------------------------------------------------------- /简介 什么是机器学习/screenshot/QQ截图20181106202946_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exrick/Machine-Learning/f2bc315f9a61f18fd6712d47ca949091b4a4f11a/简介 什么是机器学习/screenshot/QQ截图20181106202946_副本.png -------------------------------------------------------------------------------- /简介 什么是机器学习/简介 什么是机器学习.md: -------------------------------------------------------------------------------- 1 | # 简介 什么是机器学习 2 | 3 | ### 什么是机器学习 4 | 5 | - 机器学习(Machine Learning),顾名思义,就是让机器(计算机)也能像人类一样,通过观察大量的数据和训练,发现事物规律,获得某种分析问题、解决问题的能力。即**让机器去学习、执行**。 6 | - 对象:具有一定的统计规律的数据 7 | ### 机器学习的应用场景 8 | - 最早应用:识别垃圾邮件,如何制定多变的规则? 9 | 10 | ![QQ截图20181106202946_副本.png](https://i.loli.net/2018/11/06/5be18c104bbe4.png) 11 | 12 | > Andrew Ng: 基于你标记的邮件,你的邮件程序将更好地学会如何更好地过滤垃圾邮件 13 | 14 | - 图像识别,如识别猫狗、人脸识别、数字识别 15 | 16 | ![QQ截图20180728201445.png](https://i.loli.net/2018/07/28/5b5c6a28a2dfa.png) 17 | 18 | > 李飞飞:当机器也能“看”的时候,医生和护士会获得一双额外的、不知疲倦的眼睛帮他们诊断病情、照顾病人。汽车可以在道路上行驶得更智能、更安全。机器人会帮我们救助灾区被困和受伤的人员。我们会发现新的物种、更好的材料......我们正在一点一点地赋予机器视力。我们教它们去“看”,然后,它们反过来也帮助我们,让我们看得更清楚。 19 | 20 | - 语音识别 21 | - 搜索引擎: 根据你的搜索点击,优化你下次的搜索结果 22 | - 商品推荐 23 | > Andrew Ng:如果你经常上一些像Amazon或Netflix这样经常会给你推荐一些书籍或电影的网站,那么会有一些学习型算法来学习你经常购买的书籍或电影的种类,从而给你个性化的推荐。所以你们看,我们中的大多数人已经使用过很多次学习型算法了,但是我们甚至都不知道。 24 | 25 | - 医疗诊断:根据大量诊断报告数据判断病情 26 | > Andrew Ng:当然机器学习也在帮助我们了解人类基因,如果有一天我们找到了治愈癌症的方法,我打赌,学习型算法一定有很大的功劳。 27 | 28 | - 无人驾驶 29 | - 自然语言处理 30 | - ... 31 | 32 | ### 人工智能、机器学习与深度学习的关系 33 | 34 | ![QQ截图20180725235425.png](https://i.loli.net/2018/07/25/5b589d4121cea.png) 35 | 36 | - 如上图所示,很清晰明了地展示了三者之间的关系:`人工智能 > 机器学习 > 深度学习` 37 | - 人工智能:深蓝计算机是由IBM开发的象棋电脑,于1996年成为历史上第一个成功在标准国际象棋比赛中打败卫冕世界冠军的计算机系统。 38 | - 机器学习:AlphaGo Zero是谷歌下属公司Deepmind的新版程序。从空白(零)状态学起,在无任何人类输入的条件下,AlphaGo Zero能够迅速自学围棋,并以100:0的战绩击败“前辈”。 39 | - 深度学习:是机器学习的一种方法,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。 40 | 41 | ### 机器学习原理流程 42 | 43 | ![QQ截图20180728195850_副本.png](https://i.loli.net/2018/07/28/5b5c6afa62d70.png) 44 | 45 | - 收集数据 46 | - 输入大量数据 47 | - 特征提取 48 | - 使用机器学习算法训练模型 49 | - 测试调整算法 50 | - 得出最优模型 51 | - 模型可比作一个函数 y = f(x) 52 | 53 | ### 机器学习算法 54 | - kNN(k-近邻算法) 55 | - 线性回归 56 | - 朴素贝叶斯算法 57 | - SVM 58 | - 决策树 59 | - 逻辑回归 60 | - 随机森林 61 | - PCA 62 | - ... 63 | 64 | ### 学习环境 65 | - 语言:Python3 66 | - 优点:简易容易理解 67 | - 缺点:运行效率不高 68 | - 函数库:NumPy(底层语言:C和Fortran) 69 | - 绘图工具库:Matplotlib 70 | - 框架:Scikit-learn(内置数据集,也可从官网下载) 71 | - IDE:Jupter Notebook或PyCharm 72 | - 集成以上所有IDE:ANACONDA 73 | 74 | ### 基础 75 | - Python3基础 76 | - 高中及本科数学知识 考过研的更好 推荐收藏知乎大神整理 [机器学习数学基础知识点](https://zhuanlan.zhihu.com/p/25197792) 77 | --- 78 | 79 | - 作者:Exrick 80 | - Github地址:https://github.com/Exrick/Machine-Learning 81 | - 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。 82 | --------------------------------------------------------------------------------