关于R语言和数据挖掘的

2024-04-29

1. 关于R语言和数据挖掘的

这个问题跟工具无关,而是跟业务专业相关,当然单纯从数据挖掘角度来说,越详细可能会越体现效果,但是我觉得应该从以下方面考虑:
首先是看你们的后期资源和推广能力能否精确到小区进行,比如就算你们通过挖掘发现不同小区之间有差异化特性,那你们后期的营销或推广团队能否有这个力度将其进行小区个性化的产品服务。
其次是从数据挖掘的角度来看,可以精确到小区没问题的,因为本身就是通过数据挖掘系统来进行操作,多一层变量无非是对硬件资源和运行效率多了一些需求,而且数据挖掘之后可能会发现小区这个变量未必会有价值。

关于R语言和数据挖掘的

2. R语言基本数据分析

R语言基本数据分析
本文基于R语言进行基本数据统计分析,包括基本作图,线性拟合,逻辑回归,bootstrap采样和Anova方差分析的实现及应用。
不多说,直接上代码,代码中有注释。
1. 基本作图(盒图,qq图)
    #basic plot
    boxplot(x)
    qqplot(x,y)
2.  线性拟合
    #linear regression
    n = 10
    x1 = rnorm(n)#variable 1
    x2 = rnorm(n)#variable 2
    y = rnorm(n)*3
    mod = lm(y~x1+x2)
    model.matrix(mod) #erect the matrix of mod
    plot(mod) #plot residual and fitted of the solution, Q-Q plot and cook distance
    summary(mod) #get the statistic information of the model
    hatvalues(mod) #very important, for abnormal sample detection
3. 逻辑回归

    #logistic regression
    x <- c(0, 1, 2, 3, 4, 5)
    y <- c(0, 9, 21, 47, 60, 63) # the number of successes
    n <- 70 #the number of trails
    z <- n - y #the number of failures
    b <- cbind(y, z) # column bind
    fitx <- glm(b~x,family = binomial) # a particular type of generalized linear model
    print(fitx)
     
    plot(x,y,xlim=c(0,5),ylim=c(0,65)) #plot the points (x,y)
     
    beta0 <- fitx$coef[1]
    beta1 <- fitx$coef[2]
    fn <- function(x) n*exp(beta0+beta1*x)/(1+exp(beta0+beta1*x))
    par(new=T)
    curve(fn,0,5,ylim=c(0,60)) # plot the logistic regression curve
3. Bootstrap采样

    # bootstrap
    # Application: 随机采样,获取最大eigenvalue占所有eigenvalue和之比,并画图显示distribution
    dat = matrix(rnorm(100*5),100,5)
     no.samples = 200 #sample 200 times
    # theta = matrix(rep(0,no.samples*5),no.samples,5)
     theta =rep(0,no.samples*5);
     for (i in 1:no.samples)
    {
        j = sample(1:100,100,replace = TRUE)#get 100 samples each time
       datrnd = dat[j,]; #select one row each time
       lambda = princomp(datrnd)$sdev^2; #get eigenvalues
    #   theta[i,] = lambda;
       theta[i] = lambda[1]/sum(lambda); #plot the ratio of the biggest eigenvalue
    }
     
    # hist(theta[1,]) #plot the histogram of the first(biggest) eigenvalue
    hist(theta); #plot the percentage distribution of the biggest eigenvalue
    sd(theta)#standard deviation of theta
     
    #上面注释掉的语句,可以全部去掉注释并将其下一条语句注释掉,完成画最大eigenvalue分布的功能
