当前位置: 首页 > news >正文

中山百度网站建设广告推广方式

中山百度网站建设,广告推广方式,手机做网站的网站,做网站广告经营者文章目录前言1.建表并且生成一些数据首先,建立一个用户文章操作表(user_article_operation)使用case when语句简单分析数据2. 代码与测试只需要根据表生成相应实体类(注意要加一个value属性来存储分数)主要代码如下&am…

文章目录

  • 前言
  • 1.建表并且生成一些数据
    • 首先,建立一个用户文章操作表(user_article_operation)
    • 使用case when语句简单分析数据
  • 2. 代码与测试
      • 只需要根据表生成相应实体类(注意要加一个value属性来存储分数)
      • 主要代码如下,其实就两个方法
      • userArticleOperationMapper.getAllUserPreference()方法收集数据mapper文件如下
      • 测试算法
  • 3.核心代码
  • 4.相关参考


前言

我这里只是简单的跑了一下,仅供参考。。
这边只是跑了个文章推荐的demo,不过什么电影,商品啥的都一样,没啥区别

温馨提醒
这个mahout包有毒。。。。很多依赖冲突。。。。
这是我的pom文件,仅仅供参考。。

   <dependencies><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.5.3</version></dependency><dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.30</version><scope>test</scope></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.21</version></dependency><!--引入推荐引擎mahout,注意要先全部引入,再使用exclusion标签--><dependency><groupId>org.apache.mahout</groupId><artifactId>mahout-mr</artifactId><version>0.12.2</version><exclusions><exclusion><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId></exclusion><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId></exclusion><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-jcl</artifactId></exclusion><exclusion><groupId>org.apache.lucene</groupId><artifactId>lucene-core</artifactId></exclusion><exclusion><groupId>org.apache.lucene</groupId><artifactId>lucene-analyzers-common</artifactId></exclusion><exclusion><groupId>log4j</groupId><artifactId>log4j</artifactId></exclusion><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></exclusion><exclusion><artifactId>jersey-client</artifactId><groupId>com.sun.jersey</groupId></exclusion><exclusion><artifactId>jersey-core</artifactId><groupId>com.sun.jersey</groupId></exclusion><exclusion><artifactId>jersey-apache-client4</artifactId><groupId>com.sun.jersey.contribs</groupId></exclusion></exclusions></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.21</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>

1.建表并且生成一些数据

首先,建立一个用户文章操作表(user_article_operation)

在这里插入图片描述
然后生成一些数据,这里使用navicat生成了50条记录(因为只是测试一下算法的准确性因此只生成了3个用户,10篇文章)
在这里插入图片描述

使用case when语句简单分析数据

        SELECTuser_id,article_id,SUM(CASE operation_typeWHEN 0 THEN 3WHEN 1 THEN 3WHEN 2 THEN 5else 0 END) AS "value"FROMuser_article_operationGROUP BY user_id,article_idORDER BY user_id

执行语句如下
在这里插入图片描述

可以看出
1号用户最喜欢6,9号文章,
2号用户最喜欢4,5,6号文章
3号用户最喜欢4,5,6号文章
发现1,2,3号用户都喜欢6号文章,3个用户具有一定相似性。
(别问为啥这么规律,问就是我为了好测试修改了下数据,如果你感觉哪里不对劲的话,那你说的都对(反正我搞这个算法只是用来糊弄老师的😂😂😂))
因此如果要给1号用户推荐文章的话,应该先推荐5号,再推荐4号文章。

2. 代码与测试

只需要根据表生成相应实体类(注意要加一个value属性来存储分数)

在这里插入图片描述

主要代码如下,其实就两个方法

