尝试搭建电影推荐系统,日常坑记录


day1:2019-10-22

任务 完成情况
将csv文件通过python导入mysql中 100%
解决办法
1.csv文件无法直接导入到mysql中 修改mysql的配置文件
mac系统里配置文件是my.cnf,地址在/etc/my.cnf。
将配置文件中的secure_file_priv修改为secure_file_priv= ‘’
在这里插入图片描述
2.csv中存在空值,导入失败 这个尝试了很多方法,都跪了,有说是因为高版本的mysql的问题,也是修改配置文件,但我都废了
用最传统的方式,把数据放回pandas中,再存csv时,nan_pre设置为"NULL"
百般绝望下,求助了大神,大神说可以用pandas.to_sql,有机会学习下怎么用
3.在python中执行了sql语句后,无执行效果 在执行cur.execute(sql语句)后,还需要执行cur.commit()
总结与收获
将csv文件导入到mysql中的语句
load data infile “文件地址”
into table “表名"
fields terminated by ‘,’ #字段以什么符号结束
optionally enclosed by '”’ #字符串字段由双引号引起
escaped by ‘"’ #“为转义符
lines terminated by ‘\n’ #单行以\n为结束
ignore 1 lines;#不导入第一行

day 2:2019-10-23

任务 完成情况
完成一个小Frame
在这里插入图片描述
在这里插入图片描述
基本完成啦
海报图片,电影名称和上映时间是从imdb网站上爬的
国外的网站爬起来好慢,导致图片打开很慢
解决办法
1.爬取下来的图片要进行缩放显示 看的网上的博客的代码
大体流程是抓取图片的信息–>转成Bytes格式–>转成PIL图片格式–>利用PIL的resize方法,进行缩放–>转成ImageTk格式,用于tkinter中的加载
2.在函数中加载的图片,在tkinter的窗口中不显示 也是看了很多博客,说是因为函数运行后,变量回收的原因
所以就把图片也作为输出,同时采用exec()函数,创建多个图片变量,防止显示多张图片时,前面的图片变量被覆盖
总结与收获
方法真的是比问题多呢~

day3:2019-10-28

目标 完成情况
搭建电影详细页
在这里插入图片描述
基本完成了电影基本内容的抓取以及投票功能在这里插入图片描述
解决办法
页面加载过于慢 状态:等解决
尝试过把图片保存下来,直接从本地加载图片,速度只提升了0.5秒,但图片要103k,有点得不偿失。
之后尝试多线程的方式
或者只将使用频率较高的图片保存在本地
总结与收获
投票的跳转,用面向对象的思想编写这部分,确实比函数变成要轻松很多

day4:2019-10-29

目标 完成情况
完成基于SVD的推荐系统
电影详细页中基于SVD推荐相关电影
主页中基于SVD的离线推荐
在这里插入图片描述
使用svd进行预测的分数在这里插入图片描述
实现了页面跳转功能

问题:
需要搞定电影介绍类别中出现的乱码问题


day5:2019-10-30
不确定因素的地方基本完成了,接下来按步就按就可以完成了

目标 完成情况
完成ALS的准备工作
设计窗口主页
搞定电影介绍类别中出现的乱码问题
用户登录页面
ALS的参数还在尝试,R2最好只有0.13,不是很理想,很容易过拟合
窗口主页设计好啦
乱码问题是从mysql数据库中提对应的数据,但是发现另一个问题,这个数据集中涉及到的电影感觉都很有历史,可以看一下年份的分布
用户登陆页面还没弄
尝试了多线程,稍微让页面的加载快一丢丢

day6:2019-10-31
十月的最后一天,要好好珍惜呀~争取多做一些事情,搞定这个小项目

目标 完成情况
* 完成ALS的准备工作
* 完成用户登陆和注册页面
* 完成窗口主页
* 完成用户浏览记录页面
ALS的参数调好啦
用户登陆和注册页面弄好啦
用户浏览页面弄好啦
窗口主页涉及到推荐的部分还没有弄哈

十月的最后一天还是没能做完,争取今天完成~
这个稀疏矩阵,真的是好稀疏,超级容易过拟合,使用ALS都不敢迭代太多次数。。。


day7:2019-11-1
新的月的第一天,争取搞定小系统

目标 完成情况
*完成基于的ALS相似矩阵
*完成基于ALS的推荐
*学习实时推荐系统的设计,改良后构建实时推荐系统
全部完成

m o v i e l i s t s i m ( q , r ) s c o r e R s i m ( q , r ) + l g { i n c o u n t , 1 } l g { r e c o u n t , 1 } \frac{\sum\limits_{movielist}sim(q,r)*score_R}{\sum\limits{sim(q,r)}}+lg\{incount,1\} - lg\{recount,1\}


day8:2019-11-2
明媚的周六~
系统已经建好啦,就测试好啦。
但是,有点不甘心,感觉没有搜索页怪怪的,今天再添加一个基于电影名称的搜索页面


day9:2019-11-4
全部完成啦~
打算做一个小视频,推销一下自己的成果
视频做好啦
上传到B站啦
https://www.bilibili.com/video/av74664530


暂时告别~
学习深度学习后,再进行改进

发布了38 篇原创文章 · 获赞 9 · 访问量 2423

猜你喜欢

转载自blog.csdn.net/weixin_44264662/article/details/102708591
今日推荐