首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

机器学习 | 朴素贝叶斯理论

这是一个较强的假设: 条件独立假设是用于分类的特征类确定的条件下都是条件独立的。这一假设使朴素贝叶斯法变得简单,但有时会牺牲一定的分类准确率。...这个过程的主要问题是,箱子不能太大也不能太小如果箱子太大,就失去了分箱的基本意义,如果箱子太小,可能每个箱子里就没有足够的样本来帮助计算 ,因此必须要适当地衡量分箱效果。...如果定义曲线可以用函数 来表示的话,整条曲线下的面积就是: 其中 是 上的微分。在某些特定的 下可以证明,上述积分等于1。...实际问题中,通常会假设 满足高斯分布,伯努利分布多项式分布等等。这些分布对应着不同的贝叶斯算法,计算 不同,但本质都是相同的。...使用朴素贝叶斯假设,即使在给定类别标签的条件下,属性也可以很容易地计算高维设置中的类条件概率,常用于文本分类。 对孤立噪声和不相关属性具有鲁棒性。

52450

Pandas数据处理1、DataFrame删除NaN空(dropna各种属性控制超全)

axis, …]) #填充空 DataFrame.replace([to_replace, value, …]) #“to_replace”替换为“value”。...需要提供列名数组 inplace:是True和False,True是原DataFrame上修改,False创建新副本 测试数据 import pandas as pd import numpy...0'index',表示按行删除;1'columns',表示按列删除。 inplace:是否原地替换。布尔,默认为False。...如果method未被指定, 该axis下,最多填充前 limit 个空(不论空连续区间是否间断) downcast:dict, default is None,字典中的项为,为类型向下转换规则。...SQL的时候需要去掉空,其实和这个操作是一样的,空是很多的时候没有太大意义,数据清洗的时候就会用到这块了。

3.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

《机器学习》(入门1-2章)

PandasPandas库的数据处理功能建立Numpy库的基础之上,两者相辅相成。...条件分布:对于二维随机变量(X,Y),可以考虑在其中一个随机变量取得(可能的)固定条件下,另一随机变量的概率分布,这样得到的XY的概率分布叫做条件概率分布,简称条件分布。...sylvester判定:1.如果A的所有顺序主子式都大于0(大于等于0),那么A是正定矩阵(半正定矩阵)。...2.如果A的所有奇数阶顺序主子式都小于0(小于等于0),所有的偶数阶顺序主子式都大于0(大于等于0),那么A是负定矩阵(半负定矩阵)。 3.计算顺序主子式是:对角线相乘后相加。...条件熵:X给定条件下,Y的条件概率分布的熵对X的数学期望(平均不确定性)。 相对熵:又称为KL散度,信息散度,信息增益。主要用来衡量两个分布的相似度。

1.3K31

一文读懂神经网络初始化!吴恩达Deeplearning.ai最新干货

初始化太大\太小会导致梯度爆炸梯度消失 初始化这一步对于模型的最终性能至关重要,需要采用正确的方法。比如对于下面的三层神经网络。可以尝试使用不同的方法初始化此网络,并观察对学习的影响。...为了方便分析,如果假设W[1]=W[2]=…=W[L-1]=W,那么输出预测为 如果初始化太大太小会造成什么结果?...初始化太大导致成本围绕其最小震荡 情况2:初始化过小会导致梯度消失 类似地,如果每个权重的初始化都比单位矩阵稍小,即: 可简化表示为 且a[l]的随l减少呈指数级下降。...也就是说,与参数相关的成本梯度太小。这会导致成本达到最小之前收敛。 初始化太小导致模型过早收敛 总而言之,使用大小不合适的对权重进行将导致神经网络的发散训练速度下降。...在这两个假设下,反向传播的梯度信号不应该在任何层中乘以太小太大。梯度应该可以移动到输入层,而不会爆炸消失。

60140

评分卡系列(二):特征工程

