V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
alwayshere
V2EX  ›  程序员

大家觉得我这种简单的排序方法合不合适?

  •  
  •   alwayshere · 2018-08-08 08:52:07 +08:00 · 3624 次点击
    这是一个创建于 2303 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个图片网站,需要将最好看的图片排在前面以吸引用户,每张图片都有两个字段:浏览数和下载数,毫无疑问浏览数越高,图片越好看;下载数越高,图片也越好看,那么问题来了,怎样将浏览数最高同时下载数越高的图片排在前面,也就是说怎样权衡二者的关系?

    我目前想的是,将所有图片的浏览数之和除以所有图片的下载数之和,这样得到一个大致比例,比如 10:1,也就是说每张图片平均浏览 10 次就有 1 次下载,那么,我就将所有图片的下载数×10+浏览数,得到的这个数值从大到小排列,是不是就是“最好看的图片降序排列”?

    还有没有更好的排序方法?

    22 条回复    2018-08-09 09:35:43 +08:00
    daozhihun
        1
    daozhihun  
       2018-08-08 08:57:01 +08:00 via Android
    光按用户喜好度这样排序没问题,顶多调整一下权重。不过要兼顾新图片,最好给新图片额外的权重使首页能随机出现一些,不然在前面的永远都是那些老图片,新图片用户就很难看见了。
    wwg1994
        2
    wwg1994  
       2018-08-08 08:57:25 +08:00
    一个图片浏览次数很少,但下载率很高的情况呢?比如浏览次数 10,下载次数 6~8
    sikariba
        3
    sikariba  
       2018-08-08 09:03:09 +08:00
    对于老图片,可以像 v2 这样搞一个下沉因子?
    psychoo
        4
    psychoo  
       2018-08-08 09:04:26 +08:00
    我觉得 喜欢程度=图片的下载数*x+浏览数,x ( 0<x<+∞)的大小可以根据总浏览数(网站受欢迎程度)或者两个比较相似的图片(即同一类型且彼此下载数和彼此浏览数相近的图片)采用不同 x 的值对比进行动态调整

    此外,可以学抖音的做法,中间穿插一些新的图片,保持整个网站的活力
    yulitian888
        5
    yulitian888  
       2018-08-08 09:05:53 +08:00
    难道不是保持新鲜感,随机展示吗?而且只计算下载量和点击量,还有可能引起刷榜作弊。
    定时,比如一个星期做一次权重计算,得出一个范围,比如展示数量 20 张的话,就弄四五百张的做橱窗图片池,每次(这样新鲜感比较高),或者每天(这样可以用缓存)随机展示其中 20 张。
    PulpFunction
        6
    PulpFunction  
       2018-08-08 09:07:26 +08:00
    浏览+下载数 越大越靠前就完事了
    PulpFunction
        7
    PulpFunction  
       2018-08-08 09:10:47 +08:00
    人们往往也只看第一页的东西,保持新鲜还是得更新内容,旧的东西不能太多,你参考某 hub,hotest 目录下也是在更新,就看不到前几天的热门
    我觉得就是今天的观看下载数目 作为明天的首页显示一下
    Yafeng043
        8
    Yafeng043  
       2018-08-08 09:15:35 +08:00 via iPhone
    个人觉得不太合适。需要对浏览量和下载量分别排序,然后记下分别的序号,对序号进行加权平均,直接算数平均也好。
    ebingtel
        9
    ebingtel  
       2018-08-08 09:24:33 +08:00
    应该加上时间因子,新的应该展示出来
    x7395759
        10
    x7395759  
       2018-08-08 09:25:13 +08:00
    算法题呀哈哈哈
    tanglijun
        11
    tanglijun  
       2018-08-08 09:27:51 +08:00
    从 seo 角度来讲,还是随机展现好
    annielong
        12
    annielong  
       2018-08-08 09:32:22 +08:00
    加时间因素,单位时间内下载和浏览量显示,或者干脆单独加一个模块,独立显示下载和浏览量排行,
    zarte
        13
    zarte  
       2018-08-08 09:33:06 +08:00
    分个热门与最新,热门用来吸引新人。
    Bobc
        14
    Bobc  
       2018-08-08 09:42:13 +08:00
    这没什么标准答案。。。我赞同 1 楼的观点
    enenaaa
        15
    enenaaa  
       2018-08-08 10:02:24 +08:00
    可以参看阮一峰的 基于用户投票的排名算法 系列
    http://www.ruanyifeng.com/blog/2012/02/ranking_algorithm_hacker_news.html
    jianpanxia
        16
    jianpanxia  
       2018-08-08 10:20:15 +08:00
    你这样是会失去大量老用户的。
    grayon
        17
    grayon  
       2018-08-08 10:58:00 +08:00
    下载数 /浏览数
    kangkang
        18
    kangkang  
       2018-08-08 11:03:25 +08:00
    浏览 /下载+投票机制+按时间降权
    bilibilifi
        19
    bilibilifi  
       2018-08-08 14:30:03 +08:00 via iPhone
    按 mahalanobis distance 排. 假设数据是正态分布的话很管用,
    alwayshere
        20
    alwayshere  
    OP
       2018-08-08 15:52:56 +08:00
    @bilibilifi 第一次听说这个,能详细解释下吗?谢谢
    pinews
        21
    pinews  
       2018-08-08 21:05:25 +08:00
    @jianpanxia
    @yulitian888 赞成绝不应该想着把最好的图片放在最前面,因为图片是一次性筷子,只有软件放热门的在前面让大家方便下载的。图片只有一个最新的,不管是全部最新的还是经过挑选之后最新的。
    zhzer
        22
    zhzer  
       2018-08-09 09:35:43 +08:00
    下载量怎么统计的?右键下载的捕获不到吧。
    可以试试页面留存时间,或者赞和踩的投票
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5499 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 08:49 · PVG 16:49 · LAX 00:49 · JFK 03:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.