分类数据

MapReduce的模式、算法和用例

ぐ巨炮叔叔 提交于 2019-12-05 14:06:10
在这篇文章里总结了几种网上或者论文中常见的MapReduce模式和算法,并系统化的解释了这些技术的不同之处。所有描述性的文字和代码都使用了标准hadoop的MapReduce模型,包括Mappers, Reduces, Combiners, Partitioners,和 sorting。如下图所示。 基本MapReduce模式 计数与求和 问题陈述: 有许多文档,每个文档都有一些字段组成。需要计算出每个字段在所有文档中的出现次数或者这些字段的其他什么统计值。例如,给定一个log文件,其中的每条记录都包含一个响应时间,需要计算出平均响应时间。 解决方案: 让我们先从简单的例子入手。在下面的代码片段里,Mapper每遇到指定词就把频次记1,Reducer一个个遍历这些词的集合然后把他们的频次加和。 class Mapper method Map(docid id, doc d) for all term t in doc d do Emit(term t, count 1) class Reducer method Reduce(term t, counts [c1, c2,...]) sum = 0 for all count c in [c1, c2,...] do sum = sum + c Emit(term t, count sum) 这种方法的缺点显而易见

MySQL入门笔记1

☆樱花仙子☆ 提交于 2019-12-05 11:34:51
SQL语句基本用法: 1. SQL语句分类: 1.1 数据定义语言 : 简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列等。关键字:create,alter(修 改),drop(删除)等 ; 1.2 数据操作语言:(重点掌握) 简称DML(Data Manipulation Language),用来对数据库中表的记录进行更新。关键字:insert,delete,update 等; 1.3 数据控制语言: 简称DCL(Data Control Language),用来定义数据库的访问权限和安全级别,及创建用户; 1.4 数据查询语言:(重点掌握) 简称DQL(Data Query Language),用来查询数据库中表的记录。关键字:select,from,where等。 2.SQL通用语法: 2.1 语法格式: (1)SQL语句可以单行或多行书写,需以英文分号结尾; (2) 可使用空格、缩进、折行来增强语句的可读性(由于SQL语句只以分号作为结尾,所以原则上可以无限制空格 折行); (3)MySQL数据库的SQL语句不区分大小写,关键字建议使用大写,变量名使用小写,例如:SELECT * FROM user。 (4)SQL通用注释: 单行注释:--空格+注释内容 多行注释:/* 注释内容*/ (注:多行注释不能嵌套)

Mysql索引分类

旧城冷巷雨未停 提交于 2019-12-05 11:07:09
在绝大多数情况下,Mysql索引都是基于B+树的,而索引可以提高数据查询的效率。 但是Mysql是如何利用B+树进行查询的呢?索引的作用只是提高查询效率吗? Mysql中的B+Tree索引 假设有一张教师表,里面有教师编号、名字、学科、薪资四个字段。 当你执行下面这条创建索引的sql语句时: create index id_name on teacher(name); Mysql就会在磁盘中构建这样一颗B+树: 这样一棵树有什么用呢?首先当然是加速查询。 举个简单的例子,假设现在要查找名字为“Mozart”的教师的数据: select * from teacher where name = "Mozart"; 既然我们已经建立了B+树,那么就要好好利用它来加速查询,而不是傻傻的去遍历整张表。 从根节点开始,我们发现,根节点就是”Mozart”,不过很可惜,根节点上面只有name字段的信息,没有其他字段的数据。 这是B+树的一个特点——只有叶子节点(leaf nodes)会指向行数据。 我们比较了要查找的值和搜索码值,发现相等,于是跳到搜索码右边的指针指向的节点,也就是“Srinivasan”所在的节点(注意,这里的节点是指下图红色框画出的区域)。 接着,我们遍历当前节点的搜索码值,和要查找的值做比较。 我们发现“Srinivasan”已经大于我们要查找的”Mozart”了

MySQL学习笔记之04-SQL的分类之DML

