スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

動的時間伸縮法(DTW)をPythonで試してみた

ここ数ヶ月くらい、ある時系列データを集めていたのですが、
そのデータを扱うにあたってまずデータを分類したいと思い
クラスタリングについて調べたところ
どうやらクラスタリングにはまず距離を定義しなければいけないらしい。

時系列データの距離?は?と思っていたら
このようなページがありました。

動的時間伸縮法 / DTW (Dynamic Time Warping) を可視化する
http://sinhrks.hatenablog.com/entry/2014/11/14/232603


Rの{TSculst}というパッケージを使えば簡単に計算できるそうですが、
有り難い事にDTW距離算出の実装を載せてくれているので
Python用に書き直してみました。


英語力低すぎて英語版Wikipediaがあまり理解できなかったのですが、
dは点同士の距離を定義する関数(初期値は差の絶対値)となる引数で、
windowは、ある点から距離を計算する対象となる点を
windowで指定した範囲に制限する場合の引数であってると思います。

参考にさせて頂いたページにならって
RのデータセットAirPassengersでテストするようにしていますが、
PythonでRのデータセット利用する方法については
以下のページを参照してください。めっちゃ便利です。
PythonでRの標準データセットを使う。
http://kumamotosan.hatenablog.com/entry/2014/03/02/231742

【PokerStars】無料で使えるHUD更新した【ver0.3】

右下の白いタイルが動かないバグがあったため修正しました。

こちらからアクセスしてダウンロードしてください!
zaburo-ch/poker_tool

【PokerStars】無料で使えるHUD更新した【ver0.2】

同じデスクトップ内での多面打ちに対応しました。

終了ボタンがあるウィンドウとHUD部分とを
別々のデスクトップおく事が出来ないため
同じデスクトップ内のみですが、複数のHUDを出せるようにしました。
プレイ画面を並べて多面する際に使って下さい!

また、更新する度に使い方を載せるのは見づらくなるだけだと思ったので
GitHub上に使い方などを書いたREADME.mdと
アプリ本体をおく場所をつくりました。
こちらからアクセスしてダウンロードしてください!
zaburo-ch/poker_tool

【PokerStars】無料で使えるHUDつくった【ver0.1】

つくりました。

自分の環境で2週間程度使ってみて
そこそこまともに動くし、そこそこ使えると感じたので
アプリとして公開してみようと思います。

実装したのがまだまだ限定的な機能だけなので
ベータ版という感じです。名前も開発中のもの。
実装してほしい機能、指標などがあれば
記事へのコメント等で教えて頂ければと思います。
いつ実装されるか定かではありませんけどね!

Windowsが入ってるPCを持っていないため、
今回はMac用しか公開することができませんでしたが、
中身はPythonなので希望があればexeファイルつくります。
希望がなくてもいずれつくります。

以下アプリの説明になります。
ダウンロードは記事の一番下です。

----------------------------------------------------------------------

【使用する前に】
PokerStarsのハンド履歴から情報を読み取っているため、
使用するにあたって設定を変更しなければならない場合があります。
以下の項目をご確認ください。
・言語設定が日本語になっているか
・ハンド履歴を保存する設定になっているか
・テーブルテーマがMercuryになっているか
・画面中央の席に座る設定になっているか

【使い方】
1. 「履歴ファイルを選択」から読み込みたいファイルを選ぶ
まだそのトーナメントで1度もハンドをプレイしていないと、
履歴ファイルが作成されないため1ハンド以上プレイしてから行って下さい。

2. プレイ画面にあわせる。
ハンド履歴を選択するとテーブルの人数分の黒いタイルと
2つの小さくて白いタイルが表示されます。
画面を移動させたいときは黒いタイルを、
画面を拡大縮小させたいときは白いタイルをドラッグして
プレイ画面の左上と右下に白いタイルがくるように動かして下さい。

黒いタイルに各プレイヤーの情報が表示されます。

【プレイヤーの情報の見方】
黒いタイルに表示される情報は次のとおりです。

名前(プレイしたハンド数)
VPIP/PFR/PFA/WTSD

【指標の定義】
ここで、参加はテーブルにつきカードをもらうことを言います。
VPIP : 1度でもポッドにお金を入れたハンド / 参加したハンド
PFR : プリフロップで(自分がまだお金を出していない状態から)レイズしたハンド / 参加したハンド
PFA : ポストフロップでレイズorベットした回数 / コールした回数
WTSD : ショウダウンまで行った回数 / ポストフロップまで行った回数

【多面したい場合】
ターミナルで
open -n ≪アプリの場所≫
とすると同じアプリを複数開けるのでこれをご利用ください
アプリをApplicationsにコピーした場合は
open -n "/Applications/MyPoker Beta-0.1.app"
となります。
----------------------------------------------------------------------

アプリの説明は以上です。
追加したいと思っている機能がいくつかあるので
それをメモしておきます。
・他の指標に対応する
・黒いタイルに表示する指標をユーザーが設定できるようにする
・多面にアプリ側で対応する
・自動で画面にあわせられるようにする
・PokerStars以外のアプリと重なったとき上にこないようにする

こんな指標が欲しい!などコメント頂ければ
できるだけ対応するつもりです。
またこんな環境で動いた、動かないなど
動作確認のコメント頂けると大変有り難いです。


こちらからダウンロードしてご利用ください↓
MyPoker-Beta-0.1.dmgをダウンロード

Mac OS Xで時々ジェスチャーが反応しなくなる

普段ウインドウの切り替えはMission Controlでやっているのですが、
ときどきジェスチャーが反応しなくなってしまって、
仮想デスクトップの切り替えもできなくなるものですから
再起動しなければならなくなる、というのが近頃起こります。

原因はよくわからないのですが、
OSまるごと再起動しなくてもDockを再起動させてやるだけで
なんとかなるみたいです。

ps -x | grep Dockで出てきたPIDを指定してkillしてやると
自動で起動してくれるようなのでこれで済ませていますが
面倒なので実行ファイルへの変換の勉強がてら
ちょっと書いてアプリにしてみました。

a.png
こんな感じでDockに配置して使っています。

アイコン画像は以下のものを利用させて頂きました。
http://www.easyicon.net/language.ja/1088483-stop_icon.html

ソース等はこちら
https://github.com/zaburo-ch/DockKiller

こちらからダウンロードしてご利用ください↓
DockKiller-1.0.dmgをダウンロード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。