タグ

ブックマーク / chalow.net (2)

  • 誤り許容カウント法(lossy count method)のサンプルプログラム

    誤り許容カウント法(lossy count method)のサンプルプログラム 2010-05-12-1 [Programming][Algorithm] 1行1ラベル形式で、 1万種類のラベルを持つ、 100万行のデータがあるとします (ラベルの頻度分布はジップの法則にだいたい準拠するとします)。 各ラベルの頻度をハッシュを使ってカウントするとなると、ハッシュエントリ1万個分のメモリ容量が必要になります。(1万じゃたいしたことないな、という人はもっと大きな数に置き換えて読んでください。) しかし、カウント後に高頻度のものしか使わないということも多いと思います。例えば頻度5000以上のもののみ取り出してあとはいらない、とか。 そうなると、全部のラベルのカウントデータを最後まで保持するのは無駄に思えます。 そこで登場するのが「誤り許容カウント法(lossy count method)」。 低

    誤り許容カウント法(lossy count method)のサンプルプログラム
  • 入力された名前で適当に成分分析するロジック

    入力された名前で適当に成分分析するロジック 2010-02-08-1 [Programming] 一時期流行した「○○成分分析」を簡単に実現する方法。 サンプルとして perl のコード片で解説する。 コード(seibun.pl): #!/usr/bin/perl use strict; use warnings; use utf8; use Encode; use open ':utf8'; binmode STDIN, ":utf8"; binmode STDOUT, ":utf8"; my @data = ( ["パン", 37], ["甘夏", 19], ["苺", 41], ["納豆", 23], ["LOVE", 31], ); while (<>) { chomp; my $r_ref = name2seibun($_, \@data); foreach my $i (@$r

    入力された名前で適当に成分分析するロジック
  • 1