文档章节

机器学习概论&HiveSQL&其他杂项

DDDDavid
 DDDDavid
发布于 2017/07/18 10:21
字数 607
阅读 0
收藏 0
点赞 0
评论 0

 

机器学习概论

简单记录机器学习的发展史:

二十世纪五十年代到七十年代:推理期

        “逻辑理论家”程序、“通用问题求解”、跳棋程序

        连接主义(神经网络:感知机、Adaline)

二十世纪七十年代中期开始:知识期

        符号主义(结构学习系统、基于逻辑的归纳学习系统、概念学习系统)

        决策理论(学习技术、强化学习技术)

统计学习理论

二十世纪八十年代

        符号主义:决策树,以信息熵的最小化为目标

        基于逻辑的学习:归纳逻辑程序设计(ILP)

二十世纪九十年代

        连接主义学习:基于神经网络的(BP)

        统计学习:支持向量机(SVM)、核方法

二十一世纪初

        深度学习:多层神经网络

 

重要定理结论:

1、“没有免费的午餐”原理:不同算法的期望性能相同(问题的出现机会相同的条件下)。

2、“奥卡姆剃刀”原则:若有多个假设与观察一致,则选最简单的那个。

3、统计学通过机器学习对数据挖掘发挥影响,机器学习领域和数据库领域是数据挖掘的两大支撑。

                                                                                        ——以上内容来自周志华版的《机器学习》一书

 

 

开发机器学习应用程序的步骤:

(1)   收集数据;

(2)   准备输入数据;

(3)   分析数据;

(4)   训练算法;

(5)   测试算法;

(6)   使用算法。

                                                                                                  ——以上内容来自《机器学习实战》一书

 

 

 

HiveSQL的学习和操作。

HiveSQL优化:

1、 数据剪裁及job优化;(列剪裁、分区剪裁、利用hive的优化机制减少job数、job输入输出优化)

2、 Join操作及优化;(避免笛卡尔积、数据过滤、小表放前大表放后原则、Mapjoin、left semi join)

3、 输入输出优化;(合理使用动态分区、union all优化、合理使用union all、合理使用UDTF、多粒度计算优化)

4、 数据去重与排序;(distinct与group by、排序优化)

5、 数据倾斜;

 

数据表类型分类:

拉链表、非拉链表(增量表、全量表)

 

其他杂项:

进行数据挖掘适合使用python语言和R语言。安装anaconda,使用python比较方便,并且可以安装R软件。

© 著作权归作者所有

共有 人打赏支持
DDDDavid
粉丝 0
博文 4
码字总数 3947
作品 0
东城
程序员
记一则罕见的hive字段值异常引起map阶段的OOM

前段时间遇到了一个很诡异的发生的Map阶段的OOM异常,花了些时间才找到原因,这个简要记录一下。 先看log。 节点一的TaskTracker的log: 节点二的TaskTracker的log: 节点三的TaskTracker的l...

zengzhaozheng ⋅ 2014/05/19 ⋅ 0

HiveSql实际应用——(2)Lateral view_转行为列

写在前面: HiveSql实际应用系列,是在实际HiveSql运用场景中,遇到一些相对少见的功能时查找相应解决方案时学习到的。因为基本的SQL语句,可以任意找一本数据库原理的书,做书后的习题即可。...

数据分析狮 ⋅ 2016/08/03 ⋅ 0

HiveSql实际应用——(1)mapjoin、分区表、不等值匹配

写在前面:HiveSql实际应用系列,是在实际HiveSql运用场景中,遇到一些相对少见的功能时查找相应解决方案时学习到的。因为基本的SQL语句,可以任意找一本数据库原理的书,做书后的习题即可。...

数据分析狮 ⋅ 2016/07/31 ⋅ 0

org.apache.thrift.transport.TTransportException: SASL authentication not complete

org.apache.thrift.transport.TTransportException: SASL authentication not complete at org.apache.thrift.transport.TSaslTransport.write(TSaslTransport.java:444) at org.apache.thri......

sca7 ⋅ 2016/12/10 ⋅ 1

大数据到底怎么学: 数据科学概论与大数据学习误区

数据科学家走在通往无所不知的路上,走到尽头才发现,自己一无所知。”-Will Cukierski,Head of Competitions & Data Scientist at Kaggle 最近不少网友向我咨询如何学习大数据技术?大数据怎...

wx5ad819330b785 ⋅ 05/19 ⋅ 0

HAWQ取代传统数仓实践(十)——维度表技术之杂项维度

一、什么是杂项维度 简单地说,杂项维度就是一种包含的数据具有很少可能值的维度。事务型商业过程通常产生一系列混杂的、低基数的标志位或状态信息。与其为每个标志或属性定义不同的维度,不...

wzy0623 ⋅ 2017/05/27 ⋅ 0

基于Hadoop生态圈的数据仓库实践 —— 进阶技术(十)

