2009年2月 のアーカイブ

クラスター分析の2次元マッピングを動画にしてみた

クラスター分析の2次元マッピングを動画にしてみたをはてなブックマークに追加 クラスター分析の2次元マッピングを動画にしてみたをdel.icio.usに追加 Yahoo!ブックマークに登録 クラスター分析の2次元マッピングを動画にしてみたをGoogle Bookmarksに追加

2009年2月26日 木曜日
305.png

昨日失敗した2次元マッピングがうまく行きました。かなり綺麗にプロットする事が出来まして、前回失敗した原因は、誤差の是正回数が少なすぎたためでした。
前回は3回程の誤差修正でプロットが終了してしまっていたのですが、今回は50回近く是正が起こっており、その様子を動画にしてみました。notaggingというタグ名(タグ付けされていないものを分析のため私が設定した)集まってヒョコっとまとまって行く姿がよくわかりますね。一瞬で終わってしまうので細かいところは解りにくいですが、いろんなタグがみょーんて動いて集まって行く様子はわかるかと思います。

動き始めの誤差の修正は大きいのですが、だんだんとこの修正幅が狭まっていき、最終的には(ある程度の誤差が存在していても)修正幅が無くなって行きます。

ちなみに動画の作成はffmpegで行っています。

svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
cd ffmpeg
./configure
make
sudo make install

でffmpegがインストールされるので、

ffmpeg -i %d.png cluster.mpg

とかやると連番の画像が動画になって出力されます。ストップモーションアニメでも使えますね!

pythonでSBM研究4

pythonでSBM研究4をはてなブックマークに追加 pythonでSBM研究4をdel.icio.usに追加 Yahoo!ブックマークに登録 pythonでSBM研究4をGoogle Bookmarksに追加

2009年2月25日 水曜日
pythonでSBM研究(というかクラスタリング研究)で画像出力してみました。
PILというライブラリを利用して出力していますが、要所要所つまずいたのでメモを残しておきます。

まず、トニモカクニモ画像出力ライブラリがないと、デンドログラムとか描けないので、PIL(PythonImagingLibrary)からアーカイブを引っ張って来てコンパイルしてみた。けど、truetype fontで文字を書こうとしたらなんかエラーが起きて_imagingft.soが無いとか言われた。調べてみると、たしかに

/Library/Python/2.5/site-packages/PIL

にいなかった。
ググってみたらMacの場合は、みんなMacPortsでインストールしている模様。というわけで、ワタシもインストールしなおした。

sudo port install py25-pil

_imagingft.soもちゃんとあったのでこれで文字が書けますね!

で、今度はうまくエンコードできなくて困った。これも色々と調べてみて、

def draw2d(data,labels,png='mds2d.png'):
font = ImageFont.truetype("HONYA-JI.ttf", 16, encoding='utf-8' )
img=Image.new('RGB',(2000,2000),(255,255,255))
draw=ImageDraw.Draw(img)
for i in range( len( data ) ):
x=(data[ i ][ 0 ] + 0.5 ) * 1000
y=(data[ i ][ 1 ] + 0.5 ) * 1000
draw.text( ( x, y ), unicode( labels[ i ], "utf-8" ), font = font, fill = ( 0, 0, 0 ) )
img.save( png,'PNG' )

上記の(2次元画像出力)コードで正しくエンコードされて文字が描けて且つ、画像になったので良しとする。

今日出力したのは、デンドログラムと2次元マッピング。
利用するデータは今回もlivedoorClipデータセットです。ただ、このデータセットには各URLに対するタイトルがついてなくて、URLだけじゃ出力された際にどんな風に分析がかかっているのか解りにくい(URLからはコンテンツが想像しづらいものが多い)。ので、とりあえず、URLに付けられたタグの嵩みが最大のものを出力してみました。
すると、gimpとかillustratorとかphotoshopとかが近い位置にクラスタリングされてて感動した。さらに、エロ、パンチラ、アダルト、エッチ、動画なんかも近い位置にクラスタリングされていて泣いて喜んだ。
で、2次元に出力したやつはどうも上手くいってないようで、かなりばらけてしまった。演算の桁のレンジにかなりの幅があって、いろいろと修正を加えたりしたからだろうか。どちらかというとこの2次元マッピングの方に期待していたんだけど。

デンドログラム

clusters.png

2次元マッピング

mds2d.png

pythonでSBM研究3

pythonでSBM研究3をはてなブックマークに追加 pythonでSBM研究3をdel.icio.usに追加 Yahoo!ブックマークに登録 pythonでSBM研究3をGoogle Bookmarksに追加

