计算机毕业设计hadoop+spark知识图谱课程推荐系统 课程预测系统 课程大数据 课程数据分析 课程大屏 mooc慕课推荐系统 大数据毕业设计

黄河科技学院本科毕业设计 任务书

      学部   大数据与计算机应用   科教中心    计算机科学与技术 专业

 2018 普本1/专升本1班 学号           学生         指导教师    

毕业设计题目

                      基于大数据的慕课平台课程学习数据行为分析可视化与个性化推荐         

毕业设计工作内容与基本要求(目标、任务、途径、方法,应掌握的原始资料(数据)、参考资料(文献)以及设计技术要求、注意事项等)

一、设计的目标和任务                                                   

  1. 技术方面

(1)使用PyCharm、IDEA等工具进行代码编写。

(2)结合机器学习、深度学习等数据分析技术构建模型。

(3)使用知识图谱、Spark、Hadoop等技术进行数据可视化大屏分析

  1. 工作方面

(1)认真查阅相关文献资料,充分做好前期准备工作。

①到学校图书馆借阅机器学习和数据挖掘等方面的图书。

②从中国知网等网站查找相关论文 20 篇,重点阅读 10篇。

③通过查找相关课程视频,自主学习与本课题有关的知识。

(2)按照毕业论文(设计)相关文件要求独立完成毕业论文(设计)。

①完成课程推荐系统、可视化系统的设计与实现。

②撰写论文时,要有图表形象表达,要体现论文的主要特色。

                                                                 

                                                                      

二、设计途径和方法                                                             

(一)  Selenium自动化Python爬虫工具采集慕课网课程课程数据、学习数据约80-100万条存入.csv文件作为数据集;

(二)使用pandas+numpy或MapReduce对数据进行数据清洗,生成最终的.csv文件并上传到hdfs;

(三)使用hive数仓技术建表建库,导入.csv数据集;

(四)离线分析采用hive_sql完成,实时分析利用Spark之Scala完成;

(五)统计指标使用sqoop导入mysql数据库;

(六)使用springboot+vue.js+echarts进行可视化大屏开发;

(七)使用协同过滤算法(基于用户/物品)、LSTM、SVD神经网络混合推荐模型、MLP模型等等进行个性化推荐。并进行参数优化、算法二次开发升级;

(八)使用卷积神经网络KNN、CNN实现课程流量预测;

(九)搭建springboot+vue.js前后端分离web系统进行个性化推荐界面、课程流量预测界面、知识图谱等实现;

                                                            

                                                                       

三、应掌握的原始资料和技术                                                     

原始资料:

(一)慕课平台课程数据:

  • 课程基本信息:包括课程名称、简介、教师信息、开课时间等。
  • 学习者信息:包括注册信息、个人信息、学习偏好等。
  • 学习行为数据:学习者的登录记录、观看视频时长、作业提交情况、论坛互动等。

(二)学习者反馈数据:

  • 课程评价:学习者对课程的评分和评论。
  • 学习效果反馈:学习者在课程结束后的测试成绩、证书获取情况等。

(三)相关教育政策与标准:

  • 教育部门关于在线教育的政策文件。
  • 国内外慕课平台的教学标准和评估体系。

(四)研究文献与案例:

  • 国内外关于慕课、学习分析、个性化推荐的学术论文和报告。
  • 成功的慕课平台案例分析和教育技术应用案例。

技术:

(一)大数据技术:

  • 数据采集:能够高效地从慕课平台收集各种类型的数据。
  • 数据存储与管理:使用分布式存储系统(如Hadoop HDFS)来存储和管理大规模数据。
  • 数据处理与分析:掌握MapReduce、Spark等大数据处理框架进行数据分析。

(二)学习分析技术:

  • 行为分析:通过统计分析和机器学习等方法分析学习者的行为模式。
  • 可视化技术:使用数据可视化工具(如echarts、D3.js)将分析结果以图表形式展示。
  • 预测模型:建立预测模型来预测学习者的未来表现和需求。

(三)个性化推荐技术:

  • 推荐算法:熟悉协同过滤、内容推荐等个性化推荐算法。
  • 推荐系统设计与实现:能够设计并实现一个针对慕课平台的个性化推荐系统。

(四)软件开发技术:

  • 编程语言与工具:熟练掌握至少一门编程语言(如Python、Java),以及相关开发工具和框架。
  • 数据库技术:了解关系型数据库和非关系型数据库的使用,以及数据库设计原则。

四、进度安排                                                          

    第1周:查阅相关资料,完成文献综述。                              

    第2周:结合课题要求,提交开题报告,并完成开题答辩。              

    第3~5周:进行系统分析、总体设计和详细设计。                    

    第6~9周:实现系统编码、调试及软件测试。撰写毕业设计。      

    10~12周:修改毕业设计至定稿,资格审查。                  

    第13~14周:毕业设计答辩及资料归档。                                                                                                                 

五、参考文献                                                             

[1]尹旭熙.基于Hadoop和Spark的可扩展性化工类大数据分析系统设计[J].粘接,2021,46(06):81-83+93.

[2]李林国,查君琪,赵超等.基于Hadoop平台的大数据可视化分析实现与应用[J].西安文理学院学报(自然科学版),2022,25(03):53-58.

