R语言是一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。这里的统计计算可以是数据分析、建模或是数据挖掘等,通过无数大牛提供的软件包,可以帮我们轻松实现算法的实施。

一些读者觉得R语言零碎的东西太多了,无法记住那么多函数和功能,于是就问R语言有没有一种类似于SAS之EM或SPSS之Modeler的界面化操作。很幸运,Graham等人特地为“偷懒”的分析师写了rattle包,通过该包就可以实现界面化操作的数据分析、数据挖掘流程。下面就跟大家详细介绍一些这款免费的工具:

上图红色区域就是数据分析与挖掘的流程,包括:数据源(Data)-->数据探索与检验(Explore、Test)-->数据变换(Transform)-->数据挖掘(Cluster、Associate、Model)-->模型评估(Evaluate)。

首先,你会经历“一劳永逸”的过程:安装rattle包

不瞒您说,我首次在自己的64位Win7系统中安装rattle包时花费了不少功夫。当你install.packages('rattle')时,觉得非常轻松就下载好了,但是进入library(rattle)并输入rattle()时它会报告各种.dll文件不存在。如果您决定要试试,就下载缺失的dll文件到您的电脑里。

其次,我们来介绍一下rattle数据挖掘操作界面都有哪些东西

1)数据源(Data)

一切数据分析与挖掘都起源于数据,故第一步就是往rattle中导入数据源,数据源可以是外部数据源,如txt文件、csv文件、Excel文件等;也可以是数据库数据,通过ODBC连接诸如SQL Server、MySQL等数据库;也可以是当前R空间下的数据集;也可以是外部R数据集文件、还可以是R包自带的数据集。

2)数据探索与检验(Explore、Test)

有了数据后,需要进行数据探索,如汇总(Summary)、分布(Distributions)、相关性分析(Correlation)、主成分分析(Principal Components)、t检验、F检验、K-S正态性检验、Wilcoxon检验等

3)数据变换(Transform)

当数据存在缺失或需要从新编码、标准化时,就需要这里的数据变换了

4)数据挖掘(Cluster、Associate、Model)

当数据清洗干净或对数据有了基本了解后,就要进入数据挖掘过程,rattle工具提供了常用的数据挖掘算法,如:K-means聚类、层次聚类、关联规则、决策树、随机森林、支持向量机、线性回归、Logistic回归、神经网络等

5)模型评估(Evaluate)

当模型选定,并进入模型运算后,需要对模型进行评估,选择比较理想的模型用着后期数据的部署。有关模型评估,rattle提供了混淆矩阵、风险矩阵、成本曲线、Lift曲线、ROC曲线等方法。

最后,我们就用这个rattle做一个实战,数据集就使用C50包中的churnTrain,该数据集是德国某电信公司客户是否流失的数据集。

1)读取数据集

选择好数据集后,点击“执行”,默认数据集将分为三个子集,即训练集占70%、训练集和检验集各占15%,最后将指定哪些变量为解释变量和被解释变量,如有不需要的变量,则选为“Ignore”

2)数据探索

选择Summary单选、并选择Summary、Describe、Basic、Kurtosis等复选框后,看看都有哪些返回结果:

Summary结果

Discribe结果

Basic基本统计量结果

还有很多数据探索的内容,这里就不一一说明了,希望读者能自行执行,并了解数据的大致情况。

3)数据挖掘

判断客户是否流失,是一种分类问题,下面综合考虑使用Logistic回归、决策树、随机森林三种分类算法

简单看一下这三种算法的结果

Logistic回归的结果:

决策树的结果:

随机森林的结果:

4)模型评估

这里我们使用混淆矩阵和ROC曲线两种评估模型的方法,具体结果见下图的展示:


结果显示,三个模型的优劣顺序为:随机森林、决策树和Logistic回归

本文只是带大家进入rattle这个界面化操作的数据分析和挖掘工具,更多探索和玩法还需要大家进一步研究。欢迎各位交流与探讨有关数据分析的问题。

