weka机器学习-01-weka简介及基本概念

1.weka主界面各个功能键概述

在这里插入图片描述
Explorer(探索者):最容易使用的图形用户界面,通过菜单和填写表单可以调用weka的所有功能。
缺陷:要求将所需数据全部依次读进内存,一旦用户打开某个数据集,就会批量读取全部数据。因此,这种批量方式仅适合处理中小规模问题。
KnowledgeFlow(知识流):可以使用增量方式的算法来处理大规模的数据集,无需一次性全部导入。
Experimenter(实验者):对于一个已知问题,哪种方法及参数值能够取得最佳效果。即可以用于进行多种算法性能的比较。

2.基本概念

2.1 机器学习的分类
机器学习分为两种主要类型。
(1)有监督学习(预测学习),目标是在给定一系列输入/输出实例所构成的数据集的条件下,学习输入x到输出y的映射关系。这里的数据集称为训练集,实例的个数称为训练样本数。(从分类角度看,即训练集中各组数据的类别已知)可以对所观察到的值与预测值进行比较,得到明确的误差值。
(2)无监督学习(描述学习),目标是在给定一系列输入实例构成的数据集的条件下,发现数据中的有趣模式。因为我们不知道需要寻找什么样的模式,也没有明显的误差度量可供使用。
2.2ARFF格式
ARFF格式是weka的专用格式。
数据集是实例的集合,每个实例包含一定的属性,属性的数据类型包括以下几类:
(1)标称型(nominal),只能取预定义值列表中的一个,如性别(男,女),衣服颜色(红、黄、蓝)。
(2)数值型(numeric),只能表示整数或实数。
(3)字符串型(string),由双引号引用的任意长度的字符列表。
(4)日期型(date)
(5)关系型(relational)
ARFF文件就是实例类型的外部表示,其中包括一个标题头(header),以描述属性的类型,还包含一个用逗号分隔的列表所表示的数据(data)部分。
例子:
%This is a toy example,the UCI weather dataset.
%Any relation to real weather is purely coincidental.
@relation weather

@attribute outlook {sunny, overcast, rainy}
@attribute temperature numeric
@attribute humidity numeric
@attribute windy {TRUE, FALSE}
@attribute play {yes, no}

