首页 > 其他分享 >数据报告分享|WEKA贝叶斯网络挖掘学校在校人数影响因素数据分类模型

数据报告分享|WEKA贝叶斯网络挖掘学校在校人数影响因素数据分类模型

时间:2024-01-15 22:23:03浏览次数:30  
标签:WEKA 人数 模型 贝叶斯 学校 在校 数据

全文链接:https://tecdat.cn/?p=33159

原文出处:拓端数据部落公众号

本文着眼普通高等学校在校学生人数,提出了不同种类学校的在校人数可能存在的影响关系从而探究教育现状的因素,建立分类模型,探求这几个因素间的数量关系。

本文试图帮助客户通过研究不同种类学校的在校人数的关系,从而挖掘出学校在校人数对技校在校人数是否有影响。

问题分析

本次选取来自广东省统计年鉴1978年以来的各级各类学校在校学生数数据。

image.png

并对高等学校、中等职业教育学校  、技工学校、  普通中学、小学的人数进行贝叶斯分类分析,试图通过分类分析得到不同学校类型在校人数之间存在的关系,从而得出结论,提出建议。

WEKA 使用流程

WEKA使学习应用机器学习方便,高效和乐趣。这是一个GUI工具,它允许您加载数据集,运行算法设计及运行试验与统计结果。

1. 进入软件

    启动Weka的。这可能涉及发现它在程序启动或双击该文件weka.jar。这将启动GUI的Weka选配。

Weka的GUI选择器可以让你选择资源管理器中,实验者,KnowledgeExplorer和简单CLI(命令行界面)中的一个。

image.png

2. 加载数据

    该GUI让您加载数据集,运行分类算法。它还提供了其他的功能,如数据过滤,聚类,关联规则提取和可视化,但现在我们不会使用这些功能的。

    点击“打开文件...”按钮,打开“数据”目录中的数据集并双击。

    WEKA提供了一些常见的小机器学习数据集,你可以用它来练习上。

3. 进行挖掘

    现在你已经加载的数据集,它的时间来选择一个机器学习算法建模的问题,并作出预测。

    点击“分类”标签。这是用于运行针对Weka的一个装载数据集的算法的区域。

image.png

点击“开始”按钮,运行该算法。

数据 预处理

本次分析的数据来自广东省统计年鉴的各级各类学校在校学生数数据。《广东统计年鉴》(下简称《年鉴》)系统收录了全省及各市、县(区)在校人数的统计数据,以及1978年以来各个主要时期全省一共221条主要统计数据。

指标选取

本次分析一共选取了5个指标221个样本,分别是:等学校中等职业教育学校 、技工学校、  普通中学、小学。


贝叶斯网络

    贝叶斯网络是一种概率网络,它是基于概率推理的图形化网络,而贝叶斯公式则是这个概率网络的基础。

    由乘法公式,我们得到

P (A | B) = P (A, B) / P (B)=(P(B|A)P(A))/P(B)

    这就是著名的贝叶斯公式。

    贝叶斯公式几乎是所有概率推理的现代人工智能系统的基础。这个式子同样表示一组公式,每个公式处理变量的特定取值。我们还有某些场合要在某个背景证据e上使用一个更通用版本的条件化公式:

image.png

贝叶斯法则是在一个条件概率和2个无条件概率的基础上计算另一个条件概率。

    贝叶斯法则对于回答在某一条证据的条件约束下的概率问题是非常有用的,而且我们已经讨论过概率信息经常是以P(结果 | 原因)的形式出现的。

      为了解决以上问题,我们利用‘独立性’。

  给定第三个随机变量Z(证据)之后,两个随机变量X和Y的条件独立性的一般定义是:

P(X,Y|Z)=P(X|Z)P(Y|Z)

      也可以用以下形式来表示

P(X|Y,Z)=P(X|Z)

P(Y|X,Z)=P(Y|Z)

    因此对于前面讲过的决对独立断言,允许将全联合分布分解成很多更小的分布,对于条件独立性断言也是同样成立的。

    通过条件独立性,将一个大的概率领域分解城一些相互联系非常弱的子集,并允许概率系统进行规模扩展,而且条件独立性也比决对独立性断言更加普遍,称为素贝叶斯模型。

数据准备:

  首先在weka中打开数据

image.png

查看每个学校的人数分布直方图

image.png

数据预处理:

为了消除数据量纲的变化,数据标准化

然后将数据进行离散化 ,分成几个不同等级

image.png

贝叶斯模型训练:

建立贝叶斯模型,训练模型:

image.png

将技工学校的人数作为预测变量

 实验结果

十折交叉验证

image.png

方法的比较

为了进行对比分析,本文选用准确率(Precision)、召回率(Recall)和覆盖率(Coverage)度量。

推荐结果的召回率定义为:

image.png

推荐结果的准确率定义为:

image.png

覆盖率(Coverage)描述的是一个推荐系统对物品长尾的发掘能力。推荐系统的覆盖率可以通过下面的公式计算:

image.png

得到每个类别的准确率 召回率 roc等结果:

image.png

混淆矩阵

image.png

对模型进行优化

image.png

每个类别的准确度和召回率等信息

image.png

混淆矩阵

image.png

对分类结果进行可视化

1111.png

从散点图来看,可以看到不同颜色代表不同技工学校的人数分类。纵轴代表预测人数,横轴代表实际人数。由于预测人数分布在y=x的直线上,因此可以认为预测人数等于实际人数,说明模型的预测效果良好。

由上图的比较可以看到,本文使用核函数进行改进后的方法的统计指标均明显优于各个子预测方法,准确度分别提高了 34%,召回率将对于之前算法提高为36% ,总体来说有明显的提高。

