iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >实验1:基于Weka的典型数据挖掘应用
  • 449
分享到

实验1:基于Weka的典型数据挖掘应用

实验1:基于Weka的典型数据挖掘应用 2021-02-24 14:02:43 449人浏览 猪猪侠
摘要

一、实验目标 理解数据挖掘的基本概念,掌握基于Weka工具的基本数据挖掘(分类、回归、聚类、关联规则分析)过程。 二、实验内容 下载并安装Java环境(jdk 7.0 64位)。 下载并安装Weka 3.7版。 基于Weka的数

实验1:基于Weka的典型数据挖掘应用

一、实验目标

理解数据挖掘的基本概念,掌握基于Weka工具的基本数据挖掘(分类、回归、聚类、关联规则分析)过程。

二、实验内容

  1. 下载并安装Java环境(jdk 7.0 64位)。
  2. 下载并安装Weka 3.7版。
  3. 基于Weka的数据分类。
  4. 基于Weka的数据回归。
  5. 基于Weka的数据聚类。
  6. 基于Weka的关联规则分析。

三、实验步骤

1.下载并安装Java环境(JDK 7.0 64位)

(1)搜索JDK 7.0 64位版的下载,下载到本地磁盘并安装。

(2)配置系统环境变量PATH,在末尾补充JDK安装目录的bin子目录,以便于在任意位置都能执行Java程序。

2.下载并安装Weka 3.7版

3.基于Weka的数据分类

(1)读取“电费回收数据.csv”(逗号分隔列),作为原始数据。

读取文件后,将一些对数据分析无用的属性删除。
首先,删除CONS_NO(用户编号),用户编号是用来标识用户的,对数据分析没用。
然后,发现TQSC(欠费时长)为YMD(年月日)与RCVED_DATE(实收日期)之差,故删去YMD与RCVED_DATE。
其次,CUISHOU_COUNT(催收次数)全为0,删去;YM(年月)对数据分析无用,删去。

(2) 数据预处理:

a)将数值型字段规范化至[0,1]区间。

在Filter中选择weka.filters.unsupervised.attribute.NORMalize,进行归一化。归一化的数据如下图所示。

b)调用特征选择算法(Select attributes),选择关键特征。

评价策略使用CfsSubsetEval,它根据属性子集中每一个特征的预测能力以及它们之间的关联性进行评估。
搜索方法使用BestFirst。
得到两个关键特征,分别为RCVED_AMT(实收金额)与TQSC(欠费时长)。

(3)分别使用决策树(J48)、随机森林(RandomForest)、神经网络(MultilayerPerceptron)、朴素贝叶斯(NaiveBayes)等算法对数据进行分类,取60%作为训练集,记录各算法的查准率(precision)、查全率(recall)、混淆矩阵与运行时间。

对数据进行分类,首先要对其进行离散化。
在Filter中选择weka.filters.unsupervised.attribute.Discretize,进行离散化。

对数据分类,需要数据为Nominal类型,但此时IS_BAD还是Number类型,在Filter中选择weka.filters.unsupervised.attribute.NumericToNominal进行类型转换。

(a)决策树(J48)

查准率:0.838
查全率:0.807
混淆矩阵:
运行时间:2.27s

(b)随机森林(RandomForest)

查准率:0.837
查全率:0.807
混淆矩阵:
运行时间:67.04s

(c)神经网络(MultilayerPerceptron)

(d)朴素贝叶斯(NaiveBayes)

查准率:0.837
查全率:0.807
混淆矩阵:
运行时间:0.57s

4.基于Weka的回归分析

(1)读取“配网抢修数据.csv”,作为原始数据。

读取文件后,将一些对数据分析无用的属性删除,如:YMD(年月日)、REGION_ID(地区编号)

(2)数据预处理:

a)将数值型字段规范化至[0,1]区间。

在Filter中选择weka.filters.unsupervised.attribute.Normalize,进行归一化。归一化的数据如下图所示。

b)调用特征选择算法(Select attributes),选择关键特征。

评价策略使用CfsSubsetEval,搜索方法使用BestFirst。
得到三个关键特征,分别为HIGH_TEMP(开始气温)、MAX_VALUE(负荷最大值)和MIN_VALUE(负荷最小值)。

(3)分别使用随机森林(RandomForest)、神经网络(MultilayerPerceptron)、线性回归(LinearRegression)等算法对数据进行回归分析,取60%作为训练集,记录各算法的均方根误差(RMSE,Root Mean Squared Error)、相对误差(relative absolute error)与运行时间。

对数据进行回归分析前,先进行离散化。
在Filter中选择weka.filters.unsupervised.attribute.Discretize,进行离散化。

(a)随机森林(RandomForest)

均方根误差:108.7096
相对误差:18.7344%
运行时间:0.41s

(b)神经网络(MultilayerPerceptron)

均方根误差:134.6398
相对误差:29.0789%
运行时间:0.76s

(c)线性回归(LinearRegression)

均方根误差:144.0997
相对误差:30.2385 %
运行时间:0.01s

您可能感兴趣的文档:

--结束END--

本文标题: 实验1:基于Weka的典型数据挖掘应用

本文链接: https://www.lsjlt.com/news/7153.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作