[3]杨志雄.大数据分析的机器学习算法研究[J].信息记录材料,2023,24(05):92-94.DOI:10.16009/j.cnki.cn13-1295/tq.2023.05.003.

[4]Ravesa A,Ahmad S S. Precision agriculture using IoT data analytics and machine learning[J]. Journal of King Saud University - Computer and Information Sciences,2022,34(8PB).

[5]Bernd S,Desiree K,Antonio G D, et al. Approach for machine learning based design of experiments for occupant simulation[J]. Frontiers in Future Transportation,2022.

[6]Kumar A,Sreenatha G A,Dubey K A, et al. Machine Learning Approaches and Applications in Applied Intelligence for Healthcare Data Analytics[M].CRC Press:2021-09-12.

[7]陈琦. 面向个性化课程推荐的深度学习方法研究[D].山东师范大学,2021.DOI:10.27280/d.cnki.gsdsu.2021.000635.

[8]卜南翔,徐述,王玉婷等.基于大数据平台的课程教学资源推荐系统应用探究[J].数码世界,2019(03):189.

[9]方思怡.标准知识图谱的技术路径与应用场景探讨[J].中国标准化,2023(11):49-55.

[10]郭芳清. 基于图神经网络的知识图谱推荐算法研究[D].大连理工大学,2022.DOI:10.26991/d.cnki.gdllu.2022.001269.

[11]郭婺,郭建,张劲松等.基于Python的网络爬虫的设计与实现[J].信息记录材料,2023,24(04):159-162.DOI:10.16009/j.cnki.cn13-1295/tq.2023.04.025.

[12]李明轩,李峰.人工智能时代知识图谱与深度学习的相互交融——评《知识图谱与深度学习》[J].中国科技论文,2023,18(02):240.

[13]汪娅.深度学习的认识论意蕴[J].哈尔滨学院学报,2022,43(12):12-16.

[14]魏胤真.基于计算机深度学习的个性化资源推荐算法研究[J].现代工业经济和信息化,2023,13(03):56-58.DOI:10.16525/j.cnki.14-1362/n.2023.03.020.

[15]韩厚畴. 基于深度学习的混合推荐算法研究[D].吉林大学,2022.DOI:10.27162/d.cnki.gjlin.2022.006503.

六、注意事项                                                          

    1对于开发过程中遇到的问题注重自己查阅资料寻找解决方案,同时,多和导师沟通交流解决。                                                          

    2)寻找同类系统进行对比学习和参考,提高开发效率。                                                                       

毕业设计时间: 2022 12  19 日至 2023 5  13 

计划答辩时间: 2023  5  13

工作任务与工作量要求:原则上查阅文献资料不少于12篇,其中外文资料不少于2篇;文献综述不少于3000字;毕业论文或设计说明书不少于8000字(同时提交有关图纸和附件)毕业设计(论文)撰写规范及有关要求,请查阅《黄河科技学院本科毕业设计(论文)指导手册》。

专业教研室审批意见:

审批人(签字):

核心算法代码分享如下:

# -*- codeing = utf-8 -*-
# 创建图谱专用的json文件

import pandas as pd
import json
from db import db_util

d = db_util()
db, cursor = d.get_conn()


def build():
    s_dict = {}
    t_dict = {}
    ret = []

    ind1 = 10000
    ind2 = 20000
    ind3 = 30000
    rind = 900000

    sql = 'select  *  from  tb_mooc'
    df = pd.read_sql(sql, con=db)
    for index, row in df.iterrows():
        print(row['title'])
        school = row['school']
        teacher = row['teacher']
        print(row['school'])
        print(row['teacher'])

        if school not in s_dict:
            ind2 = ind2 + 1
            s_dict[school] = ind2

        if teacher not in t_dict:
            ind3 = ind3 + 1
            t_dict[teacher] = ind3

        properties = {"name": row['title'], 'brief': row['brief'], 'status': row['status'], 'price':row['price']}
        start = {'identity': index, 'labels':['课程'], 'properties':properties}
        end = {'identity': ind2, 'labels':['高校'], 'properties':{"name": school}}
        relationship = {"identity": rind, "start": index,"end": ind2,
                        "type": "type", "properties": {"name": "学校"}}
        rind = rind + 1
        segments = []
        segments.append(dict(start=start, relationship=relationship, end=end))

        end = {'identity': ind3, 'labels': ['老师'], 'properties': {"name": teacher}}
        relationship = {"identity": rind, "start": index, "end": ind3,
                        "type": "type", "properties": {"name": "老师"}}
        rind = rind + 1
        segments.append(dict(start=start, relationship=relationship, end=end))

        p = dict(segments=segments, length=1.0)
        ret.append(dict(p=p, score=2))

    json_str = json.dumps(ret, ensure_ascii=False)
    with open('test.json', 'w', encoding='utf8') as f2:
        # ensure_ascii=False才能输入中文,否则是Unicode字符
        # indent=2 JSON数据的缩进,美观
        json.dump(ret, f2, ensure_ascii=False, indent=2)
    print(json_str)
    print("end..")

if __name__ == '__main__':
    build()

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

B站计算机毕业设计大厂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值