精华内容
下载资源
问答
  • 几种常见的数据分布

    万次阅读 2018-07-17 20:25:21
    学习机器学习算法过程中,少不了概率分布的概念,说起概率分布脑中除了正太分布那条线就再也没有其他印象了,这个缺陷使我在推导公式过程中遇到很多坑,也在理解数据特征中错过很多。模型基线取决于数据的好坏...

    学习机器学习算法过程中,少不了概率分布的概念,说起概率分布我的脑中除了正太分布那条线就再也没有其他印象了,这个缺陷使我在推导公式过程中遇到很多坑,也在理解数据特征中错过很多。模型的基线取决于数据的好坏,数据的好坏取决与你对数据的理解。所以为了更加懂数据,就先理解一下数据有哪些分布,每次看到一些算法介绍的时候,总是说服从这个分布那个分布,今天索性就把常用的几个总是停留在印象中的分布做个笔记。

    均匀分布

    这个分布很简单,但是当用到的时候会让你痛苦一会,大家都了解神经网络初始化权重,一般都是随机初始化,但是为了信息更好的在没一层流动,每一层输出的方差应该尽量相等,因此大牛就开始创作了Xavier初始化方法,这个方法得出的结论是,Xavier初始化的实现就是下面的均匀分布,

    所以在学习各种算法中,你不知道什么时候会有彩蛋,学习权重初始化方法也得先了解均匀分布先。
    这个分布理解起来还是很轻松的,就以上面的区间为例,随机取区间内的值X,每个值出现的概率相等。
    均匀分布概率密度函数:

    f(x)=1ba,a<x<b;f(x)=0

    均值与方差:
    u=a+b2;var=ba212

    伯努利分布

    名字听起来很陌生,其实离我们生活很近,抛硬币都是老掉牙的例子了,正面或者反面。逻辑回归二分类的结果就服从伯努利分布,因为逻辑回归二分类就给出两个结果正例负例。既然结果只有0-1两种,那么很显然它的概率分布就是离散型。
    随机变量X服从参数为p的伯努利分布,则X的概率函数:

    f(x|p)=px(1p)1xx=01

    均值与方差:
    u=p;var=p(1p)

    二项分布

    如果做n次伯努利试验,每次结果只有0,1两种结果,如果n=1的话显然是伯努利分布

    举例还以逻辑回归结果举例吧,如果只有一个模型那么结果就服从伯努利分布,如果对样本进行有放回抽样,训练多个逻辑回归模型,则这些模型的输出结果就服从二项分布,举这个例子而不是投硬币是希望能够引起你对bagging的思考。
    均值与方差:

    u=np;var=np(1p)

    泊松分布

    假设我们一个产品,统计用户性别比例男性占60%,假设有100个注册新用户,这100个注册用户,有1个为男的概率是多少?有两个为2男的概率是多少?有3个为男的概率是多少?依次下去,显然泊松分布也是离散型分布。

    P(x)=eλ(λx/x!)

    x是100个注册用户性别为男的个数,λ是先验概率60%
    P(x;p=0.6)=e0.6(0.6x/x!)
    有的书里面把P(x;p=0.6)写为P(x|p=0.6) 看着还挺不舒服的,不知道以为是条件概率。条件概率的话,因为都为变量而不存在常量。
    均值与方差:
    u=λ;var=λ

    指数分布

    同样以app用户注册为例,一个小时注册100个,那么在单位时间为一个小时的前提下,一个男的都没有的概率是多少?把x=0带入泊松分布公式,P(x=0)=eλ,则有男性的概率为P(x!=0)=1eλ,则一般形式P(x)=1eλt,指数分布的应用,如果让你求两个小时内有男人注册的概率你应该会求,对比泊松分布只关注有几个男人注册,而指数分布则只关注是否有男性用户注册。
    均值与方差:

    u=1λ;var=1λ2

    https://blog.csdn.net/saltriver/article/details/53982885
    https://baike.baidu.com/item/%E4%BC%AF%E5%8A%AA%E5%88%A9%E5%88%86%E5%B8%83/7167021
    http://www.cnblogs.com/mikewolf2002/p/7667944.html
    https://baike.baidu.com/item/%E6%8C%87%E6%95%B0%E5%88%86%E5%B8%83/776702?fr=aladdin
    https://www.jianshu.com/p/d1b7ca81d1af
    https://blog.csdn.net/lv_tianxiaomiao/article/details/69389761
    https://blog.csdn.net/u013146882/article/details/72998420
    https://blog.csdn.net/shuzfan/article/details/51338178

    展开全文
  • 中文名称:正态分布英文名称:normal distribution定义1:概率论中最重要的一种分布,也是自然界最常见的一种分布。该分布由两个参数——平均值和方差决定。概率密度函数曲线以均值为对称中线,方差越小,分布越集中...

    中文名称:正态分布

    英文名称:normal distribution

    定义1:概率论中最重要的一种分布,也是自然界最常见的一种分布。该分布由两个参数——平均值和方差决定。概率密度函数曲线以均值为对称中线,方差越小,分布越集中在均值附近。

    正态分布(normal distribution)又名高斯分布(Gaussian distribution),是一个在数学、物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力。若随机变量X服从一个数学期望为μ、标准方差为σ2的高斯分布,记为:则其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度。因其曲线呈钟形,因此人们又经常称之为钟形曲线。我们通常所说的标准正态分布是μ = 0,σ = 1的正态分布。

    服从正态分布的随机变量的概率规律为取与μ邻近的值的概率大,而取离μ越远的值的概率越小;σ越小,分布越集中在μ附近,σ越大,分布越分散。

    a8c340984a9a06af2abda2cf5a804179.png
    f60d3ea45607b04a4a15559e563184ec.png

    Zipf分布

    有一个基本定律,就是大家常说对于内容的访问遵循80/20原则,也就是20%的内容,会占有80%的访问量。

    Zipf分布与其类似。

    这是一个定性的原则,定量来说,内容访问近似符合Zipf定律(Zipf's law), 这个定律是美国语言学家Zipf发现的,他在1932年研究英文单词的出现频率时,发现如果把单词频率从高到低的次序排列,每个单词出现频率和它的符号访问排名存在简单反比关系:

    f01ec39ed1d419440f29e7b83e2fa4cf.gif

    这里 r 表示一个单词的出现频率的排名,P(r)表示排名为r的单词的出现频率.

    (单词频率分布中 C约等于0.1, a约等于1)

    后人将这个分布称为齐夫分布,这个分布是一个统计型的经验规律,描述了这样一个定理:只有少数英文单词经常被使用,大部分的单词很少被使用。这个定理也在很多分布里面得到了验证,比如人们的收入,互联网的网站数量和访问比例,互联网内容和访问比例(其他分>布两个常数有所不同,a越大,分布越密集,对于VOD来说某些时候符合双zipf分布)。

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~··

    (来自维基百科)

    齐夫定律可以表述为:在自然语言的语料库里,一个单词出现的频率与它在频率表里的排名成反比。所以,频率最高的单词出现的频率大约是出现频率第二位的单词的2倍,而出现频率第二位的单词则是出现频率第四位的单词的2倍。这个定律被作为任何与power law probability distributions有关的事物的参考。

    理论

    这个“定律”是哈佛大学的语言学家George Kingsley Zipf(IPA[zɪf])1949年发表的。

    比如,在 Brown 语料库中,“the”是最常见的单词,它在这个语料库中出现了大约7%(100万单词中出现69971次)。正如齐夫定律中所描述的一样,出现次数为第二位的单词“of”占了整个语料库中的3.5%(36411次),之后的是“and”(28852次)。仅仅135个字汇就占了Brown 语料库的一半。

    齐夫定律是一个实验定律,而非理论定律。齐夫分布可以在很多现象中被观察到。齐夫分布的在现实中的起因是一个争论的焦点。 齐夫定律很容易用点阵图观察,坐标为log(排名)和log(频率)。比如,“the”用上述表述可以描述为x = log(1), y = log(69971)的点。如果所有的点接近一条直线,那么它就遵循齐夫定律。

    最简单的齐夫定律的例子是“1/f function”。给出一组齐夫分布的频率,按照从最常见到非常见排列,第二常见的频率是最常见频率的出现次数的½,第三常见的频率是最常见的频率的1/3,第n常见的频率是最常见频率出现次数的1/n。然而,这并不精确,因为所有的项必须出现一个整数次数,一个单词不可能出现2.5次。然而,在一个广域范围内并且做出适当的近似,许多自然现象都符合齐夫定律。

    ===========================================================================

    zipf law :在给定的语料中,对于任意一个term,其频度(freq)的排名(rank)和freq的乘积大致是一个常数。

    It is known that the number of incoming links to pages on the Web follows a Zipfian distribution. That is, a small number of Web pages have an extremely large number of links pointing to them, while a majority of pages have only a small number of incoming links.

    Zipf定律是文献计量学的重要定律之一,它和罗特卡定律、布拉德福定律一起被并称为文献计量学的三大定律。

    对于CDN的内容管理,也近似符合Zipf 定律,就是大家常说对于内容的访问遵循80/20原则,也就是20%的内容,会占有80%的访问量。

    zipf law

    这里 r 表示一个单词的出现频率的排名,P(r)表示排名为r的单词的出现频率.

    (单词频率分布中 C约等于0.1, a约等于1)

    后人将这个分布称为zipf distribution,中文名称为齐普夫分布或Zeta 分布。这是一个离散事件分布,广泛应用于语言学,保险学,网络模拟,以及对稀疏事件的建模中。

    它表明在英语单词中,只有极少数的词被经常使用,而绝大多数词很少被使用。实际上,包括汉语在内的许多国家的语言都有这种特点。这个定律后来在很多领域得到了同样的验证,包括网站的访问者数量、城镇的大小和每个国家公司的数量。。这个定理也在很多分布里面得到了验证,比如人们的收入,互联网的网站数量和访问比例,互联网内容和访问比例(其他分布两个常数有所不同,a越大,分布越密集,对于VOD来说某些时候符合双zipf分布)。

    比起枯燥的公式,图表更具有说服力,下面是用三百个严格符合zipf 分布的数据点描绘成的图,其中横轴表示排名,纵轴表示访问的频率,分别使用线性坐标和对数坐标表示:

    zipf distribution

    可以看到对数坐标下是一条完美的直线。

    偏态分布(Skewed distribution)

    频数分布有正态分布和偏态分布之分。正态分布是指多数频数集中在中央位置,两端的频数分布大致对称。

    偏态分布是指频数分布不对称,集中位置偏向一侧。若集中位置偏向数值小的一侧,称为正偏态分布;集中位置偏向数值大的一侧,称为负偏态分布

    如果频数分布的高峰向左偏移,长尾向右侧延伸称为正偏态分布,也称右偏态分布;同样的,如果频数分布的高峰向右偏移,长尾向左延伸则成为负偏态分布,也称左偏态分布

    峰左移,右偏,正偏

    峰右移,左偏,负偏

    74fd74ab36d3bc8fd45b177ecd51f283.png

    偏态分布只有满足一定的条件(如样本例数够大等)才可以看做近似正态分布。

    与正态分布相对而言,偏态分布有两个特点

    一是左右不对称(即所谓偏态);

    二是当样本增大时,其均数趋向正态分布。

    展开全文
  • 描述数据分布# 6.1 绘制简单直方图# 运用geom_histogram()函数并映射一个连续型变量到参数xlibrary(ggplot2)ggplot(faithful,aes(x=waiting))+geom_histogram()# geom_histogram()函数只需要数据框其中一列或者一...
    # 6.描述数据分布
    # 6.1 绘制简单直方图
    # 运用geom_histogram()函数并映射一个连续型变量到参数x
    library(ggplot2)
    ggplot(faithful,aes(x=waiting))+geom_histogram()
    # geom_histogram()函数只需要数据框的其中一列或者一个单独的数据向量作为参数
    # 将变量值保存为一个基本向量
    w <- faithful$waiting
    ggplot(NULL,aes(x=w))+geom_histogram()
    # 默认情况下,数据将被切分为30组,可以通过组距(binwidth)参数来调整数据的分组数目,或者将数据切分为指定的分组数目
    # 直方图默认的填充色是黑色且没有边框线
    # 设置组距为5
    ggplot(faithful,aes(x=waiting))+geom_histogram(binwidth = 5,fill="white",colour="black")
    # 将x的取值切分为15组
    binsize <- diff(range(faithful$waiting))/15
    ggplot(faithful,aes(x=waiting))+geom_histogram(binwidth = binsize,fill="white",colour="black")
    # 有时,直方图的外观会非常依赖于组距和组边界,可通过调整分组远点(boundary)参数来改变
    h <- ggplot(faithful,aes(x=waiting)) # 将基本绘图结果存为变量以便于重复使用
    h + geom_histogram(binwidth = 8,fill="white",colour="black",boundary=31)
    h + geom_histogram(binwidth = 8,fill="white",colour="black",boundary=35)
    # 当数据量较小时,对分组边界的影响将会更大
    # 当数据集包含离散型数据时,直方图的非对称型不可忽视。数据分组时,各分组区间左闭右开
    # 运行代码geom_bar(stat="bin")也能得到相同的结果,不过,geom_histogram()函数的操作过程更易于解释


    # 绘制多个数据对应的分布时,频数多边形(frequency polygon)是一个更加的方案


    # 6.2 基于分组数据绘制分组直方图
    # 运行geom_histogram()函数并使用分面绘图即可
    library(MASS)
    # 使用smoke作为分面变量
    ggplot(birthwt,aes(x=bwt))+geom_histogram(fill="white",colour = "black",bins = 30)+facet_grid(smoke~.)
    birthwt
    birthwt1 <- birthwt # 复制一个数据副本
    # 将smoke转化为因子
    birthwt1$smoke <- factor(birthwt1$smoke)
    levels(birthwt1$smoke)
    library(plyr)
    birthwt1$smoke <- revalue(birthwt1$smoke,c("0"="No Smoke","1"="Smoke"))
    # 重新绘图
    ggplot(birthwt1,aes(x=bwt))+geom_histogram(fill="white",colour="black")+facet_grid(smoke~.)
    # 分面绘图时,各分面对应的y轴标度是相同的。
    # 当各组数据包含的样本数目不同时,可能难以比较各组数据的分布形状
    ggplot(birthwt,aes(x=bwt))+geom_histogram(fill="white",colour="black",bins = 30)+facet_grid(race~.)
    # 设置参数scales="free"可以单独设定各个分面的y轴标度,这种设置只适用于y轴标度,x轴标度仍然固定
    ggplot(birthwt,aes(x=bwt))+geom_histogram(fill="white",colour="black",bins = 30)+facet_grid(race~.,scales = "free")
    # 分组绘图的另一种做法是把分组变量映射给fill。此处的分组变量必须是因子型或者字符型的向量
    # 把smoke转化为因子
    birthwt1$smoke <- factor(birthwt1$smoke)
    # 把smoke映射给fill,取消条形堆叠,并使图形半透明
    ggplot(birthwt1,aes(x=bwt,fill=smoke))+geom_histogram(position = "identity",alpha=0.4,bins = 30)
    # 语句position="identity"很重要,没有它,ggplot()函数会将直方图的条形进行垂直堆积。


    # 6.3 绘制密度曲线
    # 运用geom_density()函数,并映射一个连续型变量到x
    ggplot(faithful,aes(x=waiting))+geom_density()
    # 如果不想绘制图形两侧和底部的线段,可以使用geom_line(stat="density")函数
    # 使用expand_limits()函数扩大y轴范围以包含0点
    ggplot(faithful,aes(x=waiting))+geom_line(stat = "density")+expand_limits(y=0)
    # geom_density()函数只需要数据框中的一列作为参数
    faithful
    # 将变量值保存在一个简单向量里
    w <- faithful$waiting
    ggplot(NULL,aes(x=w))+geom_density()


    # 核密度曲线是基于样本数据对总体分布作出的一个估计。曲线的光滑程度取决于核函数的带宽:带宽越大,曲线越光滑
    # 带宽可以通过adjust参数进行设置,其默认值为1
    ggplot(faithful,aes(x=waiting))+geom_line(stat = "density",adjust=.25,colour="red")+geom_line(stat="density")+geom_line(stat="density",adjust=2,colour="blue")
    # 想要展示曲线的更多部分,可以手动设定x轴的范围,同时,设置alpha=.2使填充色的透明度为80%
    ggplot(faithful,aes(x=waiting))+geom_density(fill="blue",alpha=.2)+xlim(35,105)
    # 这段代码将使用geom_density()函数绘制一个蓝色多边形,并在顶端添加一条实线
    ggplot(faithful,aes(x=waiting))+geom_density(fill="blue",colour=NA,alpha=.2)+geom_line(stat="density")+xlim(35,105)


    # 将密度曲线叠加到直方图上,可以对观测值的理论分布和实际分布进行比较。
    # 由于密度曲线对应的y轴坐标较小(曲线下的面积总是1),如果将其叠加到未做任何变换的直方图上,曲线可能会很难看清楚
    # 设置y=..density..可以减小直方图的标度以使其与密度曲线的标度相匹配。
    ggplot(faithful,aes(x=waiting,y=..density..))+geom_histogram(bins = 30,fill="cornsilk",colour="grey60",size=.2)+geom_density()+xlim(35,105)


    # 6.4 基于分组数据绘制分组密度曲线
    # 使用geom_density()函数,将分组变量映射给colour或fill等图形属性即可
    library(MASS)
    birthwt1 <- birthwt
    # 把变量smoke转化为因子
    birthwt1$smoke <- factor(birthwt1$smoke)
    # 把变量smoke映射给colour
    ggplot(birthwt1,aes(x=bwt,colour=smoke))+geom_density()
    # 把变量smoke映射给fill,设置alpha使填充色半透明
    ggplot(birthwt1,aes(x=bwt,fill=smoke))+geom_density(alpha=.3)
    # 绘制上图时,要求所有用的的数据都包含在一个数据框里,且数据框的其中一列是可用于分组的分类变量
    # 另一种对分组数据分布进行可视化的方法是使用分面(facet)
    ggplot(birthwt1,aes(x=bwt))+geom_density()+facet_grid(smoke~.)
    # 修改标签,需要修改因子水平的名称
    # 列出现有的因子水平,然后依照相同的顺序向它们赋予新的名字
    levels(birthwt1$smoke)
    library(plyr)
    birthwt1$smoke <- revalue(birthwt1$smoke,c("0"="No Smoke","1"="Smoke"))
    ggplot(birthwt1,aes(x=bwt))+geom_density()+facet_grid(smoke~.)
    # 设定y=..density..使直方图的y轴标度降到跟密度曲线相同
    ggplot(birthwt1,aes(x=bwt,y=..density..))+geom_histogram(binwidth = 200,fill="cornsilk",colour="grey60",size=.2)+geom_density()+facet_grid(smoke~.)


    # 6.5 绘制频数多边形
    # 使用geom_freqpoly()函数
    ggplot(faithful,aes(x=waiting))+geom_freqpoly()
    # 频数多边形看起来跟核密度估计曲线相似,但其传递的信息类似于直方图。它跟直方图都描述了数据本身的信息
    # 而核密度曲线只是一个估计,且需要人为输入带宽参数
    # 通过binwidth参数控制频数多边形的组距
    ggplot(faithful,aes(x=waiting))+geom_freqpoly(binwidth=4)
    # 通过直接设定每组组距将数据的x轴范围切分为特定数目的组
    # 将组数设定为15
    binsize <- diff(range(faithful$waiting))/15
    ggplot(faithful,aes(x=waiting))+geom_freqpoly(binwidth=binsize)


    # 6.6 绘制基本箱线图
    # 使用geom_boxplot()函数,分别映射一个连续型变量和一个离散型变量到y和x即可
    library(MASS)
    # 使用factor()函数将数值型变量转化为离散型
    ggplot(birthwt,aes(x=factor(race),y=bwt))+geom_boxplot()
    birthwt
    # 箱线图由箱和“须”(whisker)两部分组成。箱的范围是从数据的下四分位数到上四分位数,也就是常说的四分位距(IQR)。
    # 箱的中间有一条表示中位数,或者说50%分位数的线。须则是从箱子的边缘出发延伸至1.5倍四分位距内的最远的点
    # 如果图中有超过须的数据点,则其被视为异常值,并以点来表示


    # 设定参数width可以修改箱线图的宽度
    ggplot(birthwt,aes(x=factor(race),y=bwt))+geom_boxplot(width=.5)
    # 如果图中异常值较多且图形有重叠,可以通过设置outlier.size和outlier.shape参数修改异常点的大小和点形。
    # 异常点默认的大小是2,点形是6,即实心圆
    ggplot(birthwt,aes(x=factor(race),y=bwt))+geom_boxplot(outlier.size = 1.5,outlier.shape = 21)


    # 绘制单组数据的箱线图时,必须给x参数映射一个特定的取值,否则,ggplot()函数不知道箱线图对应的x轴坐标。
    ggplot(birthwt,aes(x=1,y=bwt))+geom_boxplot()+scale_x_continuous(breaks = NULL)+theme(axis.title.x = element_blank())


    # 6.7 向箱线图添加槽口(notch)
    # 使用geom_boxplot()函数并设定参数notch=TRUE
    library(MASS)
    ggplot(birthwt,aes(x=factor(race),y=bwt))+geom_boxplot(notch = TRUE)
    # 箱线图中的槽口用来帮助查看不同分布的中位数是否有差异,如果各箱线图的槽口互不重合,说明各中位数有差异
    # notch went outside hinges. Try setting notch=FALSE
    # 说明置信域(槽口)超过了某个箱子的边界。


    # 6.8 向箱线图添加均值
    # 使用stat_summary()函数。箱线图中的均值常以钻石形状表示
    library(MASS)
    ggplot(birthwt,aes(x=factor(race),y=bwt))+geom_boxplot()+stat_summary(fun.y = "mean",geom = "point",shape=23,size=3,fill="white")
    # 箱线图中间的水平线表示的是中位数,而不是均值。


    # 6.9 绘制小提琴图
    # 使用geom_violin()函数即可
    library(gcookbook)
    # 简单绘图
    p <- ggplot(heightweight,aes(x=sex,y=heightIn))
    p+geom_violin()
    # 小提琴图是一种用来对多组数据的分布进行比较的方法,也是核密度估计,但绘图时对核密度曲线取了镜像以使形状对称
    # 传统画法中,小提琴图中间叠加了一个较窄的箱线图,同时,用一个白圆圈表示中位数,另外设置outlier.colour=NA可以隐去箱线图中的异常点
    p+geom_violin()+geom_boxplot(width=.1,fill="black",outlier.colour = NA)+stat_summary(fun.y = median,geom = "point",fill="white",shape=21,size=2.5)
    # 小提琴图默认的坐标范围是数据的最小值到最大值,其扁平的尾部在这两个位置处截断。通过设置trim=FALSE可以保留小提琴的尾部
    p+geom_violin(trim = FALSE)
    # 默认情况下,系统会对小提琴图进行标准化以使得各组数据对应的图的面积一样。如果不想使各组数据对应的图的面积一样,可以设置scale="count"使得图的面积与每组观测值数目成正比
    # 校准小提琴图的面积,令其与每组观测值的数目成正比
    p+geom_violin(scale = "count")
    # adjust参数可以调整小提琴图的平滑程度,参数的默认值是1,更大的值对应于更平滑的曲线
    # 更平滑
    p+geom_violin(adjust=2)
    # 欠平滑
    p+geom_violin(adjust=.5)


    # 6.10 绘制Wilkinson点图
    # 使用geom_dotplot()函数
    library(gcookbook)
    countries2009 <- subset(countries,Year==2009&healthexp>2000)
    p <- ggplot(countries2009,aes(x=infmortality))
    p + geom_dotplot()
    # 这种图中,点的分组和排列取决于数据,每个点的宽度对应了最大的组距。系统默认的最大组距是数据范围的1/30,可以通过binwidth参数调整
    # 默认情况下,geom_dotplot()函数沿着x轴方向对数据进行分组,并在y轴方向上进行堆积。
    # 使用scale_y_continuous()函数可以移除y轴标签,使用geom_rug()函数以标示数据点的具体位置
    p+geom_dotplot(binwidth = .25)+geom_rug()+scale_y_continuous(breaks = NULL)+theme(axis.title.y = element_blank())
    # 默认的dotdensity分组算法,每个数据堆都放置在它表示的数据点的中心位置。要使用向直方图那样的固定间距的分组算法,可以令method="histodot"。
    p+ geom_dotplot(method = "histodot",binwidth = .25)+geom_rug()+scale_y_continuous(breaks = NULL)+theme(axis.title.y = element_blank())
    # 点图也能进行中心堆叠,或者采用一种奇数与偶数数量保持一致的中心堆叠方式。这可以通过设置stackdir="center"或者stackdir="centerwhole"来完成
    p+geom_dotplot(binwidth = .25,stackdir = "center")+scale_y_continuous(breaks = NULL)+theme(axis.title.y = element_blank())
    p+geom_dotplot(binwidth = .25,stackdir = "centerwhole")+scale_y_continuous(breaks = NULL)+theme(axis.title.y = element_blank())


    # 6.11 基于分组数据绘制分组点图
    # 为了比较多组数据,可以通过设定binaxis="y"将数据点沿着y轴进行堆叠,并沿着x轴分组
    library(gcookbook)
    ggplot(heightweight,aes(x=sex,y=heightIn))+geom_dotplot(binaxis = "y",binwidth = .5,stackdir = "center")
    # 将点图叠加在箱线图上
    ggplot(heightweight,aes(x=sex,y=heightIn))+geom_boxplot(outlier.colour = NA,width=.4)+geom_dotplot(binaxis = "y",binwidth=.5,stackdir = "center",fill=NA)
    # 也可将点图置于箱线图旁边:通过将x变量视作数值型变量并对其加减一个微小的数值移动箱线图和点图的位置,使点图位于箱线图的左边.
    # 当x变量被视为数值型变量时,必须同时指定group,否则,数据会被视为单独一组,从而只绘制出一个箱线图和点图。
    # 最后,由于x轴被视为数值型,系统会默认展示x轴刻度标签的数值;必须通过scale_x_continuous()函数对其进行调整,以使得x轴的刻度标签显示为与因子水平相对应的文本
    ggplot(heightweight,aes(x=sex,y=heightIn))+geom_boxplot(aes(x=as.numeric(sex)+.2,group=sex),width=.25)+geom_dotplot(aes(x=as.numeric(sex)-.2,group=sex),binaxis = "y",binwidth = .5,stackdir = "center")+scale_x_continuous(breaks = 1:nlevels(heightweight$sex),labels = levels(heightweight$sex))


    # 6.12 绘制二维数据的密度图
    # 使用stat_density2d()函数。该函数会给出一个基于数据的二维核密度估计。
    # 基础图
    p <- ggplot(faithful,aes(x=eruptions,y=waiting))
    p+geom_point()+stat_density2d()
    # 也可使用..level..将密度曲面的高度映射给等高线的颜色
    # 将height映射到颜色的等高线
    p+stat_density2d(aes(colour=..level..))
    # 系统默认使用等高线,也可以使用瓦片图(tile)将密度估计映射给填充色或瓦片图的透明色
    # 将密度估计映射给填充色
    p+stat_density2d(aes(fill=..density..),geom = "raster",contour = FALSE)
    # 带数据点,并将密度估计映射给alpha的瓦片图
    p+geom_point()+stat_density2d(aes(alpha=..density..),geom = "tile",contour = FALSE)
    # geom= "raster"和geom = "tile"的主要区别在于栅格几何对象能够比瓦片更有效地进行渲染
    # 对估计的带宽进行控制。传递一个指定x和y带宽的向量到h,这个参数会被传递给直接生成密度估计的函数kde2d()
    p+stat_density2d(aes(fill=..density..),geom = "raster",contour = FALSE,h=c(.5,5))
    # stat_density2d()函数和stat_bin2d()函数的关系与它们各自的一维情形,即密度曲线和直方图之间的关系类似。

    # 密度曲线是在特点假设下对分布的估计,而分组可视化则是直接表示观测值。


    # 7 注释
    # 7.1 添加文本注释
    # 使用annotate()和一个文本类几何对象
    library(ggplot2)
    p <- ggplot(faithful,aes(x=eruptions,y=waiting))+geom_point()
    p + annotate("text",x=3,y=48,label="Group 1") + annotate("text",x=4.5,y=66,label="Group 2")
    # 函数annotate()可以用于添加任意类型的几何对象
    # 也可以指定其他文本属性
    p+annotate("text",x=3,y=48,label="Group 1",family="serif",fontface="italic",colour="darkred",size=3)+
      annotate("text",x=4.5,y=66,label="Group 2",family="serif",fontface="italic",colour="darkred",size=3)


    # 当希望添加独立的文本对象时,千万不要使用geom_text()。
    # annotate(geom="text)会向图形添加一个单独的文本对象,而geom_text()却会根据数据创建许多的文本对象
    # 如果使用geom_text(),文本会在相同的位置被严重地遮盖,每个数据点各重绘了一次
    p+annotate("text",x=3,y=48,label="Group 1",alpha=.1)+ # 正常
      geom_text(x=4.5,y=66,label="Group 2",alpha=.1) # 遮盖绘制
    # 在输出为点阵格式时,遮盖绘制问题可能会导致边缘走样
    # 如果坐标轴是连续型的,可以使用特殊值Inf和-Inf在绘图区域的边缘放置文本注解。
    # 同时也需要使用hjust和vjust来调整文本相对于边角的位置
    p+annotate("text",x=-Inf,y=Inf,label="Upper left",hjust=-.2,vjust=2)+annotate("text",x=mean(range(faithful$eruptions)),y=-Inf,vjust=-0.4,label="Bottom middle")
    # 7.2 在注解中使用数学表达式
    # 使用annotate(geom="text")并设置parse=TRUE
    # 一条正态曲线
    p <- ggplot(data.frame(x=c(-3,3)),aes(x=x))+stat_function(fun = dnorm)
    p+annotate("text",x=2,y=0.3,parse=TRUE,label="frac(1,sqrt(2*pi))*e^{-x^2/2}")
    # 在ggplot2中使用parse=TRUE和文本类几何对象创建的数学表达式,和那些在R基础图形中利用plotmath和expression创建的数学表达式有着类似的格式,
    # 唯一的区别是,前者以字符串的形式存储,后者是表达式对象


    # 要将常规文本融入表达式中,只需在双引号内使用单引号(或者反过来)标出纯文本的部分即可。
    # 通过内部引号闭合的每一块文本都将被作为数学表达式中的一个变量对待。
    # 在R的数学表达式语法中,不能简单地把一个变量直接放在另一个变量旁边却不在中间加上任何记号。
    # 要显示两个相邻的变量,需要在它们之间放置一个*操作符,在显示图形时,它会被当做一个不可见的乘号对待
    # 要显示一个可见的乘号,需要使用%*%
    p+annotate("text",x=0,y=0.05,parse=TRUE,size=4,label="'Function:'*y==frac(1,sqrt(2*pi))*e^{-x^2/2}")


    # 7.3 添加直线
    # 对于横线或竖线,使用geom_hline()和geom_vline()即可。对于有角度的直线,则使用geom_abline()
    library(gcookbook)
    p <- ggplot(heightweight,aes(x=ageYear,y=heightIn,colour=sex))+geom_point()
    # 添加横线和竖线
    p+geom_hline(yintercept = 60)+geom_vline(xintercept = 14)
    # 添加有角度的直线
    p+geom_abline(intercept = 37.4,slope = 1.75)


    library(plyr)
    hw_means <- ddply(heightweight,"sex",summarise, heightIn=mean(heightIn))
    hw_means
    p +geom_hline(aes(yintercept=heightIn,colour=sex),data=hw_means,linetype="dashed",size=1)
    # 如果某个坐标轴是离散型而不是连续型,不能以字符串的形式直接指定截距——必须仍以数字的形式指定它们
    pg <- ggplot(PlantGrowth,aes(x=group,y=weight))+geom_point()
    pg+geom_vline(xintercept = 2)
    pg+geom_vline(xintercept = which(levels(PlantGrowth$group)=="ctrl"))


    # 7.4 添加线段和箭头
    # 使用annotate("segment")。
    library(gcookbook)
    p <- ggplot(subset(climate,Source=="Berkeley"),aes(x=Year,y=Anomaly10y))+geom_line()
    p + annotate("segment",x=1950,xend=1980,y=-.25,yend = -.25)
    # 可以使用grid包中的arrow()函数向线段两端添加箭头或平头
    library(grid)
    p+annotate("segment",x=1850,xend = 1820,y=-.8,yend=-.95,colour="blue",size=2,arrow=arrow())+
      annotate("segment",x=1950,xend=1980,y=-.25,yend=-.25,arrow=arrow(ends="both",angle = 90,length = unit(.2,"cm")))
    # 箭头线的默认角度(angle)为30度,默认长度(length)为0.2英寸(0.508厘米)
    # 如果一个或多个坐标轴是离散型的,则x和y的位置即由拥有坐标值1,2,3等的类型项表示。


    # 7.5 添加矩形阴影
    # 使用annotate("rect")
    library(gcookbook)
    p <- ggplot(subset(climate,Source=="Berkeley"),aes(x=Year,y=Anomaly10y))+geom_line()
    p+annotate("rect",xmin=1950,xmax = 1980,ymin = -1,ymax = 1,alpha=.1,fill="blue")
    # 只要传递了合适的参数,任意几何对象都可以配合annotate()使用
    # 本例中geom_rect()所需的参数是x和y的最大值与最小值


    # 7.6 高亮某一元素
    # 要高亮一个或多个元素,需要在数据中创建一个新列并将其映射为颜色。
    pg <- PlantGrowth # 复制一份PlantGrowth数据
    pg$hl <- "no" #设定所有值为“no"
    pg$hl[pg$group=="trt2"] <- "yes" #如果group值为“trt2",设定为”yes"
    # 手工指定颜色绘图
    ggplot(pg,aes(x=group,y=weight,fill=hl))+geom_boxplot()+scale_fill_manual(values = c("grey85","#FFDDCC"),guide=FALSE)
    # 如果有少量的元素要高亮,可以使用原始变量并为每个水平指定颜色,而不必创建一个新列
    ggplot(PlantGrowth,aes(x=group,y=weight,fill=group))+geom_boxplot()+scale_fill_manual(values = c("grey85","grey85","#FFDDCC"),guide=FALSE)


    # 7.7添加误差线
    # 使用geom_errorbar并将变量映射到ymin和ymax的值即可
    library(gcookbook) # 为了使用数据集
    # 抽取cabbage_exp数据的一个子集
    ce <- subset(cabbage_exp,Cultivar == "c39")
    # 为条形图添加误差线
    ggplot(ce,aes(x=Date,y=Weight))+geom_bar(fill="white",colour="black")+geom_errorbar(aes(ymin=Weight-se,ymax=Weight+se),width=.2)
    ######## 报错
    # 为折线图添加误差线
    ggplot(ce,aes(x=Date,y=Weight))+geom_line(aes(group=1))+geom_point(size=4)+geom_errorbar(aes(ymin=Weight-se,ymax=Weight+se),width=.2)


    ce
    cabbage_exp
    # geom_bar()的默认并列宽度为0.9,必须让误差线的并列宽度与此相同。
    # 如果不指定并列宽度,则默认按误差线的宽度并列,而此宽度通常会小于条形的宽度
    # 反例:未指定并列宽度
    ggplot(cabbage_exp,aes(x=Date,y=Weight,fill=Cultivar))+geom_bar(position = "dodge")+geom_errorbar(aes(ymin=Weight-se,ymax=Weight+se),position = "dodge",width=.2)
    ### 报错
    # 正例:设定并列宽度与条形的相同(0.9)
    ggplot(cabbage_exp,aes(x=Date,y=Weight,fill=Cultivar))+geom_bar(position = "dodge")+geom_errorbar(aes(ymin=Weight-se,ymax=Weight+se),position = position_dodge(0.9),width=.2)
    ### 报错


    # 对于折线图来说,如果误差线的颜色与线和点的颜色不同,则应先绘制误差线,这样它们就会位于点和线的下层,否则,误差线将被绘制在点和线的上层
    # 另外应当同时并列所以的几何元素,这样它们就会同误差线对齐
    pd <- position_dodge(.3) # 保存并列参数,因为我们要重复使用它
    ggplot(cabbage_exp,aes(x=Date,y=Weight,colour=Cultivar,group=Cultivar))+geom_errorbar(aes(ymin=Weight-se,ymax=Weight+se),width=.2,size=0.25,colour="black",position=pd)+
      geom_line(position = pd)+
      geom_point(position = pd,size=2.5)
    # 使用size=0.25绘制更细的误差线线条,使用size=2.5绘制更大的点


    # 7.8向独立分面添加注解
    # 使用分面变量创建一个新的数据框,并设定每个分面要绘制的值。然后配合新数据框使用geom_text()
    # 基本图形
    p <- ggplot(mpg,aes(x=displ,y=hwy))+geom_point()+facet_grid(.~drv)
    # 存有每个分面所需标签的数据框
    f_labels <- data.frame(drv = c("4","f","r"),label=c("4wd","Front","Rear"))
    p+geom_text(x=6,y=40,aes(label=label),data=f_labels)
    # 如果使用annotate(),标签将在所以分面上出现
    p+annotate("text",x=6,y=42,label="label text")


    # 此函数返回一个数据框,其中的字符串
    # 表示回归公式和r^2值
    # 这些字符串被认为是R中的数学表达式
    lm_labels <- function(dat){
      mod <- lm(hwy~displ,data=dat)
      formula <- sprintf("italic(y)==%.2f %+.2f * italic(x)",round(coef(mod)[1],2),round(coef(mod)[2],2))
      r <- cor(dat$displ,dat$hwy)
      r2 <- sprintf("italic(R^2) == %.2f",r^2)
      data.frame(formula=formula,r2=r2,stringsAsFactors = FALSE)
    }


    library(plyr)
    labels <- ddply(mpg,"drv",lm_labels)
    labels
    # 绘制公式和R^2值
    p +geom_smooth(method = lm,se=FALSE)+geom_text(x=3,y=40,aes(label=formula),data = labels,parse = TRUE,hjust=0)+
      geom_text(x=3,y=36,aes(label=r2),data = labels,parse = TRUE,hjust=0)


    # 计算每组的r^2值
    labels <- ddply(mpg,"drv",summarise,r2 =cor(displ,hwy)^2)
    labels$r2 <- sprintf("italic(R^2)==%.2f",labels$r2)


    展开全文
  • 大纲:常见的离散型概率分布(二项,几何,超几何,泊松)常见的连续型概率分布(指数,正态,均匀)三大抽样分布(卡方,t,F)一些推论和分布之间的关系离散型分布二项分布实验重复n次,每次实验相互独立(伯努利...

    e3423f051858ab442f5a173120e6c4b2.png

    大纲:

    1. 常见的离散型概率分布(二项,几何,超几何,泊松)
    2. 常见的连续型概率分布(指数,正态,均匀)
    3. 三大抽样分布(卡方,t,F)
    4. 一些推论和分布之间的关系

    离散型分布

    • 二项分布

    实验重复n次,每次实验相互独立(伯努利实验),实验有两种结果,成功概率p,失败概率1-p。

    在二项分布中,我们关注的是在n次试验中成功的次数(区别于几何分布)。

    举个栗子:

    当我们要计算抛硬币n次,恰巧有x次正面朝上的概率,可以使用二项分布的公式:

    cf87777f6ca3bf6a8e69d66e6b3d7f8f.png

    二项概率的数学期望为E(x) = np,方差D(x) = np(1-p)。


    • 几何分布

    几何分布(英语:Geometric distribution)指的是以下两种离散型概率分布中的一种:

    • 在伯努利试验中,得到一次成功所需要的试验次数 X
    • 在得到第一次成功之前所经历的失败次数 X
    n重伯努利实验

    在第X次成功的概率:

    0c3ace8c4c75ef676d3af5a69274ee0d.png

    b2a56f7bad2a7f6931b00b44bb4cf80f.png

    • 超几何分布

    超几何分布是统计学上一种离散概率分布。它描述了由有限个物件中抽出n个物件,成功抽出指定种类的物件的个数(不归还 (without replacement))。

    例如:从N个样本中抽取n个,N个中有r个不合格的,求抽到x个不合格样本的概率。

    超几何分布的概率分布,均值和方差:

    3aeea5af767c5098c91d123ba99bf49e.png

    • 泊松分布

    泊松概率的成立条件是在任意两个长度相等的时间区间中,事件发生的概率是相同的,并且事件是否发生都是相互独立的。

    x代表发生x次,u代表发生次数的数学期望,概率函数为:

    1dd795a4fa7570d28923b57162ea9e5c.png

    实际计算过程中用这个公式更好理解:

    5c827e437e452ed37557dd2abbf455de.png

    t是你要计算的时间区间长度,t=1时即为泊松分布(单位时间),扩展后的函数是泊松过程。

    泊松分布的数学期望和方差相等,因此E(x) = D(x) = λ。


    连续型分布

    • 均匀分布

    在取值区间内出现概率相同(常数)

    概率密度函数,均值和方差:

    42889017c0be1e016e02c6f9f52c3998.png

    • 指数分布

    指数分布是连续型概率分布!!!放在这里是因为它跟泊松分布关系密切,可以由泊松分布推导而来。

    指数分布是事件的时间间隔的概率。时间间隔大于t,等同于t时间内事件次数为0的概率,而后者的概率可以由泊松过程给出。

    推导过程:

    8e787c15368d67a76e2cc4cdc626d9a9.png

    指数分布的期望和方差:若以λ为参数,则是E(X)=1/λ D(X)=1/λ²


    • 正态分布

    c2257d3037c05fc06fcde9ec86593578.png

    正态分布的经验法则:

    均值±标准差:68.3%
    均值±2标准差:95.4%
    均值±3标准差:99.7%

    35783635fe9dae3733f84ee99480812f.png

    抽样分布

    • 点估计和区间估计

    点估计:用样本统计量估计总体参数,未给出估计的可靠程度(置信度)

    区间估计:给定置信水平,以估计值为中心给出真实值可能出现的区间范围。


    • 大数定律和中心极限定理

    大数定律:样本量趋近于无穷时,样本均值收敛到总体期望

    中心极限定理:

    1,样本均值约等于总体均值
    2,抽样次数趋近于无穷时,样本均值围绕总体均值呈现正态分布(无论总体分布是否服从正态分布)

    • 标准差与标准误

    标准差 = 一次抽样中个体分数间的离散程度,反映了个体分数对样本均值的代表性,用于描述统计

    标准误 = 多次抽样中样本均值间的离散程度,反映了样本均值对总体均值的代表性,用于推论统计

    53a010ebc44c26353a90fed9b0d1f595.png

    • 卡方分布

    4e49773a85cb7aa407d7ee1b95ec62bb.png

    概率密度函数及其形状:

    182705ededbf9d85ae09af5453cb779d.png

    72f12ebb2649fb7fdc822b0fe2ff0188.png

    当自由度n增大时,卡方分布的概率密度函数趋于对称。

    卡方分布的性质:

    99f0ea4e2411ee5928c4a47f48f1bd17.png

    • t分布

    在讲t分布之前先了解下t检验和z检验:

    1. Z-Test 用于大样本(n>30),或总体方差已知;
    2. T-Test 在小样本(n<30),且总体方差未知时,适用性优于Z-Test,而在大样本时,T-Test 与 Z-Test 结论趋同。

    单样本t统计量:由于总体标准差未知,一般用样本标准差S估计总体标准差

    88459f692fd8fcd2581e4943f291a1d1.png

    384164eb425882f0bd7968bf0686c766.png

    双样本t统计量:

    827b4c88710f08f81e29c18d22dfb0cd.png

    1f6d5c5f369ac8e31115377cf4dddf87.png

    t统计量的分布服从t分布。当样本量无限大时,t分布无限接近于正态分布N(0,1)。

    自由度为n的t分布

    d2452451c9bf286740242dc2064c9e16.png

    概率密度函数及其形状:

    bd735007f1f39ff9f77add983c1bbcf3.png

    57a5a9a9472daea84ed5a929b3cc97af.png

    t变量的性质:当n趋向于无穷大时,t变量的极限分布为N(0,1)。


    • F分布

    e2771512835870bedcfafc799c1e5fe5.png

    概率密度函数及其图形:

    e23454d63933dcf205c7ec6f2b47b088.png

    自由度为m,n的F分布的密度函数

    ee603dbc9f51325a45363ca2adbc3a78.png

    F分布的自由度mn是有顺序的, 当m≠n时, 若将自由度mn的顺序颠倒一下, 得到的是两个不同的F分布.

    F变量的性质:

    ce1ba257fc64939afb2ffa1d2fe7f91a.png

    几个重要推论和分布间的关系

    • 正态变量线性函数的分布

    65fd6e3551fedc94cc21d11d819c0021.png
    • 正态变量样本均值和样本方差的分布

    ac92f60e3f10422bcec1900595d296f3.png
    • 一些推论

    3c0c8e14a5e2216f4c12f220c6bdbcc8.png

    97df64aa593d74fbb4bef47b9e3789f2.png

    f408e82f35d21e06d3dc979b0202263b.png

    38ef1be38bd97aca9aaf579518f4b9fa.png

    80eed6299de1db2eeea3d00fe43c8182.png

    参考资料:

    小白都能看懂的95%置信区间_bitcarmanlee的博客-CSDN博客

    https://blog.csdn.net/anshuai_aw1/article/details/82656691

    《商务与经济统计》学习笔记(七)-各统计分布知识点归纳_天阑之蓝的博客-CSDN博客

    如何七周成为数据分析师15:读了本文,你就懂了概率分布 | 人人都是产品经理

    展开全文
  • 常见DFS数据分布分析

    千次阅读 2014-11-06 20:09:52
    该文档是几个典型分布式文件系统的总结,重点在于各个分布式文件系统的数据分布方式分析,顺带介绍系统架构及其优点缺点。     相关描述 ² 其他相关文档请参考新浪博客http://blog.si
  • 对于文件系统的架构只进行简单的解说,现在主要对以上各种文件系统的数据分布方式进行总结分析,顺便从其数据分布方式中分析其性能,可用性,适用性等等。Lustre是个人最早接触的一个分布式文件系统,其给我留下最...
  • 概率分布 数学分布 常见分布
  • 本文主要介绍数理统计中几种常见的概率分布函数及其图像绘制以及分位数的计算。后续将更新的内容有常见分布的随机数的产生、参数估计等。敬请期待。 一、计算概率分布律及密度函数值 matlab直接提供了通用的计算概率...
  • 1. 离散型分布离散型分布表示数据分布是点状,不连续,如抛硬币1次,出现正面次数这个事件,P(正面)=0.5,P(不出现正面)=0.5。1)伯努利分布(二项分布)伯努利分布(Bernoulli distribution)又名两点分布或0-1...
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 ... 前言 一常见数据类型 离散型数据 连续型数据分布类型 伯努利分布Bernoull...
  • 如果我们能够了解数据分布中是否存在特定模式,则可以量身定制最适合我们机器学习模型。这样,我们将能够在更短时间内获得更好结果(减少优化步骤)。实际上,某些机器学习模型被设计为在某些分布假设下效果...
  • 数据服从正态分布是很多分析方法前提条件,在进行方差分析、回归分析等分析前...01. 正态图正态分布图可直观地展示数据分布情况,并结合正态曲线判断数据是否符合正态分布。操作步骤:SPSSAU→可视化→正态图分析...
  • 对于深度学习和机器学习工程师们来说,正态分布是世界上所有概率模型中最重要一个。即使你没有参与过任何人工智能项目,也一定遇到过高斯模型,今天就让我们来看看高斯过程为什么这么受欢迎。   高斯分布...
  • 如果我们能够了解数据分布中是否存在特定模式,则可以量身定制最适合我们机器学习模型。这样,我们将能够在更短时间内获得更好结果(减少优化步骤)。实际上,某些机器学习模型被设计为在某些分布假设下效果最...
  • 使用 Python 绘制第三周中常见的数据分布的可视化图 1. 使用 Python 验证数据集中的体温是否符合正态分布。 数据集地址:http://jse.amstat.org/datasets/normtemp.dat.txt 数据集描述:总共只有三列:体温、...
  • 1 文档说明 研究分布式文件系统时间也不短了,接触过...接触过文件系统有glusterfs、moosefs、lustre及hdfs等,其架构简单顺带解说一点,总体来说分为元数据中心式及去中心式。其实除了glusterfs,其他都是...
  • 数据分布 数据分布方式: 如何拆解分布式系统的数据 班级划分 人数均等策略 3个班,每个班30人 分数平衡策略 ...哈希方式是最常见的数据分布方式,其方法是按照数据的某一特征计算哈希值,并将哈希值与 机器中的机
  • 对于深度学习和机器学习工程师们来说,正态分布是世界上所有概率模型中最重要一个。即使你没有参与过任何人工智能项目,也一定遇到过高斯模型,今天就让我们来看看高斯过程为什么这么受欢迎。 高斯分布(Gaussian ...
  • 这篇博客主要整理是指数族分布 高斯分布 首先当然是高斯分布(Gaussian distribution),也叫正态分布...当数据分布比较复杂,高斯分布不足以描述时,我们常常使用混合高斯分布(Mixture Gaussian distributi
  • 分布式系统原理 之1 数据分布方式

    千次阅读 2018-06-04 19:47:18
    哈希方式是最常见的数据分布方式,其方法是按照数据的某一特征计算哈希值,并将哈希值与机器中的机器建立映射关系,从而将不同哈希值的数据分布到不同的机器上。 哈希分布数据的缺点同样明显,突出表现为可扩展性...
  • 哈希方式是最常见的数据分布方式,其方法是按照数据的某一特征计算哈希值,并将哈希值与机器中的机器建立映射关系,从而将不同哈希值的数据分布到不同的机器上。所谓数据特征可以是key-value 系统中的 key,也可以是其他...
  • 数据分布

    2020-05-21 16:23:21
    常见的离散分布有二项分布、泊松分布、几何分布、负二项分布和多项分布等。 事件的结果往往只有两个。例如:抛硬币,正面朝上的结果只有两个:国徽或面值;检查某个产品的质量,其结果只有两个:合格或不合格; ...
  • 作者:Pier Paolo Ippolito@南安普敦大学 编译:机器学习算法与Python实战(微信公众号:tjxj666) ... 介绍 拥有良好的统计背景对于数据科学家的日常工作可能会大有裨益。每次我们开始探索新的数据集时...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,447
精华内容 978
关键字:

常见的数据分布