文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2021-02-24 14:32

关注

实验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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