机器学习搭便车指南–决策树(1)

前言 有赞大数据团队内部建立机器学习系列课程, 旨在结合实际项目重新讲解一遍核心机器学习技术. 我们始终相信技术是推动业务进步的原动力. 我们把我们学习的重点记录下来, 分享给大家, 一同学习. 和普通机器学习教程不同, 除了讲解重要理论之外, 我们结合scikit-learn源码加强对知识的理解. 文章有大量的讨论, 都是我们实践过程中遇到的问题. 1. 决策树的基本概念 我们这里介绍一下一个比较简单的机器学习系统----决策树. 它的概念最容易理解, 因为人类的许多决策实际上就是一个决策树. 通常使用的分类回归树(class and regress tree)是一个二叉树。它的形式一般为: 每个方框代表一个节点.…

Read More

Kylin, Mondrian, Saiku系统的整合

本文主要介绍有赞数据团队为了满足在不同维度查看、分析重点指标的需求而搭建的OLAP分析工具。这个工具对Kylin、Mondrian以及Saiku做了一个整合,主要工作包括一些定制化的修改以及环境的配置。 目前这个系统还处于一个需要优化、完善的过程,这篇博文也会相应地更新。 背景 在有赞发展的初期,数据团队主要的工作之一就是根据运营人员的报表需求,编写sql,从hive中获得数据并写入mysql中存储。最后,前端人员写相应的代码展现mysql中存储的报表数据。 随着公司业务的快速发展,如此长周期的报表开发流程已经很难跟上运营人员的分析需求了。为了避免深陷报表开发、维护的泥潭,数据组决定调研大数据场景下的OLAP分析工具。参考了明略数据的解决方案之后,我们选择整合Kylin,Mondrian,Saiku来实现这样一个OLAP系统。 三巨头…

Read More

有赞搜索引擎实践(算法篇)

1. 搜索算法总体架构 在上篇文章(工程篇)中, 我们介绍了有赞搜索引擎的基本框架. 搜索引擎主要3个部件构成. 第一, hadoop集群, 用于生成大规模搜索和实时索引; 第二, ElasticSearch集群, 提供分布式搜索方案; 第三, 高级搜索集群, 用于提供商业搜索的特殊功能. 商业电商搜索由于搜索的特殊性, 独立的ElasticSearch集群是无法满足多样的算法需求的, 我们在搜索的各个部件上都有相应的算法插件, 用于构建商业电商搜索引擎的算法体系. 1.1 索引过程 创建索引过程从原始数据创建倒排索引的过程. 这个过程中我们对商品(…

Read More

有赞搜索引擎实践(工程篇)

随着互联网数据规模的爆炸式增长, 如何从海量的历史, 实时数据中快速获取有用的信息, 变得越来越有挑战性. 一个中等的电商平台, 每天都要产生百万条原始数据, 上亿条用户行为数据. 一般来说, 电商数据一般有3种主要类型的数据系统: 关系型数据库, 大多数互联网公司会选用mysql作为关数据库的主选, 用于存储商品, 用户信息等数据. 关系型数据库对于事务性非常高的OLTP操作(比如订单, 结算等)支持良好. hadoop生态, hadoop是数据仓库主要的载体, 除了备份关系型数据库的所有版本, 还存储用户行为, 点击, 曝光, 互动等海量日志数据, hadoop对于数据分析,…

Read More

字符串,那些你不知道的事

Everything you thought you knew about strings is wrong. 也许你会诧异,字符串有什么难的,即便遇到乱码的情况随便 Google 下就能找到解决方法,但是这样你不觉得有种被动的感觉嘛,我觉得和学习任何东西一样,学习编程首要是学习其思想,知道某事物为什么(why)要这么做,至于如何做(how)那只是前人提出的解决方案,我们可以参考,顺便掌握下来。…

Read More