朴素贝叶斯分类器

贝叶斯定理是概率论中非常有名的一个定理,而朴素贝叶斯(Naive Bayes)则是贝叶斯理论下非常有名的一个算法,在ML和NLP领域里面应用非常多。之前做过一些学习笔记,今天把原来的笔记再梳理了一下,发到博客上面来。如有不对之处,欢迎指正。另外,因为过的时间比较久了,当时整理时参考的一些出处已经记不得了,后面就不附出处了,开始正题。贝叶斯公式先看一下贝叶斯涉及到的一些概率论的概念:$$ P(A|B) = \frac{P(AB)}{P(B)} $$上面的公式是条件概率(conditional probability)的通用定义,介绍以下三个概念:边缘概率(marginal probability

Python中的finally解析

结论先简单总结下try语句块,Python中的异常处理使用try...except...[else]...[finally]的方式,其中的方括号表示是可选的。所以一个最全的try语句块如下所示:try: statement1 except A: // A异常处理 statement2 except: // 通用异常处理 statement3 else: some statement block finally: some statement block注:为了说明的更清楚,约定一下文中的“try语句块”指的是try、except、else、f

箱型图介绍

箱型图(Box plot)是数据分析里面经常会使用的一种统计图,因形状如箱子而的名,有时也称为盒须图、盒式图、盒状图等。该图有以下的优势不需要任何参数输入对原始数据的分布有任何假设可以非常方便的识别出异常值。箱型图中表示的一个重要的点就是四分位数,所以先简单介绍一下四分位数。1 四分位数1.1 概念四分位数(Quartile)是统计学中分位数的一种,即把所有数值由小到大分成四等份,处于三个分割点位置的数值就是四分位数。第一四分位数($Q_1$):也称下四分位数(Lower Quartile),等于该样本中所有数值由小到大排列后第25%的数字。第二四分位数($Q_2$):也称中位数(Middle

常见线性回归模型

线性回归公式线性回归公式:$$ { \hat y=\omega_0+\omega_1x_1+...+\omega_px_p } $$说明:数学上,我们把$\omega=(\omega_1,...,\omega_p)$称为系数(coefficient),$\omega_0$称为截距(intercept)。在机器学习里面,$y$是我们要预测的目标变量,$x_i$代表每个特征变量。$y$上面的小标记(hat)表示式子右边是对左边的最佳估计。上面的式子也可以表示为向量形式:$\hat y=X\omega$。这里的线性回归方程是超平面的线性回归方程。所以线性回归的模型很简单,就是一个超平面方程,接下来需

Oozie任务死锁解决方案

Oozie是Apache下面的一个用于流程调度(workflow scheduler)的系统,主要用于管理Hadoop生态圈中的各种任务,目前支持丰富的任务类型:Java MR、Streaming MR、Pig、Hive、Sqoop、Spark、Shell等。如果想详细了解Ooize强大的调度功能,可参考其官方(http://oozie.apache.org/)文档。本文主要讨论使用Oozie来调度任务时可能出现的死锁问题。严格来说并不是Ooize导致的死锁,而是YARN的调度机制导致的死锁。我们先来解释一下何时会产生死锁,以及原因。之前在《Hadoop系列六——YARN调度策略》一文中我们已

使用Pandas探索数据

做数据分析时,对数据越了解,越有助于我们去分析,本文介绍如何使用Pandas探索数据。1. Pandas简介Pandas是Python中一个高性能库,提供了非常易用的数据结构以及丰富的函数工具用来做数据分析,所以该库在数据分析领域用的非常广泛。使用Pandas的关键点在于理解Pandas的两个核心数据结构:Series和DataFrame。1.1 SeriesSeries表示带有标签的一维数组(one-dimensional labeled array):数组内的元素可以是任意类型;label称为index,index可以不唯一,但必须是可哈希的类型(hashable type)。构造Seri

YARN调度策略

在之前的《Hadoop系列三——YARN简介》中我们已经介绍了YARN的基本架构,但对于其调度策略只是简单提了一下,本文稍微深入一点,作为补充。YARN总共有三种调度策略:FIFO、Capacity Scheduler、Fair Scheduler。FIFO就是先进先出,最简单,实际中用的也比较少,这里就不再赘述了。Capacity Scheduler比Fair Scheduler出现的早,但随着慢慢的发展和改进,这二者的差异也越来越小了(个人觉得以后这两个合并为一个也是有可能的)。使用情况的话目前CDH(版本为5.8.2)默认使用Fair Scheduler,HDP(版本为2.6)默认使用C

HBase架构介绍

本文是对《Hadoop系列四——HBase简介》一文的补充,不过本文不会进行系统性介绍,只是针对一个个独立的点介绍,并且会不断更新,有点类似于FAQ吧。1. HBase的架构图简易版架构图:复杂版架构图:架构讲解见《Hadoop系列四——HBase简介》。2. HBase的数据模型在《Hadoop系列四——HBase简介》里面已经介绍过HBase的数据模型了,但这个的确非常重要,这里再做一些补充。HBase是根据Google的Bigtable论文实现的开源版"Bigtable",所以对Bigtable的描述同样适用于HBase:A Bigtable is a sparse, distribut
|