Apache Axis

01.k-近邻算法(KNN)

落花浮王杯 提交于 2020-03-24 10:28:53
3 月,跳不动了?>>> 参考: 机器学习实战教程 机器学习实战书籍下载 - - 密码:qi7q k-近邻算法 公式编辑器 drawio画流程图 百度思维导图 纸上得来终觉浅,绝知此事要躬行 文章目录 1.算法理论 2.实践 1.knn分类 2.knn回归 总结 1.算法理论 k-近邻算法 是一种特征搜索的方法(相似性搜索): 1、准备训练集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x 3 , y 3 ) , . . . ( x n , y n ) } D=\{(x_1,y_1),(x_2,y_2),(x_3,y_3),...(x_n,y_n)\} D = { ( x 1 ​ , y 1 ​ ) , ( x 2 ​ , y 2 ​ ) , ( x 3 ​ , y 3 ​ ) , . . . ( x n ​ , y n ​ ) } 数据集量化 (将文本数据转成数字) 特征做归一化 (训练集与测试集都做) 2、每个测试样本与训练集中所有样本计算距离,按距离排序查找k个样本 可以使用的距离度量方法有: 欧式距离 (常用) 闵可夫斯基距离 曼哈顿距离 切比雪夫距离 马哈拉洛比斯距离 相似度度量 向量空间余弦相似度 皮尔森相关系数 3、统计这k个样本 分类 投票机制(少数服从多数) 回归 距离加权平均(类似于插值方式, 距离越小权重越大 ) 2.实践

「最全」实至名归,NumPy 官方早有中文教程,结合深度学习,还有防脱发指南

帅比萌擦擦* 提交于 2020-03-24 00:25:38
3 月,跳不动了?>>> NumPy 无疑是很多机器学习研究者和开发者的「白月光」。如此优秀的项目,没有中文版怎么行?近日,机器之心发现 NumPy 官方早在去年就已出了一个中文版网站,涵盖 NumPy 的一切。 在 Github 上一度蝉联最流行的机器学习和数据科学包 NumPy,已经有了非常之系统的中文文档,回想起当初细啃 NumPy 之时,不少人不得不徘徊于各大搜索引擎及平台反复查找,找到的文档也许还很不系统。现在,如果有什么和 NumPy 的问题,只需要浏览这份官方中文文档就足够了。它足够的系统、全面且亲民。亲民到什么程度呢?网站还独一份的配备了「防脱发指南」。 NumPy 是什么?它是大名鼎鼎的,使用 Python 进行科学计算的基础软件包,是 Python 生态系统中数据分析、机器学习、科学计算的主力军,极大简化了向量与矩阵的操作处理。除了计算外,它还包括了: 功能强大的 N 维数组对象。 精密广播功能函数。 集成 C/C+和 Fortran 代码的工具。 强大的线性代数、傅立叶变换和随机数功能 此次中文文档还强调了它两大特性:Ndarray 以及切片和索引,这两部分所涉及的功能在日常操作中是十分常见的。 Ndarray:一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。ndarray 对象是用于存放同类型元素的多维数组。ndarray

交互语法之组件高亮

[亡魂溺海] 提交于 2020-03-23 10:42:29
3 月,跳不动了?>>> 交互语法之组件高亮 G2 从 4.0 开始,将所有的交互行为使用全新的交互语法实现,并且不再默认内置,需要用户显式调用 chart.interaction() 接口。为了帮助大家更好地理解、使用交互语法,我们将会推出交互语法专题。 本文介绍的是最常见的 通过组件高亮图形 (突出当前关联图形元素,其他图形元素变暗)中的一种。我们还可以通过鼠标高亮图形、框选高亮图形,这些都会将在后续章节向大家详细介绍。 交互语法概览 G2 的交互语法,是将交互拆解成多个环节,每个环节由触发和反馈组成。只要你能将交互用自然语言的方式描述出来,就可以使用 G2 的交互语法进行组合搭建出交互行为。在这里我们再一起温习下 G2 交互语法中对于交互环节的定义,更详细的内容可以阅读可视化交互语法[1]。 G2 将每一个交互环节拆解成以下步骤: showEnable 示能:表示交互可以进行; start 开始:交互开始; processing 持续:交互持续; end 结束:交互结束; rollback 回滚:取消交互,恢复到原始状态; 下面我们就开始 通过组件高亮图形 的交互语法组装吧,为了帮助大家理解, 每个交互行为我们都会以自然语言 + 交互语法的形式向大家阐述。交互实现过程 中我们会使用 G2 内置的 Action,Action 的定义和列表参考 G2 配置交互[2]。

现实比理论要复杂

