White scenery @showyou, hatena

If you have any comments, you may also send twitter @shsub or @showyou.

python

10年間溜まったPython2 Twitter botの技術的負債を返済した話

(この記事は以前Qiitaに書いたものの転載になります) この記事はPython2アドベントカレンダー(https://qiita.com/advent-calendar/2019/python2 )の12/23分の記事です。(え?Python2ってPythonアドベントカレンダーって意味で、Python2のカレンダーじゃない…

Numpyのndarrayとmatrixでは*の結果が異なる

(この記事はQiitaからの転載になります。) すごい初歩的な話なんですが・・ In [1]: import numpy as np In [2]: H = np.matrix([[1, 2], [3, 4]]) In [3]: H * H Out[3]: matrix([[ 7, 10], [15, 22]]) In [4]: J = np.array([[1, 2], [3, 4]]) In [5]: J *…

続KyotoTycoonの Python RPCっぽいもの

ちょっと実装すすんだっぽい。get, set, removeができるように。まだ限定的だろうけど。

サンタの家

@koizukaさんのニコ生に触発されたのでやってみた。pythonで。 http://golf.shinh.org/p.rb?House+of+Santa+Claus 1 showyou 360 0.0814 11/02/15 01:01:07 16B / ?B / ?B koizukaさんのCの奴をそのままpythonに移植したようなもんなんでかなり冗長かと。だ…

cPickleとmsgpack-pythonでsetの変換速度測ってみた

https://gist.github.com/802471 にソースと結果書いておきましたが、 そもそもtupleで倍位早い setにするとpickleはだいぶ遅くなるけどmsgpackはそうでもない randintの生成に4秒かかってることを考えると4倍くらいmsgpackの方が早い って結果が出てきまし…

flaskで軽くアップローダっぽいものを作ってる途中

なんとなくWebアプリケーションっぽいものを作りたくなったので。 いちおーファイルの登録とかリスト表示っぽいのはできるようになったけど、デプロイ周りがうまくいってない感じ。 https://gist.github.com/738129

SQLAlchemyでまとめてInsertしたい

どうもSQLへの書き込みなげえな、って思って見てみたら、 2009-02-01 05:13:04,062 INFO sqlalchemy.engine.base.Engine.0x...37f0 BEGIN 2009-02-01 05:13:04,078 INFO sqlalchemy.engine.base.Engine.0x...37f0 INSERT INTO hoges (name) VALUES (%s) 2009…

PEP8をHudsonから見れるようにする

PEP8を毎回テストで回してれば、そのうちにコーディングもよくなるかなぁとか思ったのだけど、Hudsonで見ようと思ってもうまく行かないのね・・という訳でPEP8の出力をJUnitのxmlに変換するスクリプトを書いてみた。 さっと書いたので構造微妙。実行結果はこ…

cPickleの癖?

(池上彰風に) みなさんpythonで直列化するときにcPickleを使いますか?私は使います。 ところが次のコード、一件同じに見えますが、実は結果が変わってきます。どこが違うかわかりますか?(注:環境はPython 2.6.4 (r264:75706), Ubuntu 9.10, x64) >>> pick…

Juno使ってみる

Sinatraっぽく使えるPythonの軽量フレームワークJunoを使ってみる http://d.hatena.ne.jp/mizchi/20100609/1276019834 軽量フレームワークJunoを使ってみた http://d.hatena.ne.jp/feiz/20090707/1246929918 なんかどちらもmodelまでは行ってないけど、SQLAl…

HMM

っぽくやってみたけど状態から出力まで一体一対応だしHiddenじゃない。いま流行り?のアレ(http://d.hatena.ne.jp/yuroyoro/20100621/1277104092)でやるとこんな感じ。 現在の状態 出力候補 出力確率 出力選択 遷移候補 遷移確率 遷移選択 A [0] [ 1.] 0 [1,…

一個上のディレクトリをpathに追加

別ディレクトリのファイルのimport方法わからなかったので。 もうちょっとうまいやり方あるよなぁ。 sys.path.insert( 0, os.path.abspath(os.path.dirname(__file__)).rsplit("/",1)[0], )

leapflog

shuyoさんに負けたけど、自分もリープフロッグのやつpythonで書いてみた。 rのガウス分布からのリサンプリングは知らないけど。 #! -*- coding: utf-8 -*- from pylab import plot, hist, show from random import gauss z = 0 r = 1.0 epsilon = 0.1 sigma …

自分のマシン上でpython走らせたときのパフォーマンス

http://d.hatena.ne.jp/shiumachi/20100527/1274888048こちらでも走らせてみた。 測定環境 マシンA CPU Core2Duo E6600(2.4GHz) Memory DDR2 6400 4GB SSD Intel X25-M 80GB ソフトウェアA OS Windows7 64bit Python 2.6.5 (r265:79096, Mar 19 2010, 18:02:…

ベータ分布のプロット続き

http://d.hatena.ne.jp/showyou/20100524/1274686691 ↑ではガンマ関数を自然数の範囲で使えるように定義してたけど、そもそもscipy.special.gamma使えばガンマ関数が普通に使えるんだった。 > import matplotlib > import pylab > import scipy > scipy.pkgl…

ベータ関数をプロットしてみる

a,bを自然数に絞った手抜き版。 > import matplotlib > import pylab > x = [ 0.01*i for i in range(100)] > def minigamma(a): b = a-1 if b > 1: return b * minigamma(b) else: return 1 > def dbeta(x, a, b): return minigamma(a+b)/(minigamma(a)*min…

pycassa

なんか日本語ドキュメントがまだない気がするんで簡単に書いとく。自分もちょっとしかやってないけど。 インストールはcassandra, pycassaの他にthriftが必要。cassandraはtgzを落としてきて展開、pycassa はgithub(http://github.com/vomjom/pycassa)からgi…

twitterのf/f人数集めてみた

tweepyのfollowersでcursorの値が取れるかどうか知らんので100人分だけだけど。 import tweepy auth = tweepy.BasicAuthHandler("showyou","saitamasaitama") api = tweepy.API(auth) users = api.followers("showyou") i = 1 sum_follower = 0 sum_friends …

ha_ma, donsuke, yuka_ら人工無脳の元となってるソース

どうも検索で来てる方もいるので置いときます。というか専用ページ作った方がいいかな。http://github.com/showyou/hama_db・・ってあれこれにブクマついてる。以前から公開してたはずなんだけど。こりゃ告知方法ミスってたなぁ。

Old Faithful + variational_gaussian_mixture

http://d.hatena.ne.jp/n_shuyo/20100412/prml で話題になってるのを実装してみた。 ただRの奴をそのまま移植しても勉強にならないので、わからなくなるまでpythonで書き続けた。結果縮退はしてるけど、潰れすぎてる感もある。というか必ずある点に来てる気…

yieldした途中の状態をファイルに保存とかって出来ますか

要はこういう事ができればいいかなぁと思うのですが。 $ yield_serial.py 2 $ yield_serial.py 3

飯は食えないみたいです

あなたのスキルで飯は食えるか? 史上最大のコーディングスキル判定 http://www.itmedia.co.jp/enterprise/articles/1004/03/news002.html先に結論書いとくと、九蓮宝燈以外は2時間、九蓮だけバグがあって3時間では終わらなかった。残念な頭ですね。候補をyi…

portsから入れたライブラリが使えません!の対策

昨日PRML Hackathonで質問があったので。 まず最初にお断り。私の経験談なので不足してる話が結構あるかもしれません。またうちの環境は Leopard(10.5.8) 当然標準でpythonが入ってる それ以外にもportsでpython2.5,python2.6を入れてる です。SnowLeopard(1…

PRMLHackason#2でpLSAを見まねで書いてみたが使い方がわからなかった

今日はPRMLHackason(http://atnd.org/events/2007)で、pLSAのプログラムを下のblogを見て自分で数式を紙に書いて照らし合わせながら打ち込んでました。 http://satomacoto.blogspot.com/2009/10/pythonplsa.html 一応プログラムは動いたのですが、「で、これ…

libsvm 続き

実際にデータ食わせて分類させてみたけど、なかなかすんなりは行かないですね。 optimization finished, #iter = 139 nu = 0.014830 obj = -5.042259, rho = -0.824080 nSV = 42, nBSV = 0 Total nSV = 42 ただいま午前三時です : 1.0 ただいま北海道に戻り…

libsvm続き

昨日の続き。もはやlibsvm関係なくなってますが。 昨日は入力にわかち書きが必要だったので、普通の文を分割して分割できるようにした。 一応各メソッド手動でテスト書いたけど、うまいテストコード書き方ないかなぁ。 in # あとで1ってラベル付けてる textO…

libsvm

細かいことはあとでかく。というか公開するのに直す部分が多すぎる気が・・ textArrays = [ [ [ u"おはよう", u"ござい", u"ます" ], 1], [ [ u"おはよう", u"ござい", u"なのよ"], 1], [ [ u"こんばんわ", u"なのよ"], -1], [ [ u"おはよう", u"ー"], 1] ]t…

TweepyでxAuth

つい先日TweepyのGit版(開発版?)にxAuth機能が付いた。既存のTweepyのOAuth用コードをちょこっと変えるだけでxAuth認証が使える。 前提 OAuthで使用するソフト名を登録する http://twitter.com/appsあたりアクセスして登録する TwitterでxAuthを使えるように…

EMアルゴリズム書いてみた

と言ってもsyou6162せんせーの奴*1をpythonに移植しただけですが。 ソース 結果例 [-5.1171650273569842, 5.1013677734361016] [0.98137153837597135, 16.603663427032927] [0.29998470787211945, 0.70001529212788061] 元のが > mu [1] -5.071632 5.132440 …

エジプト分数を解く

電車の広告でエジプト分数を解くって問題がありまして。エジプトの分数だと分子が1でそれぞれの分母が異なる値の和になるように分数を表してたみたい。 例えば2/5は1/3+1/15といった感じで。 広告は2/7と4/5をエジプト分数で表せって問題だったのだけど、こ…