十、杂项维度 本节讨论杂项维度。简单地说,杂项维度就是一种包含的数据具有很少可能值的维度。例如销售订单,它可能有很多离散数据(yes-no这种类型的值),如 verification_ind(如果订单已...

wzy0623 ⋅ 2016/08/01 ⋅ 0

FineUI(开源版)v4.2.0 发布了!

源代码已经托管到OSC:http://git.oschina.net/sanshi/FineUI FineUI(开源版)是基于 ExtJS 的专业 ASP.NET 控件库,8年开源路,第123个版本,值得信赖! 在线示例:http://fineui.com/dem...

三生石上 ⋅ 2015/05/19 ⋅ 19

hive数据仓库摘录和总结

Hive技术文档 ——Author HuangFx 2013/01/29 Hive是什么? Hive是蜂房的意思,为什么hadoop上的这层数据仓库叫Hive? 因为生物学上蜂房是一个结构相当精良的建筑,取名Hive足见则个数据仓库...

Zero零_度 ⋅ 2016/07/07 ⋅ 0

Hive技术文档

Hive是什么? Hive是蜂房的意思,为什么hadoop上的这层数据仓库叫Hive? 因为生物学上蜂房是一个结构相当精良的建筑,取名Hive足见则个数据仓库在数据存储上也是堪称精良的。Hive是Facebook开...

脸大的都是胖纸 ⋅ 2015/08/06 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

对于程序员的招聘问题,作为软件人的一些吐槽和建议

作为软件人,找工作有时候似乎挺苦逼的。 说真的,让我去掉前面这句中“似乎”二字吧。就是苦逼!很多人都曾抱怨处在招聘的一方很糟糕——我们没有任何可靠的方式来甄别会写代码并且写得好的...

老道士 ⋅ 29分钟前 ⋅ 0

HDFS原理学习

一、概述 1、 Hadoop整合了众多的文件系统,首先提供了一个高层的文件系统抽象org.apache.hadoop.fs.FileSystem。然后有各个文件系统的实现类。 2、Hadoop是JAVA编写的,不同文件系统之间的交...

cjxcloud ⋅ 33分钟前 ⋅ 0

Linux下MySQL表名不区分大小写的设置方法(抄袭别人的)

Linux下MySQL表名不区分大小写的设置方法 MySQL表名不区分大小写的设置方法 在用centox安装mysql后,把项目的数据库移植了过去,发现一些表的数据查不到,排查了一下问题,最后发现是表名的大...

随风而浮沉 ⋅ 38分钟前 ⋅ 0

ubuntu下安装宋体simsun

sudo cp simsun.ttc /usr/share/fonts cd /usr/share/fonts sudo chmod 644 simsun.ttc 更新字体缓存: 代码: sudo mkfontscale 代码: sudo mkfontdir 代码: sudo fc-cache -fsv 安装chrome扩......

wangxuwei ⋅ 39分钟前 ⋅ 0

利用 ssh 传输文件

Linux 下一般可以用 scp 命令通过 ssh 传送文件: #把服务器上的 /home/user/a.txt 发送到本机的 /var/www/local_dir 目录下scp username@servername:/home/user/a.txt /var/www/local_dir...

大灰狼时间 ⋅ 49分钟前 ⋅ 0

web3j教程:android和java程序员如何使用web3j开发区块链以太坊

如何使用web3j为Java应用或Android App增加以太坊区块链支持,本教程内容即涉及以太坊中的核心概念,例如账户管理包括账户的创建、钱包创建、交易转账,交易与状态、智能合约开发与交互、过滤...

智能合约 ⋅ 今天 ⋅ 0

web3j开发java或android以太坊智能合约快速入门

web3j简介 web3j是一个轻量级、高度模块化、响应式、类型安全的Java和Android类库提供丰富API,用于处理以太坊智能合约及与以太坊网络上的客户端(节点)进行集成。 可以通过它进行以太坊区块链...

笔阁 ⋅ 今天 ⋅ 0

一起读书《深入浅出nodejs》-异步I/O

异步I/O “异步”这个名词其实很早就诞生了,但它大规模流行却是在Web 2.0浪潮中,它伴随着AJAX的第一个A(Asynchronous)席卷了Web。 为什么要异步I/O 关于异步I/O为何在Node里如此重要,这与...

小草先森 ⋅ 今天 ⋅ 0

JVM各种问题

1、如果启动什么都不设,会怎样? 先来看一个命令 [root@localhost bin]# java -XX:+PrintCommandLineFlags -version -XX:InitialHeapSize=29899008 -XX:MaxHeapSize=478384128 -XX:+PrintCo......

算法之名 ⋅ 今天 ⋅ 0

SAS笔记-宏2

宏是一种文本,一般来说其编译是在程序执行之前。 宏变量的创建 %let语句 %let macro_variables = text; %let是常见的宏变量建立方式,其编译就在执行前。如下例中,想要宏变量test等于数据集...

tonorth123 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部