拟墨画扇 提交于 2020-03-21 16:54:14
3 月,跳不动了?>>> 我们试想一个实际问题,春天到了,我们要买衣服了,同时,作为服装厂商,也要开始发布新的衣服了,如果你作为一个服装厂商的技术顾问,请你分析出什么样的衣服属于今年的流行趋势,你会怎么做? 首先,作为技术宅男的你,我不认为你会对流行元素有那么多的关注,不会去看什么巴黎时装周,你能做的就是根据各种各样的数据进行分析预测。你可能会在店铺中进行一些扫码填写调查表发放一些优惠券,还可能去各大时尚网站去扒一些评论分析文章,还可能去微博这种公开的社交平台扒一些时尚博主的自拍分享等,你可以想尽办法获取各种各样的数据,你要做的是用好这些数据分析出流行趋势。 对于这种分析预测深度学习无疑是适合的模型工具,问题是既有这种调查表得来的数据,适合普通的层堆叠进行训练的模型,还有这种评论分析文章这种文本数据,适合循环神经网络的文章,还有各种图片需要分析,适合卷积神经网络的模型,这可怎么办?根据我们现有的知识,我们可以考虑分别训练不同的网络模型,对他们进行加权分析,这固然是一种方法,但是这个权也太随机了,各个数据之间也都割裂开了,分别处理算不上好的方法。那怎么办? 将他们联合起来,进行联合学习,大致的样子就是这样: 当然,联合模型不只能同时接收多种输入,还可以同时给出输出,比如流行的元素和价格,多个输入多个输出,这就不单纯是一个前面我们提到的各种线性的网络,更像是一个图的感觉,对

Numpy 数组 修改形状/连接/分割/元素的添加与删除

