
Outline
少し前に、機械学習やデータ分析手法を使って脳波を分類してみたいと考えた。
kaggleのコンペティションに手の動きを検知する「Grasp-and-Lift EEG Detection」
(https://www.kaggle.com/c/grasp-and-lift-eeg-detection)
があったので、勉強のために翻訳を試みた。
当コンペは2015/8に締め切りを迎えており、2017/2/25現在のトップチーム「Cat & Dog」のAlexandre Barachant氏のGithubリポジトリに記載されている、「Signal Processing & Classification Pipeline」から「Code」までの区間、モデルの概要説明を翻訳したいと思った。
当方の脳および信号処理についての知識が乏しく、また、注として「(*〜*)」を挿入して読みづらくしてしまった箇所が多く、申し訳ないです。
間違い等、ご指摘下さい。
原文:
alexandrebarachant/Grasp-and-lift-EEG-challenge
https://github.com/alexandrebarachant/Grasp-and-lift-EEG-challenge
信号処理と分類のパイプライン
概要:
このチャレンジは、つかむ、物体を持ち上げる、等の最中の手の動きに関する6つの異なる事象(*=イベント*)を検出することがゴール。脳波(*=EEG(非侵襲)*)のみを使って。すべての時間サンプルにおける6イベントの確率を出力する必要がある。評価手法は6事象にまたがるAUC(AreaUnderROCcurve)。
脳波の観点では、手の動きの最中の脳のパターンは脳波信号の空間周波数の変化として特徴づけられる。
もっと具体的には、対側運動皮質MU12Hz周波数帯の信号強度の減少が見られるはずだ。同側運動皮質の信号強度が増えるとともに。
これらの変化は動きの実行後に起こる、また、あるイベントは動きの最初にラベルづけされ(例.動かし始める)、
他のいくつかは終了時点でラベルがつく(物体を置き換えるなど)ということを考慮すると、シングルモデルで6事象すべてをスコアづけすることは難しい。
言い換えれば分類するものに応じて予測なのか検知なのかが変わる。
6事象は一連の手の動きの異なる段階を表す(動き始める、持ち上げ始めるなど)。ひとつの挑戦は系列の一時的な構造を考慮に入れることだった。つまり、事象間の連続的な関係を。加えて、いくつかのイベントはオーバーラップしているし、あるものは相互排他的に起こったりする。結果として、マルチクラス手法とか、系列をデコードするのに有限状態機械(*オートマトン?*)を使うことは難しい。
最終的に、TrueラベルはEMG(*=筋電図*)シグナルから抽出されて、+-150msフレーム(事象の発生を中心として)が与えられる。この300msには心理学的(?)意味はない。(150と151に対して異なるラベルのついた150+151フレーム(*301フレーム*)の単なるサンプルと変わりない)したがって、別の困難は予測をシャープにすることだった、FalsePositive(=偽陽性)を最小にするために(フレームの端々において)。
というような文脈において、3つのレベルの分類器パイプラインを作る:
-
Lvl1は被験者特有。つまり各被験者ごとに個別に訓練する。それらの多くはイベント特有でもある(*つまり、多くの被験者は同じ1動作しかしていないデータなのだと思われる*)。Lvl1のメインゴールはサポートと多様性をLvl2モジュールに対して提供すること。被験者とイベントを異なるタイプの特徴を使って埋め込むことで。
(*レベル1は特徴から新たな特徴を出力して後段のレベル2分類器に送る*)
-
Lvl2はグローバルモデル(患者特有ではない)。レベル1予測(メタ特徴)の結果で訓練される。それらのメインゴールは事象間の一時的な構造を考慮すること。また、それらはグローバルに、大いに被験者の間の予測の補正を助けるという事実(*がある*)
-
Lvl3はLvl2の予測のアンサンブル。2の重みをAUCを最大にするように最適化するアルゴリズムを経由している。このステップは予測のシャープさを改善する、過学習を避けながら。
未来データなしルール
因果関係に細心の注意を払った。すべての時間で一時的なフィルタが適用されるが、lFilter関数(Scipy)を使った。それは「direct form II causal filtering」を実装した関数だ。各時刻でスライドウィンドウが使われるが、我々は信号を左側でゼロ埋めした(we padded the signal with zeros on the left)。
同じアイデアは過去の予測の履歴が使われた時に適用される。( Same idea was applied when a history of past prediction was used)
最後に、シグナル又は予測を処理前の時系列をまたがって結合(concatenate)したので、前の系列の最後のサンプルは「漏れる」ことがありうる。
これはルール違反ではない。なぜならルールは特定の時系列のなかでのみ適用されるから。
モデル説明
ここでは3レベルのパイプラインの概要を述べる
Lvl1
モデルは以下のように説明される。バリデーションモード、テストモード(?)において、生データで訓練した。
前のモデルは系列1−6で訓練、予測は7−8(これらの予測はレベル2のトレーニングデータ(メタ特徴)となる。
後のモードは系列1−8上で訓練、そしてテスト系列9−10で予測。
(*9-10が提出すべき予測対象で、それに向けて1-6で学習し、7-8の予測を出力する。その後その予測を入力としてLvl2で9-10の予測を出力するという意味?*)
Cov
共分散行列は脳波から手の動きを検出するための選択の特徴量。
それらは空間的な情報(チャネルごとの共分散を通して)を含んでおり、頻度の情報を含んでいる(シグナルの分散を通して)。
共分散行列はスライドウィンドウ(普通500サンプル)で予測される。シグナルへバンドパスフィルタを使った後に。
共分散には2種類ある:
-
1.AlexCov:
事象のラベルは最初に再度ラベル付けされる。7つの状態の系列へと。
それぞれの脳の状態について、それぞれの共分散行列に対応する幾何平均(*後述*)が推定される。(LOGユークリッド計量が計算されることによって)
その後それぞれの重心へのリーマン距離が計算される、サイズ7の特徴ベクトルを作りながら。
この手順はリーマン計量を使った教師あり多様体組み込み(supervised manifold embedding with a Riemannian metric)とみなせる。(?)
-
2.RafalCov:
上と同じアイデアだが、それぞれの事象ごとに別々に適用される。12要素の特徴ベクトルを作りながら
(それぞれのイベントについて、1と0の2クラスがある)
ERP
(*事象関連電位 (じしょうかんれんでんい、英: event-related potential, ERP)*)
このデータセットは視覚的な引き起こされた電位(potential)(実験パラダイムと関連する)を含む。非同期ERP検出のための特徴は基本的に前のBCIチャレンジでやったものに基づく(*著者は以前にERP検出チャレンジに取り組んでいる*)。トレーニング中に、シグナルは確立される(epoched)それぞれのイベント開始の1秒前に。ERPはXdawnアルゴリズムを使って平均されて削減された(確立された信号と結合される前に)。それから、共分散行列は推測されて、処理された。共分散特徴と同じように。
FBL
シグナルは多くの予測できる(predictive)情報を含んでいることがわかった。低周波において。なので、フィルタバンクの手法を導入する。それはいくつかの5次のバターワースのローパスフィルタ( 5th order Butterworth lowpass filters)を適用した結果を結合することからなる。(カットオフ周波数は0.5,1,2,3,4,5,、7,9、15,30Hz)
FBL_DELAY
FBLは、しかし、単一の生データ/観測は、また、5つの過去のサンプルで一緒に2秒(1000のサンプルが過去にあって、それぞれ200番めのサンプルだけを取ることで?)のインターバルへとつなげる(span)ことで拡張される。
これらの追加の特徴はモデルにイベントの一時的な構造を捉えさせることができる。
FBCL
フィルタバンクは共分散行列の特徴はいっしょにひとつの特徴セットへと結合される。
アルゴリズム
LogisticRegression, LDA(線形判別分析) 異なる標準化がテストと事前に学習に適用される)
上記の特徴の元で、事象特有の観点?がデータ上に提供される?
また、2つのLVL1NN手法が存在するが、それらはどちらもイベント特有ではない。(すべての事象が同時に学習される)
(*下記*)
Convolutional Neural Network
これはモデルのファミリー(family)である(TimHochvergのスクリプトとBluefool’stweaks に基づいてちょっと拡張した。Tim Hochberg’s script with Bluefool’s tweaks:ローパスフィルタとオプション2dCONV(すべての電極にまたがって行う、なのでそれぞれのフィルタはすべての電極の間の依存関係を同時に捉える。)
要約すると、これは小さな1D/2D畳み込みNNだ(入力→ドロップアウト→1d/2dConv→dense→dropout→dense→dropout→出力)
現在のサンプルと過去のサンプルの一部で学習されるような。それぞれのCNNはそれぞれの1実行ずつの間の、比較的高いバリアンス(*ばらつき*)を減少させるために100回baggedされる(*Bagging?、後述*)、
その1実行というのは、訓練データのランダムな部分(portion)でネットワークを訓練させた、効率の良い確立(epoch)戦略を利用するために生じさせる?ようなもの。
Recurrent Neural Network
ローパスフィルタを通した後の信号で訓練される小さいRNN(input -> dropout -> GRU -> dense -> dropout -> output))
(ローパスフィルタのフィルタバンクと、1,5,10,30hzのカットオフ周波数)
8秒の短い、スパースな時系列変化で訓練される(それぞれの100thサンプルを過去4000サンプルまで取る)。RNNはこのタスクにパーフェクトに適用できると思われそうだが(明確に定義されたイベントの一時的構造とその中間依存関係(*interdependencies、共起性?*))、実際には良い予測を得るのが大変だった。それで、計算コスト高かったので思ったほど突っ込んで追求しなかった。
Level2
これらのモデルはレベル1モデルの出力でトレーニングする。
それらはValidationとTestモードで訓練する。Validationは行われるクロスバリデーションのやり方で、系列ごとに分割して(2フォールド(*グループ*))。各foldからの予測はそれからメタフィーチャー(モデルを使って変換された新たな特徴のことをこう呼ぶ)される、Lvl3モデルのために。
このテストモードモデルは系列7,8で訓練されて、予測はテスト系列9,10のために出力する。
アルゴリズム
XGBoost
勾配ブーストマシン(Gradient boosting machine)はデータに対して特有の視点をもたらし、とても良いスコアを達成し、かつ次の段のモデルに対して多様性をもたらす。各イベントごとに個別に訓練しているのはLvl2だけであって、被験者IDが特徴として追加されている。それは被験者間の予測を補正するのに役立つ(被験者IDのワンホットエンコーディングを追加してもNNベースのモデルでは性能が改善しない)。
XGBoostが正しく特定のイベントを予測する、この精度は対応する事象だけでなく、すべてのイベントのメタ特徴で、何秒かの時系列の信号で訓練した場合に非常に良い。なぜならそれらはイベントとか関係する一時的構造の間の中間依存性に含まれる予測に使用できる(Predictive)情報を抽出するからだ。
さらに、入力のサブサンプルを頑張ると、標準化できて、さらに過学習も防げる。
Recurrent Neural Network
クリアに定義されたイベントの一時構造とレベル2のメタフィーチャーの多様性で、とても高いAUCを達成することができる。Adamで訓練すると計算コストが低い(多くのケースで収束するのに1エポックしか必要としない)。大量のレベル2モデルはシンプルなRNNアーキテクチャに小さい修正を加えたもので(input -> dropout -> GRU -> dense -> dropout -> output)それはサブサンプルされた8秒の短いタイムコース(*timecourse、時系列変化、入力データ長さのこと?*)で訓練される。
Neural Network
小さいマルチレイヤの(1つしか隠れ層がない)サブサンプルされた3秒の履歴時系列で訓練される。これはRNNsやXGBoostよりダメだった。でもLvl3モデルへの多様性は提供してくれた。
Convolutional Neural Network
小さいLvl2のCNNs(畳み込みレイヤが1つ、プーリングなし、その後に1つのdenseレイヤ)は3秒のサブサンプル済み履歴時系列(history timecourse)で訓練される。
1つの時間サンプルに対するすべての予測とストライドにまたがるフィルタがタイムサンプルの間で作られる。マルチレイヤNNの場合、このCNNsのメイン目的はLvl3モデルへの多様性を提供すること。
Lvl2モデルの多様性は拡張される、下記の修正をして、上記のアルゴリズムを実行することによって:
- メタ特徴を違ったサブセットにする
- タイムコース履歴の長さを変える
- logのサンプル履歴(*時系列のサンプルをlogにする?*)(最近の時間の点は偶数?(even)インターバルのサンプリングよりももっと密にサンプルされる)
- baggingする(下記参照)
また、NNs,CNNs,RNNsに対しては:
- denseレイヤの活性化関数にReluの代わりにパラメトリックReLuをつかう
- マルチレイヤにする
- オプティマイザーを変える(SGDかADAM)
朱鷺の杜Wikiより引用
http://ibisforest.org/index.php?%E3%83%90%E3%82%AE%E3%83%B3%E3%82%B0
バギング (bagging) †
ブートストラップサンプリングを繰り返して生成した判別器を合成して,より判別精度の高い判別器を生成する方法.
名称は Bootstrap AGGregatING に由来
ニューラルネットの分野では コミッティマシン (committee machine) ともいう.
ブートストラップサンプリング †
サンプル集合 X={xi}N から,重複を許してサンプリングして新たなサンプル集合 X’ を作る方法
Bagging
いくつかのモデルが追加でBaggedされる。その堅牢性を高めるために。2種類のバギングが使われる:
- ランダムサブセットをトレーニング対象から選ぶ。各Bagのために(モデルはその名前の中にBagを複数含む)(*著者のリポジトリに記載のファイル名*)
- ランダムサブセットを選ぶメタ特徴から、各バッグのために(bags_modelと名前が付いているもの)(*著者のリポジトリに記載のファイル名*)
すべてのケースで15Bagをfoundした(*実行?*)、満足いく結果を得るために。
それ以上増やしてもAUCは大して増えない。
Level3
Lvl2予測はアンサンブルされる。AUCを最大化するためのアンサンブル重みを最適化するアルゴリズムを通して。このステップは予測のシャープさ(精度?)を上げる、そして、とてもシンプルなアンサンブル手法を使うことは過学習を防ぐ。(それは(*=過学習は*)実際に高度な(*Lvlが高い、=段数が多い?*)アンサンブルにとっては脅威だった。)さらなるAUCの増加のために、また、頑健性を上げるために3つの加重平均を使った:
- 算術平均(*普通の平均*)
- 幾何平均(*それぞれを掛けて、冪根を取る*)
- 指数平均:
f $\bar x_p = S(\sum x_i^{w_i})$, where $w_i=[0..3]$ and $S$ is a logistic function that is used to force output into [0..1]
Lvl3モデルは上記3つの加重平均の平均である。
提出
Submission name
CV AUC
SD
Public LB
Private LB
“Safe1”
0.97831
0.000014
0.98108
0.98095
“Safe2”
0.97846
0.000011
0.98117
0.98111
“YOLO”
0.97881
0.000143
0.98128
0.98109
Safe1
クロスバリデーションで比較的AUC高く、安定しているものを最終提出物(lvl3)モデルとした。
lvl2の堅牢なメタフィーチャー(lvl2のモデルの7/8がBagされている)?
(7 out of 8 level2 models were bagged.)
Safe2
非常に安定したCV(*クロスバリデーション?*) AUCである別の提出物。このLvl2のメタフィーチャー(6/16だけバッグしている)?(only 6 level2 models out of 16 were bagged)はsafe1よりももっと安全ではないLvl2の選択であると(まちがって(?))考察され、実際に最終提出では選択しなかった。ここにおいたのはただの興味。
YOLO
(*YOLO,「人生は一度きり」の意?*)
2番めの最終提出物は18個のLvl3モデルの平均。
それらを一緒に平均することは堅牢性の増加をもたらす。クロスバリデーションにおいてCVと公開LBスコアの。この提出はちょっと過学習していて、Safe1,2どちらかを実行することでその高い計算コストを避けることが可能だ。どちらも似たようなAUCをプライベートリーダーボードでは出力している。
議論
実際に脳の活動をデコードしてるのか?
広い範囲の特徴を元にしているので、これらのモデルが実際に手の動きに関連した脳の活動をデコードしてるのかどうかは解答がない。複雑な前処理を使うことで(共分散特徴のために)または、ブラックボックスアルゴリズム(CNN)は追加の困難をもたらす。結果を解析するときに。
(*NNの結果を、なぜそうなったか説明できない、という問題の話かと。*)
低頻度の特徴に基づくモデルの良い性能は更に疑いをもたらす。これらの特徴は特に手の動きをデコードするのに有用であると知られていない。
さらに具体的には、周波数1Hz以下の300msのイベントの検出で良い結果を出すのは非常に難しい。胴体の動きによるベースライン(*基本の波形データ?*)の変化、または被験者が物体に触ったことで接地した場合には説明が変わる。
(*そういう場合には検出できる、という意味だと理解しています*)
また、比較的良い性能を観測できる、70-150hz周波数帯で予測する共分散モデルでは。この周波数帯はとてもEEG(*=脳波*)をよく含んでいて、タスクに関連するEMGの活動が潜在している
*筋電図(きんでんず)(electromyography – EMG)*
でも、データセットはとてもクリーンで、事象に関連する強いパターンを含んでいる、それはこのスクリプトで見れる。別の活動(VEP*,EMG*など)は全体の性能に寄与しているかもしれない、より難しいケースで予測を強制することによって(re-enforcing predictions for harder case)、でも、実際に私達が手の動きに関する脳の活動をデコードしていることは間違いない。
*視覚誘発電位(しかくゆうはつでんい、英:Visual evoked potentials, VEP)とは、視覚刺激を与えることで大脳皮質視覚野に生じる電位である(Wikipediaより)*
これらのモデルは全部必要なのか?
この挑戦で私はアンサンブルを非常に利用した。この方法の問題は(すべてのサンプルの予測)この種の解法にのめり込んだ。(?)(The way the problem was defined (prediction of every sample) was playing in favor of this kind of solution)、このような状況ではモデルを増やすことはいつでも性能を改善し、予測精度を上げる。
実際の応用では、すべてのタイムサンプルを分類する必要はない、そしてひとつのタイムフレーム手法を使う、たとえば250msおきに出力するとか。もっと最適な解法を使えば、等しいデコード性能を得ることが可能であると信じている、アンサンブルをLvl2で止めて、いくつかのレベル1のモデルのサブセットだけを使うことで。(それぞれの種類の特徴に対して1つ)。
- JuliaでPyPlot.jl (matplotlib) を使ったヒストグラムのアニメーションを効率的に作成する
- 栄養素多次元ベクトル間の類似度を計算する
- Kerasのbackendが、思い通りならない時のメモ
- scikit-learnでSVMのパラメータを調節してみた話
- matplotlibでよく使う手続き
- Djangoのモジュールをインタープリタで読み込む
- PythonでRandom Forestを使う
- 文字と濁点・半濁点が分かれていて,それらを結合したい時
- NLTKを使って情報利得を計算
- PythonとTkinterを使ってプログラミング
- pythonのunix-time <-> datetime の変換
- Pythonの-mオプションを使えばフィルターの管理が楽
- doctest.testfile()を使ってドキュメント兼テストコードを作成
- カレントディレクトリをwebサーバで公開
- ニコニコ生放送のコメントを取得する
- tkinterを使ったアプリケーションをcx_freezeで実行ファイルにする
- ネスト解消のためのポリモーフィズムについて
- Google+で見かけたコメントに,「Pythonでリストの何番目の要素が最大/最小か求める簡単な方法は?」というのがあった.真っ先に思いついたのが1行目のコードなのだけれど,2行目の方がより良いかな?
- 日本語を含むUnicodeのJSON文字列を得る.
- Pythonでテストする際には何を使っているか?
- JSON変換するクラス
- FlaskでBlueprintを使ってControllerを別に分けてみる
- Pyramidで遊ぶ
- Pythonでconstant
- プログラミングの師匠募集
- ドミニオン圧縮プレイをモンテカルロ法で分析
- Pythonでテストを書いてプロファイル取ったりカバレッジ調べたり
- Pythonにおける例外のメッセージ
- 使ってないポートを取得する Python版
- 文字から Unicode を算出する
- どうやって情報収集してますか?
- Google App Engineのwebapp.RequestHandlerはputとdeleteを受けるときパラメータを取得できない
- 空のディレクトリに.gitkeepを配置するコマンドラインツール
- php でも ruby でも python でも perl でも動く Hello World
- amazon linux上で、python2.7用にMySQL-pythonをコンパイル・インストール
- # 文字列の文字コードを返す関数
- ImportError: cannot import nameを解消する
- JSON の整形
- pythonインタプリタ起動時に良く使うmoduleをimportする
- IPython起動時にスクリプトを自動的に読み込む
- UNIXでPython,Ruby,Perl,Node.jsのバージョン管理環境構築
- unicodeとdecodeとencodeについて実験した
- エロ動画フォルダからサムネイルをopencvで楽に作る
- appcfg.pyでデプロイしたファイルをダウンロードする
- OS X LionでPython開発環境を作成
- Django+MongoDB開発環境整備 (書き途中)
- List 操作メモ書き
- 引数のデフォルト値はimmutableなものにする
- すっと頭に再帰が浮かぶようになりたい
- Google App Engineのpythonのバージョンが噛み合わない問題について
- Pythonで数値計算
- 辞書のキーにタプルを使って、複数キー項目
- Pythonでflatten
- Xcode用自動ビルドバージョンインクリメントスクリプト
- Pythonでtest.pyを作るな!
- ファイル監視にwatchdogがかなり便利な件
- Flask on dotCloud でハマったところ
- easy_installでインストールしたパッケージを削除する方法
- pythonbrewでの複数バージョン&ライブラリ管理メモ
- Python de BDD (Lettuceで)
- CentOS 5.4 に Python 2.7.3 を install
- pip のコマンド/オプションのタブ補完を有効にする
- boto で S3 アップローダー
- 「オープンソースで学ぶ社会ネットワーク分析」におけるpythonコマンド
- 一度だけ評価するプロパティ
- SQLAlchemy ORM でクエリ生成の高速化
- Django の django-admin.py でパスを通しても command not found の時
- Django でデコレータを使って View への preprocess を実装してみる
- Pythonで関数合成
- Sublime Text で pythonbrew
- Paver を使ったスクリプティング – コマンド定義編
- Paver 応用編 – プロジェクトに組み込む
- Paver を使ったスクリプティング – ファイル操作編
- Paver を使ったスクリプティング – 外部コマンド編
- VPC with a Single Public Subnet Only を boto で自作
- 指定時間内に関数が終了しなかったら何かするデコレータ
- はじめてのDjangoで躓いた箇所まとめ
- BitbucketのOAuth:access token取得まで
- python でモック – mox の使い方
- Djangoのコマンド補完設定
- Python の Singleton
- すごく簡単なアルゴリズムがphpで書けなくてつらい
- Unix Domain Socket サーバーを作る
- プログラミングの学習に役立つウェブサイト
- DMMのAPIを叩くクラス
- letを作ってLet’s 1行プログラミング
- Setup modern Python environment with Homebrew
- Pygments.rb を使う
- Mailmanのwithlistコマンドによる一括設定変更
- ハイフン区切り形式の MAC アドレスを取得する -1 liner 編-
- Zsh上で使用頻度の高いコマンド一覧を表示する
- Python で複素数を扱う
- PyQt4導入
- 重み付け乱択
- Pythonのキーワード引数も含めてmemoizeしたい
- Ubuntuで個人環境にpythonパッケージをインストール
- pythonでUTF8のテキスト処理
- NLTKを使って文書分類用データをサクッと作る
- 最速最強Webサーバーアーキテクチャ
- 「Sublime Text 2で全角スペースをハイライト表示するプラグインを作る」に設定でオンオフ出来るようにしてみた。
- SublimeLinterにD言語(他の任意の言語)を追加してハイライト出来るようにする
- pythonの文法チェック
- defaultdictを使って,ネストされた辞書を作る
- SQLAlchemy BaseModel
- Python で Amazon CloudFront の Signed URL を発行する
- PyOpenCL Version 2012.2の話 第1弾
- TortoiseHgのファイルビューをもう少し改造してみる
- Docutils と Ruby で快適ドキュメント生活
- numpyの練習1
- スクリプト言語で実行可能なファイルを作る
- パラメトリックとノンパラメトリックの狭間
- bing search apiの使い方
- Flaskのカスタマイズについて
- PyOpenCLでアプリケーション(PIL & PyOpenGL)
- pytestを実戦投入してみた
- いとも簡単にMac OS XにSciPyをインストールする
- 実務でRandomForestを使ったときに聞かれたこと
- gaffer + fabric で簡単デプロイ環境
- Theano の 基本メモ
- 実行スクリプトからの相対パスでファイルにアクセスする.
- CoffeeScriptとJavaScriptやPythonやRubyの文法の比較
- これ知らないプログラマって損してんなって思う汎用的なツール
- 【まとめ】これ知らないプログラマって損してんなって思う汎用的なツール 100超
- Python での shift_jis と shift_jis_2004 について
- リストの中のインスタンスのもつ値で検索
- 日時 ⇔ 文字列
- ファイルの更新を検知して、自動的にCoffeeやSassをコンパイルしたり、ブラウザをリロードしたりするスクリプト
- curlを捨ててhttpieを使おう
- 都道府県のリストをサクッと出力するだけのCLIツール
- Python でホスト名を取得する
- MinGWでVimをビルド。(+lua,+python)
- 複数の辞書のマージ方法いろいろ
- LinuxでPythonをビルドするときの –enable-shared オプションについて
- pythonで二分探索
- Qiita API の Python ラッパーを作った
- Haskellソース編集後、保存と同時にghciにロードするSublime Text 2プラグイン
- botの一部の機能として自動フォローやランダムツイート
- kobitonote.py – Kobitoで編集したアイテムをEvernoteに同期保存
- Command Line で使用しているツールまとめ vol.5
- Flaskを1ヶ月間使ってみた感想
- Pythonのfeedparserをつかってみる。
- Pythonで文字列 <-> 日付(date, datetime) の変換
- Qiitaの投稿をGitHubにバックアップ
- Pythonプログラムのプロセス名を設定する
- Xcodeプロジェクト内のクラスの依存関係を図示する
- Python スクリプト実行中にシェルを起動する
- SQLAlchemyでINNER JOINする方法
- pymongoで正規表現
- Windows + Python 3.3 で watchdog をインストールする
- プログレスバー表示させたいなぁ
- Pythonでconfig.iniを使う
- Twistedを利用してお手軽にDNSサーバーを構築する
- 今流行りのエディタSublimeText2を使って、AOJで競技プログラミングを楽しもう
- PythonでN-Gram
- Parse.com REST APIを使ったAPN(remote notification)を試した
- Apache + mod_wsgi で複数の WSGIPythonPath を設定する
- クラスにバインディングしてYAMLの読み書き
- SublimeText2とSublimeLinter – Python3の構文チェック –
- Pinaxの概要について簡単なまとめ #djangoja
- アクセサを一つのメソッドにまとめる
- PythonのPILで書き出したGIF画像をつなげて動画GIFを作る
- Pythonで画像をWavelet変換するサンプル
- TheanoをMac OS Xにhomebrewでinstallする方法
- BitbucketのPrivate repositoryをタダでCIする
- Python3.3 + mod_wsgi3.4 をさくらVPS(CentOS)にインストールした時に少しハマったので振り返りメモ
- [Python2]日付文字列→UnixTime→日付文字列
- Install Theano on Ubuntu 12.04
- Vim (with python) で json を整形
- tweepy2導入
- PyramidのテンプレートをMakoに切り替える
- propertyを使うときはobjectを継承したクラス (new-style class) を使う
- redis-pyの使い方 辞書とか
- コマンドラインからtwitter投稿
- 標準入力の受け取りのその1
- Python – MP3ファイルにタグづけ
- ファイルを保存した瞬間ユニットテストを実行
- Python – Django css・jsをコンプレス
- requestsが便利
- リスト内に特定の要素があるかでif分岐
- Pythonの辞書 初心者向けガイド
- fabricのお役立ちコンテキストマネージャ
- FlaskでLast-Modifiedを設定する最も簡単な方法
- Flaskのrequest.argsでパラメータの処理について
- ブラウザでPython:Brythonのすすめ
- MeCab解析済みの結果を読み取るcorpus readerを書いた
- PythonでCIDR表記を変換
- multiprocessingで並列処理
- ログ監視スクリプト
- Ubuntu12.04にPython3.3をインストール
- 今更 virtualenv を使ってみる
- lxmlでブロークンなXMLをパースする
- 永続性が必要な時は hash() を使うな!
- Fabricタスクの途中で実行ユーザーを切り替えたいときはsettingsコンテキストマネージャ
- pythonからfluentdを使う
- Vimのpython3で日本語表示するの面倒くさすぎワロタwww
- MochaでブラウザテストをするためのWebサーバ
- 行数あたりの価値が高いコード
- Python で日付の計算
- コマンドラインで XLSX を CSV に変換する
- ファイルの中身を簡単な暗号化(Python)
- Pythonで文字列からさくっと文字の出現頻度を数えるには?
- GAE/Pyのdev_appserver.pyで外部(localhost以外)から接続可能にするには
- RubyとPythonじゃデフォルト引数の値が評価されるタイミングが違うんだぜ
- Python 3の print() で UnicodeEncodeError を回避するデコレータ
- Google Calendar から日報を生成する
- MeCab 使ってよみがなを取ってくる
- PyCharm での type hinting を使いこなす
- Django – Apache mod_wsgi virtualhost デプロイ
- ブラウザで保存したファイルをダウンロード元サイト別にフォルダ分け
- BitBucket に Sphinx ドキュメントを push したら自動的にウェブサーバーに反映するようにしてみた
- Sublime Text 2でPythonの開発環境を整える
- SciPyとmatplotlibのインストール(Python)
- Twistedを利用してメールサーバーを立てる
- SciPy+matplotlibで3D散布図を作成(Python)
- CentOS 6.x x86_64 Python-2.7.4 rpmパッケージ作成
- pythonの例外でstack traceを表示する
- lambdaでif-elifを楽に書く
- Python, SciPy, matplotlibのインストール(Windows)
- Python 3の正規表現で \d を使うな!
- CentOS6.4でPython2.7.3でApacheでmod_wsgiでDjango
- f2pyを使ってfortranでpythonのモジュールを書く
- ネットワークインタフェースに振られた IPv4 アドレスをコードで取得する (Linux)
- sphinx+mathjaxでマクロをusepackageみたいに読み込む
- iPythonでオートフォーマットされた出力の改行場所を変える
- Python3.3.1 in BottleでGoogle Custom Search APIを使って検索するだけのアプリケーションを作る
- Pythonでリフレクション
- pythonでhtml中の相対リンクを絶対リンクに書き換える(lxml)
- Pythonスクリプトからjarファイル中のクラスを直接importする
- class sklearn.naive_bayes.MultinomialNB(alpha=1.0, fit_prior=True, class_prior=None)のメモ
- pythonの軽量framework, Bottle
- GAE上でのTwilio
- リプ爆撃
- Twilogから過去ツイートを取ってきてbotを作り、昔の自分をTLに再現させるでござるの巻(その1)
- Macを使うにあたっての落とし穴回避(Linuxユーザ向け?)
- PyQCheckというPythonでQuickCheckが行えるライブラリをPyPIに登録した。
- multiprocessing vs threading
- MacにPythonをインストールするときのメモ
- Webアプリケーションのパフォーマンス測定ツールFunkload…
- python データーを圧縮してsqliteへ書き込む
- Zabbix APIをたたく (1.8, 2.0)
- emacs-jediのinstall
- Twilogから過去ツイートを取ってきてbotを作り、昔の自分をTLに再現させるでござるの巻(その2)
- テストデータはsetUpで宣言するべき幾つかの理由
- pythonをはじめるためのリンク
- a()とa.__call__()は等価ではない
- Python で簡易 SMTP サーバを立てる
- ログを色つけて見やすくする君
- 【LDAP環境構築:7】 Pythonでユーザー追加・検索・変更・削除まで
- classの__str__を、lambdaを使ってもっと簡単に書こう!
- MacにDjangoをインストール
- ChaSenのインストール
- CPythonからJavaのクラスを呼び出す(Py4J)
- テキストファイルのエンコーディングを自動判定して処理する
- pythonのsqlite3 に日本語(マルチバイト文字列)を格納する
- pythonのsqlite3でインメモリDBをセーブ/ロードする
- Python+FlaskなwebアプリをJenkinsでウイーン
- pyramidチュートリアル メモ (bankaccount)
- ローカルのipアドレスを取得
- macbook air Mid2013 にインストールしたアプリや開発環境のメモ(php,ruby,node.js,python など)
- PySideのスロットを定義する際の注意
- はてなブックマークのお気に入りユーザーで、既にアクティヴではないユーザーを調べる
- フォーマット文字列内での波括弧のエスケープ
- Pythonの数値計算ライブラリ NumPy入門
- PySideのスロットを定義する際の注意(2)
- vim7.3(+python2.4)をソースからインストール(Gundo.vimに対応)
- PythonからMySQLを使う
- コンソールへの出力を上書きしてゆく方法
- Pythonzとvirtualenvでクリーンなpython環境
- WEBブラウザからコマンドを実行する君作った
- ATND APIをPythonで叩くときのtips
- pytestを使ってカバレージとか取りながら分割実行してテスト実行時間を短縮する
- Pythonのクラス定義のファイルの場所を知る。
- encodeするのがめんどくさい
- はじめてのpython① pythonbrewで環境構築&HelloWorld!!
- Google Cloud Messaging for Chrome を使ってサーバからChrome拡張にメッセージを送る
- Pythonでコマンドライン引数にサブコマンドを指定する
- WEBブラウザから検索やコマンド実行をする君2
- 多重ループを一気に抜ける
- Pythonでgitのコミットログをパースしてみよう!
- Pythonで再帰的にファイル・ディレクトリを探して出力する
- 『Macで日本語ファイルをgitにコミットするのやめて><』とりあずMacとLinuxで互換性のない日本語ファイルを探すスクリプト書いた
- Flaskで大きいアプリケーションを作るときのTips
- 1分でVim+Pythonのテスト環境をつくる
- 深イイ意味など全くない並列処理 in Python
- 電波状況が悪い時にiPadにファイルを転送する
- matplotlibでstacked histogram (積み上げヒストグラム) を書く
- pipでtweepyをインストールしてAPI1.1に対応させて使う
- python2.7.3のcsvモジュールを使う時の文字エンコード
- Pythonで”coding: utf-8″ 書くの面倒くさいのでShellscriptでなんとかする
- Pythonで関数合成と適用的な
- pythonでフォルダ内のファイル名をrenameして整理したメモ
- 【作業メモ】Amazon Linuxにmatplotlibとnumpy入れるまで
- Appiumを使ってスマートフォンアプリのテストを自動化する – Python編
- matplotlibで欲しいグラフの書き方がわからない時はgalleryを見ると便利
- web2pyのadminのpassword
- PIL(Python Imaging Library)で、点を描画するサンプル。
- Mac OS Marvericks にHomebrewを使ってpyenv,pythonの環境設定を行うメモ
- PIL(Python Imaging Library)で、画像をセピア調に変換する
- PySide – モードレスダイアログを表示中にバックグラウンドで何らかの処理を行う
- Python用ケムインフォマティクスツールRDKitのインストール
- バックアップにBakthatいいんじゃね?
- Pythonのreduceを使うとちょうはかどる話
- Pythonにおける継承の基本的なお話(初心者向け)
- Pythonの古いクラスと新しいクラスの話
- unittest.mock
- MySQL Workbench の mwb ファイルから sql ファイルに自動変換
- ipythonの便利な使い方
- Propertyデコレータを使う?
- MySQLの全DBに対してmysqldumpするスクリプト
- pyramidチュートリアル メモ (single_file_tasks)
- Sublime Text 2で任意のテキストを常にハイライト表示するプラグインを作る
- 時間計測
- [python] lassieでWebページのメタデータをサクっととってくる
- オブジェクトの属性を取得
- classをクロージャーっぽく動的に宣言する
- MySQLdbの優雅な使い方
- PythonのiteratorとRubyのEnumeratorを比較してみた
- ImportError: No module named と言われた時の対応方法
- LXCをブラウザで操作できるLXC Web Panelが素晴らしかった件
- 非エンジニア向けのMercurial入門
- blogの更新を監視して結果をtwitterに投げたり、interviewsの回答を催促したり
- Pythonのモジュール例外の表示を分かりやすくする
- CentOS 6.4 で python から MySQL につなぐ
- EmacsのPython開発環境構築メモ
- Pythonでオブジェクトの内部構造を知る方法
- HMAC 方式を使用してハッシュ値を生成する。
- MySQLdbでイテレータ
- Bottle を使用したウェブアプリケーション(1)
- IPythonのデバッガー(ipdb)の使い方
- Pythonの例外クラスのインスタンスを直接、例外クラスの引数にするな!
- lambdaを使う例
- ベータ分布をPythonで書く
- Python 3のsorted関数と比較関数
- Pythonでバイナリファイルを作成する
- AKBメンバーのGoogle+ IDを一気に取得する
- サクラエディタでスクリプトをデバッグする
- Python3.3.1 + Bottle でWebアプリケーション(1) – テンプレートエンジンをjinja2に変更する
- botで天気予報をtweet
- 値が空だったら初期化したい(python)
- 【失敗】Stack OverflowのClone AskbotをCentOS6.4にインストール
- redis.pyのConnectionPoolの実装よんだ
- リスト内包表記でifの判定
- Gmailの件名をtwitterに投稿
- 標準入力で受け取ったりとかコマンドライン操作からGmailの送信
- python 現在時刻取得
- scikit-learnのParallelで並列処理
- 時系列顧客ロイヤリティの算出
- matplotlibでグラフを動的に生成して、reporlabでPDFに埋め込む
- Pythonで逆アセンブラする
- OpenCV2.4(+python)を手っ取り早くOS Xにインストールしてサンプルを試してみる
- AKB48 Google+投稿をゲットする
- eggパッケージのインストールとアンインストール
- すぐにできるページランク計算(全行コメント解説つき)
- MeCabをPython3上から使えるようにする
- matplotlibやpylabで論文向きの白黒のグラフをプロットする
- pythonモジュールの一覧表示
- djangoコマンドの二重起動を防止する
- Scipyでの疎行列の扱い
- OptParserの使い方
- pycharmのショートカット
- Pythonで単語の数え上げとかするならCounterを使うと便利なはなし
- 1分でPython&CSSセレクタによるスクレイピングを実現する
- web アプリケーションで matplotlib の図を表示する
- MacでPython環境構築メモ
- pythonのfluentdではまりどこ??
- pythonのSimpleHTTPServer
- fabric でエラー時のロールバック処理をする
- RubyとPythonとPerlで正規表現の速さを比べてみた(2013年版)
- ランダム文字列生成(Python)
- Python for Data Analysis Chapter 2
- Python for Data Analysis Chapter 3
- Python for Data Analysis Chapter 4
- virtualenvごとにPYTHONPATHを切り替える
- Mac(Mountain Lion)にPython環境を構築
- matplotlibのインストール(Python 3.3.2)
- py2exeとsetuptoolsの連携
- Mountain Lion環境への「virtualenv」と「pythonz」のインストール手順 + 利用方法
- urllib.parse.quote関数使用時の注意
- GoogleAppEngine/PythonでDjangoを使う方法
- 三角関数とか使ったメモ
- OSXでのCython実行方法メモ
- 今どきのPythonのライブラリ自作からPyPIへの登録
- 実行時間とかメモリ使用量とか気にしてみようと思ったから
- pythonbrewでPythonインストールしてFlaskをWSGIサーバで動かすまで
- Python で画像フォーマット
- Pythonのクラスで__eq__などを汎用的に実装する
- Mac に matplotlib をインストールする手順
- Python3をさくらサーバー(FreeBSD)にインストール
- ファイルの削除にrmコマンドは使わないようにした
- ruby は インスタンス変数の確認に instance_variable_defined? を使う
- twitter利用時間をを基準にざっくりと推定睡眠時間を計算する
- Djangoのモデルでchoice属性で値を限定しているフィールドの「名前」を取得する方法
- watchmedo(watchdog)を使ってエディタでファイルを保存する度にテストを実行する時の設定
- Celeryの非同期処理中に起きたエラーをメールで通知
- Pythonライブラリのダウンロード数表示バッジを生成
- virtualenvでpython
- randintに気をつけよう
- Pythonで日本語メールを送る方法をいろいろ試した
- MarvericksにしてPILのインストールがコケる件
- Django管理サイトのチューニング
- AnacondaでPython3.3
- MacOSX Mavericks(10.9)にhomebrewを使ってDjangoの開発環境を整える
- Python 3.3でmatplitlibとpylabを使おうとしたら RuntimeError: Python is not installed as a frameworkというエラーが発生したときの解決方法
- GensimPy3を使って小説家になろうのトピックモデルを解析
- `return self`でメソッドチェーン
- Python3.3.1でcChardetとpython3-chardetを使ったメモ
- pythonのデフォルトエンコーディングをutf-8に変更する
- utf-8を含む文字列を含む配列をprintしたときに文字化けする問題
- importについて
- TOPIX の時系列を表示する
- zip関数の挙動を少し試した
- django の dumpdata コマンドの代替
- scikit-learnでCross Validation
- TOPIXの時系列を pickle, csv, Excel形式で保存する
- 機械学習ライブラリ SHOGUN入門
- Python初歩からの学習メモ1
- Python初歩からの学習メモ2
- #python pythonの日本語のシンタックスエラー回避
- python-sphinxで表を書く時は csv-table を使った方が便利
- リスト操作とか競技プログラミングで使ったりした私用メモ
- Python3.4からpipが標準インストーラに!?
- rauthでTwitterAPIにアクセスするのが簡単すぎて、僕にも彼女が…
- ダミーデータファイルを作る
- Mac OS Xで複数バージョンのPythonを利用する(1)複数Verインストール編
- Mac OS Xで複数バージョンのPythonを利用する(2)利用編
- 不均衡データにおけるsampling
- “__slots__“を使ってメモリを節約
- pythonで日時の差分を秒単位で出す方法
- PythonでStateモナド
- 【募集】プログラミングのスキル交換をしませんか
- Supervisorで簡単にデーモン化
- Pythonでlet式を使う
- AWS コマンドラインインターフェイス(Python/awscli)をMac OS Xで利用する手順
- Pythonのパッケージ管理ツールez_setupの覚書
- sitecustomize.py を使わず usercustomize.py を使おうね
- ローカルのGAEを同一LAN内のiPhoneのブラウザから確認する方法
- はじめてのPython 素数に0, 1をくっつけて返すスクリプト
- PythonでCSVの読み書き
- easy_installのインストール
- Pelican ブログのインストール方法
- PythonでNetCDFの読み書き
- テキストファイルから指定した文字列を含む行を出力する
- pythonメモ:easy_installが使えないとき
- ベイズ線形回帰(PRML§3.3)の図版再現
- ラテン語文解析プログラムを書くことを目的としたラテン語学習(前編)
- MongoEngineでMongoDBを触ってみる基礎編
- Translate Toolkitで翻訳ツールを作る
- Pythonでカバレッジを調べる
- たぶん1分くらいでできる形態素解析とtfidf(テストコードつき)
- ChatWork API を叩く PHP と Python のサンプル
- LXCをPythonから操作する
- sympyで運動方程式
- APSchedulerで少し進んだジョブスケジューリング
- IntelliJ IDEAのPythonプラグインからもvirtualenvが使える
- Pythonのクラスメンバのスコープまとめ
- Keynoteに美しくスニペットを貼る
- ラテン語文を合成音声で読み上げる技術
- SphinxでPythonドキュメントを自動的にビルド
- b-Bit MinHashを使ったサイトのカテゴリ分類
- とにかく簡単に JSON データを確認したい
- 第16回オフラインリアルタイムどう書くの問題をPythonで解いてみた
- DJangoメモ:はじめから(準備編)
- Pythonでニュース速報(嫌儲)のスレッド一覧を取得してみる。
- scipyとか使ってみる
- scipyでフィルタ作成
- numpyでハミング符号
- ὑμήνπτερόν
- feedparserで自動的にねこ画像を拾ってくる
- pyOpenGLでシェーダープログラミング
- DJangoメモ:はじめから(モデル設定編)
- DJangoメモ:はじめから(管理画面を使う編) myハマりポイント
- pythonのunittestのassertXXX一覧
- 秒速でねこ画像を集めてネコヒルズ族を目指す
- ScipyでICA
- Docker で Google AppEngine 開発
- 最小お釣問題について考える
- DJangoメモ:はじめから(管理画面をもっと編集編)
- Python でテスト
- AnsibleのPython APIを試す。
- Pythonのインストール(Windows)
- DJangoメモ:はじめから(ビューを作る編)
- ConfigParserモジュールの使い方
- [Python] virtualenvとは何か
- Python の subprocess で出力を受け取るときは communicate() を使おう
- はてブのホッテントリのタイトルを要約してWebの今を見つめる
- DJangoメモ:はじめから(テンプレートからビューを作る編)
- Python3.3でナイーブベイズを実装する
- Python3.3でナイーブベイズを実装する
- 犬派と猫派の勢力図をGoogleChartAPIでグラフ化して決着をつける
- Python3.3で実装したナイーブベイズをBing APIで取得したWebページで学習。文章を分類させる
- 【cocos2d-x 3.0】binding-generatorでScript Bindingを自動化する方法
- iOS実機のSSL通信をプロキシによって傍受したり改ざんする方法
- DJangoメモ:はじめから(エラー画面設定編)
- 少しのコードでWebPayを導入する Python Ver.
- カレントディレクトリをドキュメントルートとしてHTTPサーバを立てる
- DJangoメモ:はじめから(URLConfの単純化と分割)
- AnsibleでPython(正確にはJinja2)の文法を生かしたスマートな条件文の書き方集
- MacOSXにSphinxをインストール
- Ansibleを導入したい人の為のくどきポイント
- DJangoメモ:はじめから(フォーム処理)
- DJangoメモ:はじめから(汎用ビューの使用)
- FlaskとPILImageを使ってリサイズした画像をResponseする
- Python3.3で実装したナイーブベイズ分類器を利用して、文章と文字列中の語の共起頻度から、類似度を計算する
- herokuでDJangoページを公開:準備編 myハマりポイント
- Pythonライブラリ・Botoで素敵にAWSを管理する
- Pythonメモ:pipコマンドが使えないとき
- FlaskからWebPayを導入する
- SublimeTextに実績機能をつけた
- pythonでもっとも簡単に音声合成する方法
- Python Jinja2
- PythonでLeapMotionを使ってみる
- 今週のアルゴリズム:最短経路の計算!(Ruby/Python/C#/VB/Goでpermutation iterator)
- 今週のアルゴリズム:最短経路の計算!(PHP/Python/Ruby/HSPでnext_permutation、Perlでpermutation iterator)
- scikit-learnでtf-idfを計算する
- CMake+SWIGで簡単にC/C++の多言語バインディングを実現する
- JavaScriptでもジェネレーター関数
- Mac OS X 開発環境構築メモ
- pandasメモ
- herokuでDJangoページを公開:実践編
- 30C3 CTF オンライン予選大会の PyExec 問題紹介
- wxPythonをMacOSXにインストールする際に「”〜.pkg”は壊れているため開けません。」のメッセージが出たときの対処法
- python3でtwitter
- Twitterでつぶやく
- Twitter-Pythonの使い方
- numpyで行列の斜めのやつを取得する
- python の map オブジェクトを list にした後は何も残らない
- PythonとPHPで文字列分割をして配列の最後の要素を取得
- Google App Engine for PythonでTweet(API1.1)
- pythonでmarkdownを扱う
- Matplotlibによるヒストグラム透明重ね書き
- Pythonで標準出力をnon-blockingにする
- 1分で実現できる!関数の実行結果をmemcachedにキャッシュするデコレータ
- pythonクイズ
- ワンライナーWebサーバを集めてみた
- X-SendFileを用いて静的ファイルをサーブ
- herokuでDjangoブログ:ログイン実装
- Command Line で使用しているツールまとめ vol.8
- APIでできること vol.1
- 変数の変数名を文字列で取得する。
- pyrtm と RTM CLI を使う
- スコープでリソースを破棄するいろいろなやりかた
- Django:参考資料
- どうやってコードを書けばいいのかな? というときに役立つかもしれない howdoi
- SQLAlchemy で独自の Composite Value を作る
- networkxでグラフを描く
- Twitter の OAuth ログインを自動化するスクリプト
- ファイルをzip圧縮して別のサーバにバックアップする
- boto を使って Amason S3 に指定のフォルダをアップロードするスクリプト
- argparseの使い方とoptparseとの違い
- Coverallsで “coverage unknown” になった時の対処法
- pythonでflatten
- Python 再帰の上限の参照と変更
- pythonでホームディレクトリの取得
- Pythonのスタイルを自動で整形させるVimプラグイン
- Tornado + nginx の時のIPの取得方法
- Python3でImportError: No module named ‘xxxxx’
- ScraperWikiを使ってWEBサイトからデータを定期的に取得する
- Scikit-learnでPCA
- Scikit-learnでIsomap
- メモ:Vagrant環境でCGI(試行錯誤中)
- Python 3.4 から標準ライブラリに入る Enum 型が今からでも便利
- SQLAlchemy で Enum を使う
- Django Templateのif-elseを短く書く
- Macでpyenv+virtualenv
- LINQのPython実装 “linqish”の紹介
- Numpyで行列の連結
- Scipyでデータをnormarizeする
- reportlabで画像追加メモ
- django-celery で Amazon SQS を使ってみた
- 環境構築手順書: Ubuntu + Apache2 + Python + Pyramid
- Path API を叩く PHP / Python / Ruby のサンプル
- Pythonメモ(自分用):配列
- 【python】web開発準備(仮想環境の構築)
- Python版のConfluence API用モジュールを使ってみます。
- PythonでYouTubeの動画を自動的に検索&ダウンロードする
- Pythonメモ:現在の月を取得
- sqlalchemyでgroup_byしてsum
- 僕とcpとSubprocessと
- Pythonの進化計算ライブラリDeap
- Scikit-learnでハイパーパラメータのグリッドサーチ
- 泥沼の記憶(CSV)をワンライナーで処理する
- pipで既にインストールされているパッケージをuser環境(非su)でアップデートする
- 2D plot in matplotlib
- 今日の株式取引は?
- 東証1部上場銘柄の名前と証券コードを取得する
- python で redmine の更新を hipchat へ流す
- Bottle0.13+jPlayer2.5で自分だけのミュージックプレイヤーを作ろう!
- Ruby と Python の仮想環境操作を統一する
- CentOS に Python2.7, Python3を入れたメモ
- anyenvで開発環境を整える
- pythonで文字列ゼロ埋め、文字列からある文字をカウントする
- Pythonで正規表現使うとき
- pythonにおける相対urlの処理
- pythonで文字列が数字かどうかを確認する
- pythonにswitchはないけれど
- Python と node.js のテストライブラリを簡単に比較してみた
- Webアプリ開発実践:Djangoでシフト作成ページを作ろう!(はじめに)
- numpyで作成した行列の可視化
- Pythonメモ:オブジェクトの持つ属性を知りたいとき
- supervisorでulimitを設定する

Androidに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Pythonに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Swiftに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Unityに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。