Python の特徴的な構文の一つにデコレータがある。 便利な機能なんだけど、最初はとっつきにくいかもしれない。 そこで、今回はデコレータについて一通り色々と書いてみる。 先に断っておくと、とても長い。 これを読むと、以下が分かる。 デコレータの本質 デコレータはシンタックスシュガー (糖衣構文) に過ぎない デコレータの作り方 引数を取るデコレータと取らないデコレータ デコレータの用途 用途はラッピングとマーキングの二つに大別できる デコレータの種類 デコレータは関数、メソッド、インスタンスで作れる デコレータの対象 デコレートできるのは関数、メソッド以外にクラスもある 今回使った環境は次の通り。 尚、紹介するコードの中には、一部に Python 3 以降でないと動作しないものが含まれている。 $ python -V Python 3.6.6 デコレータについて まずはデコレータのおさら
久しぶりの投稿になってしまいましたが、ニュースパス(現在CM放映中!!)開発部の大曽根です。 作業中はGrover Washington Jr のWinelightを聴くと元気が出ます。参加ミュージシャンが素晴らしいですね。 なぜ時系列分析をするのか 季節調整 実演 おまけ: 時間別に見てみる まとめ 今後 なぜ時系列分析をするのか 数値を非常に重視している弊社では、数値を知るためのツールとしてRedashやChartioおよびSlackへの通知を活用しています。現在の数値を理解する上では、長期のトレンド(指標が下がっているのか、上がっているのか)を知ることが重要です。しかし、日々変化するデータ(特に売上やKPIと言われる指標)は、ばらつきも大きく、変化を適切に捉えることが難しいこともあります。 特にSlackなどへの通知を行っていると、日々の変化に囚われがちです。例えば、弊社ではニュース
Time Series Forecasting: Creating a seasonal ARIMA model using Python and Statsmodel. Posted by Sean Abu on March 22, 2016 I was recently tasked with creating a monthly forecast for the next year for the sales of a product. In my research to learn about time series analysis and forecasting, I came across three sites that helped me to understand time series modeling, as well as how to create a mode
リスト(Python標準)、ndarray(NumPy)、Series(Pandas)、DataFrame(Pandas)間での変換についてまとめる。 はじめに、前提として下記のインポート、データ定義等があるとする。 import numpy as np import pandas as pd _1dlist = [1, 2, 3] _2dlist = [[1, 2, 3], [4, 5, 6]] # NumPy _1darray = np.array([4, 5, 6]) _2darray = np.array([[1, 2, 3], [4, 5, 6]]) _3darray = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]], [[9, 10], [11, 12]], [[13, 14],[15, 16]]]) # Pandas _series
概要 書いていて長くなったため、まず前編として pandas で データを行 / 列から選択する方法を少し詳しく書く。特に、個人的にはけっこう重要だと思っている loc と iloc について 日本語で整理したものがなさそうなので。 サンプルデータの準備 import pandas as pd s = pd.Series([1, 2, 3], index = ['I1', 'I2', 'I3']) df = pd.DataFrame({'C1': [11, 21, 31], 'C2': [12, 22, 32], 'C3': [13, 23, 33]}, index = ['I1', 'I2', 'I3']) s # I1 1 # I2 2 # I3 3 # dtype: int64 df # C1 C2 C3 # I1 11 12 13 # I2 21 22 23 # I3 31 32
はじめに Jupyter初心者なので、AWS EC2上の環境構築方法、簡単な使い方を半年後の自分用にチラシの裏しておきます。 細かい設定はさておき、手っ取り早くEC2上にJupyter環境を構築し、Jupyter上で簡単なPython scriptを動かして、JupyterのUI操作方法の初歩を覚える所までを目標とします。Linux戦闘力が低いので、極力コピペで手順がなぞれる様に心がけます。 なお、Amazon EMRを使ってSpark Cluster上にJupyterを作りたい場合にはこちらを参照下さい。また、Jupyter Notebookは次期VersionよりJuypter Labとなり大きくUI/機能が変わる予定です。Jupyter Labの環境構築方法はこちらを参照下さい。 Jupyter環境構築 まずは、Jupyter環境を構築する手順です。 EC2の作成 Jupyterを動
こんにちは、AI Lab の馬場です。 このブログは CyberAgent Developers Advent Calendar 2016 の11日目の記事です。 昨日は sitotkfm さんの「ログを集める時に気をつけたいポイント」という記事でした。 この記事では、僕が仕事でデータ分析をやっていく上で大変お世話になっている Jupyter Notebook の Tips をまとめてみます。Jupyter Notebook では便利な機能がたくさんあるので、ちゃんと使うと無駄作業の削減になります。僕もこれまで分析途中で「あーこれができたらなあ」と検索しては時間をつぶしてきたので、ここでまとめて記憶にとどめておきたいと思います。 図表・可視化系 notebook 内に図を表示したい 単純に jupyter notebook を起動して、pyplot などでグラフを描画しようとしても、図は
決定木とは 目的変数に属する確率を複数の説明変数の組み合わせで算出する方法。 イメージは以下で、Yes/Noなどの条件に属するかどうかで確率を算出する。 ランダムフォレストとは ランダムフォレストは、アンサンブル学習法(複数の分類器を集めて構成される分類器)の一つ。 決定木を複数集めて使うので、木が集まってフォレスト(森)として使う。 やってみる(sklearnでの決定木) データ用意 ランダムに作ったデータを用意する。 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn %matplotlib inline from sklearn.datasets import make_blobs # ダミーデータの生成用 X, y = make_blobs(n_samples=5
scikit-learnのアルゴリズム・チートシートで紹介されている手法を全て実装し、解説してみました。 注釈 本記事シリーズの内容は、さらに丁寧に記載を加え、書籍「AIエンジニアを目指す人のための機械学習入門 実装しながらアルゴリズムの流れを学ぶ」 として、出版いたしました。 概要 scikit-learn アルゴリズム・チートシート 【対象者】機械学習を使用したい方、初心者向けの機械学習本を読んで少し実装してみた方 scikit-learnの説明は英語で分かりにくいし、実装例もシンプルでなくて、よく分からんという方 【得られるもの】模擬データを用いて、各手法を使用したミニマム・シンプルなプログラムが実装できるようになります。 アルゴリズムの詳細な数式は理解できませんが、だいたい何をやりたいのか、意図と心、エッセンスが分かります。 アルゴリズムマップの手法をひとつずつ実装・解説します。
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? pythonの環境構築について "python 環境構築"でググると20万件くらいヒットしますが、割と内容が古いです。 タイトルにはデータサイエンティストと書いてありますが、データサイエンティスト以外にもanacondaはおすすめです。 2.x or 3.x? 3.xは動かないライブラリが多いので2.x推奨 > 3.xで動かないライブラリがある、くらいまで来ました。 easy_installでpipを入れて、setuptoolsも入れて、でもwheelというのもあって... > 古いです。 virtualenv 必須 > そんなこともな
文:Daniel Sim 分析:Lee Shangqian、Daniel Sim、Clarence Ng ここ数ヶ月、シンガポールのMRT環状線では列車が何度も止まるものの、その原因が分からないため、通勤客の大きな混乱や心配の種となっていました。 私も多くの同僚と同じように環状線を使ってワンノースのオフィスに通っています。そのため、11月5日に列車が止まる原因を調査する依頼がチームに来た時は、ためらうことなく業務に携わることを志願しました。 鉄道運営会社SMRTと陸上交通庁(LTA)による事前調査から、いくつかの電車の信号を消失させる信号の干渉があり、それがインシデントを引き起こすことが既に分かっていました。信号が消失すると列車の安全機能である緊急ブレーキが作動するため、不規則に電車が止まる原因となります。 しかし8月に初めて発生した今回のインシデントは、不規則に起こっているように見えるた
socket.ioがJavaやGrailsから扱えるかを調べている関係でvert.xを調べていて興味深かったので、こちらにあるVert.xの記事を翻訳してみました。JGGUG G*Workshopにおける杉浦さんのVert.x資料もお奨めです。 Vert.xは急速に発達つつあるサーバ・フレームワークです。 世にあまたあるサーバ・フレームワークのいずれもが、多様なプロトコルをサポートし、高速であることが特長であると主張していますが、Vert.xはそれらよりも一歩抜きん出ています。例えば、Vert.xは、サーバサイドのネットワーク環境の確立と操作も対象としています。言いかえれば、Vert.xは、単一サーバ上のデーモン実行だけでなく、クラスタリング環境での複数サーバデーモンの実行を考慮しているのです。 したがって、Vert.xを調査するにあたっては、どのように高性能を実現しているかだけではなく、
Websockets 101 written on Monday, September 24, 2012 Out of curiosity I taught the Fireteam presence server websockets as a protocol in addition to the proprietary protocol it speaks out of the box. I don't really have a usecase for websocket per-se with the server, but I thought it might make it more useful for customers that want to use the event based parts of the API with HTML5 games. This pos
hogeとはワイルドカードのようなものです。日々起こった、さまざまなこと −すなわちワイルドカード− を取り上げて日記を書く、という意味で名付けたのかというとそうでもありません。適当に決めたらこんな理由が浮かんできました。 更新情報の取得には rdf か lirs を使ってもらえると嬉しいです. ■ [Linux][Py] Ethernet over WebSocket TAP を使って L2 フレームを WebSocket でトンネリングしてみた. 名付けて EtherWebSocket. そのまんま. こないだの TAP は C で直接書いたけど,WebSocket を C でほげほげするのは面倒なので Python で. そうなると TAP の Python インタフェースが必要になるのだけれど,python-pytun なるものがあったのでそれを使った. 正直に言うとこの TAP
This page is out-of-date since it uses Genshi templates. Trac 1.4 and later use Jinja2 templates. Since Trac 0.11, Genshi is used as the new template engine. Some APIs have also been changed. This tutorial shows how to make an egg, and load an egg in Trac. In the advanced parts you'll learn how to serve templates and static content from an egg. You should be familiar with component architecture a
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く