zoukankan      html  css  js  c++  java
  • [译]用R语言做挖掘数据《一》

    介绍

    一、实验说明

    1. 环境登录

    无需密码自动登录,系统用户名shiyanlou,密码shiyanlou

    2. 环境介绍

    本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序:

    1. LX终端(LXTerminal): Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令
    2. GVim:非常好用的编辑器,最简单的用法可以参考课程Vim编辑器
    3. R:在命令行输入‘R’即可进入交互式环境,下面的代码都是在交互式环境运行。

    3. 环境使用

    使用R语言交互式环境输入实验所需的代码及文件,使用LX终端(LXTerminal)运行所需命令进行操作。

    完成实验后可以点击桌面上方的“实验截图”保存并分享实验结果到微博,向好友展示自己的学习进度。实验楼提供后台系统截图,可以真实有效证明您已经完成了实验。

    实验记录页面可以在“我的主页”中查看,其中含有每次实验的截图及笔记,以及每次实验的有效学习时间(指的是在实验桌面内操作的时间,如果没有操作,系统会记录为发呆时间)。这些都是您学习的真实性证明。

    二、课程介绍

    本门课程翻译自《R and Data Mining: Examples and Case Studies》这本书。这一节课主要介绍一些基本的概念以及数据挖掘中的方法,包括数据挖掘的一般步骤和当前常用的数据挖掘技术。
    三、基本概念及操作

    1、数据挖掘

    概念:数据挖掘是从大量数据中获取有用信息的一个过程。它是一门跨越许多领域的学科,涉及到的领域包括统计学,机器学习,信息检索,模式识别以及生物信息学。数据挖掘在许多领域中被广泛使用,例如零售,金融,信息交流以及社会媒体。

    数据挖掘主要的技术包括分类和预测、聚类、异常点检测、关联规则、序列分析、时间序列分析以及文本挖掘,也有一些新的技术例如社交网络分析和情感分析。更多关于数据挖掘技术的细节可以下载Data Mining: Concepts and Techniques这本书。

    2、R

    R为统计计算和画图提供了一个免费的软件环境。它拥有5606个包,里面的包可以在官网CRAN中下载。浏览CRAN Task Views找到需要的包。

    R语言的另一个指南是《R Reference Card for Data Mining》,这本书提供给了R语言用于数据挖掘逻辑包函数的全局索引。

    3、数据集

    3.1 保存和加载R数据

    R里面的数据可以使用save()函数保存为.Rdata文件,并可以使用函数load()加载该.Rdata文件到R中。也可以使用函数rm()移除数据对象。实例如下:

    # 将1-10赋值给对象a
    > a<-1:10
    # 保存文件为“dumData.Rata”
    > save(a,file="dumData.Rdata")
    # 移除数据对象
    > rm(a)
    # 重新加载数据对象
    > load("dumData.Rdata")
    > print(a)

    打印结果如下图所示:

    3.2 从.csv文件中导入或者导出数据

    下面的例子建立了一个数据框df1,并使用.csv()函数将它保存为一个.csv文件,然后使用read.csv()函数将该数据框加载到df2对象中。

    # 初始化向量
    > var1 <- 1:5
    > var2 <- (1:5) / 10
    > var3 <- c("R", "and", "Data Mining", "Examples", "Case Studies")
    # 使用data.frame()将三个向量组合成一个数据框
    > df1 <- data.frame(var1, var2, var3)
    # 命名数据框的列名
    > names(df1) <- c("VariableInt", "VariableReal", "VariableChar")
    > write.csv(df1, "dummmyData.csv", row.names = FALSE)
    > df2 <- read.csv("dummmyData.csv")
    > print(df2)

    输出结果如下图所示:

    3.3 使用包‘xlsx’读写excel文件

    下面的例子创建了一个拥有三个表格的excel文件“iris.xlsx”,使用函数write.xlsx()鸢尾花的数据写入文件,并且每一个表格里面对应一种鸢尾花。当添加第二个表格和第三个表格的时候,为了防止第一张表格的内容被覆盖,需要使用参数append=T向已经存在的文件中添加新的表格。最后,使用函数read.xlsx()从表格“setosa”中读取数据。

    # 加载包
    > library(xlsx)
    # 列表显示花的种类
    > table(iris$Species)
    # 将不同种类的鸢尾花数据写入对象,并将对象写入execl文件
    > setosa <- subset(iris, Species == "setosa")
    > write.xlsx(setosa, file="iris.xlsx", sheetName="setosa", row.names=F)
    > versicolor <- subset(iris, Species == "versicolor")
    > write.xlsx(versicolor, file="iris.xlsx", sheetName="versicolor",
    + row.names=F, append=T)
    > virginica <- subset(iris, Species == "virginica")
    > write.xlsx(virginica, file="iris.xlsx", sheetName="virginica",
    + row.names=F, append=T)
    # 读取文件中表格里面的数据
    > a <- read.xlsx("iris.xlsx", sheetName="setosa")
    # 打印前6行观测值包括表头名称
    > head(a)

    如下图所示:

    关于本次实验的更多内容请参考《实验楼课程》

  • 相关阅读:
    【无旋转treap】模板
    线性选择算法好题
    【codeforces】305C GCD,容斥
    双连通
    线段树(3)
    线段树(2)
    线段树
    2015 Multi-University Training Contest 2
    2015 Multi-University Training Contest 1
    Codeforces Round #302 (Div. 1)
  • 原文地址:https://www.cnblogs.com/wing1995/p/4654428.html
Copyright © 2011-2022 走看看