馋奶兔 提交于 2020-03-21 09:47:55
3 月,跳不动了?>>> 修改数组形状 就是将一个已有数组按照要求改变其形状后新生成一个数组,新数组的所 有元素都来自于原数组, 并且元素数量也保持不变,变的只有形状。 reshape 不改变数据的条件下修改形状 flat 数组元素迭代器 flatten 返回一份数组拷贝,对拷贝所做的修改不会影响原始数组 ravel 返回展开数组 reshape(…) 返回一个给定shape的数组的副本,不共用同一个视图 np. reshape(a, newshape, order='C ’) a 是原数组, newshape 是接收用元组表达的新数组的形状 a = np.arange(10) print(a) b = a.reshape(2, 5) print(b) c = np.reshape(a, (2,5)) print(c) 输出: [0 1 2 3 4 5 6 7 8 9] [[0 1 2 3 4] [5 6 7 8 9]] [[0 1 2 3 4] [5 6 7 8 9]] numpy.ndarray.flat() numpy.ndarray.flat 是一个数组元素迭代器 import numpy as np a = np.arange(9).reshape(3,3) print ('原始数组:') for row in a: print (row) #对数组中每个元素都进行处理

「最全」实至名归,NumPy 官方早有中文教程,结合深度学习,还有防脱发指南

主宰稳场 提交于 2020-03-21 01:03:54
3 月,跳不动了?>>> NumPy 无疑是很多机器学习研究者和开发者的「白月光」。如此优秀的项目,没有中文版怎么行?近日,机器之心发现 NumPy 官方早在去年就已出了一个中文版网站,涵盖 NumPy 的一切。 在 Github 上一度蝉联最流行的机器学习和数据科学包 NumPy,已经有了非常之系统的中文文档,回想起当初细啃 NumPy 之时,不少人不得不徘徊于各大搜索引擎及平台反复查找,找到的文档也许还很不系统。现在,如果有什么和 NumPy 的问题,只需要浏览这份官方中文文档就足够了。它足够的系统、全面且亲民。亲民到什么程度呢?网站还独一份的配备了「防脱发指南」。 NumPy 是什么?它是大名鼎鼎的,使用 Python 进行科学计算的基础软件包,是 Python 生态系统中数据分析、机器学习、科学计算的主力军,极大简化了向量与矩阵的操作处理。除了计算外,它还包括了: 功能强大的 N 维数组对象。 精密广播功能函数。 集成 C/C+和 Fortran 代码的工具。 强大的线性代数、傅立叶变换和随机数功能 此次中文文档还强调了它两大特性:Ndarray 以及切片和索引,这两部分所涉及的功能在日常操作中是十分常见的。 Ndarray:一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。ndarray 对象是用于存放同类型元素的多维数组。ndarray

NumPy 数组属性

人盡茶涼 提交于 2020-03-20 16:44:19
3 月,跳不动了?>>> NumPy 数组的维数称为秩(rank),秩就是轴的数量,即数组的维度,一维数组的秩为 1,二维数组的秩为 2,以此类推。 在 NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(dimensions)。比如说,二维数组相当于是两个一维数组,其中第一个一维数组中每个元素又是一个一维数组。所以一维数组就是 NumPy 中的轴(axis),第一个轴相当于是底层数组,第二个轴是底层数组里的数组。而轴的数量——秩,就是数组的维数。 很多时候可以声明 axis。axis=0,表示沿着第 0 轴进行操作,即对每一列进行操作;axis=1,表示沿着第1轴进行操作,即对每一行进行操作。 NumPy 的数组中比较重要 ndarray 对象属性 ndarray.ndim : 秩,即轴的数量或维度的数量 ndarray.shape :数组的维度,对于矩阵,n 行 m 列 ndarray.size :数组元素的总个数,相当于 .shape 中 n*m 的值 ndarray.dtype :ndarray 对象的元素类型 ndarray.itemsize :ndarray 对象中每个元素的大小,以字节为单位 ndarray.flags: ndarray 对象的内存信息 ndarray.real :ndarray 元素的实部 ndarray.imag :ndarray

一个交互式可视化Python库——Bokeh

邮差的信 提交于 2020-03-17 15:00:09
某厂面试归来,发现自己落伍了!>>> 本篇为《Python数据可视化实战》第十篇文章,我们一起学习一个交互式可视化Python库——Bokeh。 Bokeh基础 Bokeh是一个专门针对Web浏览器的呈现功能的交互式可视化Python库。这是Bokeh与其它可视化库最核心的区别。 Bokeh绘图步骤 ①获取数据 ②构建画布figure() ③添加图层,绘图line,circle,square,scatter,multi_line等;参数co lor,legend ④自定义视觉属性 ⑤选择性展示折线数据,建立复选框激活显示,复选框(checkbox) 导入库和数据 import numpy as np import bokeh from bokeh.layouts import gridplot from bokeh.plotting import figure, output_file, show 图表实例 1.散点图 import numpy as np import bokeh from bokeh.layouts import gridplot from bokeh.plotting import figure, output_file, show # output_file("patch.html") #输出网页形式 p = figure(plot_width=100,

Python生成词云

僤鯓⒐⒋嵵緔 提交于 2020-02-27 11:31:23
1 概述 利用Python生成简单的词云,需要的工具是cython,wordcloud与anaconda. 2 准备工作 包括安装cython,wordcloud与anaconda. 2.1 安装anaconda 下载官网 选择对应的版本下载即可. 2.2 安装cython cython是为了安装wordcloud准备的. pip -m pip install --upgrade cython 2.3 安装wordcloud 安装wordcloud前需要先安装Microsoft Visuall C++ 14.0. 这里下载 安装好了以后重启,输入 python -m easy_install wordcloud 3 使用 3.1 打开Jupyter 打开Jupyter Notebook. 然后会在浏览器打开这个页面,新建一个notebook. 先把需要的库导入: from wordcloud import WordCloud import matplotlib.pyplot as plt 3.2 创建文字库 简单的文字库可以直接选择一个txt文件,复杂的话可以选择创建一个excel,导出为csv文件,然后利用pandas库的read_csv()读入文件.这里创建一个txt,空格分隔单词即可. 然后上传到Jupyter中: 3.3 生成词云 首先读入文件: text = open(

Numpy和pandas的使用技巧

与世无争的帅哥 提交于 2020-02-27 10:27:33
'' '''2、np.cumsum()返回一个数组,将像sum()这样的每个元素相加,放到相应位置''' '''NumPy数组实际上被称为ndarray NumPy最重要的一个特点是N维数组对象ndarray,它是一系列同类型数据的集合 1、创建数组,将序列传递给numpy的array()函数即可,从现有的数据创建数组,array(深拷贝),asarray(浅拷贝); 或者使用arange()函数先创建一维数组,然后用reshape函数设置维度 创建未初始化的数组,empty(shape,dtype,order)形状,类型,行列优先,col是列,row是行 2、数组的几个重要属性, ndarray.ndim 秩,即轴的数量或维度的数量。可以在创建数组的时候np.array(ndmin=)设置最小维度 ndarray.shape 数组的维度,对于矩阵,n行m列,不改变原序列 ndarray.size 数组元素总个数,相当于shape中n*m的值,改变原序列 ndarray.itemsize,数组每个元素大小,以字节为单位 ndarray.dtype 数组元素类型 ndarray.nbytes 数组中的所有数据消耗掉的字节数 ndarray.flags 数组对象的内存信息 2.5、矩阵的维度 0维矩阵 A=3.6 A.shape=() 1维矩阵 A=[1,2,3,4] A.shape=