全网最快入门———R语言机器学习12

简介: R 语言是为数学研究工作者设计的一种数学编程语言,主要用于统计分析、绘图、数据挖掘。 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

R 语言是为数学研究工作者设计的一种数学编程语言,主要用于统计分析、绘图、数据挖掘。 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

下面将讲解最重要之一的独立性

函数介绍——独立性检验函数

独立性检验是根据频数信息判断两类因子彼此相关或相互独立的假设性检验,所谓独立性就是指变量之间是独立的,没有关系。

根据分组计算的频数表就可以进行独立性检验。

主要介绍三种检验方法:卡方检验、Fisher检验、cochan-mantel-haenszel检验

p-value就是probability的值,它是一个通过计算得到的概率值,也就是在原假设为真实,得到最大的或者抄书做得到的检验统计量值的概率。一般将p值定位到0.05,当p<0.05时,拒绝原假设(也就是假设成立),p>0.05是不拒绝原假设。

还是使用arthritis数据集,探究药物治疗有没有成效,检验“treatment”和“improved”是不是相互独立的,如果相互独立,说明二者没有关系,药物治疗没有作用,反之则是有效果。

卡方独立检验

先使用table()函数计算两者的频数:

mytable<-table(Arthritis$Treatment,Arthritis$Improved)

接下来就可以直接使用chisq.test()函数进行卡方独立检验,直接将结果输入这个函数就行:

chisq.test(mytable)

结果如下,p值约等于0.0014小于0.05,说明两者不是独立的,两者有关系,治疗是有效果的:

这种待检测的变量之间没有顺序的关系,调整两者的顺序,结果是一样的:

mytable<-table(Arthritis$Improved,Arthritis$Treatment)
chisq.test(mytable)

Fisher精确检验:

Fisher精确检验使用的函数是Fisher.test(),同样是进行独立性检验,但是与卡方检验不同的是,Fisher精确检验的原假设是:边界固定的列联表中行和列相互独立的。

还是同样的例子,采用Fisher精确检验:

mytable<-xtabs(~Treatment+Improved,data=Arthritis)
>fisher.test(mytable)

结果为p值约等于0.0013,Fisher检验适合小样本的检验,精度低于卡方检验:

cochan-mantel-haenszel检验:

cochan-mantel-haenszel检验使用的函数是mantelhaen.test(),该鲜艳的原假设是两个名义变量在第三个变量的每一层中都是条件独立的。这个检验需要三个变量,此处我们来检测一下

“treatment”、“sex”以及“improved”之间的关系:

首先计算三个变量的列联表,使用xtabs()计算:

mytable<-xtabs(~Treatment+Improved+Sex,data=Arthritis)
mantelhaen.test(mytable)

结果为p值约等于0.0006,小于0.05,也就说明,药物治疗和改善情况在性别的每一个水平上不独立(因为这里使用了性别做第三层分类量):

如果调整变量顺序,反映的结果是有差别的:

mytable<-xtabs(~Treatment+Sex+Improved,data=Arthritis)
mantelhaen.test(mytable)

结果为p值约等于0.14,大于0.05,也就说明,药物治疗和性别在改善情况的每一个水平上独立(因为这里使用了改善情况做第三层分类量)

相关文章
|
8月前
|
机器学习/深度学习 数据采集 算法
量子机器学习入门:三种数据编码方法对比与应用
在量子机器学习中,数据编码方式决定了量子模型如何理解和处理信息。本文详解角度编码、振幅编码与基础编码三种方法,分析其原理、实现及适用场景,帮助读者选择最适合的编码策略,提升量子模型性能。
657 8
|
机器学习/深度学习 传感器 运维
使用机器学习技术进行时间序列缺失数据填充:基础方法与入门案例
本文探讨了时间序列分析中数据缺失的问题,并通过实际案例展示了如何利用机器学习技术进行缺失值补充。文章构建了一个模拟的能源生产数据集,采用线性回归和决策树回归两种方法进行缺失值补充,并从统计特征、自相关性、趋势和季节性等多个维度进行了详细评估。结果显示,决策树方法在处理复杂非线性模式和保持数据局部特征方面表现更佳,而线性回归方法则适用于简单的线性趋势数据。文章最后总结了两种方法的优劣,并给出了实际应用建议。
895 7
使用机器学习技术进行时间序列缺失数据填充:基础方法与入门案例
|
机器学习/深度学习 数据采集
机器学习入门——使用Scikit-Learn构建分类器
机器学习入门——使用Scikit-Learn构建分类器
|
机器学习/深度学习 人工智能 自然语言处理
探索AI的奥秘:机器学习入门指南
【10月更文挑战第30天】本篇文章是一份初学者友好的机器学习入门指南,旨在帮助读者理解并开始实践机器学习。我们将介绍机器学习的基本概念,包括监督学习、无监督学习和强化学习等。我们还将提供一些实用的代码示例,以帮助读者更好地理解和应用这些概念。无论你是编程新手,还是有一定经验的开发者,这篇文章都将为你提供一个清晰的机器学习入门路径。
389 2
|
机器学习/深度学习 数据采集 人工智能
R语言是一种强大的编程语言,广泛应用于统计分析、数据可视化、机器学习等领域
R语言是一种广泛应用于统计分析、数据可视化及机器学习的强大编程语言。本文为初学者提供了一份使用R语言进行机器学习的入门指南,涵盖R语言简介、安装配置、基本操作、常用机器学习库介绍及实例演示,帮助读者快速掌握R语言在机器学习领域的应用。
1110 3
|
机器学习/深度学习 并行计算 数据挖掘
R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域
【10月更文挑战第21天】R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域。本文将介绍R语言中的一些高级编程技巧,包括函数式编程、向量化运算、字符串处理、循环和条件语句、异常处理和性能优化等方面,以帮助读者更好地掌握R语言的编程技巧,提高数据分析的效率。
450 2
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
机器学习基础:使用Python和Scikit-learn入门
172 1
|
机器学习/深度学习 数据采集 人工智能
机器学习入门:Python与scikit-learn实战
机器学习入门:Python与scikit-learn实战
570 0
|
机器学习/深度学习 算法 Python
机器学习入门:理解并实现K-近邻算法
机器学习入门:理解并实现K-近邻算法
283 0
|
7月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习算法篇】K-近邻算法
K近邻(KNN)是一种基于“物以类聚”思想的监督学习算法,通过计算样本间距离,选取最近K个邻居投票决定类别。支持多种距离度量,如欧式、曼哈顿、余弦相似度等,适用于分类与回归任务。结合Scikit-learn可高效实现,需合理选择K值并进行数据预处理,常用于鸢尾花分类等经典案例。(238字)