BP Study #14に行ってきた
今回は28人でpython系コミュニティの人たちもきてたみたい。
まずは、感想。
集合知(松風さん)
オライリーの集合知プログラミング本について。
実際にWebアプリを作ってみたよって話。
なんとScalaとliftで実装したそうだ。
懇親会でLiftについて感想聞いてみたけど、やっぱりわかりづらいって。
そりゃそうだ。
集合知プログラミングでは、データをクラスタリングしたり、特徴を抽出したりと
面白いアルゴリズムがあるので、本を買って読んでみようと思う。
集合知プログラミング
posted with amazlet at 08.11.01
おすすめ度の平均: 

応用しやすいアルゴリズムDjangoの紹介とAdminカスタマイズ (id:tokibito id:nullpobug)
Djangoについての紹介。
DjangoのAdminサイトのカスタマイズについての方法。
実際にカスタマイズする際には参考になりそうなないようだった。
やっぱり今はpythonがアツいのか。
懇親会
にんにく屋という店で。
にんにくメインの料理で、かなりおいしかった。
っていうか、BP Studyの懇親会で行くお店はどこもおいしい。
密かに楽しみにしてます。
集合知プログラミングとか遺伝的PGとかと関数型言語の話で盛り上がった。
あと、MoonGiftの方とお会いできた。
今度ランチに行くことに。楽しみだ。
元気な人は2次会に行ったみたいだけど、昨日はさすがに電車で帰らないと嫁に怒られるので、終電で帰ってきた。
でも楽しかった。
以下はメモ。
■集合知(松風さん)
オライリーの集合知プログラミング
集合知とは?
ようはみんなの知識をまとめたもの
サイト
投票型 食べログ、ラーメンデータベース、4travel.jp,
解析型 kizasi,NewsGraphy
集合知プログラミング
blogの内容を解析してグルーピング、特徴をまとめる
Webアプリ作ってみるお!
キーワードを入れると関連するサイトを自動で作る
Scalaで実装。なんとLift!
→Djangoの方が楽に出来たかも?
→でも楽しいお!
サーバー環境はslicehost
EC2は初期設定めんどそう
→2分くらいで
→インスタンスを停止するとイメージが消える
グループを見つけ出す
データクラスタリング
googleのblog検索RSSを利用してグループ分け
形態素解析で名詞を抽出。Mecabのjava binding
Yahooは一日5万アクセスって制限ある
単語の頻度表を作成
K平均法によるクラスタリング
RSS Auto Discoveryでblog検索からblogのFeedを取得
RSSの解析はscalaのxmlリテラルで
K平均法クラスタリング
ビアソン相関
2つの確率変数間の相関を-1〜1で表す
→2つのデータ列をグラフにし、プロットした点の近似直線が
傾き1に近いほど似ている
似ていない場合は傾きが0に近い
→AmazonのRecomendationなど
重心の数は?
重心がカテゴリ数
グルーピングされたクラスタの特徴は?
→なんか分析するアルゴリズムがある
二次元の図で見せるとわかりやすいかも
見せ方重量
データの特徴をつかむ
Blogのエントリ1個1個を要素として
エントリ単位で単語頻度表を作る
→表を行列にして
→非負値行列印紙分解(NMF)すると特徴のデータが抽出できる
→oracle data miningとかでもやってるぽい
→2つの行列に分解する
→重みの行列 × 特徴の行列 の形にする
→特徴の行列 単語がそれぞれの特徴に対してどのくらい重要度をもつかの表
→重みの行列 特徴に対して記事がどのくらいマッチするか表す
→(何らかのスコアリングに使えそうなアルゴリズム)
遺伝的プログラミング
→機械学習の技術
→大量のプログラムの集団を生成して、交配などさせる
Box2DAS3
→物理法則を勝手にやってくれる
amCharts
→グラフとか表示してくれる
■Djangoの紹介とAdminカスタマイズ (id:tokibito id:nullpobug)
Djangoの紹介
DjangoAdmin
標準で管理サイトのアプリがついてる
→ちょっと物足りないのでカスタマイズ
ModelAdminを登録することでCRUDをカスタマイズ
→ModelAdmin.Inlinesで関連先も同時に編集
→ListFilter
テンプレートのカスタマイズ
AdminSite.index_templteや.login_tempate、.app_templateにテンプレートのパスを設定すると優先して見に行く
templates/adminにおいておく
app_directoriesに優先して使用させたいTEMPLATE_LOADERを指定する
メディアファイル(CSS,JavaScript)
ModelAdmin.Media
{% block extrahead %}に書く
Viewをカスタマイズ
AdminSite/ModelAdminを軽装して
URLバンドリングのメソッドをOverride
urlresolverを使う?(未確認)
別アプリケーションとしてViewにパーミッション設定する
google codeにDjango Profiler
(Templateの継承を指定するときにXPATHとかで指定できたら便利なのになぁ)