4. ANOVA方差分析

    #Application:判断一个自变量是否有影响 (假设我们喂3种维他命给3头猪,想看喂维他命有没有用)
    # 
    y = rnorm(9); #weight gain by pig(Yij, i is the treatment, j is the pig_id), 一般由用户自行输入
    #y = matrix(c(1,10,1,2,10,2,1,9,1),9,1)
    Treatment <- factor(c(1,2,3,1,2,3,1,2,3)) #each {1,2,3} is a group
    mod = lm(y~Treatment) #linear regression
    print(anova(mod))
    #解释:Df(degree of freedom)
    #Sum Sq: deviance (within groups, and residuals) 总偏差和
    # Mean Sq: variance (within groups, and residuals) 平均方差和
    # compare the contribution given by Treatment and Residual
    #F value: Mean Sq(Treatment)/Mean Sq(Residuals)
    #Pr(>F): p-value. 根据p-value决定是否接受Hypothesis H0:多个样本总体均数相等(检验水准为0.05)
    qqnorm(mod$residual) #plot the residual approximated by mod
    #如果qqnorm of residual像一条直线,说明residual符合正态分布,也就是说Treatment带来的contribution很小,也就是说Treatment无法带来收益(多喂维他命少喂维他命没区别)
如下面两图分别是 
(左)用 y = matrix(c(1,10,1,2,10,2,1,9,1),9,1)和
(右)y = rnorm(9);
的结果。可见如果给定猪吃维他命2后体重特别突出的数据结果后,qq图种residual不在是一条直线,换句话说residual不再符合正态分布,i.e., 维他命对猪的体重有影响。

3. 数据挖掘与R语言的介绍

本书利用大量给出必要步骤、代码和数据的具体案例,详细描述了数据挖掘的主要过程和技术,广泛涵盖数据大小、数据类型、分析目标、分析工具等方面的各种具有挑战性的问题。  本书的支持网站给出了案例研究的所有代码、数据集以及R函数包。

数据挖掘与R语言的介绍

4. 怎么学习用 R 语言进行数据挖掘

  如果说数据挖掘是一门手艺,那么R语言就是工匠手里一种工具,要做出一件价值连城的艺术品需要先“利其器”,但更关键的是工匠能够“集百家之长,成一家之言“自成一派的创造力。

  正所谓”操千曲而后晓声,观千剑而后识器"。建议初学者先了解一些机器学习的基础理论以及典型的应用领域实例,定下自己想要研究的方向后与行业相结合,然后再学习工具的使用。

  R语言经典图书推荐:
  《R in Action-Data Analysis and Graphics with R》链接:R语言实战 (豆瓣)
  这本书从实用的统计研究角度,每一章节结合实际的例子讲解了R在创建数据集、绘制图形、数据管理、以及模型构建的使用方法,堪称经典。前两部分属于R基本功能介绍,第三部分以后才是精髓开始(包括了回归分析、方差分析、功效分析、广义线性模型、主成分和因子分析等统计方法详细的实例分析)。
  《数据之魅-基于开源工具的数据分析》链接:数据之魅 (豆瓣)
  作者是华盛顿大学理论物理学博士。这本书是数据分析系列著作的经典之一,包含大量的R语言模拟过程及结果展示,例举了很多数据分析实例和代码。吃透以后就能够对整个数据挖掘的流程有一个全方位的了解。
转载

5. 怎么学习用 R 语言进行数据挖掘

首先R是一种专业性很强的统计语言,如果想学得快一些的话,基本的统计学知识要懂,不然很多东西会掌握的比较慢。

掌握基本语法和操作,推荐国内的已经翻译的比如《R语言实战》《R语言编程艺术》,这个过程中最好结合一些小例子来做一些分析的东西。如果需要可视化的话,强烈不推荐学习R本身的作图系统,实在是太不友好了.....还是用ggplot2吧。

掌握了上面的,就可以深入一些了,如果是做数据分析和可视化,推荐《ggplot2:数据分析与图形艺术》,这个才是作图的神器啊.....如果是空间分析相关的,推荐《Applied Spatial Data Analysis with R》,这个如果可以的话看英文版,而且要有地学的一些知识背景,中文版翻译的太次了,尽量不要看。数据挖掘机器学习之类的,可以看看比如《数据挖掘与R语言》、《机器学习——实用案例解析》,不过我觉得这几本书没上面的那几本好,但是可以大概看看是咋回事,最好还是看看专门的相关书籍,熟悉各种算法和流程,到时候搜索R的package,照着文档和例子搞定,不是特别难。

怎么学习用 R 语言进行数据挖掘