Rattle:数据挖掘的界面化操作的更多相关文章

  1. 从远程Linux Copy文件到本机 界面化操作

    1.安装SSHSecureShellClient 2.打开 3.设置1,然后打开2就可以操作了

  2. 【转载】使用宝塔对Linux系统进行界面化管理操作

    腾讯云服务器和阿里云服务器的Centos系统都是没有Linux系统的一个版本,Centos系统的操作都是在没有类似Windows图形化操作界面的黑框框命令窗口进行操作的,需要使用到很多Linux操作命 ...

  3. Cloudera Hadoop 4 实战课程(Hadoop 2.0、集群界面化管理、电商在线查询+日志离线分析)

    课程大纲及内容简介: 每节课约35分钟,共不下40讲 第一章(11讲) ·分布式和传统单机模式 ·Hadoop背景和工作原理 ·Mapreduce工作原理剖析 ·第二代MR--YARN原理剖析 ·Cl ...

  4. Gitlab部署及汉化操作

    一.简介 GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目. GitLab拥有与Github类似的功能 ...

  5. ASP.NET MVC 页面静态化操作的思路

    本文主要讲述了在asp.net mvc中,页面静态化的几种思路和方法.对于网站来说,生成纯html静态页面除了有利于seo外,还可以减轻网站的负载能力和提高网站性能.在asp.net mvc中,视图的 ...

  6. 同花顺核新下单程序的"界面不操作超时时间"的设定

    "界面不操作超时时间"的设定 同花顺核新下单程序的'界面不操作超时时间'的设定 系统> 系统设置> 界面设置> 界面不操作超时时间(分): 在这个输入框里填上个3 ...

  7. 深度学习实践-强化学习-bird游戏 1.np.stack(表示进行拼接操作) 2.cv2.resize(进行图像的压缩操作) 3.cv2.cvtColor(进行图片颜色的转换) 4.cv2.threshold(进行图片的二值化操作) 5.random.sample(样本的随机抽取)

    1. np.stack((x_t, x_t, x_t, x_t), axis=2)  将图片进行串接的操作,使得图片的维度为[80, 80, 4] 参数说明: (x_t, x_t, x_t, x_t) ...

  8. 第十四节,TensorFlow中的反卷积,反池化操作以及gradients的使用

    反卷积是指,通过测量输出和已知输入重构未知输入的过程.在神经网络中,反卷积过程并不具备学习的能力,仅仅是用于可视化一个已经训练好的卷积神经网络,没有学习训练的过程.反卷积有着许多特别的应用,一般可以用 ...

  9. TestLink汉化操作

    实验环境版本 xampp-windows-x64-7.3.2-0-VC15-installer + testlink-1.9.19 汉化操作如下 打开testlink的配置文件F:\xampp\htd ...

随机推荐

  1. Python学习笔记015——readline与readlines的区别

    示例1 读取同样一个文件binary_read_1.txt. 春眠不觉晓,处处闻啼鸟. 夜来风雨声,花落知多少. 其中该文件内容被下段代码读出(注意,这里是采用的readlines) f = open ...

  2. 转 web前端性能分析--实践篇

    当我们知道了web前端性能的关键点后,那么接下来要做的就是如何去具体实施并获取这些关键点的数据了.通过前面的学习知道了不少好的工具,经过对比后个人觉得dynatrace还是不错的. 不仅支持ie,ff ...

  3. Android 数据加密算法 Des,Base64详解

    一,DES加密: 首先网上搜索了一个DES加密算法工具类: import java.security.*;import javax.crypto.*; public class DesHelper { ...

  4. MySQL Cluster 具体配置文件(config.ini)

    ########################################################################### ## MySQL CLuster 配置文件 ## ...

  5. 机器学习(4): KNN 算法

    1. 综述      1.1 Cover和Hart在1968年提出了最初的邻近算法      1.2 分类(classification)算法      1.3 输入基于实例的学习(instance- ...

  6. MAR 27 解决华为手机访问Google Play:从服务器检索信息时出错。[DF-DFERH-01]

    虽然路由器已经设置了梯子,但是用华为手机访问Google Play时,还是提示:从服务器检索信息时出错.[DF-DFERH-01].   虽然在手机上把梯子设置成全局模式,连接Google Play后 ...

  7. php - 中文字符串分割

    //先删除掉非中文的字体$str = preg_replace('/[^\x{4e00}-\x{9fa5}]/u', '', $str);//经过测试中文占3个篇幅$re = chunk_split( ...

  8. mac下设置mongodb开机启动方法

    Mac OS 的开机启动方式 launchd 是 Mac OS 下用于初始化系统环境的关键进程,它是内核装载成功之后在OS环境下启动的第一个进程.其实它的作用就是我们平时说的守护进程,简单来说,用户守 ...

  9. 基于PHP规范的自动加载方式(composer配置)

    针对PHP这种编程语言,到目前FIG指定了五个规范,分别如下: PSR0:自动加载: PSR1:基本代码规范: PSR2:代码样式规范: PSR3:日志接口规范: PSR4:自动加载规范: 看上去PS ...

  10. Android开发2——创建测试项目

    一.创建普通Android项目   二.在AndroidManifest.xml添加两个配置 <?xml version="1.0" encoding="utf-8 ...