数据挖掘实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

智能信息处理课程实验

汪辉2011019100013 一、实验工具Weka简介

Weka是由新西兰怀卡托大学开发的智能分析系统(Waikato Environment for Knowledge Analysis)。在怀卡托大学以外的地方,Weka通常按谐音念成Mecca,是一种现今仅存活于新西兰岛的,健壮的棕色鸟, 非常害羞,好奇心很强,但不会飞。

Weka是用Java写成的,它可以运行于几乎所有的操作平台,包括Linux,Windows等操作系统。

Weka平台提供一个统一界面,汇集了当今最经典的机器学习算法及数据预处理工具。做为知识获取的完整系统,包括了数据输入、预处理、知识获取、模式评估等环节,以及对数据及学习结果的可视化操作。并且可以通过对不同的学习方法所得出的结果进行比较,找出解决当前问题的最佳算法。

2005年8月,在第11届ACM SIGKDD国际会议上,怀卡托大学的Weka 小组荣获了数据挖掘和知识探索领域的最高服务奖,Weka系统得到了广泛的认可,被誉为数据挖掘和机器学习历史上的里程碑,是现今最完备的数据挖掘工具之一(已有11年的发展历史)。Weka的每月下载次数已超过万次。

二、Weka的使用方法

1、是将一种学习方法应用于一个数据集,然后分析其输出,从而更多地了解这些数据(分析数

据集的潜在知识)。

2、是使用已学习到的模型对新的实例做出分类预测

3、是应用几种不同的学习器,再根据它们的性能表现选择其中一种用来做预测。

在Weka中将学习方法又称作分类器或学习器,用户可在Weka互动式界面的菜单中选择一种想要的分类器。许多分类器带有可调节的参数,这些参数可通过属性列表或对象编辑器进行更改。所有学习器的性能都是通过一个共同的评估模块进行衡量。

与选择学习器一样,用户也要从菜单中选择能满足或对应该学习器的过滤器(进行数据预处理)。不同的过滤器具有不同的参数。

其所处理的数据是一个二维表。

三、实验步骤

1、流量数据输入到weka平台;

2、FCBF或者其它有监督特征选择算法进行特征选择

3、naive bayes(朴素贝叶斯) 分类

四、实验内容

1、无特征选择+贝叶斯;

2、特征选择+贝叶斯;

3、无特征选择+核密度估计贝叶斯;

4、有特征选择+核密度估计贝叶斯;

五、实验代码

1、无特征选择+贝叶斯;

* Rule: LOCAL dominates NONE; GLOBAL dominates LOCAL.

* -> When there is a local credal set, compute with the

* local credal set.

* -> When there is a global credal set specif ication,

* compute with that (ignore local credal sets).

*/

public class QBExpectation extends Expectation {

ectation(BayesNet b_n, boolean dpc) {

super(b_n, dpc);

}

protected void initialize_inference() {

inf erence = new QBInf erence(bn, do_produce_clusters);

}

protected void do_expectation_from_inf erence(DiscreteFunction df) {

current_f unction = df;

if (((QBInference)inf erence).is_inference_without_local_neighborhoods) expectation_without_local_neighborhoods(df);

else

expectation_with_local_neighborhoods(df);

}

private void expectation_with_local_neighborhoods(DiscreteFunction df) {

int i, j, jump = 1;

double v, min, max;

f or (i=1; i

jump *= normalized_results.get_variable(i).number_values();

min = df.get_value(0);

max = df.get_value(0);

f or (i=0; i

if (min < df.get_value(i)) min = df.get_value(i);

if (max > df.get_value(i)) max = df.get_value(i);

}

f or (j=0; j

v = 0.0;

f or (i=0; i

v += df.get_value(i) * normalized_results.get_value( j + i*jump );

}

if (min > v) min = v;

if (max < v) max = v;

} switch (qbn.get_global_neighborhood_type()) {

case QuasiBayesNet.NO_CREDAL_SET:

results = tv.posterior_expect ed_values(df);

break;

}

2、特征选择+贝叶斯;

* Rule: LOCAL dominates NONE; GLOBAL dominates LOCAL.

public class QBInf erence extends Inference {

BayesNet original_bn;

public Q BInference(BayesNet b_n, boolean dpc) {

super(b_n, dpc);

original_bn = b_n;

transf orm_network();

}

private void transf orm_network() {

if (bn instanceof QuasiBayesNet)

is_inf erence_without_local_neighborhoods =

( ((QuasiBayesNet)bn).get_global_neighborhood_type() !=

QuasiBayesNet.NO_CREDAL_SET ) ||

(! (((QuasiBayesNet)bn).are_local_credal_sets_present()) );

else

is_inf erence_without_local_neighborhoods = true;

bn.set_name("Transf ormed-Network");

V ector auxiliary_variables = transf orm_probability_f unctions_array();

transf orm_probability_variables_array(auxiliary_variabl es);

}

else {

new_probability_f unction =

new ProbabilityFunction(bn, pf.get_variables(),

pf.get_values(), (V ector)null);

bn.set_probability_f unction(i, new_probability_f unction);

}

return(auxiliary_variables);

}

f or (e = auxs.elements(), j=i;

j

相关文档
最新文档