Google

Archives

【转载】Weka入门教程

Source: http://forum.wekacn.org/viewtopic.php?f=2&t=9&sid=3e11f64d53cf134215bd69450412cdb9

1. 简介

WEKA的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),它的源代码可通过http://www.cs.waikato.ac.nz/ml/weka得到。同时weka也是新西兰的一种鸟名,而WEKA的主要开发者来自新西兰。

详见 http://www.china-pub.com/computers/common/info.asp?id=29304

2. 数据格式

跟很多电子表格或数据分析软件一样,WEKA所处理的数据集是图1那样的一个二维的表格。

图1 新窗口打开
这里我们要介绍一下WEKA中的术语。表格里的一个横行称作一个实例(Instance),相当于统计学中的一个样本,或者数据库中的一条记录。 竖行称作一个属性(Attrbute),相当于统计学中的一个变量,或者数据库中的一个字段。这样一个表格,或者叫数据集,在WEKA看来,呈现了属性之 间的一种关系(Relation)。图1中一共有14个实例,5个属性,关系名称为“weather”。

WEKA存储数据的格式是ARFF(Attribute-Relation File Format)文件,这是一种ASCII文本文件。图1所示的二维表格存储在如下的ARFF文件中。这也就是WEKA自带的“weather.arff” 文件,在WEKA安装目录的“data”子目录下可以找到。

代码:
% ARFF file for the weather data with some numric features
%
@relation weather

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

@data
%
% 14 instances
%
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

需要注意的是,在Windows记事本打开这个文件时,可能会因为回车符定义不一致而导致分行不正常。推荐使用UltraEdit这样的字符编辑软件察看ARFF文件的内容。

下面我们来对这个文件的内容进行说明。
识别ARFF文件的重要依据是分行,因此不能在这种文件里随意的断行。空行(或全是空格的行)将被忽略。
以“%”开始的行是注释,WEKA将忽略这些行。如果你看到的“weather.arff”文件多了或少了些“%”开始的行,是没有影响的。
除去注释后,整个ARFF文件可以分为两个部分。第一部分给出了头信息(Head information),包括了对关系的声明和对属性的声明。第二部分给出了数据信息(Data information),即数据集中给出的数据。从“@data”标记开始,后面的就是数据信息了。

关系声明
关系名称在ARFF文件的第一个有效行来定义,格式为
@relation <relation-name>
<relation-name>是一个字符串。如果这个字符串包含空格,它必须加上引号(指英文标点的单引号或双引号)。

属性声明
属性声明用一列以“@attribute”开头的语句表示。数据集中的每一个属性都有它对应的“@attribute”语句,来定义它的属性名称和数据类型。
这些声明语句的顺序很重要。首先它表明了该项属性在数据部分的位置。例如,“humidity”是第三个被声明的属性,这说明数据部分那些被逗号 分开的列中,第三列数据 85 90 86 96 … 是相应的“humidity”值。其次,最后一个声明的属性被称作class属性,在分类或回归任务中,它是默认的目标变量。
属性声明的格式为
@attribute <attribute-name> <datatype>
其中<attribute-name>是必须以字母开头的字符串。和关系名称一样,如果这个字符串包含空格,它必须加上引号。
WEKA支持的<datatype>有四种,分别是
numeric————————-数值型
<nominal-specification>—–分类(nominal)型
string—————————-字符串型
date [<date-format>]——–日期和时间型
其中<nominal-specification> [...]

机器学习与人工智能学习资源导引

机器学习与人工智能学习资源导引 This article if from: http://blog.csdn.net/pongba/archive/2008/09/11/2915005.aspx

里面推荐很多书的确非常经典,其中我看过的有两本,1. Stanford的那本《Introduction to Information Retrieval》 2. Bishop, 《Pattern Recognition and Machine Learning》,非常值得一读,网上都能找到电子版的,如果实在找不到给我留言。《Introduction to Information Retrieval》在我以前的post中已经给出下载链接,另外一本电子太大没地方能上传。

———————————————————————————————–

我经常在 TopLanguage 讨论组上推荐一些书籍,也经常问里面的牛人们搜罗一些有关的资料,人工智能、机器学习、自然语言处理、知识发现(特别地,数据挖掘)、信息检索 这些无疑是 CS 领域最好玩的分支了(也是互相紧密联系的),这里将最近有关机器学习和人工智能相关的一些学习资源归一个类:

首先是两个非常棒的 Wikipedia 条目,我也算是 wikipedia 的重度用户了,学习一门东西的时候常常发现是始于 wikipedia 中间经过若干次 google ,然后止于某一本或几本著作。

第一个是“人工智能的历史”(History of Artificial Intelligence),我在讨论组上写道:

而今天看到的这篇文章是我在 wikipedia 浏览至今觉得最好的。文章名为《人工智能的历史》,顺着 AI 发展时间线娓娓道来,中间穿插无数牛人故事,且一波三折大气磅礴,可谓”事实比想象更令人惊讶”。人工智能始于哲学思辨,中间经历了一个没有心理学(尤其是认知神经科学的)的帮助的阶段,仅通过牛人对人类思维的外在表现的归纳、内省,以及数学工具进行探索,其间最令人激动的是 Herbert Simon (决策理论之父,诺奖,跨领域牛人)写的一个自动证明机,证明了罗素的数学原理中的二十几个定理,其中有一个定理比原书中的还要优雅,Simon 的程序用的是启发式搜索,因为公理系统中的证明可以简化为从条件到结论的树状搜索(但由于组合爆炸,所以必须使用启发式剪枝)。后来 Simon 又写了 GPS (General Problem Solver),据说能解决一些能良好形式化的问题,如汉诺塔。但说到底 Simon 的研究毕竟只触及了人类思维的一个很小很小的方面 —— Formal [...]

梯度、方向导数与切平面

方向导数是用以推求曲面函数f 在某一特点方向的变化率,可以证明延梯度方向变化率是最大的

 

梯度与方向导数

Incoming search terms for the article:方向导数 (1)方向导数与梯度 (1)

如何使用LingPipe计算词向量

如何使用LingPipe抽取向量空间模型例子

import com.aliasi.matrix.SparseFloatVector;import com.aliasi.matrix.Vector;import com.aliasi.symbol.MapSymbolTable;import com.aliasi.symbol.SymbolTable;import com.aliasi.tokenizer.IndoEuropeanTokenizerFactory;import com.aliasi.tokenizer.TokenizerFactory;import com.aliasi.tokenizer.TokenFeatureExtractor;import java.util.HashMap;import java.util.Map;

public class ExtractFeatures { public static Vector[] featureVectors(String[] texts, SymbolTable symbolTable) { Vector[] vectors = new Vector[texts.length]; TokenizerFactory [...]

What is Latent Class Analysis?

Some valuable links for LCA.

http://ourworld.compuserve.com/homepages/jsuebersax/faq.htm

http://en.wikipedia.org/wiki/Latent_class_model

http://en.wikipedia.org/wiki/Latent_variable_model