结论

从模型的结果来看,不同种类的学校的在校人数之间存在一定的联系。通过贝叶斯网络模型可以利用年份小学,初中等在校人数来预测技校的在校人数的数量,因此长远来看,我们可以通过不同学校的在校人数来预测未来人数的发展趋势。同时说明小学、初中的在校人数会影响技工学校的在校人数,同时技工学校人数和大学在校人数也有关系。高中毕业之后有些人会选择去技工学校学习专业技能,有些人会选择去高校深造,他们之间存在负相关关系,同时良好的初中小学的教育也会影响本科在校人数,因此对学生的义务教育也是相当重要的。

同时,在未来的研究中,还要结合办学条件、教学质量、学校内部结构等方面的因素来对学校的因素进行更深程度的研究。


QQ截图20220227112614.png 最受欢迎的见解

1.matlab使用贝叶斯优化的深度学习

2.matlab贝叶斯隐马尔可夫hmm模型实现

3.R语言Gibbs抽样的贝叶斯简单线性回归仿真

4.R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归

5.R语言中的Stan概率编程MCMC采样的贝叶斯模型

6.R语言贝叶斯Poisson泊松-正态分布模型分析职业足球比赛进球数

7.R语言使用贝叶斯 层次模型进行空间数据分析

8.R语言随机搜索变量选择SSVS估计贝叶斯向量自回归(BVAR)模型

9.matlab贝叶斯隐马尔可夫hmm模型实现

标签:WEKA,人数,模型,贝叶斯,学校,在校,数据
From: https://www.cnblogs.com/tecdat/p/17966543

相关文章

  • PostgreSQL优化数据库参数
    开箱即用的默认PostgreSQL配置并未针对任何特定工作负载进行调整。设置默认值以确保PostgreSQL在任何地方运行,消耗最少的资源,并且不会导致任何漏洞。它具有所有数据库参数的默认设置。数据库管理员或开发人员主要负责根据系统的工作负载调整PostgreSQL。在这篇博文中,我们将深......
  • 数据库查询如何优化?
    索引优化:索引可以加速查询速度,但是索引的使用也会带来一些开销。因此,需要根据查询的情况对索引进行优化,比如对经常使用的字段进行索引,或者使用覆盖索引等。数据库设计优化:数据库的设计也会影响查询的性能。比如对于经常需要联表查询的情况,可以将需要联表的字段放在同一张表中,或......
  • MySQL-12.MySQL数据类型
    1.MySQL中的数据类型常见数据类型的属性,如下2.整数类型2.1类型介绍整数类型一共有5种,包括TINYINT,SMALLINT,MEDIUMINT,INT(INTEGER)和BIGINT。它们的区别如下表所示2.2可选属性整数类型的可选属性有三个2.2.1MM:显示宽度,M的取值范围是(0,255)。例如,int(5):当数据宽度小......
  • 可变数据类型与不可变数据类型区别?哪些是可变?哪些不可变?
    可变数据类型:对该数据类型值做修改(增删改查),若它对应的内存地址没有发生变化,那么这种类型的数据就称为可变数据类型。若对变量进行重新赋值,那么变量的内存地址会发生变化。不可变数据类型:对该数据类型值做修改(增删改查),若它对应的内存地址发生变化,那么这种数据类型就称为不可变数......
  • SparkStreaming 连接 Kafka数据源
    本文的前提条件:SparkStreaminginJava参考地址:SparkStreaming+KafkaIntegrationGuide(Kafkabrokerversion0.10.0orhigher)1.添加POM依赖<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>......
  • FastAPI学习-28 alembic数据迁移报错:Target database is not up to date 报错解决办法
    前言当表结构有变更,数据迁移时,出现报错:Targetdatabaseisnotuptodate遇到的问题执行迁移命令alembicrevision--autogenerate-m"testv4"出现如下报错>alembicrevision--autogenerate-m"testv4"INFO[alembic.runtime.migration]ContextimplMySQLImpl.INF......
  • 数据库学习笔记(一)—— 初识MySQL
    初识MySQL介绍什么是数据库? 数据库是结构化信息或数据的有序集合,一般以电子形式存储在计算机系统中。通常由数据库管理系统(DBMS) 来控制。在现实中,数据、DBMS及关联应用一起被称为数据库系统,通常简称为数据库。数据库与电子表格有何区别?数据库和电子表格(例如......
  • openGauss学习笔记-198 openGauss 数据库运维-常见故障定位案例-分析查询效率异常降低
    openGauss学习笔记-198openGauss数据库运维-常见故障定位案例-分析查询效率异常降低的问题198.1分析查询效率异常降低的问题198.1.1问题现象通常在几十毫秒内完成的查询,有时会突然需要几秒的时间完成;而通常需要几秒完成的查询,有时需要半小时才能完成。198.1.2处理办法通......
  • 【数据结构】C语言实现共享栈
    共享栈通过C语言实现导言大家好,很高兴又和大家见面啦!!!在上一篇内容中,我们介绍了如何通过C语言实现顺序栈,并且在介绍顺序栈的进栈操作时有提到过我们可以通过选择数组的首元素或者尾元素作为栈底,来进行栈的创建,以及栈的另一种形式——链栈。根据前面的介绍,我们知道了顺序栈是通过静......
  • SparkStreaming 自定义数据采集器
    本文的前提条件:SparkStreaminginJava参考地址:SparkStreamingCustomReceivers1.自定义数据采集器packagecn.coreqi.receiver;importorg.apache.spark.storage.StorageLevel;importorg.apache.spark.streaming.receiver.Receiver;importjava.util.Random;/**......