首页
学习
活动
专区
圈层
工具
发布

数据分析中非常实用的自编函数和代码模块整理

1、centralImputation( ) 根据样本间的相似性填补缺失值方法,把实现代码封装在如下函数中,并将该函数命名为centralImputation 根据样本之间的相似性填补缺失值是指用这些缺失值最可能的值来填补它们...对于偏态分布或者有离群值的分布而言,中位数是更好地代表数据中心趋势的指标。对于名义变量(如定性指标),通常采用众数填补缺失值。...当我们采用数据集每行的属性进行缺失值填补时,通常有两种方法,第一种方法是计算k个(我用的k=10)最相近样本的中位数并用这个中位数来填补缺失值。...如果缺失值是名义变量,则使用这k个最近相似数据的加权平均值进行填补,权重大小随着距离待填补缺失值样本的距离增大而减小,本文我们采用高斯核函数从距离获得权重,即如果相邻样本距离待填补缺失值的样本的距离为d...在寻找跟包含缺失值的样本最近的k个邻居样本时,最常用的经典算法是knn(k-nearest-neighbor) 算法,它通过计算样本间的欧氏距离,来寻找距离包含缺失值样本最近的k个邻居,样本x和y之间欧式距离的计算公式如下

1.2K100

评分卡模型开发-用户数据缺失值处理

在采用删除法剔除缺失值样本时,我们通常首先检查样本总体中缺失值的个数,在R中使用complete.cases()函数来统计缺失值的个数。 >GermanCredit[!...) #查看结果 根据样本之间的相似性填补缺失值是指用这些缺失值最可能的值来填补它们,通常使用能代表变量中心趋势的值进行填补,因为代表变量中心趋势的值反映了变量分布的最常见值...当我们采用数据集每行的属性进行缺失值填补时,通常有两种方法,第一种方法是计算k个(本文k=10)最相近样本的中位数并用这个中位数来填补缺失值,如果缺失值是名义变量,则使用这k个最近相似数据的加权平均值进行填补...在寻找跟包含缺失值的样本最近的k个邻居样本时,最常用的经典算法是knn(k-nearest-neighbor) 算法,它通过计算样本间的欧氏距离,来寻找距离包含缺失值样本最近的k个邻居,样本x和y之间欧式距离的计算公式如下...式中:δ_i ( )是变量i的两个值之间的距离,即 ? 在计算欧式距离时,为了消除变量间不同尺度的影响,通常要先对数值变量进行标准化,即: ?

