福建江夏学院本科毕业设计任务书
学院(部):电子信息科学学院 姓名:****** 学号:************ 指导教师:XXX 职称:副教授
|
题目 |
基于机器学习的课程推荐系统 |
|
时间 |
2021年 10月23日至2022 年 3 月 25 日 |
|
毕业设计主要内容(包括研究目的、内容等): 1、研究目的 系统可以根据学习者的学习历史、兴趣爱好和学习目标等数据,为其推荐符合其需求的课程。这样,学习者可以更高效地筛选和选择适合自己的课程,减少决策过程中的不确定性和迷茫。最后,系统的建立也有助于提高课程的可信度和质量,因为它可以建立评价反馈系统和学习者互动平台。学习者可以在系统中对已学习的课程进行评价和反馈,分享自己的学习经验和意见。这将为其他学习者提供有用的参考和决策依据,同时也促进课程提供者改进教学内容和教学方法。 2、研究内容 本课题以基于机器学习的课程推荐系统作为研究对象,主要的研究内容包括以下四个方面: (1)采集数据集:利用selenium框架采集mooc慕课网海量课程数据。 (2)数据预处理:对数据进行缺失值、重复值处理,导入mysql数据库等操作。 (3)模型构建与测试:构建协同过滤算法(基于用户/物品)、LSTM、SVD神经网络混合推荐模型、MLP模型等,使用课程数据集、用户轨迹数据(随机构造、程序埋点生成)进行测试,并依据测试结果,对所有模型的效率、精准度进行优化。 (4)系统可视化:使用SparkSQL、知识图谱neo4j图数据库、echarts等技术对数据进行可视化数据分析。 | |
|
毕业设计基本要求(包括技术要求、工作要求、进度要求等):
(1)使用PyCharm、IDEA等工具进行代码编写。 (2)结合机器学习、深度学习等数据分析技术构建模型。 (3)使用知识图谱、SparkSQL等技术进行数据可视化大屏分析
(1)认真查阅相关文献资料,充分做好前期准备工作。 ①到学校图书馆借阅机器学习和数据挖掘等方面的图书。 ②从中国知网等网站查找相关论文 20 篇,重点阅读 10篇。 ③通过查找相关课程视频,自主学习与本课题有关的知识。 (2)按照毕业论文(设计)相关文件要求独立完成毕业论文(设计)。 ①完成课程推荐系统、可视化系统的设计与实现。 ②撰写论文时,要有图表形象表达,要体现论文的主要特色。 3、进度要求 1.第一周-第二周:进行需求分析,调研国内外背景。 2.第三周-第四周:确定功能模块,选择技术框架。 3.第五周-第九周:数据库设计,代码编写,撰写毕业论文。 4.第九周-第十周:完善毕业论文,准备答辩资料。 5.第十一周-第十三周:优化和完善系统功能。 6.第十四周-第十五周:整理并上交归档资料。 | |















核心算法代码分享如下:
# 解析课程列表中的每一个可成数据
def del_one(li,kw):
#图片
img = li.xpath('.//div[contains(@class, "u-img f-fl")]/img/@src')
print('图片',img[0])
#url
url = li.xpath('.//div[contains(@class, "t1 f-f0 f-cb")]/a/@href')
url = 'https://' + url[0][2:]
print('课程链接',url)
cid = re.findall(r"se/(\S+?)\?", url)[0] # 使用正则表达式提取 课程的代号
print('课程编号',cid)
title = li.xpath('.//span[contains(@class, "u-course-name")]/text()')
print('高亮标题',title)
# 因为搜索的原因,关键词会高亮(多了一个标签),使用这个办法,提取所有的标签下的文本
title = [i.xpath('string(.)') for i in li.xpath('.//span[contains(@class, "u-course-name")]')]
print('最终标题',title[0])
# tag
#li.xpath('.//a[contains(@class, "f-fc9")]/text()')[0].strip()
#'猴博士爱讲课'
tag = li.xpath('.//a[contains(@class, "u-course-tag")]/span/text()')
if len(tag) > 0:
tag = tag[0]
else:
tag = '暂无分类'
print(tag)
# 来源学校
school = [i.xpath('string(.)') for i in li.xpath('.//a[contains(@class, "t21 f-fc9")]')]
print(school[0])
# 主要的授课人
teacher = li.xpath('.//a[@class="f-fc9"]/text()')
print(teacher)
# 简介 注意需要变换逗号入库
brief = [i.xpath('string(.)') for i in li.xpath('.//span[contains(@class, "p5 brief f-ib")]')]
print(brief)
# 参加的人数
hot = li.xpath('.//span[@class="hot"]/text()')
print(hot)
mans = re.findall(r"(\d+?)人参加", hot[0])[0] # 使用正则表达式提取 人数
print(mans)
# 状态
status = li.xpath('.//span[@class="txt"]/text()')
print(status)
price = random.randint(1, 1000)
check_mooc_exist(cid, title[0], img[0], tag, school[0], teacher[0], int(mans), brief[0], status[0],price )
detail(kw,cid, url, title[0], img[0], tag, school[0], teacher[0], int(mans), brief[0], status[0],price)
本文介绍了福建江夏学院一名学生关于基于机器学习的课程推荐系统的本科毕业设计,涉及数据采集、预处理、模型构建(如协同过滤、深度学习模型)、系统可视化以及技术与工作要求。学生需使用Python工具和数据分析技术,如PyCharm和SparkSQL,完成从数据抓取到模型优化的全过程。

被折叠的 条评论
为什么被折叠?



