《数据挖掘》课程作业
题目 用 weka 进行数据挖掘
班级
学号
姓名
日期
目录
1 引言.........................................................................................................................................3
1.1 设计说明..........................................................................................................................3
1.2 软件..................................................................................................................................3
2 正文.........................................................................................................................................3
2.1 数据集说明.....................................................................................................................3
2.2 利用 SimpleKMeans 算法对数据进行聚类...................................................................8
2.2.1 K-means 算法原理.................................................................................................8
2.2.2 SimpleKMeans 算法...............................................................................................9
3 结论.......................................................................................................................................13
4.参考文献..............................................................................................................................13
1 引言
1.1 设计说明
数据挖掘(Data Mining)是发现数据中有用模式的过程。数据挖掘会话的目
的是确定数据的趋势和模式。数据挖掘强调对大量观测到的数据库的处理。它是
涉及数据库管理,人工智能,机器学习,模式识别,及数据可视化等学科的边缘
学科。用统计的观点看,它可以看成是通过计算机对大量的复杂数据集的自动探
索性分析。
数据集,又称为资料集、数据集合或资料集合,是指一种由数据所组成的集
合。Data set(或 dataset)是一个数据的集合,通常以表格形式出现。每一列代
表一个特定变量。每一行都对应于某一成员的数据集的问题。它列出的价值观为
每一个变量,如身高和体重的一个物体或价值的随机数。每个数值被称为数据资
料。对应于行数,该数据集的数据可能包括一个或多个成员。
本文引用的数据集为 zoo 数据集,应用 weka 载入数据集,并将数据集进行
聚类,分析聚类结果。
1.2 软件
本次设计用到的软件为:weka
weka 简介:
WEKA 的全名是怀卡托智能分析环境(Waikato Environment for Knowledge
Analysis),WEKA 诞生于 University of Waikato(新西兰)(weka 也是新西兰
的一种鸟名)并在 1997 年首次以其现代的格式实现。它使用了 GNU General
Public License (GPL)。该软件以 Java™ 语言编写并包含了一个 GUI 来与数据
文件交互并生成可视结果(比如表和曲线)。它还有一个通用 API,所以用户可
以像嵌入其他的库一样将 WEKA 嵌入到用户自己的应用程序以完成诸如服务器
端自动数据挖掘这样的任务。
WEKA 作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务
的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在
新的交互式界面上的可视化。
2 正文
2.1 数据集说明
数据集名称:Zoo database
数据类型:nominal
1. Source Information
-- Creator: Richard Forsyth
-- Donor: Richard S. Forsyth
8 Grosvenor Avenue
Mapperley Park
Nottingham NG3 5DX
0602-621676
-- Date: 5/15/1990
2. Past Usage:
-- None known other than what is shown in Forsyth's PC/BEAGLE User's Guide.
3. Relevant Information:
-- A simple database containing 17 Boolean-valued attributes.
The "type"
attribute appears to be the class attribute.
Here is a breakdown of
which animals are in which type: (I find it unusual that there are
2 instances of "frog" and one of "girl"!)
Class# Set of animals:
====== ===============================================================
1 (41) aardvark, antelope, bear, boar, buffalo, calf,
cavy, cheetah, deer, dolphin, elephant,
fruitbat, giraffe, girl, goat, gorilla, hamster,
hare, leopard, lion, lynx, mink, mole, mongoose,
opossum, oryx, platypus, polecat, pony,
porpoise, puma, pussycat, raccoon, reindeer,
seal, sealion, squirrel, vampire, vole, wallaby,wolf
2 (20) chicken, crow, dove, duck, flamingo, gull, hawk,
kiwi, lark, ostrich, parakeet, penguin, pheasant,
rhea, skimmer, skua, sparrow, swan, vulture, wren
3 (5)
pitviper, seasnake, slowworm, tortoise, tuatara
4 (13) bass, carp, catfish, chub, dogfish, haddock,
herring, pike, piranha, seahorse, sole, stingray, tuna
5 (4)
frog, frog, newt, toad
6 (8)
flea, gnat, honeybee, housefly, ladybird, moth, termite, wasp
7 (10) clam, crab, crayfish, lobster, octopus,
scorpion, seawasp, slug, starfish, worm
4. Number of Instances: 101
5. Number of Attributes: 18 (animal name, 15 Boolean attributes, 2 numerics)
6. Attribute Information: (name of attribute and type of value domain)
1. animal name:
Unique for each instance
2. hair
3. feathers
4. eggs
5. milk
6. airborne
7. aquatic
8. predator
9. toothed
10. backbone
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
11. breathes
12. venomous
13. fins
14. legs
15. tail
16. domestic
17. catsize
18. type
Boolean
Boolean
Boolean
Numeric (set of values: {0,2,4,5,6,8})
Boolean
Boolean
Boolean
Numeric (integer values in range [1,7])
7. Missing Attribute Values: None
8. Class Distribution: Given above
代码如下:
@RELATION zoo
@ATTRIBUTE animal
{aardvark,antelope,bass,bear,boar,buffalo,calf,carp,catfish,cavy,cheetah,chicken,chub,clam,crab,crayfish,crow,
deer,dogfish,dolphin,dove,duck,elephant,flamingo,flea,frog,fruitbat,giraffe,girl,gnat,goat,gorilla,gull,haddoc
k,hamster,hare,hawk,herring,honeybee,housefly,kiwi,ladybird,lark,leopard,lion,lobster,lynx,mink,mole,mongoose,
moth,newt,octopus,opossum,oryx,ostrich,parakeet,penguin,pheasant,pike,piranha,pitviper,platypus,polecat,pony,p
orpoise,puma,pussycat,raccoon,reindeer,rhea,scorpion,seahorse,seal,sealion,seasnake,seawasp,skimmer,skua,sloww
orm,slug,sole,sparrow,squirrel,starfish,stingray,swan,termite,toad,tortoise,tuatara,tuna,vampire,vole,vulture,
wallaby,wasp,wolf,worm,wren}
@ATTRIBUTE hair {false, true}
@ATTRIBUTE feathers {false, true}
@ATTRIBUTE eggs {false, true}
@ATTRIBUTE milk {false, true}
@ATTRIBUTE airborne {false, true}
@ATTRIBUTE aquatic {false, true}
@ATTRIBUTE predator {false, true}
@ATTRIBUTE toothed {false, true}
@ATTRIBUTE backbone {false, true}
@ATTRIBUTE breathes {false, true}
@ATTRIBUTE venomous {false, true}
@ATTRIBUTE fins {false, true}
@ATTRIBUTE legs INTEGER [0,9]
@ATTRIBUTE tail {false, true}
@ATTRIBUTE domestic {false, true}
@ATTRIBUTE catsize {false, true}
@ATTRIBUTE type { mammal, bird, reptile, fish, amphibian, insect, invertebrate }
@DATA
%
% Instances (101):
%
aardvark,true,false,false,true,false,false,true,true,true,true,false,false,4,false,false,true,mammal
antelope,true,false,false,true,false,false,false,true,true,true,false,false,4,true,false,true,mammal
bass,false,false,true,false,false,true,true,true,true,false,false,true,0,true,false,false,fish
bear,true,false,false,true,false,false,true,true,true,true,false,false,4,false,false,true,mammal
boar,true,false,false,true,false,false,true,true,true,true,false,false,4,true,false,true,mammal
buffalo,true,false,false,true,false,false,false,true,true,true,false,false,4,true,false,true,mammal
calf,true,false,false,true,false,false,false,true,true,true,false,false,4,true,true,true,mammal
carp,false,false,true,false,false,true,false,true,true,false,false,true,0,true,true,false,fish
catfish,false,false,true,false,false,true,true,true,true,false,false,true,0,true,false,false,fish
cavy,true,false,false,true,false,false,false,true,true,true,false,false,4,false,true,false,mammal
cheetah,true,false,false,true,false,false,true,true,true,true,false,false,4,true,false,true,mammal
chicken,false,true,true,false,true,false,false,false,true,true,false,false,2,true,true,false,bird
chub,false,false,true,false,false,true,true,true,true,false,false,true,0,true,false,false,fish
clam,false,false,true,false,false,false,true,false,false,false,false,false,0,false,false,false,invertebrate
crab,false,false,true,false,false,true,true,false,false,false,false,false,4,false,false,false,invertebrate
crayfish,false,false,true,false,false,true,true,false,false,false,false,false,6,false,false,false,invertebrate
crow,false,true,true,false,true,false,true,false,true,true,false,false,2,true,false,false,bird
deer,true,false,false,true,false,false,false,true,true,true,false,false,4,true,false,true,mammal
dogfish,false,false,true,false,false,true,true,true,true,false,false,true,0,true,false,true,fish
dolphin,false,false,false,true,false,true,true,true,true,true,false,true,0,true,false,true,mammal
dove,false,true,true,false,true,false,false,false,true,true,false,false,2,true,true,false,bird
duck,false,true,true,false,true,true,false,false,true,true,false,false,2,true,false,false,bird
elephant,true,false,false,true,false,false,false,true,true,true,false,false,4,true,false,true,mammal
flamingo,false,true,true,false,true,false,false,false,true,true,false,false,2,true,false,true,bird
flea,false,false,true,false,false,false,false,false,false,true,false,false,6,false,false,false,insect
frog,false,false,true,false,false,true,true,true,true,true,false,false,4,false,false,false,amphibian
frog,false,false,true,false,false,true,true,true,true,true,true,false,4,false,false,false,amphibian
fruitbat,true,false,false,true,true,false,false,true,true,true,false,false,2,true,false,false,mammal
giraffe,true,false,false,true,false,false,false,true,true,true,false,false,4,true,false,true,mammal
girl,true,false,false,true,false,false,true,true,true,true,false,false,2,false,true,true,mammal
gnat,false,false,true,false,true,false,false,false,false,true,false,false,6,false,false,false,insect
goat,true,false,false,true,false,false,false,true,true,true,false,false,4,true,true,true,mammal
gorilla,true,false,false,true,false,false,false,true,true,true,false,false,2,false,false,true,mammal
gull,false,true,true,false,true,true,true,false,true,true,false,false,2,true,false,false,bird
haddock,false,false,true,false,false,true,false,true,true,false,false,true,0,true,false,false,fish
hamster,true,false,false,true,false,false,false,true,true,true,false,false,4,true,true,false,mammal
hare,true,false,false,true,false,false,false,true,true,true,false,false,4,true,false,false,mammal
hawk,false,true,true,false,true,false,true,false,true,true,false,false,2,true,false,false,bird
herring,false,false,true,false,false,true,true,true,true,false,false,true,0,true,false,false,fish
honeybee,true,false,true,false,true,false,false,false,false,true,true,false,6,false,true,false,insect
housefly,true,false,true,false,true,false,false,false,false,true,false,false,6,false,false,false,insect
kiwi,false,true,true,false,false,false,true,false,true,true,false,false,2,true,false,false,bird
ladybird,false,false,true,false,true,false,true,false,false,true,false,false,6,false,false,false,insect
lark,false,true,true,false,true,false,false,false,true,true,false,false,2,true,false,false,bird
leopard,true,false,false,true,false,false,true,true,true,true,false,false,4,true,false,true,mammal
lion,true,false,false,true,false,false,true,true,true,true,false,false,4,true,false,true,mammal
lobster,false,false,true,false,false,true,true,false,false,false,false,false,6,false,false,false,invertebrate
lynx,true,false,false,true,false,false,true,true,true,true,false,false,4,true,false,true,mammal
mink,true,false,false,true,false,true,true,true,true,true,false,false,4,true,false,true,mammal
mole,true,false,false,true,false,false,true,true,true,true,false,false,4,true,false,false,mammal
mongoose,true,false,false,true,false,false,true,true,true,true,false,false,4,true,false,true,mammal
moth,true,false,true,false,true,false,false,false,false,true,false,false,6,false,false,false,insect
newt,false,false,true,false,false,true,true,true,true,true,false,false,4,true,false,false,amphibian
octopus,false,false,true,false,false,true,true,false,false,false,false,false,8,false,false,true,invertebrate
opossum,true,false,false,true,false,false,true,true,true,true,false,false,4,true,false,false,mammal
oryx,true,false,false,true,false,false,false,true,true,true,false,false,4,true,false,true,mammal
ostrich,false,true,true,false,false,false,false,false,true,true,false,false,2,true,false,true,bird
parakeet,false,true,true,false,true,false,false,false,true,true,false,false,2,true,true,false,bird
penguin,false,true,true,false,false,true,true,false,true,true,false,false,2,true,false,true,bird
pheasant,false,true,true,false,true,false,false,false,true,true,false,false,2,true,false,false,bird
pike,false,false,true,false,false,true,true,true,true,false,false,true,0,true,false,true,fish
piranha,false,false,true,false,false,true,true,true,true,false,false,true,0,true,false,false,fish
pitviper,false,false,true,false,false,false,true,true,true,true,true,false,0,true,false,false,reptile
platypus,true,false,true,true,false,true,true,false,true,true,false,false,4,true,false,true,mammal
polecat,true,false,false,true,false,false,true,true,true,true,false,false,4,true,false,true,mammal
pony,true,false,false,true,false,false,false,true,true,true,false,false,4,true,true,true,mammal
porpoise,false,false,false,true,false,true,true,true,true,true,false,true,0,true,false,true,mammal
puma,true,false,false,true,false,false,true,true,true,true,false,false,4,true,false,true,mammal
pussycat,true,false,false,true,false,false,true,true,true,true,false,false,4,true,true,true,mammal
raccoon,true,false,false,true,false,false,true,true,true,true,false,false,4,true,false,true,mammal
reindeer,true,false,false,true,false,false,false,true,true,true,false,false,4,true,true,true,mammal
rhea,false,true,true,false,false,false,true,false,true,true,false,false,2,true,false,true,bird
scorpion,false,false,false,false,false,false,true,false,false,true,true,false,8,true,false,false,invertebrate
seahorse,false,false,true,false,false,true,false,true,true,false,false,true,0,true,false,false,fish
seal,true,false,false,true,false,true,true,true,true,true,false,true,0,false,false,true,mammal
sealion,true,false,false,true,false,true,true,true,true,true,false,true,2,true,false,true,mammal
seasnake,false,false,false,false,false,true,true,true,true,false,true,false,0,true,false,false,reptile
seawasp,false,false,true,false,false,true,true,false,false,false,true,false,0,false,false,false,invertebrate
skimmer,false,true,true,false,true,true,true,false,true,true,false,false,2,true,false,false,bird
skua,false,true,true,false,true,true,true,false,true,true,false,false,2,true,false,false,bird
slowworm,false,false,true,false,false,false,true,true,true,true,false,false,0,true,false,false,reptile
slug,false,false,true,false,false,false,false,false,false,true,false,false,0,false,false,false,invertebrate
sole,false,false,true,false,false,true,false,true,true,false,false,true,0,true,false,false,fish
sparrow,false,true,true,false,true,false,false,false,true,true,false,false,2,true,false,false,bird
squirrel,true,false,false,true,false,false,false,true,true,true,false,false,2,true,false,false,mammal
starfish,false,false,true,false,false,true,true,false,false,false,false,false,5,false,false,false,invertebrate
stingray,false,false,true,false,false,true,true,true,true,false,true,true,0,true,false,true,fish
swan,false,true,true,false,true,true,false,false,true,true,false,false,2,true,false,true,bird
termite,false,false,true,false,false,false,false,false,false,true,false,false,6,false,false,false,insect
toad,false,false,true,false,false,true,false,true,true,true,false,false,4,false,false,false,amphibian
tortoise,false,false,true,false,false,false,false,false,true,true,false,false,4,true,false,true,reptile
tuatara,false,false,true,false,false,false,true,true,true,true,false,false,4,true,false,false,reptile
tuna,false,false,true,false,false,true,true,true,true,false,false,true,0,true,false,true,fish
vampire,true,false,false,true,true,false,false,true,true,true,false,false,2,true,false,false,mammal
vole,true,false,false,true,false,false,false,true,true,true,false,false,4,true,false,false,mammal
vulture,false,true,true,false,true,false,true,false,true,true,false,false,2,true,false,true,bird
wallaby,true,false,false,true,false,false,false,true,true,true,false,false,2,true,false,true,mammal
wasp,true,false,true,false,true,false,false,false,false,true,true,false,6,false,false,false,insect
wolf,true,false,false,true,false,false,true,true,true,true,false,false,4,true,false,true,mammal
worm,false,false,true,false,false,false,false,false,false,true,false,false,0,false,false,false,invertebrate
wren,false,true,true,false,true,false,false,false,true,true,false,false,2,true,false,false,bird
%
%
%
数据预处理:
一开始从网上下到的数据只有单纯的六百条记录,没有属性的划分WEKA不能读
出。因此在数据中添加了如下语句:
@relation Synthetic_control3
@attribute 'a1' nominal
@data
从而使软件能够正确地识别数据记录及其属性。
2.2 利用 SimpleKMeans 算法对数据进行聚类
2.2.1 K-means 算法原理
K 均值算法以 k 为输入参数,把 n 个对象的集合分成 k 个簇,使得结果内的
相似程度最高,而簇间的相似程度低。簇的相似度是关于簇中对象的举止度量。
可以看作簇的质心。
K 均值算法的处理流程如下。首先,随机地选择 k 个对象,每一个对象代表
一个簇的初始均值或者中心。对剩余的每一个对象,根据其与各个簇均值的距离,
把它指派到最相似的簇。然后计算每一个簇新的均值。这个过程不断重复,知道
准则函数收敛。其中准则函数定义如下:
E
k
i
1
p C
i
2
p m
i
其中,E 是数据集所有对象的平方误差和,P 是空间中的点,表示给定对象, im
是簇 ic 的均值。
算法描述:
输入:聚类个数 k,以及包含 n 个数据对象的数据库。
输出:满足方差最小标准的 k 个聚类。
处理流程:
(1) 从 n 个数据对象任意选择 k 个对象作为初始聚类中心;
(2) 循环(3)到(4)直到每个聚类不再发生变化为止
(3) 根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距
离;并根据最小距离重新对相应对象进行划分;
(4) 重新计算每个(有变化)聚类的均值(中心对象)
k-means 算法接受输入量 k ;然后将 n 个数据对象划分为 k 个聚类以便使得所
获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较
小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)
来进行计算的。