【2023年电工杯竞赛】B题 人工智能对大学生学习影响的评价 数学建模方案和python代码

简介: 本文介绍了2023年电工杯竞赛B题的数学建模方案和Python代码实现,详细阐述了如何分析调查问卷数据,建立评价指标体系,构建数学模型评估人工智能对大学生学习的影响,并提供了数据预处理、特征编码、可视化分析等代码示例。

在这里插入图片描述

1 题目

B题 人工智能对大学生学习影响的评价

人工智能简称AI,最初由麦卡锡、明斯基等科学家于1956年在美国达特茅斯学院开会研讨时提出。

2016年,人工智能AlphaGo 4:1战胜韩国围棋高手李世石,期后波士顿动力公司的人形机器人Atlas也展示了高超的感知和控制能力。2022年,人工智能绘画作品《太空歌剧院》获得了美国科罗拉多州博览会艺术比赛一等奖。2023年3月16日,百度公司推出人工智能新产品“文心一言”。

为抢抓人工智能发展的重大战略机遇,国务院2017年发布《新一代人工智能发展规划》,指出科技强国要发挥人工智能技术的力量,部署构筑我国人工智能发展的先发优势,加快建设创新型国家和世界科技强国。教育部2018年发布《教育信息化2.0行动计划》,提出实现“智能化领跑教育信息化”行动指南,强调发展智能教育。

人工智能的发展对社会各个层面均有不同程度的影响,也影响着大学生的学习。为了解人工智能在不同侧面对大学生学习的影响情况,设计了调查问卷,详见附件1,调查反馈结果详见附件2:调查数据.xlsx。

请根据你们感兴趣的某个侧面,结合附件1和附件2:调查数据.xlsx所给出的数据,建立相应的数学模型,分析人工智能对大学生学习的影响,解决以下问题:

1.对附件2:调查数据.xlsx中所给数据进行分析和数值化处理,并给出处理方法;

2.根据你们对数据的分析结果选取评价指标,从优先级、科学性、可操作性等方面论述其合理性,并构建评价指标体系;

3.建立数学模型,评价人工智能对大学生学习的影响,给出明确、有说服力的结论;

4.根据调查问卷的数据,结合你们对人工智能的了解、认知和判断,以及对未来人工智能发展的展望,写一份人工智能对大学生学习影响的分析报告,可以包括但不限于积极或消极的影响。

附件1.调查问卷

附件2:调查数据.xlsx.调查数据

2 建模思路

这是一个数据分析、数据挖掘的题目了,这一类题目的赛题,做好可视化,从多个角度去分析。

2.1 问题一

对附件2:调查数据.xlsx中的数据,可以按照以下步骤进行分析和数值化处理:

(1)对每个单选题进行计数,统计每个选项的人数和所占比例,以直方图或饼图展示。
(2)对每个多选题进行计数,统计每种组合的人数和所占比例,以多重条形图或热力图展示。
(3)对于第6列,将其进行数值化处理,可以将每个选项的时间转化为小时数,再计算平均上网时长和标准差,以及各个时间段的人数和所占比例。
(4)对于第22列和第30列,可以将每个选项进行编码,转化为数字,方便后续分析。
(5)对于第9列、第10列、第11列、第12列和第21列,可以按照二元变量的方式进行编码,转化为0或1,表示是否选中。
(6)对于第16列、第17列、第18列、第19列、第20列和第21列,可以将选项进行分类,然后采用类别变量的方式进行编码。
(7)对于第23列到第29列,可以将每个选项进行编码,然后采用类别变量的方式进行分析。
(8)最后可以进行相关性分析和因素分析,探索各个变量之间的关系和影响。可以采用回归分析、聚类分析、主成分分析等方法进行模型建立和预测。

2.2 问题二

评价指标体系应可以包含以下方面:

