三間飛車急戦

仕掛けが早くて美濃に囲えなかった。しょうがないのでカニカニ銀みたいに銀を出していこうかなと考えたがやっぱりやめた。居玉なんてbg7860みたいじゃないか…w

潰されなかったので良かったけど。

自分でも石田流を少し指してみたい。

ProductName 久保の石田流
久保 利明
マイナビ(日本将棋連盟発行) / ?円 ( 2011-03-24 )


ProductName よくわかる石田流
高崎 一生
マイナビ / ?円 ( 2012-01-25 )


後は将棋始めた時に読んでさっぱり分からなかった四間飛車を指しこなす本を再度読んだら面白くてこればかり読んでいる。

ProductName 四間飛車を指しこなす本〈1〉 (最強将棋塾)
藤井 猛
河出書房新社 / 1404円 ( 2000-03 )


あらかじめクラスタ数を決めないでクラスタリングする方法(Affinity Propagation)

K-meansのように予めクラスタ数を指定すると、「そのクラスタ数は正しいの?」っていう疑問が浮かぶと思う。

「なんらかの統計値に基づいて適切なクラスタに分割して欲しい」そんな願いを叶えるのがAffinity Propagationというクラスタリングアルゴリズムである

exemplara(セントロイドとかクラスタ中心)になるべきパラメータ(responsibility)とクラスタメンバに属しやすさ(availability)を交互に更新していって収束させる手法なので、K-meansのような初期値依存性がないらしい。

クラスタ数は類似度行列の対角要素(自分との類似度)に依存する(デフォルトはmedian)のでここを変更するとクラスタ数も変わるんだけどね。

Scikit-learnではAffinity Propagationが実装されているのでsykのケミストリースペースを作ってクラスタリングしてみた。ちなみにスライドのPCAの説明は間違っていた(pca.fit(fps).transform(fps)としなければいけなかった)。

from rdkit import Chem
from rdkit.Chem import AllChem, DataStructs
from sklearn.decomposition import PCA
from sklearn.cluster import AffinityPropagation
from ggplot import *
import numpy as np
import pandas as pd

suppl = Chem.SDMolSupplier('syk.sdf')

fps = []
for mol in suppl:
    fp = AllChem.GetMorganFingerprintAsBitVect(mol, 2)
    arr = np.zeros((1,))
    DataStructs.ConvertToNumpyArray(fp, arr)
    fps.append(arr)

print len(fps)
pca = PCA(n_components=2)
x = pca.fit(fps).transform(fps)
af = AffinityPropagation().fit(x)

d = pd.DataFrame(x)
d.columns = ["PCA1", "PCA2"]
d["labels"] = pd.Series(af.labels_)
g = ggplot(aes(x="PCA1", y="PCA2", color="labels"), data=d) + geom_point() + xlab("PCA1") + ylab("PCA2")
ggsave("ap.png", g)

1404818907

Mishima.syk #3やりました

発表者の方、参加者の方お疲れ様でした。

RedmineのLTのは生々しいのでpandasの話だけslideshareにあげてあります。

今回新しく試したことはQuestantを使ったアンケートを用意したことかな。あと、一次会の予約が通ってなくて(あの店はあるあるなので気にしないw)ちょっと狭い部屋になったけど、懇親の密度があがって結果オーライですね(二次会の分くらいまで飲んでたしw)

次回もよろしくお願いします☆

三島バルあたりにぶつけられればと考えていますw

ProductName Pythonによるデータ分析入門 ―NumPy、pandasを使ったデータ処理
Wes McKinney
オライリージャパン / 3780円 ( 2013-12-26 )


RDKitでFatal Python error: PyThreadState_Get: no current thread

homebrewのRDKit入れたらこんなエラーに遭遇

$ python mkdesc.py 
Fatal Python error: PyThreadState_Get: no current thread
Abort trap: 6

調べたらboost関連らしい

brew rm boost
brew install --with-icu --build-from-source boost
brew uninstall rdkit
brew install rdkit

で動くようになったけど brew installで再度boostのインストールを始めたので2番目のboostのインストールは必要ないかもしれない

淡々 -> 情熱