1.7K100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    R语言 常见函数知识点梳理与解析 | 精选分析

    ) 5、complete.cases( ) 判断对象中是否数据完全 6、grep()找出所数据框中元素所在的列值(仅数据框中) 7、assign()通过变量名的字符串来赋值 8、 split()根据因子变量拆分数据框...22、输入输出 23、工作环境 24、简单统计量 25、时间序列 【往期回顾】 R语言 | 第一部分:数据预处理 R语言|第2讲:生成数据 R语言常用的数据输入与输出方法 | 第三讲 R语言数据管理与...这一函数在去除数据框中缺失值时很有用。...character;字符型向量 list:列表 data.frame:数据框 c:连接为向量或列表 length:求长度 subset:求子集 seq,from:to,sequence:等差序列 rep:重复 NA:缺失值...time:时间序列的采样时间 window:时间窗 说明:本文中前半部分内容为作者自行整理,后半部分内容引自网络,稍作整理(蓝色标记部分是笔者认为比较常见和使用的函数)。

    2.9K21

    30道练习题带你玩转统计学的R语言版

    统计学是一门很深的学问,这里仅仅是出题帮助大家熟练使用R语言来学习统计学知识,具体知识点需要更深入阅读书籍或者教程: 推荐一下 统计学基础:https://mp.weixin.qq.com/s/OtB2h6f00U2SRZLzveJKfQ...quantitative variable) 定量数据的集中趋势指标主要是:众数、分位数和平均数 定量数据的离散趋势指标主要是:极差,方差和标准差,标准分数,相对离散系数(变异系数),偏态系数与峰态系数 Q1: 载入R中自带的数据集...并计算标准化后每列的平均值和标准差 Q7:计算列内部zcore标准化后 iris的前两列变量的相关性 Q8: 根据数据集 iris的第五列拆分数据集后重复上面的Q2到Q7问题 Q9:载入R中自带的数据集...mtcars,重复上面的Q1到Q7个问题 Q10: 载入r包airway并且通过assay函数拿到其表达矩阵后计算每列之间的相关性 关于 airway 代码如下,需要理解: options(stringsAsFactors...每组是4个样本, 分别是 trt 和 untrt 组。

    3.1K30

    R语言逻辑回归logistic模型分析泰坦尼克titanic数据集预测生还情况

    机器学习中使用的一个经典例子是电子邮件分类:给定每封电子邮件的一组属性,如字数、链接和图片,算法应该决定该电子邮件是垃圾邮件(1)或不是(0)。...使用subset()函数,对原始数据集进行子集,只选择相关列。 现在需要考虑其他的缺失值。在拟合广义线性模型时,R可以通过在拟合函数中设置一个参数来处理它们。...然而,我个人更喜欢 "手动"替换缺失值。有不同的方法可以做到这一点,一个典型的方法是用平均数、中位数或现有数值来替换缺失的数值。我使用平均数。...因子是R处理分类变量的方式。我们可以使用以下几行代码来检查编码情况。 ? 为了更好地了解R是如何处理分类变量的,我们可以使用contrasts()函数。...这个函数向我们展示变量是如何虚拟出来的,以及如何在模型中解释它们。 ? 例如,你可以看到,在性别这个变量中,女性将被用作参考变量。

    3K10

    R语言中自编基尼系数的CART回归决策树的实现

    要计算基尼系数 我们只需构造列联表,然后计算上面给出的数量。首先,假设只有一个解释变量。我们将样本一分为二,并使用所有可能的分割值 ,即 然后,我们为所有这些值计算基尼系数。...我们通过寻找最佳第二选择来重申:给定一个根节点,考虑将样本一分为三的值,并给出最高的基尼系数,因此,我们考虑以下分区 或这个 也就是说,我们在上一个结的下方或上方分割。然后我们进行迭代。...=19,col="red")+ segments(u1[which.max(gini[,1])],mg,u1[which.max(gini[,1])],-100000)}> u2[which.max...---- 参考文献 1.从决策树模型看员工为什么离职 2.R语言基于树的方法:决策树,随机森林,套袋Bagging,增强树数据分析 3.python中使用scikit-learn和pandas决策树进行鸢尾花数据分类...K-Means聚类实战研究 8.用R进行网站评论文本挖掘聚类 9.Python中的Apriori关联算法市场购物篮分析 10.通过Python中的Apriori算法进行关联规则挖掘 11.使用LSTM

    97810

    转载︱案例 基于贪心算法的特征选择

    本文转载于R语言中文社区,详情链接 相关帖子 转载︱案例 基于贪心算法的特征选择 用GA算法设计22个地点之间最短旅程-R语言实现 ————————————————————————————————...KS值计算方法: 将所有样本根据预测得分从低到高排序均分成N组,分别计算这N组的实际好样本数、坏样本数、累积好样本数、累积坏样本数、累积好样本数占比、 累积坏样本数占比,差值。...其中,实际好坏样本数分别为该组内的好坏样本数,累积好坏样本数为该组累积的好坏样本数,累积好坏样本数占比为 累积好坏样本数占总好坏样本数的比值,差值为累积坏样本数占比减去累计好样本数占比。...KS指标为差值绝对值的最大值。...GreedyAlgorithm(dataSet = data) load("/data/workspace/Rworkspace/featureSelect.RData") # 数据量较大,生成html过程中该算法比较耗时

    1.2K10

    R语言数据结构二

    向量的读取:向量在创建过程中,系统就自动给向量里的每个元素都分配了一个索引(1~N,N为向量中元素个数,这与C语言,Python中都不同) 读取时用c[ m ]来读取向量c中第m个向量 用c[ m:n...有关单个数值相关的计算都可以用到向量中,来进行整组相同的运算。...、最大值max、返回最大值与最小值range、谁是最小值which.min、谁是最大值which.max、求和sum、所有向量元素的乘积prod、向量元素排序sort、向量元素平均值mean、样本方差var...解两个矩阵的内积 outer()          解两个矩阵的外积,又叫叉积%*%矩阵乘法,要求第一个矩阵的列数与行数相同 diag()            对矩阵取对角元素,若对象为向量(不管有没有缺失值...如果不指定行名,那么就是从1开始自增的Sequence来标识每一行。 数据框的创建:使用data.frame( )函数。

    3300

    区块链的基石:工作量证明机制,如何驱动数字货币革命?

    2 PoW机制 主要是通过竞争记账的方式来解决区块链网络中各个节点的一致性问题,其原理: 区块链中的每个节点都能自由参与数据处理,即打包区块 为保证网络中的各个节点能达成一致,PoW就规定,当一笔交易产生后...,每一个想要记账的节点都需要依靠自己的计算能力与他人竞争、争夺记账的权利 最终,获得记账权的人,他所打包的区块会连接到区块链的链上,同时他处理的数据,也会被全网的其他节点记入各自的小账本中 PoW算法中最基本的技术原理是使用哈希法...在比特币的PoW算法中,引入算法难度d和随机值n,得到以下公式: (3)Rd=Hash(r+n) 该公式要求在填入随机值n的情况下,计算结果Rd的前d字节必须为0。...所以挖矿的过程就是启动挖矿软件,成为一个节点,能够接收到系统中交易的广播消息,为了得到记账权当收到500笔交易的时候就开始执行上面工作量证明过程的计算。...当计算出满足条件的Hash值时就广播告诉其他节点,如果是第一个完成的就会获得记账权,也会获得奖励。

    57110

    区块链共识机制知多少

    工作量证明(PoW) 比特币在区块的生成过程中使用了PoW机制,一个符合要求的区块哈希值由N个前导零构成,零的个数取决于网络的难度值。...要得到合理的区块哈希值,要经过大量的尝试计算,计算时间取决于机器的哈希运算速度。...当某个节点提供出一个合理的区块哈希值,说明该节点确实经过了大量的尝试计算,当然,这并不能得出计算次数的绝对值,因为寻找合理的哈希值是一个概率事件。...优点:完全去中心化,节点自由进出 缺点:比特币已经吸引全球大部分的算力,再使用PoW共识机制的区块链应用很难获取相同的算力来保障自身安全。同时,挖矿造成大量的资源浪费;共识达成的周期较长。...实用拜占庭容错(PBFT) 有一问题:在分布式计算上,不同的计算机通过信息交换尝试达成共识,但有时候,系统中的协调计算机或成员计算机可能因系统错误交换错的信息,以至于影响最终的系统一致性。

    87030

    R语言中自编基尼系数的CART回归决策树的实现

    p=14056 本文为了说明回归树的构造(使用CART方法),考虑以下模拟数据集, > set.seed(1) > n=200 > X1=runif(n) > X2=runif(n) > P=.8*...要计算基尼系数 我们只需构造列联表,然后计算上面给出的数量。首先,假设只有一个解释变量。我们将样本一分为二,并使用所有可能的分割值 然后,我们为所有这些值计算基尼系数。结是使基尼系数最大化的值。...我们通过寻找最佳第二选择来重申:给定一个根节点,考虑将样本一分为三的值,并给出最高的基尼系数, 也就是说,我们在上一个结的下方或上方分割。然后我们进行迭代。...等,现在,让我们将代码与标准R函数进行比较, node), split, n, deviance, yval * denotes terminal node 1) root 200 49.8800...,mg,pch=19,col="red") + segments(u1[which.max(gini[,1])],mg,u1[which.max(gini[,1])],-100000)

    72621

    空间轨迹向量场

    其中关于空间轨迹,我也写了很多,文章放在下面,供大家参考时空轨迹分析导论空间转录组之空间基因和细胞轨迹单细胞个性化分析之轨迹分析篇图片首先我们来解读以下这个图片,这个地方类似于基因、细胞类型或者通路的区域转换...这些向量场计算使我们能够近似空间基因表达轨迹,从而能够识别空间上相反的转录途径。基于这些矢量场计算,报告缺氧响应和迁移特征显示反向空间轨迹(上图C、D)。...总之,研究结果为代谢变化和氧化应激是基因组多样性的潜在互惠驱动因素提供了证据,从而导致 GBM 中的克隆进化。...其中我们要实现的部分在图片话不多说,我们直接来library(ggplot2)library(Seurat)library(SPATA2)library(dplyr)source('runVectorFields.R'...图片其中的颜色,点的大小都可以更改,选择自己喜欢的搭配,当然了,我这里是拿一个基因作为展示,更为有生物学意义的是细胞类型和信号通路,照猫画虎就可以了(就把对应一个的基因值替换成你想要的细胞类型分数或者通路得分

    1K30

    区块链共识机制的思考

    现实中这样“完美”的系统并不存在,如响应请求往往存在时延、网络会发生中断、节点会发生故障、甚至存在恶意节点故意要破坏系统。 分布式系统中有无作恶节点分为拜占庭容错和非拜占庭容错机制。...参与挖矿的矿工竞争将前一区块的hash与一个随机的比特串一起来计算出一个hash值,若输出的hash值满足前若干比特为0,即为解出了该难题,当然,并不能得出计算次数的绝对值,因为寻找合理hash是一个概率事件...它根据币天的关系对计算机进行哈希计算降低了难度,降低了计算机的门槛,但是对计算机还是有一定要求的,它把钱包和区块链系统的一致性绑定在一起。谁的钱包里的币天数越大谁拥有记账权的概率就越大。...); 4,在区块链中引入数字证书,解决了投票中对记账节点真实身份的认证问题; DBFT机制,是由权益来选出记账人,然后记账人之间通过拜占庭容错算法来达成共识,这种方式的优点是: 1,专业化的记账人...Pool验证池: 基于传统的分布式一致性技术以及数据验证机制,Pool(联营)验证池是目前行业内大范围使用的共识机制。

    1.4K60

    如何在机器学习竞赛中更胜一筹?

    估算缺失值是关键的一步。 有时你可能会发现缺失值的趋势。 以下是我使用的一些技巧: 使用均值、模式、中位数进行插补 在变量的正常值的范围之外使用值。如- 1,或- 9999等。...例如:有时空可能意味着零 尝试基于已知值子集来预测缺失值 可以考虑删除具有许多空值的行 8.你可以详细说明你所做的硬件投资是什么,即你自己的PC / GPU设置用于深度学习相关任务?...这就是他们过去曾说的自动化计算。但最终需要大量的开发人员来完成这项工作!数据科学家可能会专注于随着时间的推移,将业务问题翻译成ml问题,并且通常成为流程的指导者——如建模过程的经理/主管一样。...23.如何在R和Python中使用整体建模来提高预测的准确性。 请引用一些现实生活中的例子? 你可以看我的github脚本,它解释了不同的基于Kaggle比赛的机器学习方法。同时,核对集成指南。...32.如何在没有强大的机器的情况下计算大数据? 你应该考虑一些如vowpal wabbit和在线解决方案的工具,可以逐一解析所有内容。 你需要在编程方面投入更多资源。 33.什么是特征工程?

    2.2K70

    自学攻略 | R语言数据筛选和修改

    现在,是时候深入探讨如何运用 R 语言对数据进行精细化处理了。本篇推文将详细介绍如何在 R 中对数据进行排序、筛选、替换以及调用特定行和列等核心操作。...dplyr 的核心理念是使用一系列“动词”来描述数据操作,如 filter()(筛选)、select()(选择)、arrange()(排序)、mutate()(新增/修改列)和 summarise()(...is.na() 用于筛选非缺失值 筛选缺失值 筛选 TumorSize 列中存在缺失值的行: patients_with_missing_tumor_size R替换) 在真实数据中,缺失值(NA)非常常见,对其进行合理处理至关重要。此外,有时我们也需要替换特定值。...缺失值替换 (replace_na()) tidyr 包(也是 tidyverse 的一部分)中的 replace_na() 函数可以方便地替换缺失值。

    83610
    领券