3、数值变量中所有方差太小接近常量的变量剔除,因为不能提供更多信息;4、按业务逻辑完全不可解释的变量直接剔除,5、分类变量中unique大于20的直接剔除。...因此,如果两个相邻的区间具有非常类似的类分布,这两个区间可以合并;否则,它们应当保持分开。而低卡方表明它们具有相似的类分布。...详细的分箱算法如下: 它们的Python实现方法如下: 对于因子变量,主要有如下几种方式 2.3.4 LabelEncoder 这个比较简单,就是直接将整数来替换类别,例如在性别中用 1 替换男,用...它们最大的区别是,pandas默认只处理字符串类别变量,sklearn默认只处理数值型类别变量(需要先 LabelEncoder ) 2.3.6 WOE编码 第一节中我们介绍了总体发生比率和信息比率:...如果一个特征有K个类别,且用和表示第k类中好人和坏人的数量,用和表示好人和坏人的数量,IV可以表示为: 一般IV越大,该特征越要保留。

1.9K70

神经网络到底该如何初始化?吴恩达Deeplearning.ai最新干货

初始化太大\太小会导致梯度爆炸梯度消失 初始化这一步对于模型的最终性能至关重要,需要采用正确的方法。比如对于下面的三层神经网络。可以尝试使用不同的方法初始化此网络,并观察对学习的影响。...为了方便分析,如果假设W[1]=W[2]=…=W[L-1]=W,那么输出预测为 如果初始化太大太小会造成什么结果?...初始化太大导致成本围绕其最小震荡 情况2:初始化过小会导致梯度消失 类似地,如果每个权重的初始化都比单位矩阵稍小,即: 可简化表示为 且a[l]的随l减少呈指数级下降。...也就是说,与参数相关的成本梯度太小。这会导致成本达到最小之前收敛。 初始化太小导致模型过早收敛 总而言之,使用大小不合适的对权重进行将导致神经网络的发散训练速度下降。...在这两个假设下,反向传播的梯度信号不应该在任何层中乘以太小太大。梯度应该可以移动到输入层,而不会爆炸消失。

38730

一文看懂神经网络初始化!吴恩达Deeplearning.ai最新干货

初始化太大\太小会导致梯度爆炸梯度消失 初始化这一步对于模型的最终性能至关重要,需要采用正确的方法。比如对于下面的三层神经网络。可以尝试使用不同的方法初始化此网络,并观察对学习的影响。 ?...为了方便分析,如果假设W[1]=W[2]=…=W[L-1]=W,那么输出预测为 ? 如果初始化太大太小会造成什么结果?...初始化太大导致成本围绕其最小震荡 情况2:初始化过小会导致梯度消失 类似地,如果每个权重的初始化都比单位矩阵稍小,即: ? 可简化表示为 ? 且a[l]的随l减少呈指数级下降。...也就是说,与参数相关的成本梯度太小。这会导致成本达到最小之前收敛。 ? 初始化太小导致模型过早收敛 总而言之,使用大小不合适的对权重进行将导致神经网络的发散训练速度下降。...在这两个假设下,反向传播的梯度信号不应该在任何层中乘以太小太大。梯度应该可以移动到输入层,而不会爆炸消失。 更具体地说,对于层l,其前向传播是: ? 我们想让下式成立: ?

41030

删除重复,不只Excel,Python pandas更行

此方法包含以下参数: subset:引用列标题,如果只考虑特定列以查找重复使用此方法,默认为所有列。 keep:保留哪些重复。’...因此,保留了第一个重复的。 图4 这一次,我们输入了一个列名“用户姓名”,并告诉pandas保留最后一个的重复。现在pandas将在“用户姓名”列中检查重复项,并相应地删除它们。...记录#1和3被删除,因为它们是该列中的第一个重复。 现在让我们检查原始数据框架。它没有改变!这是因为我们将参数inplace留空,默认情况下其为False。...如果我们指定inplace=True,那么原始的df将替换为新的数据框架,并删除重复项。 图5 列表数据表列中查找唯一 有时,我们希望在数据框架列的列表中查找唯一。...我们的列(pandas Series)包含两个重复,”Mary Jane”和”Jean Grey”。通过将该列转换为一个集,我们可以有效地删除重复项!

