当前位置:   article > 正文

大数据毕业设计hadoop+spark+hive+nlp知识图谱课程推荐系统 慕课在线教育课程数据分析可视化大屏 课程爬虫 文本分类 LSTM情感分析 计算机毕业设计 机器学习 深度学习 人工智能_spark、hadoop课程

spark、hadoop课程

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

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

 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字(同时提交有关图纸和附件)毕业设计(论文)撰写规范及有关要求,请查阅《黄河科技学院本科毕业设计(论文)指导手册》。

下面是一个使用 PyTorch 实现的课程推荐算法的示例代码。这个示例实现了一个基于矩阵分解的协同过滤推荐系统:

  1. import torch
  2. import torch.nn as nn
  3. import torch.optim as optim
  4. # 假设有5个用户和10门课程
  5. num_users = 5
  6. num_courses = 10
  7. embedding_dim = 5
  8. # 模拟用户和课程的交互数据(用户ID,课程ID,评分)
  9. interactions = torch.tensor([[0, 1, 4.0],
  10. [1, 2, 3.0],
  11. [2, 0, 5.0]], dtype=torch.float)
  12. # 创建用户和课程的嵌入矩阵
  13. user_embedding = nn.Embedding(num_users, embedding_dim)
  14. course_embedding = nn.Embedding(num_courses, embedding_dim)
  15. # 定义模型
  16. class Recommender(nn.Module):
  17. def __init__(self, num_users, num_courses, embedding_dim):
  18. super(Recommender, self).__init__()
  19. self.user_embedding = nn.Embedding(num_users, embedding_dim)
  20. self.course_embedding = nn.Embedding(num_courses, embedding_dim)
  21. def forward(self, user_ids, course_ids):
  22. user_emb = self.user_embedding(user_ids)
  23. course_emb = self.course_embedding(course_ids)
  24. # 计算用户和课程之间的内积作为预测评分
  25. preds = torch.sum(user_emb * course_emb, dim=1)
  26. return preds
  27. # 初始化模型和优化器
  28. model = Recommender(num_users, num_courses, embedding_dim)
  29. optimizer = optim.Adam(model.parameters(), lr=0.01)
  30. # 训练模型
  31. for epoch in range(100):
  32. optimizer.zero_grad()
  33. user_ids = interactions[:, 0].long()
  34. course_ids = interactions[:, 1].long()
  35. ratings = interactions[:, 2]
  36. preds = model(user_ids, course_ids)
  37. loss = nn.MSELoss()(preds, ratings)
  38. loss.backward()
  39. optimizer.step()
  40. print(f'Epoch {epoch+1}, Loss: {loss.item()}')
  41. # 使用模型进行推荐
  42. user_id = torch.tensor([0])
  43. course_ids = torch.arange(num_courses)
  44. predicted_ratings = model(user_id, course_ids)
  45. print('Predicted ratings for user 0:')
  46. print(predicted_ratings)

这段代码演示了一个简单的协同过滤推荐系统,使用了用户和课程的 Embedding 层来学习用户和课程的表示。在训练过程中,模型尝试预测用户与课程之间的交互评分,并通过均方误差损失函数进行优化。最后,使用训练好的模型进行推荐时,可以输入用户ID,得到对所有课程的预测评分。

希望这个示例对你有帮助!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/354744
推荐阅读
相关标签
  

闽ICP备14008679号