本記事では、時系列予測に利用できるpythonのライブラリの使い方について説明をします。 パッとライブラリを使うことを目指すため具体的なアルゴリズムの説明は省きます。 ※説明が間違えている場合があればご指摘いただけると助かります。 目次 利用データ ライブラリ Prophet PyFlux PyroPytorchLightgbm 補足:Darts まとめ ソースコード このブログで記載されているソースコードはGitHubに上げておいたのでもしよろしければ参考にしてください。github.com 利用データ 今回用いるデータはkaggleのM5 Forecasting - Accuracyと呼ばれるコンペティションで利用されたデータを用います。 作成したランダムなデータよりも実データのほうが予測をしている感があるからです。 予測に使うデータはwalmartの売上データです。 下図はその
waf - The flexiblebuild system http://code.google.com/p/waf/ wafというものを最近知り一目惚れしてしまったので、紹介記事を書きます。ユーザーが増えると嬉しいな。 wafとは何か?特徴・利点・使うべき理由 wafはPythonベースのビルドシステムです。同様のことを行うツールとして、Autotools、Scons、CMake、Antなどがあります。Sconsからの派生で、比較的新しいソフトウェアです。 分かりやすいPythonで書かれており、スクリプトもPythonで記述します。シェルスクリプトと謎のマクロが入り混じるAutotoolsや、独自言語のCMakeなどに比べて扱い易いです。Pythonを知っていれば非常にすんなりと使いこなすことが出来ます。Pythonを知らなくても、他の独自言語を覚えるよりは実りがあるかと思います
Instagram がどこに買収されたとかは他のニュースサイトにお任せして、Django アプリケーションを正攻法でスケールして "成功" してるのがとても興味深いです。現時点で Instagram Engineering で紹介されていることとTechCrunch にも掲載されたスライドから個人的なメモとしてまとめてみました。 Instagram の哲学は シンプルであること オペレーション負荷を最小化すること すべて装備 とのこと。 Instagram は以下の OSS, サービスで構築されているようです。 >>> OS / ホスティング UbuntuLinux 11.04 をAmazon EC2 にホスティング。以前のバージョンは高トラフィックになると固まる問題があったようです。運用は 3 人。EC2 にホスティングしている理由は、調査結果によるものではなく、"まだ進化途中だか
ここ数ヶ月、Google App Engine/Pythonを使い、初めてちょっとしたものを作ってみているのだけど、開発初期から知っておけばよかったなー、と思うノウハウ/tips的なものをずらずらと書いてみる。 基本的な環境設定は、 以前書いた まま。 0. 公式ドキュメントを良く読む 言うまでもなく、だけど、 マニュアル はもちろん、 この辺 の下の読み物も、流し読みだけでもしておいたほうがいい。 datastoreとmodel的なところ 1. key nameを使いこなす key nameは、レコードの作成時に指定できる(RDBでいう)primary keyの別名みたいなもの。primary key自体は自動的で作成されるので開発者が指定できるのはkey nameだけ。 key nameをうまく使うことで、datastoreを使いやすくすることができる。特にdatastore上で"un
Python2.1以降のバージョンでは、標準でPyUnitというUnitTestのフレームワークがあるので、それを使うことにします。 使い方は簡単で、最初にテスト対象のクラスに対して、〜_test.pyファイルを作成します。そこでunittestモジュールをimportして、unittest.TestCase を継承したクラスを作成。次に、test〜と引数のない(selfだけの)メソッドを用意し、assert〜メソッドでテストを書きます。assert関数の一欄は、http://www.python.jp/doc/2.4/lib/testcase-objects.htmlのリファレンスを参照してください。必要であれば、setUpメソッドとtearDownメソッドも追加して準備完了です。最後に、unittest.main() を追加して、そのファイルを実行すればテストが動きます。 実際のHo
PEP 8 – StyleGuide forPython Code Author:Guido vanRossum <guido atpython.org>, Barry Warsaw <barry atpython.org>, Alyssa Coghlan <ncoghlan at gmail.com> Status: Active Type: ProcessCreated: 05-Jul-2001 Post-History: 05-Jul-2001, 01-Aug-2013 Table of Contents Introduction A Foolish Consistency is the Hobgoblin of Little Minds Code Lay-out Indentation Tabs or Spaces? MaximumLine Length Shoul
Pythonでは辞書のキーに tuple を使える。 >>> d = {(1,2,1):100, (2,2,2):200, (2,0,1):300} >>> d[(1,2,1)] 100 キーとしている tuple を三次元配列のインデクス(三次元空間の座標)とみなせば、d は三次元配列のように見える。 [ ] の中では tuple の ( ) は無くてもいいので省略すると、ちょっと辞書には見えない。なんか C# の多次元配列みたい。 >>> d[0,0,0] = 999 >>> d[1,1,1] = 777 >>> d[0,0,0] 999 >>> d[1,1,1] 777 あくまでも擬似的な物なので、 >>> d[1000000, 1000000, 1000000] = 1 とかやってもメモリが足りなくなることは無い。 辞書だもんね。 >>> len(d) 6 >>> for k, v
Ãø¼Ô: Steve Purcell, <stephen_purcell at yahoo dot com> Project website: http://pyunit.sourceforge.net/ ÆâÍÆ ³µ´Ñ ¥·¥¹¥Æ¥àÍ×·ï PyUnit ¤ò»È¤Ã¤Æ¥Æ¥¹¥È¤ò½ñ¤¯¤Ë¤Ï ¥¤¥ó¥¹¥È¡¼¥ëÊýË¡ TestCases ¤Î¾Ò²ð ñ½ã¤Ê¥Æ¥¹¥È¡¦¥±¡¼¥¹¤òºî¤ë Á°½àÈ÷¥³¡¼¥É¤ÎºÆÍøÍÑ: ¡Öºî¤êÉÕ¤±¡×¤òºî¤ë Ê£¿ô¤Î¥Æ¥¹¥È¡¦¥á¥½¥Ã¥É¤ò¤â¤Ã¤¿ TestCase ¥¯¥é¥¹ ¥Æ¥¹¥È¡¦¥±¡¼¥¹¤ò¥Æ¥¹¥È¡¦¥¹¡¼¥Ä¤Ë¤Þ¤È¤á¤ë ¥Æ¥¹¥È¡¦¥¹¡¼¥Ä¤òÆþ¤ì»Ò¤Ë¤¹¤ë ¥Æ¥¹¥È¤ò¤¹¤ë¥³¡¼¥É¤ÎÃÖ
Tagtterをリリースして、初期は「CPU Quota」連発してしまい見苦しい状態でした。ごめんなさい。 さて、一時はどうなるかと思いましたが現在は「CPU Quota」も表示される事無く動いています。 今日はこの状況を乗り切る際に行った「Google App Engine」のパフォーマンスチューニングtipsを3つほどご紹介。 webapp.WSGIApplicationのdebugフラグはFalseにすべし いきなり当たり前で申し訳ないですが、実はこのフラグがTrueかFalseかというだけで「CPU Quota」が出る頻度が極度に異なります。 実際に同じ症状の方もいらっしゃる様なので、おそらく間違いありません。 また公開する様なシステムでは、パスワード等も管理される事になるかと思いますが、debug=Trueだとスタックトレースに変数の値が表示されてしまい無茶苦茶危険です。気を付け
handler: def table(req,assoc): req.write(‘<table border="1px" >\n’); for x in assoc: if assoc[x] != None and len(assoc[x]) > 0: req.write("<tr><td>%s</td><td>%s</td></tr>\n" % (str(x),cgi.escape(assoc[x]))) req.write("</table>\n"); def handler(req):session =Session.Session(req) try:session[‘counter’] += 1 except:session[‘counter’] = 1session.save() req.write("<html>\n"); req.write("<body>
urllib2モジュールでCookieを使ったWebへのアクセスは以下のように行います。 import urllib2,cookielib cj =cookielib.CookieJar() #Cookieを格納するオブジェクト cjhdr = urllib2.HTTPCookieProcessor(cj) #Cookie管理を行うオブジェクト opener = urllib2.build_opener(cjhdr) # OpenDirectorオブジェクトを返す r = opener.open(url) urllib2.build_opener( )はurllib2.BaseHandlerクラスまたはそのサブクラスのインスタンス(ハンドラオブジェクト)を引数に取ります。OpenDirectorオブジェクトは複数のハンドラを経由してリクエストの送信及びレスポンスの受信を行います。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く