5.9K30

一文看懂神经网络初始化!吴恩达Deeplearning.ai最新干货

初始化太大\太小会导致梯度爆炸梯度消失 初始化这一步对于模型的最终性能至关重要,需要采用正确的方法。比如对于下面的三层神经网络。可以尝试使用不同的方法初始化此网络,并观察对学习的影响。 ?...为了方便分析,如果假设W[1]=W[2]=…=W[L-1]=W,那么输出预测为 ? 如果初始化太大太小会造成什么结果?...初始化太大导致成本围绕其最小震荡 情况2:初始化过小会导致梯度消失 类似地,如果每个权重的初始化都比单位矩阵稍小,即: ? 可简化表示为 ? 且a[l]的随l减少呈指数级下降。...也就是说,与参数相关的成本梯度太小。这会导致成本达到最小之前收敛。 ? 初始化太小导致模型过早收敛 总而言之,使用大小不合适的对权重进行将导致神经网络的发散训练速度下降。...在这两个假设下,反向传播的梯度信号不应该在任何层中乘以太小太大。梯度应该可以移动到输入层,而不会爆炸消失。 更具体地说,对于层l,其前向传播是: ? 我们想让下式成立: ?

48540

吴恩达团队:神经网络如何正确初始化?

初始化权重时,如果太小太大,关于成本图,您注意到了什么? 尽管打破了对称性,但是用(i)太小(ii)太大来初始化权重分别导致(i)学习缓慢(ii)发散。...初始化太小太大不合适的结果是什么? 情形1:过大的初始化会导致梯度爆炸 考虑这样一种情况:初始化的每个权重都略大于单位矩阵。 ?...相对于参数的成本梯度太小,导致成本达到最小之前收敛。 总而言之,使用不适当的初始化权重将导致神经网络训练的发散减慢。...虽然我们用简单的对称权重矩阵说明了梯度爆炸/消失问题,但观察结果可以推广到任何太小太大的初始化。...在这两个假设下,反向传播的梯度信号不应该在任何层中乘以太小太大。 它应该移动到输入层而不会爆炸消失。 更具体地考虑层l, 它的前向传播是: ? 我们希望以下内容: ?

1K30

一文看懂神经网络初始化!吴恩达Deeplearning.ai最新干货

初始化太大\太小会导致梯度爆炸梯度消失 初始化这一步对于模型的最终性能至关重要,需要采用正确的方法。比如对于下面的三层神经网络。可以尝试使用不同的方法初始化此网络,并观察对学习的影响。 ?...为了方便分析,如果假设W[1]=W[2]=…=W[L-1]=W,那么输出预测为 ? 如果初始化太大太小会造成什么结果?...初始化太大导致成本围绕其最小震荡 情况2:初始化过小会导致梯度消失 类似地,如果每个权重的初始化都比单位矩阵稍小,即: ? 可简化表示为 ? 且a[l]的随l减少呈指数级下降。...也就是说,与参数相关的成本梯度太小。这会导致成本达到最小之前收敛。 ? 初始化太小导致模型过早收敛 总而言之,使用大小不合适的对权重进行将导致神经网络的发散训练速度下降。...在这两个假设下,反向传播的梯度信号不应该在任何层中乘以太小太大。梯度应该可以移动到输入层,而不会爆炸消失。 更具体地说,对于层l,其前向传播是: ? 我们想让下式成立: ?

47320

Python进阶之Pandas入门(四) 数据清理

引言 Pandas是数据分析中一个至关重要的库,它是大多数据项目的支柱。如果你想从事数据分析相关的职业,那么你要做的第一件事情就是学习Pandas。...如何处理缺失的 研究数据时,您很可能会遇到缺失null它们实际上是不存在的占位符。最常见的是Python的NoneNumPy的np.nan,某些情况下它们的处理方式是不同的。...处理空有两种选择: 去掉带有空的行列 用非空替换,这种技术称为imputation 让我们计算数据集的每一列的空总数。...1 删除空 数据科学家和分析师经常面临删除输入空的难题,这是一个需要对数据及其上下文有深入了解的决策。总的来说,只建议缺少少量数据的情况下删除空数据。...可能会有这样的情况,删除每一行的空会从数据集中删除太大的数据块,所以我们可以用另一个来代替这个空,通常是该列的平均值中值。 让我们看看在revenue_millions列中输入缺失的