6. 怎么学习用 R 语言进行数据挖掘

  如果说数据挖掘是一门手艺,那么R语言就是工匠手里一种工具,要做出一件价值连城的艺术品需要先“利其器”,但更关键的是工匠能够“集百家之长,成一家之言“自成一派的创造力。

  正所谓”操千曲而后晓声,观千剑而后识器"。建议初学者先了解一些机器学习的基础理论以及典型的应用领域实例,定下自己想要研究的方向后与行业相结合,然后再学习工具的使用。

  R语言经典图书推荐:
  《R in Action-Data Analysis and Graphics with R》链接:R语言实战 (豆瓣)
  这本书从实用的统计研究角度,每一章节结合实际的例子讲解了R在创建数据集、绘制图形、数据管理、以及模型构建的使用方法,堪称经典。前两部分属于R基本功能介绍,第三部分以后才是精髓开始(包括了回归分析、方差分析、功效分析、广义线性模型、主成分和因子分析等统计方法详细的实例分析)。
  《数据之魅-基于开源工具的数据分析》链接:数据之魅 (豆瓣)
  作者是华盛顿大学理论物理学博士。这本书是数据分析系列著作的经典之一,包含大量的R语言模拟过程及结果展示,例举了很多数据分析实例和代码。吃透以后就能够对整个数据挖掘的流程有一个全方位的了解。
转载
-

7. 怎么学习用 R 语言进行数据挖掘

数据挖掘的理论基础和R也没什么太大关系。如果明白方法了,用什么语言其实无所谓。不过R有几个包,可以提升效率和弥补R自身的不足,做大数据很有用。我就说说我每天要用的吧。

bigmemory:R的内存管理太烂了,因为很少给程序员管理的权限,这样一来操作系统懒加上R也懒导致常常读入大数据时内存瞬间用完,导致这个R session被强制退出。解决办法就是把常用的大数据提前放在共享内存里。

Rmpi,snow,multicore: 平行运算/多运程运算。 Rmpi最好多看看,是mpi在R里面的实现。这是平行运算的黄金标准。如果你要做大数据的模型,高能运算是必须的。

Rcpp:R与C++的接口。自带的.C和.F也很有用。毕竟R是高等语言,太慢了,基本的方程还是要用低等语言写。如果做统计模型,会有很多inference,这时必须要用低等语言写Log likelihood的方程。

DEoptim,quadqrog,linprog等等线性非线性优化:优化是统计少不了的技术。R里面好的优化包不是太慢就是太烂,你可以用GNU scientific library自己写优化器,或者买一个第三方的比如说IBM。不过很贵哦,

ggplot:不多说了,就是美丽的图片。。。

不是R的:hadoop。近几年,这都是处理大数据的必需品了。

有了以上工具我相信任何数据和统计问题都能解决了,不会被R自身的缺陷而陷入技术瓶颈。
-

怎么学习用 R 语言进行数据挖掘

8. 怎么学习用 R 语言进行数据挖掘

首先R是一种专业性很强的统计语言,如果想学得快一些的话,基本的统计学知识要懂,不然很多东西会掌握的比较慢。

掌握基本语法和操作,国内的已经翻译的比如《R语言实战》《R语言编程艺术》,这个过程中最好结合一些小例子来做一些分析的东西。如果需要可视化的话,强烈不学习R本身的作图系统,实在是太不友好了..还是用ggplot2吧。

掌握了上面的,就可以深入一些了,如果是做数据分析和可视化,《ggplot2:数据分析与图形艺术》,这个才是作图的神器啊..如果是空间分析相关的,《Applied Spatial Data Analysis with R》,这个如果可以的话看英文版,而且要有地学的一些知识背景,中文版翻译的太次了,尽量不要看。数据挖掘机器学习之类的,可以看看比如《数据挖掘与R语言》、《机器学习——实用案例解析》,不过我觉得这几本书没上面的那几本好,但是可以大概看看是咋回事,最好还是看看专门的相关书籍,熟悉各种算法和流程,到时候搜索R的package,照着文档和例子搞定,不是特别难。