(1)用户特征
包括性别、专业、年级、性格、上网方式和上网时长等选项,这些信息可以用来对不同的用户群体进行分析。
(2)使用学习软件的情况
包括是否使用过学习软件工具、使用时间、传输资料的偏好、是否想获取全国各高校的学习资源、老师是否推荐过使用等选项,这些信息有助于了解大学生使用学习软件的情况。
(3)人工智能学习工具选择
包括对人工智能学习工具的看法、选择使用人工智能学习工具的原因、使用人工智能学习工具的想法和使用人工智能学习工具的限制等选项,这些信息有助于分析学生对人工智能学习工具的态度。
(4)使用人工智能学习工具的效果和问题
包括个人使用人工智能学习工具的意愿、最想得到的效果、是否赞同大学生使用人工智能学习工具等选项以及对使用人工智能学习工具的安全和重要方面的关注等,这些信息有助于了解学生使用人工智能学习工具带来的影响。
(5)在网络中的活动和学习困扰
包括网络中的活动、学习软件与传统教学相比的优势、在学习中困扰的问题以及使用学习软件进行学习的形式等选项,这些信息有助于确定学习软件在大学生学习中的作用和存在的问题。
(6)对人工智能学习工具的期望
包括心目中的人工智能学习工具应该具备的功能、人工智能学习工具应该融合到哪个学习环节等选项,这些信息有助于了解学生对未来人工智能学习工具的期望和需求。

注意可能需要考虑到不同选项之间的关系,进行综合分析和评估。

2.3 问题三

就是数据清洗和建模

(1)数据清洗和处理
首先需要对附件2:调查数据.xlsx.csv进行数据清洗和处理,包括去除脏数据、缺失值填充等操作。

(2)数据分析
对于单选题,可以使用频数分析、比例分析等方法对每个选项出现的次数进行统计,了解大学生对学习软件以及人工智能学习工具的使用情况、态度等。对于多选题,可以使用多元频数分析等方法探究各个选项之间的相关性。

(3)统计分析
可以使用因子分析、聚类分析等方法对不同的影响因素进行分析。例如,可以通过因子分析将不同的选项归纳为几个维度,如使用频率、功能需求、安全性等维度;也可以通过聚类分析将同一特征下的数据分为不同类别,如使用频率较高、偏好某一类型功能等。

(4)建立数学模型
综合前面的数据分析和统计分析结果,建立多元回归模型、决策树模型等进行预测和评估,进一步探究人工智能对大学生学习的影响情况。

(5)结论
根据所建立的数学模型,得出明确、有说服力的结论,判断人工智能学习工具对于大学生学习的影响程度、以及对于现有学习方式的优势和不足等方面进行评价,并提出相应的建议和改进。

3 代码实现

3.1 问题一

(1)进行特征编码

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import MultiLabelBinarizer

# 加载数据文件
data = pd.read_excel("data/附件2:调查数据.xlsx")

# 前22列采用类别变量进行编码

# 第23列之后的列采用类别变量进行one-hot编码
df = data.iloc[:,23:]
# 对每一列进行多标签二值化编码
mlb = MultiLabelBinarizer()
cols = df.columns
for col in df.columns:
    # 将每一列的数据按照分隔符进行分割
    df[col] = df[col].apply(lambda x: x.split('┋') if isinstance(x, str) else x)
    mlb.fit_transform(df[col])
#     # 将编码结果按照列名展开为新的列
    for i, label in enumerate(mlb.classes_):
        data[f'{col}_{label}'] = df[col].apply(lambda x: 1 if label in x else 0)
data.drop(columns=df.columns,inplace=True)

(2)分析数据

# 设置中文字体
。。。略,请下载完整代码
# 单选题1~22统计每个选项的人数和所占比例
for i in range(1, 23):

    print("题目{}选项人数:\n{}\n".format(i, counts))
    print("题目{}选项比例:\n{}\n".format(i, percentages))

    # 绘制各题目的直方图和饼图
    plt.subplot(2, 1, 1)
    plt.bar(counts.index, counts.values)
    plt.title(cols[i])
    plt.ylabel("Counts")

    plt.subplot(2, 1, 2)
    plt.pie(percentages.values, labels=percentages.index, autopct="%1.1f%%")
    plt.title(cols[i])

    plt.tight_layout()
    plt.show()

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

from collections import Counter, defaultdict
from itertools import chain
import numpy as np