![在这里插入图片描述](https://img-blog.csdnimg.cn/e70aea3c224f4c13b17de84f476016e6.png

userArticleOperationMapper.getAllUserPreference()方法收集数据mapper文件如下

在这里插入图片描述

测试算法

输入推荐5个,但是这里只推荐了四个,应该是样本数据量太小的原因,对比了一下之前运行case when语句时做的的简单预测,5号最推荐,然后是4号,控制台打印的结果还是比较符合的。
(反正糊弄一下老师够了,这里只是提供一个小demo,读者需注意哈🚗🚗🚗🚗)

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

3.核心代码

public List<Long> recommend( Integer userId) throws TasteException {List<UserArticleOperation> userList = userArticleOperationMapper.getAllUserPreference();//创建数据模型DataModel dataModel = this.createDataModel(userList);//获取用户相似程度UserSimilarity similarity = new UncenteredCosineSimilarity(dataModel);//获取用户邻居UserNeighborhood userNeighborhood = new NearestNUserNeighborhood(2, similarity, dataModel);//构建推荐器Recommender recommender = new GenericUserBasedRecommender(dataModel, userNeighborhood, similarity);//推荐2个List<RecommendedItem> recommendedItems = recommender.recommend(userId, 5);List<Long> itemIds = recommendedItems.stream().map(RecommendedItem::getItemID).collect(Collectors.toList());return itemIds;}private DataModel createDataModel(List<UserArticleOperation> userArticleOperations) {FastByIDMap<PreferenceArray> fastByIdMap = new FastByIDMap<>();Map<Integer, List<UserArticleOperation>> map = userArticleOperations.stream().collect(Collectors.groupingBy(UserArticleOperation::getUserId));Collection<List<UserArticleOperation>> list = map.values();for(List<UserArticleOperation> userPreferences : list){GenericPreference[] array = new GenericPreference[userPreferences.size()];for(int i = 0; i < userPreferences.size(); i++){UserArticleOperation userPreference = userPreferences.get(i);GenericPreference item = new GenericPreference(userPreference.getUserId(), userPreference.getArticleId(), userPreference.getValue());array[i] = item;}fastByIdMap.put(array[0].getUserID(), new GenericUserPreferenceArray(Arrays.asList(array)));}return new GenericDataModel(fastByIdMap);}
    <select id="getAllUserPreference" resultType="UserArticleOperation">SELECTuser_id,article_id,SUM(CASE operation_typeWHEN 0 THEN 2WHEN 1 THEN 3WHEN 2 THEN 5else 0 END) AS "value"FROMuser_article_operationGROUP BY user_id,article_id</select>

4.相关参考

1.spring boot项目基于mahout推荐算法实现商品推荐
2.相关内容在章节5-9

http://www.tj-hxxt.cn/news/119377.html

相关文章:

  • 郑州网站建设公司排行百度智能云
  • 高安市帮助做公司网站seo工资一般多少
  • 免费下ppt的网站有哪些国内永久免费域名注册
  • wordpress如何写个插件进一步优化营商环境
  • 西安做的好的网站公司商务网站如何推广
  • 深圳市移动端网站建设个人网络销售平台
  • b2c购物关键词搜索优化公司
  • java如何进行网站开发百度经验实用生活指南
  • 如何做制作头像的网站球队世界排名榜
  • wordpress主题乱码河南seo外包
  • 邯郸做网站网络营销讲师
  • 做网站有没有效果网络营销名词解释答案
  • 福建省城乡住房建设厅网站南京百度快照优化排名
  • 建个什么网站赚钱公司网站如何推广
  • b2c 网站有哪些网页设计公司
  • ps网站主页按钮怎么做外贸网站大全
  • 自己做网站排名好吗网络营销图片素材
  • 广告体验程序网站开发宁波seo资源
  • 简单网站建设公司成都网站建设方案托管
  • 做网站能赚钱么百度品牌专区怎么收费
  • 一般公司网站是什么设计师做关键字广告
  • 环球资源网的网站特色做一个网站需要多少钱大概
  • 拉新十大推广app平台aso优化师
  • 网站如何静态化企业关键词推广
  • 视频网站开发工程师株洲seo排名
  • 专做婴儿的网站seo积分优化
  • 广东注册公司在哪个网站申请seo外链发布平台有哪些
  • 网站设置手机才能播放网站建设加推广优化
  • iis默认网站在哪里物联网开发
  • 做网站需要画原型图么厦门网站制作全程服务