耗尽温柔 提交于 2019-12-05 11:01:49
DML:增删改表中的数据 1. 添加数据 语法: insert into 表名(列名1,列名2,列名3,...列名n) value(值1,值2,值3,...值n); insert into stu(id,name,age) value(1,'张三',20); 注意事项: 1)列名 和 值 一一对应 2)如果表名后不定义列名,则默认给所有的列添加值 insert into 表名value(值1,值2,值3,...值n); 3)除了数字类型,其他类型要使用引号(单双都可以)引起来 2. 删除数据 语法: delete from 表名 [where 条件]; delete from stu where id=1; 注意事项: 1) 如果不加条件,则删除表中所有的记录 2)如果要删除所有记录 ①delete from 表名; – 不推荐使用,有多少条数据就会执行多少次操作,效率低 ②truncate table 表名; – 推荐使用,操作等同于 先删除表,再创建一张“一样”的空表 3. 修改数据 语法: update 表名 set 列名1=值1,列名2=值2,...[where 条件] update stu set age=117 where id =3 修改一条数据 update stu set age=117 where id =3 修改多条,中间用逗号隔开 update stu

手把手教你用GAN实现半监督学习

落爺英雄遲暮 提交于 2019-12-05 10:49:39
引言 本文主要介绍如何在tensorflow上仅使用200个带标签的mnist图像,实现在一万张测试图片上99%的测试精度,原理在于使用GAN做半监督学习。前文主要介绍一些原理部分,后文详细介绍代码及其实现原理。前文介绍比较简单,有基础的同学请掠过直接看第二部分,文章末尾给出了代码GitHub链接。对GAN不了解的同学可以查看微信公众号:机器学习算法全栈工程师 的GAN入门文章。 本博客中的代码最终以GitHub中的代码为准,GitHub链接在文章底部,另外,本文已投稿至微信公众号:机器学习算法全栈工程师,欢迎关注此公众号 1.监督,无监督,半监督学习介绍 在正式介绍实现半监督学习之前,我在这里首先介绍一下监督学习(supervised learning),半监督学习(semi-supervised learning)和无监督学习(unsupervised learning)的区别。监督学习是指在训练集中包含训练数据的标签(label),比如类别标签,位置标签等等。最普遍使用标签学习的是分类任务,对于分类任务,输入给网络训练样本(samples)的一些特征(feature)以及此样本对应的标签(label),通过神经网络拟合的方法,神经网络可以在特征和标签之间找到一个合适的映射关系(mapping),这样当训练完成后,输入给网络没有label的样本

数据按组分类 然后排序

一世执手 提交于 2019-12-05 09:57:17
昨天遇到一个需求 将查出来的所有数据按照组统计数据并且排序 现在找到了一个图看的方法(可能是技术不行 之前没有想到) 两个函数 array_column array_multisort array_column() 返回数组中某列的值 array_multisort() 返回排序数组 <?php $data = array( array( 'id' => 5698, 'first_name' => 'Bill', 'last_name' => 'Gates', ), array( 'id' => 4767, 'first_name' => 'Steve', 'last_name' => 'Aobs', ), array( 'id' => 3809, 'first_name' => 'Mark', 'last_name' => 'Zuckerberg', ) ); $sort = array_column($data, 'first_name'); array_multisort($sort, SORT_DESC, $data); 来源: oschina 链接: https://my.oschina.net/u/3853452/blog/3137224

高光谱遥感图像相关知识梳理大全

て烟熏妆下的殇ゞ 提交于 2019-12-05 07:35:02
前言 ​ 本资料整理了高光谱遥感图像概念定义、分析处理与分类识别的基本知识。第一部分介绍高光谱图像的一般性原理和知识,第二部分介绍了高光谱图像的噪声问题;第三部分介绍高光谱图像数据冗余问题以及数据降维解决冗余的方法;第四部分介绍高光谱图像的混合像元问题,对光谱解混做了一定介绍;第五部分和第六部分分别介绍了高光谱图像的监督分类和分监督分类的特点、流程和常用算法。 1.基本介绍 高光谱遥感(Hyperspectral remote sensing) 是将成像技术和光谱技术相结合的多维信息获取技术,同时探测目标的二维集合空间与一维光谱信息,获取高光谱分辨率的连续、窄波段图像数据。 高光谱图像与高分辨率图像、多光谱图像不同。 高光谱识别优势: 光谱分辨率高、波段众多,能够获取地物几乎连续的光谱特征曲线,并可以根据需要选择或提取特定波段来突出目标特征; 同一空间分辨率下,光谱覆盖范围更宽,能够探测到地物更多对电磁波的响应特征; 波段多,为波段之间的相互校正提供了便利; 定量化的连续光谱曲线数据为地物光谱机理模型引入图像分类提供了条件; 包含丰富的辐射、空间和光谱信息,是多种信息的综合载体。 高光谱在识别方面的困难: 数据量大,图像包含几十个到上百个波段,数据量是单波段遥感图像的几百倍;数据存在大量冗余,处理不当,反而会影响分类精度;

