2014-01-01から1年間の記事一覧
witten-bell smoothingを実装することがあったのだが、「えっ、何するんだっけ?」となってしまったので、忘れないうちに書いておく。 そもそもスムージングとは? 確率的言語モデルを使うときに役に立つ便利道具。 もっともベーシックな言語モデルは学習コ…
やりたいこと movable typeで記事を書くときにmarkdownを使うが、コードを表記したい。 でも、毎行4つのスペース挿入はかったるいし、複数行コードを記載する表記(バッククオート3つ)は機能しない。 解決策 <pre><code>タグを使用する。 こんな感じ。 `` print('hoge'</code></pre>…
やりたいこと メソッドのパラメタで、Mapを使いたい。 で、Mapのキー(または値)の型を明示的にしておきたくない。 いくつかの種類の型をキー(または値に持てるようにしておきたい) 解決法 Higher Kinded Typesを使う。 日本語にすると、「高階型変数」と…
いま、巷で話題(3年くらい前からだいぶ話題だけど)のDeep learningをア◯でも使えるpylearn2を使って見る。 Deep learningとは? 一言で言うと「教師なしのニューラルネットをいっぱいつなげて多層ネットワーク化したもの。」 いままでは 前処理職人の丹精…
やろうとしたこと theanoライブラリを使って、deep learningの勉強してみようとした。 しかし、theanoのインストールがなかなかうまくいかず、いろいろ作業をしたので、その時のログを残しておく。 theanoのインストールがうまくいかなかった原因 pip instal…
やりたいこと データフレームをグループ化して集計(平均)し、その上で、各グループについて上位N件を取得したい。 つまり、やることを分解すると、 1 グループ化して数値集計(今回は平均) 2 集計した数値で、各グループごとに上位N件取得 1 グループ…
恥ずかしながら、パッケージユーザーなもので、PCAがきちっとwかっていない状態で使おうとしてハマっていた感があった。 そこで、「何をしているか?」を明確にして、扱ってみることにする。 ちなみに、この記事で扱ってるscikit-learnはバージョンが0.15で…
管理者権限がない環境(共用サーバーなど)でpythonの便利環境を構築するためのまとめをしてみた pip関係 pipを使ったライブラリのインストール ここで、以前も紹介したが、 pip install ライブラリ名 --user pipを使った場合のライブラリが保存されるディレ…
やりたいこと numpy arrayを使った行列計算をしたい。 が、マシンスペックから行列をメモリ上に保持しておくことができない。 どうするか? 解決策 arrayをディスクに保存しておき、一気にすべてのarrayをメモリに載せなくてもいいようにする。 こんな解決策…
やりたいこと pythonのコード中で、メモリの最大ヒープサイズを設定する。 と、いうのも、メモリサイズが大きかったせいで、サーバーからプロセスがkillされてしまったらしいのだ。 これはマズイ。ということで、きちんとメモリ量を制御する。 どう解決する…
先日、PCAとkmeansを使った分析の話を書いたが、ハマったところがあったので、書いておく。 ハマったところ やりたいことは、実数空間を、別の軸ではられる空間に射影することだった。 従って、射影ベクトルは入力次元と同じだけ必要となる。 が、なんどやっ…
やりたいこと データに対して、連関規則を見つけたい。 いわゆる、「バスケット分析」や「アソシエーション分析」を行ないたい。 RではArulesパッケージが用意されているので、簡単に活用できる(はずなんだけどなあ) arulesの使い方はここやここなど、とっ…
いままで知らなかったのだが、常套手段らしい。 どういう時に役にたつか? 大目的 あるデータがあって、そのデータをクラスタリングしたい。(つまり、データをkmeasnで分離したい。) 問題どころ データの状況によっては、実数空間のままではうまく分離がで…
やりたいこと numpyの行列をpandasのdataframeに変換したい。 以前、pandasのdataframeをnumpyの行列にしたいということを書いたが、今度は逆のことをしたい。 どう解決するか? ここに書いてあった。 pd.DataFrame(numpy_array) とすればいい。 引数にいろ…
やりたいこと numpy型のarrayの中身をぜんぶ型変換したい intからfloatみたいな感じで どうするか? array_obj.astype() とかく 64ビットのfloatなら numpyMatrix = numpyMatrix.astype(np.float64) で変換できる
やりたいこと dataframeを行列として扱いたい。 なので、numpyのarray型(np.arrayかnp.adarrayにしたい) どう解決するか? ここに書いてあった。 なんだか、いろいろな人が回答しているが、一番シンプルでわかりやすかったのがこれ。 df.as_matrix() すで…
やりたいこと try exceptによる例外処理を行うときに、組み込みの例外クラス以外も扱いたい。 ちなみにtry exceptの基本的な使い方はここにまとめられている。 具体的にどんな状況か? twitter APIから情報取得をしている時にこんなエラーが発生してしまった…
やりたいこと AWSのインスタンスバックアップを取りたい。 簡単に使えるという、AWSのバックアップツール群を使いたい。 ちなみにS3へのバックアップの手順はこんなサイトにありがたく説明されている 問題 Amazon AWSのインスタンスのバックアップをとるため…
やりたいこと headerがあるファイルを連結したい。 イメージ的には、ヘッダ付きのcsvとかtsvをcatコマンドで結合する感じ。 でも、catコマンドだと、結合したファイルのあっちこっちに ヘッダ行が出現してしまう。 これは困った。 どう解決するか? awkコマ…
ある日、行列を前にして、「さて、これを固有値分解。。。あれ、特異値分解。。???ん、そもそも固有値分解と特異値分解って何が違うんだっけ」と混乱に陥った。 そこで、もう一度、「何がどうちがうのか?」をおさらいしてみた。 勉強したのはここのサイ…
やりたいこと webページのスクレイピング これを全部pythonから実行したい。 解決方法 うまいことライブラリを組み合わせてスクレイピングをする htmlページの取得: urllib2ライブラリを使う。(wgetで代用してもおk) htmlの解析: lxml.htmlライブラリを使…
やりたいこと pythonで作成したスクリプト中で、実行ログをきちんと出力しておきたい。 どう解決するか? loggingライブラリを使う。 ありがたいことに、loggingライブラリの使い方を説明してくれたページがあったので、リンクを貼っておく。
やりたいこと 隣接行列を作りたい。 で、隣接行列の元データは2次元のdict型で保存されている。 例えば、ノードAとノードCからノードBへと接続されていおり、そのエッジの重みが1という状態を作りたい。 {ノードA: {ノードB: エッジの重み}, ノードC: {ノ…
やりたいこと pythonで作成しているプロジェクトがあって、ディレクトリ構造をきれいにしておきたい。 まちがっても、プロジェクト直下のディレクトリに~py ~pyc ~datが大量に並んでいる状態は避けたい。 そこで、慣習的なディレクトリ構造の作り方はあるの…
やりたいこと Rmdで生成しているhtml内にテーブルがあって、xtableを使用して表を表示している。 で、この表を罫線で囲みたい。 解決法 xtableを使うチャンク内で下の記述を入れる。コピペでおk。 しかも、最初にxtableをprintしてるチャンク内に記述すれば…
やりたいこと 自分で他ファイルに定義した関数を読み込む時に、きちんと読み込み元を明示する。 Rでは他のファイルに定義された関数を呼ぶときは、source(ファイル名)と記述するが、多くのファイルを読み込み始めると、どの関数がどこで定義されたのか?わか…
やりたいこと gzで圧縮されたファイルから特定の文字列を探し出して、行数を数えたい 条件がいくつかあり ファイルは当該ディレクトリの中に複数存在する ディレクトリの中には見たいファイルの他にもいろんなファイルが存在する ファイルはgzで圧縮されてい…
twitterでの情報拡散系を知りたくて、関連する研究を漁っていたら、"A stochastic model of the tweet diffusion on the Twitter network"というのを見つけた。(いきなりこの論文を見つけたわけでなく、著者本人よる簡単な日本語要旨があったので、そっから…
Rはオブジェクト指向の言語ではない。従って、呼び出している関数が、どのクラスのメソッドなのか?を意識してなくともコードが書ける。 しかし、それがために、思わぬ事態を招くことがある。 今回はそんなバッドな事例を紹介しようと思う。 現象 crontabに…
ハマりポイント dplyrのsummarise関数を使って、集計処理をしたい。 具体的には、グループ化して、条件に合うベクトルの長さを取得したい。 input_df %.% dplyr::group_by(グループ化変数) %.% dplyr::summarise(length(集計したい変数)) しかし、実行してみ…