2009年2月24日 火曜日
クラスタ分析してみました!
219URLを3516タグで分析かけてみました。昨日SQLiteに登録した21万件のURLと11万件のタグで分析することはちょっと無理なんじゃないかと思い(単純に21万×11万レコードの下敷きが必要)、昨日のテーブルのそれぞれのcountが100件以上のものを抽出してテストしてみました。
→分析自体は数分で済みましたので、もう少し母数を増やしても現実的な処理時間になりそうです。

で、気になるこの分析はちゃんとグループ化されているのでしょうか?

http://d.hatena.ne.jp/amachang/20071010/1192012056
-
http://javascriptist.net/
-
http://www.imgsrc.co.jp/~kuriyama/prototype/prototype.js.html
http://dvddog.17.dtiblog.com/

上記はamachangのIT戦記とjavascript関係のページが近くのグループでクラスタリングされているという結果です。各URLにおいてjavascriptでタギングされた嵩みが大きかったんだと思います。
タグ自体がそのページのダイジェストというか、ブックマーカーによる分類なので、例えば、AページとBページが具体的に何の関係もないコンテンツだとしても、「これはひどい」「これはすごい」とか「あとで読む」だとかで共通のタグ付けがされていると近い位置で分類されるようです。ということで、多分うまくふるい分けられているだろう事が解りました!

ちなみにpythonのコードは集合値プログラミングに記述されたものを利用していて、以下URLよりダウンロードできます。

Programming Collective Intelligenceのexampleというリンク

チャプター3ディレクトリ内のソースを利用していてデータはlivedoorClipDataSetで頂けます。

javascriptでクラスタ分析やってみた
も、もしかしたら参考になるかもしれません。

クラスタ結果

