タグ

2009年5月14日のブックマーク (2件)

  • 統計的に正しいランキングを行う方法をJavaで書く - バイオインフォマティクスって何ですか?

    Java | 統計的に正しいランキングを行う方法を見たのでちょっとJavaで書いてみる。はじめになにがしたいかというと、「レイティング」というのをご存じでしょうか。Amazonとかで商品を購入者が星つけて評価したりしてるやつ。ああいうので「良かったランキング」というのを作りたい。みんなが「購入して良かった」という評価をつけてる商品は、他の人にとっても「良かった商品」になる可能性が高い。いい商品だということがわかるわけです。問題点じゃあどういうふうにランキングをつければいいの?ということを考えると、次の問題にぶちあたる。評価してる人の数の違い。例えば、Aという商品は100人が評価していて、平均の星の数は 4.8 だとする。一方、Bの商品は1人が星5つで評価していたとする。このとき、Aの商品とBの商品ではどちらをランキング上位にすればいいだろうか?あなたならどちらを買いたい?Aはたくさんの人が

    Nagise
    Nagise 2009/05/14
    えーマジ相加平均!?相加平均が許されるのは小学生までだよねー。キャハハハハハハというための統計手法
  • MySQLで階層化されたデータを扱う(再帰的に検索しないで済む方法) - on the center line.

    Oracleの場合は、Start With〜Connect By Prior〜というSQLで階層化されたデータを取り扱うことができます。では、MySQLではどうか?下記のサイトでしっかり解説してありました。 Managing Hierarchical Data in MySQL 階層化されたデータをMySQLで扱う(上記の日語訳) 要約すると、 階層化データを扱うには、Adjacency List モデルとネストセットモデルの2つがある Adjacency List モデルは直感的でわかりやすい。更新も簡単。 しかし、Adjacency List モデルで表されたデータを検索するのはやや面倒(MySQLでは。) 一方、ネストセットモデルで表されたデータは検索しやすい しかし、ネストセットモデルは更新が面倒 といったところです。どちらの方法にもそれぞれメリット・デメリットがありますが、Ad

    MySQLで階層化されたデータを扱う(再帰的に検索しないで済む方法) - on the center line.
    Nagise
    Nagise 2009/05/14
    挿入への耐性を高めるためのデータ構造の修正案