精华内容
下载资源
问答
  • 本期介绍的是机器学习中的决策树,并借助R语言进行实证分析。一、理论介绍1.决策树基础知识决策树是数据挖掘中的重要技术,通过一些潜在的规则信息进行分析,产生预测模型。决策树主要用于分类,也可以用于回归,当...

    随着大数据时代的到来,数据量激增,机器学习方法起到越来越重要的作用。本期介绍的是机器学习中的决策树,并借助R语言进行实证分析。

    一、理论介绍

    1.决策树基础知识

    决策树是数据挖掘中的重要技术,通过一些潜在的规则信息进行分析,产生预测模型。决策树主要用于分类,也可以用于回归,当输出变量是分类变量时,是分类树;当输出变量是连续变量时,为回归树。目前国际上最有效的决策树方法有三种:一个是CART法,另一个是Quinlan于1986年提出的ID3法[1],还有一个是Quinlan于1993年提出的改进算法C4.5[2]。其中CART既可以用于分类树又可以用于回归树,而ID3和C4.5只能用于分类树。

    决策树的优缺点都比较明显:优点在于它可以直接显示结果的决策过程,比较直观;缺点在于处理复杂性数据时,容易出现分支多管理难度大,及决策缓慢等情况(程秀峰等,2018)[3]。因此,对决策树进行剪枝就显得尤为重要,通过事前剪枝或事后剪枝节省时间,提高树的精度(谭中明等,2018)[4]。由于决策树技术分类规则比较直观并且易于理解,因此在决策中较为常见,在医疗行业、渔业、保险业等领域均有广泛应用。

    2.决策树模型建立

    通常情况下,决策树的建立一般分为两个步骤:一是建树,即利用已有数据选取划分算法建立一棵决策树,建立决策树模型;二是剪枝,即对已有的决策树进行修剪,防止过拟合。

    其中剪枝又分为先剪枝和后剪枝:

    (1)先剪枝:在决策树生长阶段,设定一个指标,达标则停止生长,该结点为树叶。但在停止分支后,“好”的分支也会停止生长。

    (2)后剪枝:在决策树完全生长之后,不纯度达到最小后停止生长,然后进行剪枝看不纯度是否变化。若不纯度增长,说明剪枝成功;若相反,则说明剪枝失败。但这种方法有可能使所得到的决策树非平衡,仅适合小样本。

    二、实证研究

    1.数据来源

    本期数据为R软件自带的Stagec数据包。

    2.过程及分析

    首先安装rpart包并调用,以便后续使用:

    install.packages("rpart")

    library(rpart)

    然后读取数据集stagec并查看,结果显示为图1:

    head(stagec)

    progstat = factor(stagec$pgstat, levels = 0:1, labels =c("No", "Prog"))

    744a14af770cb45a57cff23fc8c8fca2.png

    数据展示

    接着建立决策树并查看分类树信息如图2,因为该数据因变量是因子变量,method选class:

    cfit = rpart(progstat ~ age+eet+g2+grade+gleason+ploidy,data =stagec, method ='class')

    summary(cfit)

    b579fbe953984a86a21dde861b2e62ea.png

    分类树信息展示

    之后输出结果如图3,并查看分类树图4:

    print(cfit)

    3aa89a3998007c6d4001a345a88370fd.png

    结果展示

    par(mar = rep(0.1, 4))

    plot(cfit)

    text(cfit)

    7bd876d0403a8d08ae1f6c0ec2a7aca4.png

    分类树图

    再对分类结果作混淆矩阵如图5:

    (temp = with(stagec, table(cut(grade, c(0, 2.5, 4)),cut(gleason,c(2, 5.5, 10)),exclude = NULL)))

    d172d4adf9c0d2b435f3a1a7aa54a60e.png

    混淆矩阵

    最后进行剪枝并作剪枝后的决策图:

    cfit2=prune(cfit,cp=0.02)

    plot(cfit2)

    text(cfit2)

    d3e5075844d9384297a2e2d521b8c99f.png

    剪枝后分类树图

    6显示,与剪枝前相比,剪枝后减少了一个分支,适当减少了决策过程,防止过拟合。

    本期所介绍的只是决策树中有关分类树的一个案例,有兴趣的读者可以自己进行代码编写,或者用该方法处理自己的数据。除此之外,还可以通过构建回归树对连续变量进行分析,下次再进行详细介绍和实证研究。

    参考文献


    [1]Quinlan J R.Induction of Decision Tree[J].MachineLearning, 1986 (1) .

    [2] Quinlan J R.C4.5:Programs for MachineLearning[M].[S.1.]:Morgan Kaufman, 1993.

    [3]程秀峰,张心怡,王宁.基于CART决策树的网络问答社区新兴话题识别研究[J].数据分析与知识发现,2018(12):52-59.

    [4]谭中明,谢坤,彭耀鹏.基于梯度提升决策树模型的P2P网贷借款人信用风险评测研究[J].软科学,2018,32(12):136-140.

    展开全文
  • 而医院应用的瞬感仪器可以产生每位患者瞬感后的点数据,而也有相应的软件可以分析该点数据。假设我们想要做一些研究或者调查,比如,我们想知道所有患者装瞬感的前三天(72h)的数据,软件没有这种参数设置...

    连续血糖监测(CGM)

    CGM(Continuous Glucose Moitoring) —— 连续血糖监测,是指通过葡萄糖感应器监测皮下组织间液的葡萄糖浓度而间接反映血糖水平的监测技术。针对糖尿病的患者,应用连续血糖监测仪器(下面称为瞬感)来检测血糖,可以全面了解患者的血糖波动趋势。
    而医院应用的瞬感仪器可以产生每位患者在装上瞬感后的点数据,而也有相应的软件可以分析该点数据。假设我们想要做一些研究或者调查,比如,我们想知道所有患者装上瞬感的前三天(72h)的数据,软件没有这种参数设置,我们可以应用R对点数据进行分析。
    下面将会对10份点数据进行处理,而最终分析得参数主要为[1]
    文献参考:[1].	Battelino, T., et al., Clinical Targets for Continuous Glucose Monitoring Data Interpretation:  Recommendations From the International Consensus on Time in Range. Diabetes Care, 2019. 42(8): p. 1593-1603.

    数据分析R

    模拟点数据
    (此点数据设计名字,ID均为模拟。)

     #首先设置环境参数,文字为中文环境;
    options(stringsAsFactors =F,fileEncoding = 'utf-8')
    #载入数据处理R包dplyr和tidyr
    library(dplyr) 
    library(tidyr)
    
    #我们把数据都放在一个文件夹下面,方面处理,而后用for循环把数据分析出来
    path = 'D:/project/点数据'  #文件夹分级用“/”隔开,而不是“\”
    folders=list.files(path)   #用list.files()命令把点数据文件夹下的文件名提出来
    

    我们先看看文件一般情况:
    在这里插入图片描述
    1.文件为TXT格式;
    2.第一行为姓名;
    3.第二行为ID,格式为“# ******”
    4.第三行开始往后都为表格的正式内容,有四列,“ID”:时间的编码ID,“时间”:每个数据所对应的采集时间;“记录类型”:无特殊意义;“葡萄糖历史记录(mmol/L)”;
    5.从“时间”列中看到每隔15min会有一个点数据

    #在我们开始写循环之前,可以先写第一份数据的代码,以便检查
    fd = folders[1]  #fd = 第1个文件名
    files_path=paste(path,"/",fd,sep="") #读取路径
    a = read.delim(file = files_path, header=FALSE ) #读取第1份数据
    name = a[1,1] #姓名
    ID = substr(a[2,1],3,nchar(a[2,1])) #substr(x, start, stop) #从“# ******”中提取患者的ID
    headnames = as.character(a[3,]) #把表格第三行提取出来当名字
    a = a[c(4:nrow(a)),]  #只保留数据
    colnames(a) = headnames  #命名表格
    rownames(a) = NULL
    
    #接下来要分析前3d的数据,每15min一个数据,也就是前288个数据,且表格本身≥288位数据
    nr = nrow(a)
    if (nr >= 288){
      a$`葡萄糖历史记录(mmol/L)` = as.numeric(a$`葡萄糖历史记录(mmol/L)`) #把这一列设为数值列
      #用case_when()给a其分级以方便算TIR等数据
      a = a[1:288,] %>%
        mutate(glucose_level = case_when(
          `葡萄糖历史记录(mmol/L)` < 3.0 ~ 1,
          `葡萄糖历史记录(mmol/L)` < 3.9 ~ 2,
          `葡萄糖历史记录(mmol/L)` <= 10.0 ~ 3,
          `葡萄糖历史记录(mmol/L)` > 13.9 ~ 5,
          `葡萄糖历史记录(mmol/L)` > 10.0 ~ 4
        ))
      analysis_a = a %>%
        summarise(TAR = round(sum(glucose_level %in% c(4,5))/288, 4),
                  TIR = round(sum(glucose_level == 3)/288, 4),
                  TBR = round(sum(glucose_level %in% c(1,2))/288, 4),
                  TAR_level1 = round(sum(glucose_level == 4)/288, 4),
                  TAR_level2 = round(sum(glucose_level == 5)/288, 4),
                  TBR_level1 = round(sum(glucose_level == 2)/288, 4),
                  TBR_level2 = round(sum(glucose_level == 1)/288, 4),
                  mean = round(mean(`葡萄糖历史记录(mmol/L)`), 4),
                  SD = round(sd(`葡萄糖历史记录(mmol/L)`), 4),
                  CV = round(sd(`葡萄糖历史记录(mmol/L)`)/mean(`葡萄糖历史记录(mmol/L)`), 4)) %>%
      #用roun(),保留四位数,也可不处理
        mutate(name = name, ID= ID) #给其加上患者的姓名及ID
    }
    

    至此,我们可以看到第一份数据的分析结果:
    在这里插入图片描述
    那么接下来,我们只需要用for循环把所有文件都分析出来就好了

    analysis_data = data.frame()  #先创建一个空表格装分析数据
    for (i in c(1:length(folders))){
    	fd = folders[i]  
    	files_path=paste(path,"/",fd,sep="") 
    	a = read.delim(file = files_path, fileEncoding = 'utf-8', header=F ) 
    	name = a[1,1]
     	ID = substr(a[2,1],3,nchar(a[2,1])) 
    	headnames = as.character(a[3,]) 
    	a = a[c(4:nrow(a)),]  
    	colnames(a) = headnames 
    	rownames(a) = NULL
    	nr = nrow(a)
    	if (nr >= 288){
    		a$`葡萄糖历史记录(mmol/L)` = as.numeric(a$`葡萄糖历史记录(mmol/L)`) 
      		a = a[1:288,] %>%
    		mutate(glucose_level = case_when(
          `葡萄糖历史记录(mmol/L)` < 3.0 ~ 1,
          `葡萄糖历史记录(mmol/L)` < 3.9 ~ 2,
          `葡萄糖历史记录(mmol/L)` <= 10.0 ~ 3,
          `葡萄糖历史记录(mmol/L)` > 13.9 ~ 5,
          `葡萄糖历史记录(mmol/L)` > 10.0 ~ 4
        ))
    	analysis_a = a %>%
    	summarise(TAR = round(sum(glucose_level %in% c(4,5))/288, 4),
                  TIR = round(sum(glucose_level == 3)/288, 4),
                  TBR = round(sum(glucose_level %in% c(1,2))/288, 4),
                  TAR_level1 = round(sum(glucose_level == 4)/288, 4),
                  TAR_level2 = round(sum(glucose_level == 5)/288, 4),
                  TBR_level1 = round(sum(glucose_level == 2)/288, 4),
                  TBR_level2 = round(sum(glucose_level == 1)/288, 4),
                  mean = round(mean(`葡萄糖历史记录(mmol/L)`), 4),
                  SD = round(sd(`葡萄糖历史记录(mmol/L)`), 4),
                  CV = round(sd(`葡萄糖历史记录(mmol/L)`)/mean(`葡萄糖历史记录(mmol/L)`), 4)) %>%
        mutate(name = name, ID= ID) 
        analysis_data = rbind(analysis_data, analysis_a)
    }
    }
    

    然后我们就得出分析结果啦:
    在这里插入图片描述
    以上只是一个比较理想情况下的简单分析,在实际数据分析中,我们需要在跑数据之前先对数据总体进行一个评估,明确我们的分析目标,从而把代码进一步完善:
    1.以上是取了前3d的数据,那么我们可以创建一个表格,分别列入每位患者的点数据有多少,第一次点数据采样时间(可以看看有哪些患者数据量不达3d等);
    2.瞬感装置是在皮下的,那么有可能因为挤压而导致某一时刻的数据缺失,但是点数据源文件并没有显示NA,也就是说数据并不连续,我们需要排除这一类数据;
    3.除了以上TIR等参数,我们可以补充CGM衍生的其他血糖评估指标,如MAGE等;
    4.或者我们只想要分析夜间血糖情况,需要根据时间来继续分析等等

    (以上代码供参考,欢迎指正。)

    [1]. Battelino, T., et al., Clinical Targets for Continuous Glucose Monitoring Data Interpretation: Recommendations From the International Consensus on Time in Range. Diabetes Care, 2019. 42(8): p. 1593-1603.
    展开全文
  • 原标题:R语言机器学习:caret包使用及其黑箱模型解释(连续变量预测)作者:黄天元,复旦大学博士在读,目前研究涉及文本挖掘、社交网络分析和机器学习等。希望与大家分享学习经验,推广并加深R语言业界的应用。...

    原标题:R语言机器学习:caret包使用及其黑箱模型解释(连续变量预测)

    作者:黄天元,复旦大学博士在读,目前研究涉及文本挖掘、社交网络分析和机器学习等。希望与大家分享学习经验,推广并加深R语言在业界的应用。

    caret包是R语言通用机器学习包之一,能够在统一框架下使用各种不同的模型,从预处理、建模到后期的预测、评估都有非常友好的函数封装。新近学习的DALEX包是给黑箱提供模型解释性的利器。事实上,它不仅仅针对黑箱模型,它能够面向所有模型给出表现的评估、变量的重要性等有价值的信息。本文依照官方文档,尝试习得通用的DALEX解释caret包生成模型的套路。

    1 包的载入与数据导入

    安装三个包。

    library(pacman)

    p_load(DALEX,caret,tidyverse)

    观察我们要使用的目标数据:

    apartments %>% as_tibble

    # A tibble: 1,000 x 6

    m2.price construction.year surface floor no.rooms district

    1 5897 1953 25 3 1 Srodmiescie

    2 1818 1992 143 9 5 Bielany

    3 3643 1937 56 1 2 Praga

    4 3517 1995 93 7 3 Ochota

    5 3013 1992 144 6 5 Mokotow

    6 5795 1926 61 6 2 Srodmiescie

    7 2983 1970 127 8 5 Mokotow

    8 2346 1985 105 8 4 Ursus

    9 4745 1928 145 6 6 Srodmiescie

    10 4284 1949 112 9 4 Srodmiescie

    # ... with 990 more rows 2 使用caret包迅速建模

    这里,以m2.price作为响应变量,其余所有变量作为解释变量,进行建模。尝试模型包括:随机森林、GBM和神经网络。其中,随机森林设置树的数量为100,GBM使用默认设置,神经网络在预处理的时候要进行中心化和标准化,最大迭代次数设置为500次,使用线性输出单元,并设置网格对超参数进行优化的选项(这里用了两个隐藏层,权重衰减参数设为0,只设置了一个值,没有用网格去优化)。代码如下:

    #下面这串代码的运行可能要等待一段时间

    set.seed(123)

    regr_rf

    regr_gbm

    regr_nn

    method = "nnet",

    linout = TRUE,

    preProcess = c('center', 'scale'),

    maxit = 500,

    tuneGrid = expand.grid(size = 2, decay = 0),

    trControl = trainControl(method = "none", seeds = 1)) 3 对模型进行解释

    这里直接利用DALEX包的explain函数对三个模型进行解释性分析。需要注意的是,做这个分析需要包含4个信息:1.模型信息;2.标签信息(如果没有,会自动从模型抽取);3.验证数据集;4.验证数据集中哪个是响应变量。代码如下:

    data(apartmentsTest)

    explainer_regr_rf

    data = apartmentsTest, y = apartmentsTest$m2.price)

    explainer_regr_gbm

    data = apartmentsTest, y = apartmentsTest$m2.price)

    explainer_regr_nn

    data = apartmentsTest, y = apartmentsTest$m2.price)

    建模可能很久,但是解释性验证是非常快的,直接是黑箱的映射关系。

    4 模型表现

    对模型的表现,需要进行分析:

    mp_regr_rf

    mp_regr_gbm

    mp_regr_nn

    我们看看得到的结果是什么样子的:

    mp_regr_rf

    这是样本的残差分布情况,让我们对这个分布进行可视化(累计残差分布图):

    plot(mp_regr_rf, mp_regr_nn, mp_regr_gbm)

    这个图的正确解释方法是,少数的样本(离群点)贡献了大量的残差(与真实值的偏差)。如果线在上面,那么大量的样本残差都很大,此图表明GBM模型大部分样本的残差都比较小,而神经网络很多样本的残差都比基于树模型的高。让我们采用另一种可视化方法:

    plot(mp_regr_rf, mp_regr_nn, mp_regr_gbm, geom = "boxplot")

    高下立判,红点为均值,箱线图则为分位数。

    5 变量重要性分析

    需要看每个模型中,不同变量对于模型预测的相对重要性,可以用如下方法。

    vi_regr_rf

    vi_regr_gbm

    vi_regr_nn

    plot(vi_regr_rf, vi_regr_gbm, vi_regr_nn)

    损失函数使用的是RMSE,这里解释为:如果模型少了这个变量,将会给响应变量的预测值带来多大影响?

    6 变量解析 6.1 连续型变量解析

    Partial Dependence Plots (PDP),是解释单个连续型解释变量与响应变量关系的方法。专门有相关的包和论文描述这个方法的机理,详情请去找pdp包的官方文档。比如我们想要研究房屋建筑年份(construction.year)对响应变量房价的影响,我们这样做:

    pdp_regr_rf

    pdp_regr_gbm

    pdp_regr_nn

    plot(pdp_regr_rf, pdp_regr_gbm, pdp_regr_nn)

    从随机森林和GBM模型可以看出来,建筑年份与放假具有非线性关系。特别老的房子和新建的房子房价都很贵,但是40年代到90年代的房子则价格较低。不过,神经网络模型不能很好地捕捉这个规律。 此外,还有一种方法称为Acumulated Local Effects (ALE),是为了解决变量相关性的问题设计的,本质上是PDP方法的延伸。实现方法如下:

    ale_regr_rf

    ale_regr_gbm

    ale_regr_nn

    plot(ale_regr_rf, ale_regr_gbm, ale_regr_nn)

    6.2 离散型变量解析

    对于离散型变量,DALEX包目前的解析方法是调用了factorMerger包的mergeFactors函数。

    mpp_regr_rf

    mpp_regr_gbm

    mpp_regr_nn

    plot(mpp_regr_rf, mpp_regr_gbm, mpp_regr_nn)

    这个方法的本质是根据响应变量的分布对单个因子变量进行聚类。就上面这个图而言,我们可以看到,对于不同地区的房价是不同的,可以明显分为6类。

    ——————————————返回搜狐,查看更多

    责任编辑:

    展开全文
  • 常用连续型分布介绍及R语言实现

    千次阅读 2014-11-13 21:06:17
    转载自:http://blog.fens.me/r-density/ R语言作为统计学一门语言,一直小众领域闪耀着光芒。直到大数据的爆发,R语言变成了一门...要成为有理想的极客,我们不能停留语法,要掌握牢固的数学,概率,统计
  • 教育或医学的标准情况是我们有一项连续的措施,但随后我们对那些具有临床/实践意义的措施有了切入点。...实质性问题通常落对某人超过/低于此临床显着阈值的概率进行建模的范畴之内。因此,我们将连续测量结果分...
  • 设$[a,b]$是$\mathbf{R}$的闭区间,且$f(x)$是$[a,b]$连续函数,则$f(x)$$[a,b]$一致连续. 证明:反证法.假设$f(x)$$[a,b]$不是一致连续的,则必定存在这么两个序列,其中$$a_1,a_2,\cdots,a_n,\cdots$$...
  • 从本质,方程就是一个等式,而函数是一个对应关系离散中,函数看作是一种特殊的二元关系计算机的任何输出都可看成是某些输入的函数。定义:设f是集合A到B的关系,如果对每个x∈A,都存在...
  • caret包是R语言通用机器学习包之一,能够统一框架下使用各种不同的模型,从预处理、建模到后期的预测、评估都有非常友好的函数封装。新近学习的DALEX包是给黑箱提供模型解释性的利器。事实,...
  • R和集算器计算连续上涨5天的股票

    千次阅读 2014-07-25 14:03:43
    目标:通过日交易数据,从多只蓝筹股中选出连续上涨5天的股票。...原始数据:从财经网站下载了重点蓝筹股的交易信息,包含29只股票,,存放Excel中:   集算器解决方案 A1:从Excel中读入数据。这个过程
  • 这个Git Repo中,我想讨论几种给定的连续度量创建着色中断的常见方法。 均值-标准差:您可以根据均值以及距均值1/2或更多标准差创建间隔。 虽然它对于正态分布的度量很有效,但对于具有极值或聚类值的任何...
  • 最后根据多元非负函数在有界闭域的算术均值极限的Riemann 积分形式和当n趋于无穷大时n值R0命题逻辑系统中广义真度极限的存在定理, 在连续值R0命题逻辑系统中建立了公式相对于局部有限理论的广义真理论, 为在R0...
  • 项目目录中,可以运行: npm start 开发模式下运行应用程序。 打开浏览器中查看。 如果进行编辑,页面将重新加载。 您还将控制台中看到任何棉绒错误。 npm test 交互式监视模式下启动测试运行程序。 ...
  • 篇文章我们讨论了离散随机变量,统计应用中还有一个非常重要的随机变量,那就是这里要讲的连续随机变量。定义1:\textbf{定义1:}对于某个随机变量,如果它的累加分布函数FX(x)F_X(x)对于所有的x∈Rx\in R都是...
  • 该存储库包含由电视连续剧《星际迷航:原始系列》中的Bones和Spock撰写的伪造科学论文,旨在展示如何在R Markdown中编写可复制的手稿。 我在研讨会创建了它,作为我的演讲“的后续文章。 该项目纳入了对可再生...
  • 流图由Lee Byron开发,并通过2008年2月《纽约时报》有关电影票房收入的文章中使用而得到普及。 () x轴值可以是连续的或日期的。 去做 计划为xts对象提供支持,但是暂时不提供支持。 支持分类/离散x轴 实现...
  • MATLAB中的连续小波变换CWT

    万次阅读 2019-01-09 13:53:26
    下面来介绍一下如何MATLAB实现CWT,也就是我们常说的连续小波变换,具体如下: 所谓小波(wavelet),即存在于一个较小区域的波。小波函数的数学定义是:设ψ(t)为一平方可积函数,即ψ(t)∈L2(R),若其傅里叶变换...
  • 该脚本实时解析tcpdump的输出(作为连续流或通过-tcpdump参数中添加-c来作为设置量),以毫秒为单位显示各个DNS请求响应时间(按DNS服务器和IP版本分组(带有服务器统计信息)) 。 请注意,只能解析UDP捕获,而不...
  • 二元函数的连续

    千次阅读 2019-09-28 19:37:32
    文章目录二元连续的定义增量复合函数的连续性有界闭域上连续函数的性质有界性and最大最小值定理证明一致连续性证明介值性定理证明 二元连续的定义 fff是定义点集D⊂R2D\subset R^2D⊂R2上的二元 P0∈D(它是D...
  • 学习笔记,仅供参考,有错必纠 参考自:《R的极客理想》-- 张丹 ...样本空间(0,1),生成10个连续随机变量: y <- runif(10, 0, 1) y #输出 [1] 0.15249135 0.05233216 0.71627656 0.98695
  • 函数可导但是导函数不一定连续

    千次阅读 2020-05-21 16:55:55
    节选自 汪林《实分析中的反例...导函数存在但并非R上连续函数。 设{rn}为闭区间[0,1]之间所有的有理数,则函数f(x)=∑n=0∞12ng(x−rn)[0,1]一致收敛f′(x)=∑n=0∞12ng′(x−rn)。[0,1]上的有理数点rn上不连续
  • R语言描述统计

    2019-11-07 21:37:50
    集中趋势表示的是数据分布的中心位置,它一定水平可以有效反映整体的情况。常见的指标有平均值、中位数等。 平均值(Mean) 平均值(均数)是最常用的描述数据分布集中趋势的统计指标。 它需要考虑所有个案的数据...
  • 绝对连续的一个等价定义

    千次阅读 2018-09-14 23:30:55
    函数 f:I→Rf:I→R f: I \to \mathbb{R} II I 绝对连续是指, ∀&nbsp;ε&gt;0∀&nbsp;ε&gt;0 \forall \ \varepsilon > 0 , 存在 δ&gt;0δ&gt;0 \delta > 0 使得对任意有限...
  • 作者:黄天元,复旦大学博士在读,热爱数据科学...上次HopeR:R语言机器学习:caret包使用及其黑箱模型解释(连续变量预测)​zhuanlan.zhihu.com中介绍了如何使用caret包建模并采用DALEX包进行模型的解释。当时是...
  • 通过随机聚类对聚类验证统计数据进行标准化,并此基础对许多聚类方法和聚类数量进行比较。 逐个群集的群集稳定性评估。 估计簇数的方法:Calinski-Harabasz,Tibshirani和Walther的预测强度,Fang和Wang的自举...
  • PHP和MaintéparGérardKESSE。 街道交通管理处的交通事故现场: 发展逻辑学 编译过程 赞助人 人机界面 普通人愿景 邓尼斯基地 格式德唐内斯 可视化 计算科学 剧本 Rendu deScène2D Rendu deScène3D 应用...

空空如也

空空如也

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

在r上连续