@data
sunny,85,85,FALSE,no
sunny,80,90,TRUE,no
overcast,83,86,FALSE,yes
rainy,70,96,FALSE,yes
rainy,68,80,FALSE,yes
rainy,65,70,TRUE,no
overcast,64,65,TRUE,yes
sunny,72,95,FALSE,no
sunny,69,70,FALSE,yes
rainy,75,80,FALSE,yes
sunny,75,70,TRUE,yes
overcast,72,90,TRUE,yes
overcast,81,75,FALSE,yes
rainy,71,91,TRUE,no
上述代码为weka中一个ARFF文件的实例。
以百分号%开始的行为注释行。
@relation行定义内部数据集的名称weather。
@attribute outlook {sunny, overcast, rainy}行定义名称为outlook的标称型属性,有三个取值,sunny、overcast、rainy。同理,@attribute windy {TRUE, FALSE}行和@attribute play {yes, no}行定义了windy和play两个标称型属性。
注意:最后一个属性默认为用于预测的类别变量,或称为目标属性。例如本例中的目标属性或类别变量为play,他只能去yes和no两个值,使得天气问题成为一个二分类问题。
@attribute temperature numeric行定义了名称为temperature的数值型属性,@attribute humidity numeric行定义了名为humidity的数值型属性。
@data标行后的各行构成数据集。每行为一个实例样本,由采用逗号分隔的值组成,顺序与@attribute所定义属性的顺序一致。
2.3预处理
数据预处理:在数据挖掘之前,检测和纠正一些质量问题。
数据预处理的方法主要有:
(1)聚集
将两个或多个对象合并为单个对象。定量数据集一般通过求和或求平均值的方法进行聚集,定性数据通常通过汇总进行聚集。聚集通过数据归约来减少数据量。使较大的数据集可以使用开销更大的算法。
(2)抽样
处理全部数据集开销太大时可以使用。最简单的方法是简单随即抽样,他又包括有放回抽样和无放回抽样。但是当整个数据集由差异较大的数据构成时,简单随即抽样无法抽取到不太频繁出现的数据,需要用到分层抽样。
(3)维度归约
维度:数据集中属性的数目。
维度归约:创建新属性,通过数据编码或数据变换,将一些旧属性合并在一起以降低数据集的维度。
维度归约可以删除不相关的属性并降低噪声,维度降低会使许多数据挖掘的算法变得更好,还能消除由维度灾难带来的负面影响,
维度灾难:随着维度的增加,数据在他所占的空间越来越稀疏,对于分类问题,这意味着可能没有足够的数据对象来创建模型;对于聚类问题,点之间的密度和距离的定义失去意义。因此,对于高维数据,许多分类和聚类等学习算法的效果都不太理想。维度归约使模型的属性更少。因而可以产生更容易理解的模型。
(4)属性选择
除维度归约外,降低维度的另一种方法。因为很多情况下,数据集中存在冗余或不相关的属性。
冗余属性:某个属性包含了其他属性中的部分或者全部信息。
不相关属性:对于手头的数据挖掘任务几乎完全没有用处的信息。
属性选择:从数据集中选择最具代表性的属性子集,删除冗余或不相关属性。
最简单的属性选择方法是使用常识或者领域知识消除冗余或不相关属性。
三种标准的属性选择方法:
嵌入方法:(决策树算法经常使用)将属性选择作为数据挖掘算法的一部分,在挖掘算法运行期间,算法本身决定使用哪些属性以及忽略哪些。
过滤方法:运行数据挖掘算法之前,使用独立于数据挖掘任务的方法进行属性选择。
包装方法:将学习算法的结果作为评价准则的一部分,使用类似于理想算法的算法,但通常无法枚举出全部可能的子集以找出最佳属性子集。
属性选择分为有监督属性选择和无监督属性选择。
有监督属性选择:通过度量类别信息与属性之间的相互关系来确定属性子集;
无监督属性选择:不使用类别信息,使用聚类方法评估属性的贡献度,根据贡献度来确定属性子集。
(5)属性创建
通过对数据集中旧的属性进行处理,创建新的数据集。属性创建有三种方法:
属性提取:由原始数据创建新的属性集。
映射数据到新的空间,例如傅里叶变换。
属性构造:通过一个或多个原来的属性构造出新的属性。(原始数据集的属性含有必要信息,但其形式不适合数据挖掘算法的时候)
(6)离散化和二元化
某些分类算法要求数据是分类属性的形式,发现关联模型的算法要求数据是二元属性的形式。
将连续属性转换为分类属性称为离散化,将连续和离散属性转换为一个或多个二元属性称为二元化。
离散化:决定选择多少个分割点以及分割点的位置。离散化技术包括有监督的离散化(使用类别信息)和无监督的离散化。
无监督离散化方法:
等宽离散化,将属性值域划分为相同宽度的区间,区间的数目由用户指定。
等频离散化(等深离散化),试图将相同数量的对象放进每个区间,区间数目由用户指定。
(7)变量变换
也称属性变换,是指用于变量的所有值得变换。
简单函数变换:使用一个简单数学函数分别作用于每一个值。
变量标准化:使整个值得集合具有特定的性质。
2.4分类和回归
分类和回归是预测的两种形式,分类预测输出目标是离散值,回归预测的输出目标是连续值。
分类的步骤:第一步,分析训练集的特点并构建分类模型;第二步,使用构建好的分类模型对预测集进行分类,评估分类模型的分类准确度等指标。
(1)决策树分类
(2)贝叶斯分类
(3)k-最近邻分类
(4)神经网络分类
2.5聚类分析
聚类为无监督学习方法。主要方法有:
(1)k均值算法
(2)EM(期望最大化)算法
(3)DBSCAN算法
2.6 关联分析
用于发现隐藏在大型数据集中有意义的联系,这种联系可以用关联规则进行表示。
主要方法有:
(1)Apriori算法
(2)FP-Growth(频繁模式增长)算法

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值