NLP 语料分类不均衡/数据倾斜/data skew

怎甘沉沦 提交于 2019-12-05 05:14:50
数据层面: 过抽样 直接复制,即不断复制类别样本数少的类别样本。 插值法:通过对样本归一化,采样,求得样本分布,极值,均值等,然后根据样本分布,极值,均值来生成新样本来扩充样本数目。 欠抽样: 直接删除, 随机减少多数类样本的数量。 算法层面: Weighted loss function,一个处理非平衡数据常用的方法就是设置损失函数的权重,使得少数类判别错误的损失大于多数类判别错误的损失。在python的sk-learn中我们可以使用class_weight参数来设置权重,提高少数类权重,例如设置为多数类的10倍 采用文本生成的方式,解决文本样本不均衡的问题。 本文首先分析样本数少的类别,通过文本句法依赖分析,文本词性标记分析词的相关属性,然后采用同义词替换的方式生成新的文本。 来源: https://www.cnblogs.com/pocahontas/p/11908827.html

左右值无限分类实现算法

巧了我就是萌 提交于 2019-12-05 02:18:04
一、引言 产 品分类,多级的树状结构的论坛,邮件列表等许多地方我们都会遇到这样的问题:如何存储多级结构的数据?在PHP的应用中,提供后台数据存储的通常是关系型 数据库,它能够保存大量的数据,提供高效的数据检索和更新服务。然而关系型数据的基本形式是纵横交错的表,是一个平面的结构,如果要将多级树状结构存储在 关系型数据库里就需要进行合理的翻译工作。接下来我会将自己的所见所闻和一些实用的经验和大家探讨一下: 层级结构的数据保存在平面的数据库中基本上有两种常用设计方法: * 毗邻目录模式(adjacency list model) * 预排序遍历树算法(modified preorder tree traversal algorithm) 我不是计算机专业的,也没有学过什么数据结构的东西,所以这两个名字都是我自己按照字面的意思翻的,如果说错了还请多多指教。这两个东西听着好像很吓人,其实非常容易理解。 二、模型 这里我用一个简单食品目录作为我们的示例数据。 我们的数据结构是这样的,以下是代码: Food | |---Fruit | | | |---Red | | | | | |--Cherry | | | +---Yellow | | | +--Banana | +---Meat |--Beef +--Pork 复制代码 为了照顾那些英文一塌糊涂的PHP爱好者 Food : 食物 Fruit

MySQL --12 备份的分类

人盡茶涼 提交于 2019-12-04 19:09:19
目录 物理备份(Xtrabackup) 1.全量备份 2.增量备份及恢复 3.差异备份及恢复 4.实战:企业级增量恢复实战 物理备份(Xtrabackup) Xtrabackup安装 #下载epel源 wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-6.repo #安装依赖 yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL #下载Xtrabackup wget httpss://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.4/binary/redhat/6/x86_64/percona-xtrabackup-24-2.4.4-1.el6.x86_64.rpm 备份方式(物理备份) 1)对于非innodb表(比如myisam)是直接锁表cp数据文件,属于一种温备。 2)对于innodb的表(支持事务),不锁表,cp数据页最终以数据文件方式保存下来,并且把redo和undo一并备走,属于热备方式。 3)备份时读取配置文件/etc/my.cnf 1.全量备份 #全备 [root@db01 data]#