当前位置:   article > 正文

毕业设计:python股票推荐系统 数据分析可视化 协同过滤推荐算法 Django框架(源码+论文)✅

毕业设计:python股票推荐系统 数据分析可视化 协同过滤推荐算法 Django框架(源码+论文)✅

博主介绍:✌全网粉丝10W+,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久,选择我们就是选择放心、选择安心毕业✌感兴趣的可以先收藏起来,点赞、关注不迷路✌

毕业设计:2023-2024年计算机毕业设计1000套(建议收藏)

毕业设计:2023-2024年最新最全计算机专业毕业设计选题汇总

1、项目介绍

技术栈: python 、django框架、requests、BeautifulSoup、协同过滤算法、Echarts可视化、HTML

登录注册界面:用户可以注册新账号并登录系统。
个人信息修改:用户可以修改个人信息,如用户名、密码等。
收藏、取消收藏:用户可以收藏感兴趣的股票,也可以取消收藏。
股票新闻爬取并展示:爬取股票相关新闻,并在系统中展示,让用户获取最新的市场资讯。
数据展示:展示股票相关数据,包括历史价格、成交量等。
所有股票可视化:对所有股票进行可视化展示,方便用户比较不同股票的走势。
单个证券具体展示:针对单个证券,提供饼图、折线图、柱状图、k线图等多种展示方式,帮助用户深入了解股票情况。
分类推荐:利用协同过滤算法实现股票分类推荐,为用户推荐符合其兴趣的股票。
后台管理功能:
数据爬取:使用requests和BeautifulSoup库爬取股票数据和新闻。
协同过滤算法:实现推荐系统的协同过滤算法,为用户提供个性化的股票推荐。

2、项目界面

(1)大盘股票K线图

在这里插入图片描述

(2)股票数据可视化分析

在这里插入图片描述
(3)股票资讯新闻
在这里插入图片描述
(4)股票推荐----协同过滤推荐算法

在这里插入图片描述

(5)股票信息
在这里插入图片描述

(6)股票价格信息
在这里插入图片描述
(7)股票可视化分析

在这里插入图片描述

(8)后台数据管理
在这里插入图片描述

3、项目说明

Python股票数据可视化和推荐系统的功能介绍:

用户功能:
登录注册界面:用户可以注册新账号并登录系统。
个人信息修改:用户可以修改个人信息,如用户名、密码等。
收藏、取消收藏:用户可以收藏感兴趣的股票,也可以取消收藏。
股票新闻爬取并展示:爬取股票相关新闻,并在系统中展示,让用户获取最新的市场资讯。
数据展示:展示股票相关数据,包括历史价格、成交量等。
所有股票可视化:对所有股票进行可视化展示,方便用户比较不同股票的走势。
单个证券具体展示:针对单个证券,提供饼图、折线图、柱状图、k线图等多种展示方式,帮助用户深入了解股票情况。
分类推荐:利用协同过滤算法实现股票分类推荐,为用户推荐符合其兴趣的股票。
后台管理功能:
数据爬取:使用requests和BeautifulSoup库爬取股票数据和新闻。
协同过滤算法:实现推荐系统的协同过滤算法,为用户提供个性化的股票推荐。

4、核心代码


#!/usr/bin/env python
#-*-coding:utf-8-*-

import math
import pdb

class ItemBasedCF:
    def __init__(self,train):
        self.train =  train
        
    # def readData(self):
    #     #读取文件,并生成用户-物品的评分表和测试集
    #     self.train = dict()
    #     #用户-物品的评分表
    #     for line in open(self.train_file):
    #         user,score,item = line.strip().split(",")
    #         self.train.setdefault(user,{})
    #         self.train[user][item] = int(float(score))

    def ItemSimilarity(self):
        #建立物品-物品的共现矩阵
        cooccur = dict()  #物品-物品的共现矩阵
        buy = dict()  #物品被多少个不同用户购买N
        for user,items in self.train.items():
            for i in items.keys():
                buy.setdefault(i,0)
                buy[i] += 1
                cooccur.setdefault(i,{})
                for j in items.keys():
                    if i == j : continue
                    cooccur[i].setdefault(j,0)
                    cooccur[i][j] += 1
        #计算相似度矩阵
        self.similar = dict()
        for i,related_items in cooccur.items():
            self.similar.setdefault(i,{})
            for j,cij in related_items.items():
                self.similar[i][j] = cij / (math.sqrt(buy[i] * buy[j]))
        return self.similar

    #给用户user推荐,前K个相关用户,前N个物品
    def Recommend(self,user,K=10,N=10):
        rank = dict()
        action_item = self.train[user]     
        #用户user产生过行为的item和评分
        for item,score in action_item.items():
            sortedItems = sorted(self.similar[item].items(),key=lambda x:x[1],reverse=True)[0:K]
            for j,wj in sortedItems:
                if j in action_item.keys():
                    continue
                rank.setdefault(j,0)
                rank[j] += score * wj
        return dict(sorted(rank.items(),key=lambda x:x[1],reverse=True)[0:N])
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55

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