Mahout-RandomForests

1. 数据下载与准备

1.1 下载地址为http://nsl.cs.unb.ca/NSL-KDD/

1.2打开下载的数据,删除其中以@开头的数据 

1.3 将数据上传到hdfs

# $HADOOP_HOME/bin/hadoop fs -mkdir /testdata
# $HADOOP_HOME/bin/hadoop fs -put /usr/local/mahout/data/KDD* /testdata

2. 生成数据集描述文件

# $HADOOP_HOME/bin/hadoop jar /usr/local/mahout/mahout0.9/mahout-core-0.9-job.jar org.apache.mahout.classifier.df.tools.Describe -p /testdata/KDDTrain+.arff -f /testdata/KDDTrain+.info -d N 3 C 2 N C 4 N C 8 N 2 C 19 N L


参数:

-p:训练数据路径

-f:输出描述文件路径

-d:数据属性描述,具体如下

N: NUMERICAL

C: CATEGORICAL

L: LABEL

I: IGNORED


3. 生成决策森林

# $HADOOP_HOME/bin/hadoop jar /usr/local/mahout/mahout0.9/mahout-examples-0.9-job.jar org.apache.mahout.classifier.df.mapreduce.BuildForest -Dmapred.max.split.size=1874231 -d /testdata/KDDTrain+.arff -ds /testdata/KDDTrain+.info -sl 5 -p -t 100 -o /nsl-forest

-d:训练数据文件路径

-ds:数据描述文件路径

-sl:每个数的每个节点随机选多少个属性

-p:代表使用部分执行

-t:创建树的数量

-o:输出决策森林文件路径


4. 使用决策森林分类新数据

# $HADOOP_HOME/bin/hadoop jar /usr/local/mahout/mahout0.9/mahout-examples-0.9-job.jar org.apache.mahout.classifier.df.mapreduce.TestForest -i /testdata/KDDTest+.arff -ds /testdata/KDDTrain+.info -m /nsl-forest -a -mr -o /predictions

-i:测试文件路径

-ds:数据描述文件路径

-m:决策森林文件所在路径

-mr:使用Hadoop分布计算

-o:输出文件路径


备注:

1. 源码分析地址:http://wenku.baidu.com/link?url=WjB5pZ8a91m1VY44IPqeV9nqhzrzMmWo6ruj9OxyzRmIMUfUPSbAbb0GSdsODvamwdaWo1-CH83gt2bLtT7R_r_z0WsAl7XzBG7oMZ0UFzm

2. mahout随机森林官网:http://mahout.apache.org/users/classification/partial-implementation.html

你可能感兴趣的:(Hadoop)