-
-
-
-
http://cookpad.com/
http://paradisewalk.net/kabu/
-
-
-
http://mixi.jp/
http://rune-moon.com/
-
http://www.iknow.co.jp/
-
http://labs.unoh.net/2006/09/post_44.html
http://d.hatena.ne.jp/bambix/20070312/1173628642
-
http://d.hatena.ne.jp/miyakichi/20071126/1196044238
-
http://blog.livedoor.jp/dankogai/archives/50957658.html
-
-
http://semooh.jp/jquery/
-
-
-
http://www.ajaxload.info/
http://paradisewalk.net/onlinecasino/
-
-
http://www.openspc2.org/JavaScript/Ajax/Ajax_study/index.html
http://paradisewalk.net/takarakuji/
-
http://fnya.cocolog-nifty.com/blog/2006/08/ajax_76d4.html
http://musicpv.sblo.jp/
-
-
http://d.hatena.ne.jp/amachang/20071010/1192012056
-
http://javascriptist.net/
-
http://www.imgsrc.co.jp/~kuriyama/prototype/prototype.js.html
http://dvddog.17.dtiblog.com/
-
-
http://gigazine.net/index.php?/news/comments/20060801_aptana/
http://xn--kck6a0a2002a9zu255c8vm.jp/
-
http://gigazine.net/index.php?/news/comments/20070419_tab_ajax/
-
http://www.hereticanthem.com/webdesign/295/
-
http://jp.cssez.com/
-
http://gigazine.net/index.php?/news/comments/20070425_bestcss/
-
-
http://www.geocities.jp/multi_column/
http://www.onlinesanctuary.com/onlinepachinko/
-
http://css-happylife.com/log/memo/000100.shtml
-
http://phpspot.org/blog/archives/2006/09/css20.html
-
http://2xup.org/log/2006/07/11-1956
http://soft.vc/kyotei/kyoteiwinner2007.html
-
-
http://www.atmarkit.co.jp/fnetwork/rensai/5minplagger/01.html
-
http://ido.nu/kuma/2007/02/08/too-easy-to-use-too-cool-to-yahoo-yahoo-pipes/
http://www.ideaxidea.com/archives/2008/06/yahoo_1.html
-
-
http://gigazine.net/index.php?/news/comments/20060820_html_elements/
-
http://www.seotools.jp/
http://imj.kir.jp/
-
http://labs.unoh.net/2007/06/post_92.html
-
-
-
http://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8
http://paradisewalk.net/future/
-
-
http://www.weblio.jp/
http://blog.livedoor.jp/dvddog/
-
http://www.popjisyo.com/WebHint/Portal.aspx
http://www.onlinesanctuary.com/onlinecasino/
-
-
-
http://www.google.co.jp/
http://club-rich.net/
-
-
http://www.popxpop.com/archives/2007/02/gmailtips10.html
http://google-mania.net/archives/643
-
-
http://gmail.1o4.jp/firefox.html
http://cats.a123.co.jp/
-
http://japanize.31tools.com/
-
-
http://gigazine.net/index.php?/news/comments/20060415_firefoxthunderbird/
http://www.onlinesanctuary.com/roulette/
-
http://mozilla-remix.seesaa.net/article/40026111.html
http://soap.s216.xrea.com/umu/mt/archives/001167.html
-
-
-
-
http://clip.livedoor.com/register/finish
-
-
http://clip.livedoor.com/bookmarklet/
http://mail444.jp/
-
http://clip.livedoor.com/config/
http://paradisewalk.net/takarakuji/loto/
-
-
http://blog.livedoor.jp/ld_directors/archives/50735409.html
-
http://reader.livedoor.com/reader/
http://paradisewalk.net/kyotei/
-
-
http://clip.livedoor.com/
http://imj.kir.jp/info/
-
http://www.livedoor.com/
http://dvddog.jp/
-
-
-
http://newsing.jp/
http://xn--y9qv79bor2athh.jp/
-
-
http://www.itmedia.co.jp/
http://paradisewalk.net/keirin/
-
http://japan.cnet.com/
http://paradisewalk.net/takarakuji/numbers/
-
-
http://www.hatena.ne.jp/
http://dvddog.blog94.fc2.com/
-
http://e0166.blog89.fc2.com/blog-entry-210.html
-
-
http://b.hatena.ne.jp/
http://webcats.jp/
-
-
http://watcher.moe-nifty.com/memo/2005/10/bookey.html
http://www.onlinesanctuary.com/onlinepoker/
-
http://www.mixclips.org/
http://www.addclips.org/
-
-
-
http://gigazine.net/index.php?/news/comments/20070705_amazon_bargain/
-
http://www.amazon.co.jp/
http://xn--eckaqff5e5fob9rsdc5271n85ub.jp/
-
http://www.popxpop.com/archives/2007/06/post_298.html
-
-
http://www.rakuten.co.jp/
http://paradisewalk.net/software/
-
http://kakaku.com/
http://www.onlinesanctuary.com/onlineslot/
-
-
-
http://staff.aist.go.jp/toru-nakata/sotsuron.html
http://www.onlinesanctuary.com/bookmaker/
-
-
-
http://www.bizocean.jp/operating/business_form/
http://www.designwalker.com/2008/02/powerpoint.html
-
-
http://www.ideaxidea.com/archives/2005/09/_10.html
http://harshjokers.sblo.jp/
-
http://d.hatena.ne.jp/himazublog/20070408/1175994799
-
http://www.itmedia.co.jp/bizid/articles/0610/23/news006.html
-
http://www.itmedia.co.jp/bizid/articles/0607/24/news034.html
http://xn--7rs178bg0js23a.jp/
-
-
http://www.ideaxidea.com/archives/2006/08/excel.html
-
http://www.itmedia.co.jp/bizid/articles/0705/10/news127.html
http://coliss.com/articles/software/899.html
-
http://www.itmedia.co.jp/bizid/articles/0704/19/news051.html
-
-
http://gigazine.net/index.php?/news/comments/20070816_ophcrack/
-
http://goodsite.cocolog-nifty.com/uessay/2006/12/100tips_dda4.html
-
http://hail2u.net/blog/software/turn-off-zip-folder.html
-
http://www.mtblue.org/pc/tips/speed_up_xp.php
http://soft.vc/keiba/keibawinner2007.html
-
http://tool-emon.com/
-
http://gigazine.net/index.php?/news/comments/20060901_super_c/
-
http://freesoft.nomaki.jp/
http://www.designwalker.com/2007/07/cs-alternative.html
-
-
http://e0166.blog89.fc2.com/blog-entry-244.html
-
http://www.popxpop.com/archives/2007/02/illustrator.html
-
http://www.popxpop.com/archives/2007/01/post_28.html
-
http://www.designwalker.com/2007/01/photoshop-brushes.html
http://gigazine.net/index.php?/news/comments/20070326_photoshop_tutorial/
-
http://gigazine.net/index.php?/news/comments/20070225_wallpaper/
-
-
-
http://gigazine.net/index.php?/news/comments/20061017_free_music/
http://gigazine.net/index.php?/news/comments/20070203_sampleswap/
-
-
http://www.designwalker.com/2007/02/stock-photo.html
http://www.ashinari.com/
-
http://priea.jp/
http://kosstyle.blog16.fc2.com/blog-entry-729.html
-
-
http://sugoi.doko.jp/
http://www.freemap.jp/index.html
-
-
-
http://www.sociomedia.co.jp/category/uidesignpatterns/
-
-
http://gigazine.net/index.php?/news/comments/20061023_mini_icon/
http://www.popxpop.com/archives/2006/12/post_48.html
-
-
-
http://www.colordic.org/
http://soft.vc/keirin/keirinwinner.html
-
http://kuler.adobe.com/
-
http://2xup.org/repos/
-
http://www.colourlovers.com/
http://soft.vc/kyotei/kyoteiwinner.html
-
http://gigazine.net/index.php?/news/comments/20061111_web20_design/
-
-
-
http://e0166.blog89.fc2.com/blog-entry-139.html
http://e0166.blog89.fc2.com/blog-entry-185.html
-
http://www.mdn.co.jp/content/view/1619/104/
-
-
-
http://www.ikesai.com/
http://soft.vc/
-
http://www.designlinkdatabase.net/
http://xn--lckh3dvdtc8ib.jp/
-
http://labs.unoh.net/2006/11/web.html
http://blog.37to.net/2007/01/web_1/
-
-
http://lab.rails2u.com/bgmaker/
http://paradisewalk.net/pachinko/
-
http://www.simplexsimple.com/archives/2007/05/photoshop15.html
-
http://e0166.blog89.fc2.com/blog-entry-454.html
-
http://www.designwalker.com/2007/01/generator.html
http://e0166.blog89.fc2.com/blog-entry-213.html
-
http://heartattack507.blog84.fc2.com/blog-entry-1053.html
-
http://sweetlovexx.seesaa.net/article/23438377.html
http://heartattack507.blog84.fc2.com/
-
-
-
http://img.simpleapi.net/
http://paradisewalk.net/sports/
-
http://www.mashupedia.jp/
-
http://zapanet.info/api/
-
http://blog.zuzara.com/2006/07/20/98/
http://soft.vc/keirin/keirinwinner2007.html
-
http://www.htaccesseditor.com/
-
-
-
http://www.checkpad.jp/
http://onlinesanctuary.com/
-
http://www.rememberthemilk.com/
http://soft.vc/keiba/keibawinner.html
-
http://nakanohito.jp/
-
http://keisan.casio.jp/has10/Menu.cgi
-
-
http://www.fct.co.jp/benri/
http://paradisewalk.net/
-
-
http://netafull.net/lifehack/016383.html
http://www.itmedia.co.jp/bizid/articles/0803/26/news127.html
-
http://www.popxpop.com/archives/2007/04/post_226.html
-
http://itpro.nikkeibp.co.jp/article/COLUMN/20061213/256829/
-
http://q.hatena.ne.jp/1138362836
http://paradisewalk.net/keiba/
-
-
-
http://baikyaku.net/
http://www.s-style.ne.jp/
-
http://www.uranai-kankan.com/
-
http://www.akibatec.net/freefont/
-
http://note.openvista.jp/211/
-
http://www.designwalker.com/2007/03/jp-font.html
http://blog.4galaxy.net/56.html
-
http://paradisewalk.net/affiliate/affiliate.php
-
http://www.yahoo.co.jp/
http://mcats.jp/
-
-
http://blog.livedoor.jp/vcatsumeda/
-
http://heartattack507.blog84.fc2.com/blog-entry-1056.html
-
-
-
http://heartattack507.blog84.fc2.com/blog-entry-928.html
-
http://www.nicovideo.jp/
-
http://www.youtube.com/
http://vcats.jp/
-
http://gigazine.net/index.php?/news/comments/20061205_flv_converter/
http://rimo.tv/
-
http://otakara-douga.blogspot.com/
-
http://www.webee2.tv/home.html
-
-
http://today-student-girl.blogspot.com/
-
http://cos-play-girls.blogspot.com/
-
-
http://www.convini.tv/
-
http://www.webee2.tv/
-
http://thenudistbeaches.blogspot.com/
-
http://artistic-nude.blogspot.com/
-
http://special-race-queen.blogspot.com/
-
http://panty-get.blogspot.com/
-
http://webee-rinako.cocolog-nifty.com/blog/
http://mayuming-love.blogspot.com/
-
http://bikini-girls-sexy.blogspot.com/
-
http://h-animation.blogspot.com/
-
http://hflickr.blogspot.com/
http://japanese-idol-special.blogspot.com/
-
http://animation-girls.blogspot.com/
http://asian-erotic-girls.blogspot.com/
-
http://www.sougou-hikaku.jp/
-
http://paradisewalk.net/fx/
-
http://gita.iroiro33.com/
-
http://imcenter.jp/
-
http://heartattack507.blog84.fc2.com/blog-entry-929.html
http://heartattack507.blog84.fc2.com/blog-entry-1083.html