先々週くらいのNHK杯で勝った森下卓九段を調べてたら、「将棋への情熱が蘇った」とかあって、僕の燃え尽きたやる気甦れ的にとても興味が湧いたので居飛車の勉強も始めてしまったw

初段に勝つ矢倉を読んで機械相手に指していたんだけど、将皇には勝てるのに何故かハムには苦戦しているw

ProductName 初段に勝つ矢倉戦法 (将棋必勝シリーズ)
森下 卓
創元社 / 1404円 ( 2003-02 )


Simple Dietで痩せまぁす!(python-ggplotで体重推移をプロットしてみた)

土曜日の資料を作りつつggplotの時系列データがないなーと思っていたらSimple DietはGoogle Driveにデータをエクスポート出来ることを思い出して早速使ってみた。

loessのフィッテイングだとこれ以上は体重は減らないように見える(というより20歳以後もっとも体重が減ったw)

weight

というわけでSimple Dietで記録したら痩せましたという話です。

定量的なフィードバックが得られるので、どのくらい食べると増加傾向(減少傾向)になるというのが理解でき、自分の意志で食べる量をコントロールできるようになって無理なく痩せられたので自分には合った方法だった。

import pandas as pd
from ggplot import *
import numpy as np

d = pd.read_csv("SimpleWeight.csv", parse_dates=[0])
d['nw'] = d['Weight'] / ****

p = ggplot(aes(x='Date', y='nw'), data=d) + \
    geom_point(color='lightblue') + \
    stat_smooth(span=.15, color='black', se=True) + \
    ggtitle("Simple Diet") + \
    xlab("Date") + \
    ylab("Weight")

ggsave("weight.png", p)

土曜日はpython-ggplotの話もします

ChEMBLからデータを取ってきて、活性が強いほど色が濃くなってドットのサイズも大きくなるようにしてみた。python-ggplotを使うと数行で描くことができるので調子いいですみたいな話をします。

あとはscikit-learnとrdkitで予測モデルを作ったりクラスタリングをしたりといった話もできればなーと考えているので、 興味があれば参加して下さい。

import pandas as pd
from ggplot import *
import numpy as np

d = pd.read_csv("syk.csv")
d["pIC50"] = 9 - np.log10(d["IC50"])
print d

p = ggplot(aes(x='MWT', y='ALOGP', color="pIC50", size="pIC50"), data=d) + geom_point()
#print p
ggsave("2dplot.png", p)

1404120520

相振りもちょっと苦手

相手の美濃囲いに何も出来ずに終了したw

精進しなきゃなーと

ProductName 角交換四間飛車 最新ガイド (マイナビ将棋BOOKS)
門倉 啓太
マイナビ / 1575円 ( 2013-11-13 )


今週末はMishima.sykです

ただいま、絶賛スライド作成中です。

なんというかscikit-learnのインストールではまっていたw。というより色々やっているうちにpipが壊れてわけがわからんようになったのでsofを見ながら治した。治療w

brew install python --build-from-source
sudo pip install numpy --upgrade
sudo pip install matplotlib --upgrade
sudo pip install scikit-learn --upgrade
sudo pip install ggplot --upgrade
sudo pip install psycopg2 --upgrade
sudo pip install pychembldb --upgrade

/usr/bin/pythonを使うならScipy Superpackでいいんだけどね。homebrewのpythonで使うならこっちを見ながら。

ちなみに

brew install gfortran

のところは

brew install gcc

でいいです(今はgfortranはgccに含まれているので)

振り飛車蟻塚

このAA結構好き

      // 
     / /   パカ 
    //)∩__∩ 
   /.| .| ノ     ヽ 
   / | |  ●   ● | 
  /  | 彡  ( __) ミ   <9二香 
  /  | ヽ  ||  /_ 
 // │   ヽノ  \/ 
 " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ

    ∩___∩ 
    | ノ      ヽ 
   /  ●   ● |__  
 /|    ( __) |  /   <9一玉  
  ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄

         パタン 
   ________ 
 /          /    <8二銀

尚、以下は振り穴ではなく、振り蟻なので間違えないように。

ホジホジされて追い出された蟻の王…

ProductName HUNTER×HUNTER 24 (ジャンプコミックスDIGITAL)
冨樫 義博
集英社 / ?円 ( 2012-12-03 )