1.8K60

Polars:一个正在崛起的新数据框架

它们收集和清理来自限定文本文件、电子表格和数据库查询的数据方面提供了灵活性。最常用的数据框架是Pandas,这是一个python包,对于有限的数据来说,它的表现足够好。...然而,如果数据太大Pandas无法处理,但对Spark等分布式文件管理系统来说又太小,怎么办?Polars试图弥补这一差距。...如果情况发生变化,我们会进行更新。 免责声明:由于稳定版本尚未发布,创建并激活一个新的环境来安装Polars。 导入Polars和导入Pandas一样顺利。...根据该基准,一个1,000,000,000x9的50GB文件上应用的。 ◆ 最后的思考 Polars在对Pandas来说可能太大的非常大的数据集上有很好的前景,它的快速性能。...有很多Pandas可以做的功能目前Polars上是不存在的。在这种情况下,强烈建议将数据框架投向Pandas

4.7K30

高效的10个Pandas函数,你都用过吗?

还有一些函数出现的频率没那么高,但它们同样是分析数据的得力帮手。 介绍这些函数之前,第一步先要导入pandas和numpy。...Where Where用来根据条件替换列中的如果满足条件,保持原来的,不满足条件替换为其他。默认替换为NaN,也可以指定特殊。...cond 为真,保持原来的,否则替换为other other:替换的特殊 inplace:inplace为真则在原数据上操作,为False则在原数据的copy上操作 axis:行列 将df中列value...如果为None, 使用- - frame.columns.name’variable’ value_name [标量, 默认为’value’]:是指用于” value”列的名称 col_level...[intstring, 可选]:如果列为MultiIndex, 它将使用此级别来融化 例如有一串数据,表示不同城市和每天的人口流动: import pandas as pd df1 = pd.DataFrame

4.1K20

人民币大小写转换(阿拉伯数字和汉字转换)

这个算法有几个小的注意点: 1、中文字符占两个字节,所以如果用C语言实现,需要用char数组的形式保存单个汉字。 2、如果数字中出现连续的零,需要把它替换为单一的零。...          :                    string &strOrig Return          :                    int Caution         : 返回如果为...-1,表示替换失败未找到替换项 *******************************************************************************/ int...sprintf_s的正则转换     sprintf_s(czNumber, MAX, "%.15lg", money);     printf("[No.0]%s\n", czNumber);  //如果数字是太大太小的数...=p)      {         strResult = "不支持读太大太小的数"; return strResult;     }     p = strchr(czNumber, '.'

1.4K80

大数据计数原理1+0=1这你都不会算No.77

有兴趣的小伙伴可以菜单看看整个系列。 好啦,开始今天的主题,今天主要呢,聊最后两个基数估计算法,一个是 Adaptive Counting ,一个是 HyperLogLog Counting 。...思路很简单粗暴,就是将 LC 和 LLC 组合起来使用,我们假设 LC 与 LLC 同样的条件下总统计 m 等于 M 的时候误差达到一致,那么当 m 小于 M 的时候使用 LC ,当 m 远大于...我们都知道 LC 其实只是 BitMap 的进化版,如果基数太大的话,那么会占用非常多非常多的内存,如果桶设置得太小的话所有的桶基本都满了,那么这样子误差会很大。...而 LLC 非常稀疏,如果 m 太小的话,那么会出现非常多的空桶,这样子误差也非常大。所以总结起来就是,组合起来用,总统计量小的话用 LC , 统计量太大的话用 LLC 。...其中 LLC 使用算术平均数,那么如果数值比较稀疏的时候,也即是有一些偏离的时候,整个数据的求和会变得很偏远。用人话来说就是,我跟姚明平均身高两米。。。非常容易受到异常值的影响。

56850
领券