python统计分析
文章平均质量分 68
利用python语言进行统计分析,并介绍分析原理
maizeman126
这个作者很懒,什么都没留下…
展开
-
python网络爬虫学习——XPath的使用
使用XPath拿到的都是一个ElementTree对象,所以假如需要查找内容,还需要遍历拿到数据的列表,查到绝对路径下a标签属性等于link.html的内容。在XPath中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点。前面找到的都是绝对路径,每一个都是从根开始查找,下面查找相对路径,例如查找全部li标签下的a标签内容。7、使用相对路径查找全部a标签的属性等于href属性值。10、查找倒数第二个li标签里的a标签的内容。9、查找最后一个li标签里的a标签的内容。原创 2024-05-05 01:00:00 · 245 阅读 · 0 评论 -
python网络爬虫学习——chrome浏览分析网站
经由超链接从一个网页访问到另一个网页,从一个站点到另一站点的这一切组成一个庞大的网,就是Web。点击下图右上角位置红框处的按钮,当鼠标停留在网页中的某个内容上时,Elements中会定位到该内容在源代码中的位置。平常在浏览器中看到的网页都是比较规整的, 但抓取到的网页源代码却是一个很繁杂的文件, 想要精准找到需要抓取的信息, 首先需要借助浏览器,对目标网站进行分析。以上主要介绍的是怎样利用chrome浏览器帮助解析目标站点,主要利用Chrome的检查功能,分析网页结构,定位网页内容。①单击Network。原创 2024-05-06 01:00:00 · 434 阅读 · 0 评论 -
python网络爬虫学习——requests库和正则表达式
3、在网络爬虫中的请求头中携带cookies信息,从而可以直接出去需要登录的网站。2、search,如果匹配到第一个结果就是返回,如果匹配不到则返回None。当状态返回代码为200时,表示成功接收、理解和接受。当状态返回代码为5XX时,表示服务器错误。当状态返回代码为1XX时,表示临时响应。当状态返回代码为4XX时,表示请求错误。当状态返回代码为3XX时,表示重定向。(2)带参数GET操作。(3)JSON文件操作。(2)获得cookie。(4)获得二进制数据。(1)基础GET操作。原创 2024-05-06 01:00:00 · 282 阅读 · 0 评论 -
python网络爬虫学习——编写一个网络爬虫
上面的代码存在一个缺陷,就是必须确保网页地址中的id是连续的,假如某些记录已被删除,数据库id之间并不是连续的,其只要访问到某个间隔点,爬虫就会立即退出。下面对代码进行改进:当连续发生多次下载错误后才会退出程序。(2)增加重试下载功能,当服务器端发生问题时,能自动重试下载。(4xx 错误发生在请求存在问题时,而 5xx 错误则发生在服务端存在问题时)设定一个默认的用户代理“wswp”(即web scraping with python首字母缩写)。(1)用于下载网页,且当下载网页发生错误时能及时报错。原创 2024-05-08 01:00:00 · 421 阅读 · 0 评论 -
python数据分析——缺失数据
或许缺失数据不是随机的,删除缺失值后,会得到有偏差的数据集。若直接计算中包含缺失值,通常返回缺失值。通常采用默认值True,即使用na_values参数额外指定的缺失值都会追加到缺失值列表中。如果某一列以缺失值开始,那么前值填充时,该缺失值将会继续存在。通常采用默认即可,但有些数据集可能会把99指定为缺失值,此时需要设置na_values=[99]来指定缺失值。填充缺失值的方法有很多种,pandas中的差值方法默认一线性方式填充缺失值。缺失值的两个来源:一是缺失值的数据集,二是数据整理过程。原创 2024-05-19 01:00:00 · 913 阅读 · 0 评论 -
python数据分析——整理数据1
Hadley Wickham是R社区的知名成员,他在Journal of Statistical Software上发表过一篇关于“整洁数据”的论文,提出了“整洁数据”的概念。想要将其转换为整洁的“长”数据格式,必须对DataFrame做“逆透视”/融合/聚合(unpivot、melt、gather)处理(具体取决于所用的统计变成语言)。把列拆分好后,下面把拆分得到的部分指派给一个新的列。本例中,可以依据列名中的下划线(_)拆分感兴趣的列。下面的讲解基于这样一个事实:返回的向量的顺序和数据的顺序相同。原创 2024-05-20 01:00:00 · 1827 阅读 · 0 评论 -
python数据分析——pandas DataFrame基础知识1
使用range函数时,用逗号把起始值、结束值和步长隔开,而在切片语法中使用冒号来分隔。range函数可用于创建生成器并转换成一个值列表,但切片的冒号语法仅做切片和取子值时才有意义,它本身没有内在意义。pandas的DataFrame对象和其他语言(比如R)中的DataFrame对象相似,每列的类型必须相同,而每行可以包含混合类型。在当前的示例中,iloc和loc的行为完全相同,因为索引标签就是行号。在loc属性和iloc属性中,要选择特定行或特定列,可以把要选的行放在逗号左边,把要选的列放在逗号右边。原创 2024-05-09 01:00:00 · 438 阅读 · 0 评论 -
python数据分析——seaborn绘图1
jointplot与其他绘图函数的主要区别是,它不返回轴域,所以无需创建带有轴域的画布来放置图。matplotlib库是python的和兴绘图工具,而seaborn基于matplotlib创建,它为绘制统计图提供了更高级的接口,使得只用少量代码就能生成更美观、更复杂的可视化效果。2、密度图(和密度估计):密度图是展现单变量分布的另一种方法,本质上通过绘制以每个数据点为中心的正态分布,然后消除重叠的图。3、计数图(条形图):条形图不是通过对值分组来描述分布的,而是对离散变量计数的。原创 2024-05-14 01:00:00 · 807 阅读 · 0 评论 -
python数据分析——apply 1
如果某段代码会被多次使用,并且使用时是需要做少量修改,这时就应该考虑把这段代码放入一个函数中。当传递给它一个函数之后,apply方法就会把传入的函数应用于Series的每个元素。因此,当向DataFrame应用一个函数时,首先需要指定应用该函数的轴,例如逐行或逐列。apply是指把函数同时作用于DataFrame的每一行或每一列。如果把apply方法的axis参数设置为0(默认值),则表示按列应用指定函数。如果把axis参数设置为1,则按行应用指定函数。在查找某个函数的帮助文档时,就会看到它们。原创 2024-05-27 01:00:00 · 608 阅读 · 0 评论 -
python数据分析——seaborn绘图2
我们知道lmplot是图级(figure-level)函数,而在seaborn中,许多图使用轴域级(axes-level)函数创建的。如果想显示更多变量,或者确定了要实现的可视化图,但向基于一个分类变量画出多幅图,可以使用分面(facet)来满足这些需求。要使用分面,数据必须是“整洁数据”:数据中的每一行都表示一个观测值,每一列是一个变量(也是“长数据”)。当数据大部分是数据时,可以使用pairplot函数把所有成对关系描绘出来,该函数会为每对变量绘制散点图,并且为单变量数据绘制直方图。原创 2024-05-15 01:00:00 · 367 阅读 · 0 评论 -
python数据分析——整理数据2
pivot_table和melt的主要区别是:melt是pandas中的函数,而pivot_table是dataframe对象的方法。最好把歌曲信息存储在单独的表中,如此year、artist、track和time等列的信息就不会在数据集中重复出现。具体操作为:把year、artist、track、time和date.entered放入一个新的dataframe中,给每组值分配唯一的ID,然后再另一个DataFrame(表示歌曲、日期、周次及排名)中使用这些ID。2、一张表中的多个观测单元(归一化)原创 2024-05-21 02:30:00 · 326 阅读 · 0 评论 -
python网络爬虫学习——BeautifulSoup库
假如返回结果是多个节点的生成器,则能够转为列表后取出某个元素,再调用string、attrs等属性取得对应节点的文本和属性。运用import从bs4中导入BeautifulSoup库,利用open函数打开存放在本地的网页文件所在位置,随后使用BeautifulSoup解析网页,解析完毕打印相应的网页数据。在做选择的时候,有时候不能做到一步就选到想要的节点元素,需要先选中某个节点元素,而后以它为基准再选择它的子节点、父节点、兄弟节点等。要获得某个节点元素的父节点,可以调用parent属性。原创 2024-05-07 01:00:00 · 532 阅读 · 0 评论 -
python数据分析——数据组合
上面的输出中,带有_x后缀的列值来自左边的DataFrame,带_y后缀的列值来自右边的DataFrame。有时需要基于多列进行数据匹配,比如有两个DataFrame,其中以个由person和survey合并而成,另一个由visited和survey合并而成。site数据集中的name是有重复的,合并中会复制包含单个观测值对应的DataFrame。这里添加join参数,将其设为‘inner’,结果将只保留共有行索引的结果。,该DataFrame包含一行数据,并使用columns参数指定数据需要绑定的列名。原创 2024-05-18 01:00:00 · 914 阅读 · 0 评论 -
python数据分析——matplotlib可视化基础
matplotlib可以指定最终图的维数,根据指定的维数放入更小的子图表。当把这些点可视化后,即使每个数据集有相同的汇总统计值,不同数据集的点之间的关系也相差较大。这些值是经过“装箱”(bin)处理的,这意味着将它们分组后绘制成图来显示变量的分布情况。subplot方法有3个参数:子图的行数、子图的列数、子图的位置。子图的位置是按顺序编号的,在python有关绘图的内容中,注意区分“axis”(坐标轴)和“axes”(轴域)的区别。(3)箱线图用于展示一个离散变量随连续变量的变化而呈现的分布状况。原创 2024-05-13 01:00:00 · 467 阅读 · 0 评论 -
python数据分析——数据类型转换
to_numeric函数还有一个downcast参数,它允许把列(或向量)转换为数值向量后,把数值类型更改为最小的数值类型。默认情况下,downcast的值为None,其他可以设置的值有“integer”、“signed”、“unsigned”、“float”。(2)如果想把变量转换为数值类型(例如int或float),还可以使用pandas的to_numeric函数。当取值为ignore,表示当遇到无法转换的数据时,会放弃数值转换,直接返回原始数据列。后面的64表示保存数据所用的位数;原创 2024-05-21 21:21:19 · 440 阅读 · 0 评论 -
python数据分析——pandas DataFrame基础知识2
我们可以把分组计算看作“分割-应用-组合”(split-apply-combine)的过程。首先把数据分割成若干部分,然后把选择的函数(或计算)应用于各部分,最后把所有独立的分割计算组合成一个DataFrame。在pandas中可以使用DataFrame的groupby方法完成分组/聚合计算。如果想使用多个变量对数据进行分组和分层,或想对多列执行相同的计算,我们可以使用列表来实现。可视化在数据处理的每个步骤都很重要。在理解或清理数据时,可视化有助于识别数据中的趋势,并展示最终的发现。原创 2024-05-10 01:00:00 · 269 阅读 · 0 评论 -
python数据分析——pandas数据结构1
Series是pandas的一种数据结构,与numpy.ndarray非常相似,ndarray的许多方法和函数也适用于Series。这种处理方式称为“广播”(broadcasting),pandas的“广播”是指不同shape的数组之间的运算方式。请注意上图中的输出结果,左边显示的“行号”实际是Series的索引。①如果两个长度相同的向量之间执行计算,所得向量的每个元素是两个向量对应元素的计算结果。字典是创建DataFrame最常见的方法,键代表列名,值是列的内容。(3)操作自动对齐和向量化(广播)原创 2024-05-11 01:00:00 · 712 阅读 · 0 评论 -
python数据分析——字符串和文本数据2
查看输出的match对象,如果存在匹配,span会给出匹配字符串的索引,match会给出精确匹配到的字符串。正则表达式功能及其强大,它提供了一种重要的方法来查找和匹配字符串中的模式。其缺点是,复杂的正则表达式难以理解。格式化字符串(f-strings)的语法,最明显的是字符串必须以字符f开头,这就告诉python此处有格式化字符换,然后,可以直接在占位符{}中使用变量而无须调用format方法。要格式化字符串,需要编写一个带有特殊占位符的字符串,并在字符串上调用format方法向占位符插入值。原创 2024-05-26 01:00:00 · 804 阅读 · 0 评论 -
python数据分析——字符串和文本数据1
不过,当使用切片语法并且想包含字符的最后一个字符时,只需要获取字符串的长度,然后将其放到切片符号:的右侧即可。使用len函数返回的是字符串的长度,该长度比字符串最后一个字符的索引值大于1。若切片符号:右侧为空,则表示切片从左侧索引指示的字符开始,一直取到字符串的末尾(包括字符串的最后一个字符)。注意,在python中使用切片时,其运行原则是“包左不保右”的原则,即包含冒号左侧索引值,但不包含冒号右侧索引值。find:在字符串中查找指定字符串,若找到,则返回首次出现的索引,否则返回-1。原创 2024-05-22 22:22:15 · 532 阅读 · 0 评论 -
python数据分析——pandas作图
6、用seaborn设置作图的默认样式,可以用sns.set_style函数更改样式。通常该函数会出现在代码顶部,并且只运行一次,所有后续绘图都会采用这种样式。seaborn有5种样式:darkgrid、whitegrid、dark、white和ticks。使用pandas绘图时,通常要求如下格式使用绘图函数:DataFrame.plot.PLOT_TYPE或Series.plot.PLOT_TYPE。与seaborn一样,pandas中的绘图函数只是使用预设值包装了matplotlib。原创 2024-05-17 01:00:00 · 408 阅读 · 0 评论 -
python数据分析——pandas数据结构2
可以把字符串转换成合适的datetime类型,这样可以执行常见的日期和时间操作了(例如计算两个日期之差或人的年龄)。它实际描述的是在类数组对象(比如Seires和DataFrame)之间执行操作的效果。当DataFrame和标量进行运算时,DataFrame中的每个元素会分别和标量进行运算。本例中,df乘2之后,数值会变为原来的两倍,而字符串长度也会翻倍。删除列时,可以使用选取列子集的方法选择所有希望删除的列表,也可以使用DataFrame的drop方法指定要删除的列表。(2)操作自动对齐和向量化(广播)原创 2024-05-12 01:00:00 · 328 阅读 · 0 评论 -
python数据分析——分组操作3
当使用多个变量进行分组时,这些分组的变量在结果中是以MultiIndex的形式存在。输出分组结果得到的是一个内存引用,其数据类型是DataFrameGroupBy对象。如果想查看计算过的分组,可以借助groups属性实现。pandas中的aggregate、transform和filter方法都是处理分组对象的常用方法。如果在groupby之后指定了计算,python就会针对所有可能的列执行该计算,并静默删除其余列。如果想提取特定的组,可以使用get_group方法,并传入想要的组合。原创 2024-05-31 01:00:00 · 312 阅读 · 0 评论 -
python数据分析——聚类
使用k均值算法,首先要选定数据中的群集数(k)。它会随机选取数据中的k个点,计算每个数据点到最初选取的k个点之间的距离。然后把每个群集的中心指定为新的集群中心。重复该过程,计算每个点到每个群集中心的距离,并将其分配给一个群集,然后选择一些新的中心。由于人眼只能看到三维空间中的事物,所以需要减少数据的维数(至少要降至3维)。主成分分析(PCA)是一种投影技术,用于减少数据集的维数。其工作原理是在数据中找到较低的维数,将方差最大化。具体实现方法有两种:一种是自下而上的凝聚法,另一种是从上到下的分裂法。原创 2024-06-09 01:00:00 · 399 阅读 · 0 评论 -
python数据分析——模型诊断
请注意有些模型使用“+”运算符向模型中添加协变量,有些模型则使用“*”运算符进行添加。当在模型中指定交互时应使用“*”操作符,这意味着交互变量的行为不是彼此独立的,他们的值相互影响,而不是简单地相加。因此,应尽量在模型的性能和简洁性之间做好平衡(简单优于复杂)。方差分析会给出残差平方和(SSR),可以通过它来评估模型的性能(残差平方和越小,模型的拟合效果越好。当向模型中添加或删除变量时,需要设法比较模型,并需要统一的方法衡量模型的性能。请注意,k值越大,所需要计算的时间越长,请根据实际情况选择合适的k值。原创 2024-06-06 01:00:00 · 458 阅读 · 0 评论 -
python数据分析——逻辑回归
可以使用logit函数执行逻辑回归。解释逻辑回归的结果并不像解释线性回归那样简单。在逻辑回归中,与所有广义线性模型一样,都需要使用连接函数执行一定的转换,而解释结果时需要回到转换之前的状态。对于这些数字的解释:NumBedrooms每增加一个单元,FamilyIncome超过150000的概率就会增加1.27倍。也可以如此解释分类变量。当响应变量为二值响应变量时,经常使用逻辑回归对数据建模。使用sklearn时,需要手动创建虚拟变量。(1)使用statsmodels。参考资料:活用pandas库。原创 2024-06-05 01:00:00 · 248 阅读 · 0 评论 -
python数据分析——分组操作2
转换数据时,需要把DataFrame中的值传递给一个函数,而后由该函数“转换”数据。在《python数据分析——分组操作1》讲过aggregate接收多个值并返回单个(聚合)值。与aggregate不同,transform接收多个值,但返回的是与这些值一一对应的转换值,即transform方法不会减少数据量。中的fillna方法对缺失数据进行填充。对于某些数据集,使用列的平均值来填充缺失值是可取的。它的中心0,标准差是1.这种方法能把数据标准化,便于比较不同变量。x为数据集中的数据点。μ为数据集的平均值。原创 2024-05-30 01:00:00 · 414 阅读 · 0 评论 -
python数据分析——分组操作1
可以在groupby之后把一个dict传入Series中,直接做汇总统计并将其返回,dict的键是新的列名,这与把dict传入分组的DataFrame时的行为不同,不建议使用。对于分组的DataFrame指定的dict时,键是DataFrame的列,值是聚合计算使用的函数。除了直接调用聚合方法,还可以调用agg方法或aggregate方法,传入想用的聚合函数。针对上面的例子,可以认为groupby语句创建了一个子集,里面含有各列的唯一值(或者列的唯一对)。分割:基于键,把要处理的数据分割为小片段。原创 2024-05-29 01:00:00 · 2088 阅读 · 0 评论 -
python数据分析——apply 2
对于向量函数,我们希望向上述自定函数中的x和y分别传入一个值向量,结果应该是给定x值和y值得平均值,并且顺序保持不变,即能写成avg_2(df['a'],df['b']),并且结果类似于[15,25,35]。如果想应用自定义的函数,必须重写它,因为整列或整行传递到了函数的第一个参数中。虽然可以编写复杂的lambda函数,但通常只在需要单行计算时,才会使用lambda函数。如果函数是自定义的,也可以使用python装饰器“自动”把函数向量化。把要向量化的函数传递给np.vectorize,创建新函数。原创 2024-05-28 01:00:00 · 262 阅读 · 0 评论 -
python数据分析——正则化
如果l1_ratio的值介于两者时间,则模型就是岭回归和LASSO回归的组合。选择模型时,用户必须调整某些参数(也称“超参数”),这时可以使用交叉验证尝试超参数的各种组合,以寻找“最佳模型”。正则化是一种用来防止数据过度拟合的技术,它通过添加到模型中的每个特征施加一些惩罚来实现该目标。最终结果是从模型中删除一些变量,或减少模型的系数。这两种方法都会降低模型对训练数据的拟合准确度,却能大大提升对未知数据的预测能力。在实际中,可能存在模型的训练分数很好,而测试分数却很低,这说明模型出现了过拟合问题。原创 2024-06-07 01:00:00 · 349 阅读 · 0 评论 -
python数据分析——datetime数据类型2
把索引设置为日期对象之后,就可以直接使用日期来获取某些数据行了,如根据年份来获取部分数据,也可以根据年份和月份来获取数据。pandas的date_range函数有一个参数freq,其默认值为D(代表day),表示日期范围内的值是逐日递增的。(3)原样采样:采样频率不变(比如从每月的第一个星期四到每月的最后一个星期五)重采样会把datetime从一个频率转换为另一个频率。(1)下采样:从高频率到低频率(比如从每天到每月)(2)上采样:从低频率到高频率(比如从每月到每天)(每月第15天和月末)原创 2024-06-03 01:00:00 · 421 阅读 · 0 评论 -
python数据分析——线性模型
对于分类变量的解释必须和参考变量(即从分析中删除的虚拟变量)联系起来。在尝试解释sklearn模型时,一个棘手的问题就是模型的系数不带标签,原因是numpy ndarray无法存储这类元数据。线性回归的目标是描述响应变量(或“因变量”)和预测变量(也称“特征”、“协变量”、“自变量”)之间的直线关系。对分类变量建模时,必须创建虚拟变量,即分类中的每个唯一值都变成了新的二元特征。在sklearn中,多元回归语法与库中的简单线性回归语法相似,为了想模型添加更多特征,可以把要使用的列传入模型。原创 2024-06-04 01:00:00 · 1202 阅读 · 0 评论 -
python数据分析——datetime数据类型1
pd.read_csv函数有很多参数,如parse_dates、inher_datetime_format、keep_date_col、date_parser和dayfirst,可以处理日期数据。在使用read_csv加载数据集时,可以直接在parse_dates参数中指定想要解析为日期的列。对于文本的日期格式,可以使用python的strptime语法手动指定表示方法。可以使用to_datetime函数把一个对象转换为datetime类型。1、python的datetime对象。3、加载包含日期的数据。原创 2024-06-01 01:00:00 · 322 阅读 · 0 评论 -
python统计分析——多组比较
因此,方差分析估计3中样本方差:基于所有观测偏离总体均值的总方差(SS_T),一个处理方差(SS_t),还有一个基于所有观测值偏离他们合适的处理均值的错误方差(SS_e)。当我们将两组进行相互比较的时候,如果是正态分布的,我们就用t检验,如果是非正态分布的,就用非参数的Mann-Whitney u检验。例如,如果我们有一组不进行处理,另一组用处理A,第三组用处理B,对它们进行比较,那么我们就在进行单因素方差分析,有时也称为单向方差分析,其中处理是分析的单因素。区分不同群体的变量通常被称为因素或处理。原创 2024-04-08 01:00:00 · 2307 阅读 · 0 评论 -
python学习——re库的常用函数
match()方法和search()方法都是返回匹配到的第一个内容就结束匹配,而findall()方法是返回全部符合匹配规则的内容,返回的是一个列表。去除或替换匹配的字符。与match()方法不同,search()方法不需要从头开始匹配。参考资料:python网络爬虫技术与应用【邓维】从字符串头部开始匹配字符。原创 2024-04-10 12:47:26 · 378 阅读 · 0 评论 -
python统计分析——线性回归模型的假设与结果解释
请注意,用于参数估计的计算量较高的迭代算法,并不会受此问题的影响,实际上,处理分类值得预测变量时,常常对每个可能的类别引入单独的指示预测变量,这不可避免地引入了多重共线性。为了确定异质误差方差,或当残差模式违反同质性的模型假设时(对于x的所有点,误差在“最佳拟合线”周围都是相同的变量),应该谨慎地在残差与预测值之间寻找“扇形效应”。(5)误差的独立性。一个有效的模型的误差也应该是正态的。对于回归系数b_i的解释是:当其他协变量被固定时,对于x_i的单位变化时,y的期望变化,即y对x_i的偏导数的期望值。原创 2024-04-15 01:00:00 · 467 阅读 · 0 评论 -
python统计分析——线性回归模型的结果
理想情况下,类似的模型应该是类似的,即具有近似相等的系数。线性回归的系数/权重包含在result.params中,并作为pandas的Series对象返回,因为我们使用的是pandas数据框作为输入。无效假设是:分布是正态的,即偏度和超值峰度都是0,或着说偏度是0且峰度为3。一旦我们得到了t统计量,根据我们使用这些代码得到的误差的正态性假设,我们可以计算观察到一个统计量至少和我们已经观察到的同样极端的概率。其中,β_i是估计的系数之一,z是一个t统计量需要获得小于α置信水平的概率的临界值,SE时标准误。原创 2024-04-13 01:00:00 · 2034 阅读 · 0 评论 -
python统计分析——一般线性回归模型
如果我们想找到哪个才是拟合的“最好的”,我们可以使用statsmodels提供的工作来再次拟合模型。使用statsmodels,我们不仅可以得到最佳拟合参数,还能得到关于模型的许多价值的额外信息。为了了解如何使用不同的模型来评估给定的数据集,让我们来看一个简单的例子:拟合一个有噪声的、略微二次项弯曲的曲线。我们看到,二次模型的AIC值最小,因此是最好的模型:它提供了与三次方模型相同的拟合质量,但使用较少的参数来得到该质量。当我想用一个或多个其他的变量预测一个变量的时候,我们可以用线性回归的方法。原创 2024-04-11 01:00:00 · 611 阅读 · 0 评论 -
python统计分析——分类数据的检验
(对于b+c<25,应该进行二项式计算,事实上,大多数软件包只是简单的在所有情况下都执行二项式计算,因为所有情况下的结果都是精确的。该方法包括评估与所有可能的2×2表相关联的概率,这些表与所观察到的数据具有相同的行和列总数,使得零假设(即行和列变量是无关的)是真的。如果计算出的概率p低于选定的显著水平,则零假设被拒绝,可以得出结论,至少2个变量中的比例是显著不同的。如果数据可以被组织在一组类别中,并且它们被作为频数给出,即每个类别中的样本总数(而不是百分比),那么下面讲述的检验适用于这类数据分析。原创 2024-04-09 01:00:00 · 1015 阅读 · 0 评论 -
python统计分析——线性相关
pearson相关系数,有时也称为总体相关系数或样本相关性,它的取值范围是[-1,1]。注意相关系数的公式在x和y之间是对称的,但线性回归中不是这样的。在这种情况下,我们可以对数据集的每个变量进行排序,比较这个顺序。”也就是说,如果一个变量的变化,那另一个也改变了吗?对于两个相关的变量,相关性度量的是两个变量之间的关联程度。相反,线性回归是用一个变量的值来预测另一个变量的值。和pearson相关系数r完全一样,但计算的不是原始的数字,二是观测值的秩。也是一个秩相关系数,测量两个观测量之间的而相关。原创 2024-04-10 01:00:00 · 488 阅读 · 0 评论 -
python统计分析——用sklearn进行回归
因此,我们的例子中,将DataFrame转换为np.matrix,使得垂直数组在数据集中被切下后保持垂直。(这很必要,因为这个别扭的python特性,即numpy数组的一维切片是一个向量,而该向量通常定义为水平方向。建议2:在数据分析完成后,应该根据我们自有专业背景知识,对模型进行判断。scikit-learn提供了简单而有效的数据挖掘和数据分析工具,包括监督和无监督学习。建议1:在做任何数据分析之前,先将数据进行可视化展示。回归:对一个新的例子预测一个连续值。降维:减少需要考虑的随机变量的个数。原创 2024-04-14 01:00:00 · 535 阅读 · 0 评论