cols = df.columns
i = 1
for col in df.columns:
    # 将每一列的数据按照分隔符进行分割
    df[col] = df[col].apply(lambda x: x.split('┋') if isinstance(x, str) else x)
    element_count_dict = defaultdict(int)
    for row in df[col]:
        element_count = Counter(row)
        for element, count in element_count.items():
            element_count_dict[element] += count
    # 将 defaultdict 转换为普通字典
    。。。略,请下载完整代码
    percentages = [i/ np.sum(counts) * 100 for i in counts]
    # 绘制各题目的直方图和饼图
    plt.subplot(2, 1, 1)
    plt.bar(element_count_dict.keys(), element_count_dict.values())
    plt.title(col)
    plt.ylabel("Counts")

    plt.subplot(2, 1, 2)
    plt.pie(percentages, labels=element_count_dict.keys(), autopct="%1.1f%%")


    plt.tight_layout()
    plt.savefig(f'img/{i+23}.png',dpi=300)
    i+=1
    plt.show()

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 问题二

持续更新中

3.3 问题三

持续更新中

4 完整下载

查看知乎文章底部,或者私信我

目录
相关文章
|
7天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
51 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
23天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
58 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
1月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
眼疾识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了4种常见的眼疾图像数据集(白内障、糖尿病性视网膜病变、青光眼和正常眼睛) 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,实现用户上传一张眼疾图片识别其名称。
135 5
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
|
2月前
|
Python
课程设计项目之基于Python实现围棋游戏代码
游戏进去默认为九路玩法,当然也可以选择十三路或是十九路玩法 使用pycharam打开项目,pip安装模块并引用,然后运行即可, 代码每行都有详细的注释,可以做课程设计或者毕业设计项目参考
78 33
|
2月前
|
JavaScript API C#
【Azure Developer】Python代码调用Graph API将外部用户添加到组,结果无效,也无错误信息
根据Graph API文档,在单个请求中将多个成员添加到组时,Python代码示例中的`members@odata.bind`被错误写为`members@odata_bind`,导致用户未成功添加。
52 10
|
2月前
|
机器学习/深度学习 Rust 算法
Python环境管理的新选择:UV和Pixi,高性能Python环境管理方案
近期Python生态系统在包管理领域发生了重要变化,Anaconda调整商业许可证政策,促使社区寻找更开放的解决方案。本文介绍两款新一代Python包管理工具:UV和Pixi。UV用Rust编写,提供高性能依赖解析和项目级环境管理;Pixi基于Conda生态系统,支持conda-forge和PyPI包管理。两者分别适用于高性能需求和深度学习项目,为开发者提供了更多选择。
323 2
|
2月前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
105 8
|
3月前
|
机器学习/深度学习 数据采集 人工智能
探索机器学习:从理论到Python代码实践
【10月更文挑战第36天】本文将深入浅出地介绍机器学习的基本概念、主要算法及其在Python中的实现。我们将通过实际案例,展示如何使用scikit-learn库进行数据预处理、模型选择和参数调优。无论你是初学者还是有一定基础的开发者,都能从中获得启发和实践指导。
88 2
|
4月前
|
数据采集 机器学习/深度学习 数据处理
Python编程之魔法:从基础到进阶的代码实践
在编程的世界里,Python以其简洁和易读性而闻名。本文将通过一系列精选的代码示例,引导你从Python的基础语法出发,逐步探索更深层次的应用,包括数据处理、网络爬虫、自动化脚本以及机器学习模型的构建。每个例子都将是一次新的发现,带你领略Python编程的魅力。无论你是初学者还是希望提升技能的开发者,这些示例都将是你的宝贵财富。让我们开始这段Python编程之旅,一起揭开它的魔法面纱。
|
4月前
|
大数据 Python
Python 高级编程:深入探索高级代码实践
本文深入探讨了Python的四大高级特性:装饰器、生成器、上下文管理器及并发与并行编程。通过装饰器,我们能够在不改动原函数的基础上增添功能;生成器允许按需生成值,优化处理大数据;上下文管理器确保资源被妥善管理和释放;多线程等技术则助力高效完成并发任务。本文通过具体代码实例详细解析这些特性的应用方法,帮助读者提升Python编程水平。
207 5

推荐镜像

更多