计算机毕设之 基于协同过滤的考研推荐系统

1 简介

今天向大家介绍一个帮助往届学生完成的毕业设计项目,基于协同过滤的考研推荐系统

计算机毕业生设计,课程设计需要帮助的可以找我

2 设计概要

21世纪是信息化时代,随着信息技术和网络技术的发展,信息化已经渗透到人们日常生活的各个方面,人们可以随时随地浏览到海量信息,但是这些大量信息千差万别,需要费事费力的筛选、甄别自己喜欢或者感兴趣的数据。对网络电影服务来说,需要用到优秀的协同过滤推荐功能去辅助整个系统。

本系统基于java技术,使用UML建模,采用springboot框架组合进行设计,Mysql数据库存储数据。本系统的功能主要包括:用户注册、登录、信息维护、搜索院校、院校详情、考研分数线,考研院校推荐,协同过滤个性化推荐以及管理员进行信息管理等。

3 系统关键技术

使用springboot,vue,mysql, mybaties, typescript, html ,css, js,协同过滤算法 等进行开发

4 开发工具

开发工具主要有:idea、jdk1.8、maven、mysql5.7、Navicat等。

5 代码展示

@RestController
@RequestMapping("question")
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class QuestionController {

    private final QuestionMapper questionMapper;


    @GetMapping("/{id}")
    public QuestionBean get(@PathVariable long id) {

        var entity = questionMapper.selectById(id);
        return BeanUtil.to(entity, new QuestionBean());
    }

    @GetMapping("/list")
    public List<QuestionBean> getList(QuestionBean query) {

        var list = questionMapper.selectList(
                Wrappers.<QuestionEntity>lambdaQuery()
                        .eq(
                                query.getQuestionGroupId() != null,
                                QuestionEntity::getQuestionGroupId,
                                query.getQuestionGroupId()
                        )
                        .like(
                                StrUtil.isNotBlank(query.getQuestionTitle()),
                                QuestionEntity::getQuestionTitle,
                                query.getQuestionTitle()
                        )
        );

        List<QuestionBean> beanList = new ArrayList<>();
        for (QuestionEntity entity : list) {
            var bean = BeanUtil.to(entity, new QuestionBean());
            if (entity.getRightAnswer() == null) {
                bean.setRightAnswer(Collections.emptyList());
            }
            if (entity.getErrorAnswer() == null) {
                bean.setErrorAnswer(Collections.emptyList());
            }

            Map<String, Boolean> answer = new LinkedHashMap<>();
            for (String right : bean.getRightAnswer()) {
                answer.put(right, true);
            }
            for (String right : bean.getErrorAnswer()) {
                answer.put(right, false);
            }

            List<String> keys = new ArrayList<>(answer.keySet());
            Collections.shuffle(keys);

            Map<String, Boolean> newAnswer = new LinkedHashMap<>();
            for (String key : keys) {
                newAnswer.put(key, answer.get(key));
            }
            bean.setAnswer(newAnswer);
            beanList.add(bean);
        }

        return beanList;
    }

6 系统功能描述

项目功能演示

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

7 最后

计算机毕业生设计,课程设计需要帮助的可以找我

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值