2014-08-01から1ヶ月間の記事一覧

pythonで最大ヒープサイズを設定する

やりたいこと pythonのコード中で、メモリの最大ヒープサイズを設定する。 と、いうのも、メモリサイズが大きかったせいで、サーバーからプロセスがkillされてしまったらしいのだ。 これはマズイ。ということで、きちんとメモリ量を制御する。 どう解決する…

Scikit-learnのPCAの正しい使い方

先日、PCAとkmeansを使った分析の話を書いたが、ハマったところがあったので、書いておく。 ハマったところ やりたいことは、実数空間を、別の軸ではられる空間に射影することだった。 従って、射影ベクトルは入力次元と同じだけ必要となる。 が、なんどやっ…

Arulesを使う上で、つまったところ

R

やりたいこと データに対して、連関規則を見つけたい。 いわゆる、「バスケット分析」や「アソシエーション分析」を行ないたい。 RではArulesパッケージが用意されているので、簡単に活用できる(はずなんだけどなあ) arulesの使い方はここやここなど、とっ…

PCAとkmeansを組み合わせた分析

いままで知らなかったのだが、常套手段らしい。 どういう時に役にたつか? 大目的 あるデータがあって、そのデータをクラスタリングしたい。(つまり、データをkmeasnで分離したい。) 問題どころ データの状況によっては、実数空間のままではうまく分離がで…

numpyの行列をpandasのdataframeに変換したい

やりたいこと numpyの行列をpandasのdataframeに変換したい。 以前、pandasのdataframeをnumpyの行列にしたいということを書いたが、今度は逆のことをしたい。 どう解決するか? ここに書いてあった。 pd.DataFrame(numpy_array) とすればいい。 引数にいろ…

numpy型の行列の要素を型変換

やりたいこと numpy型のarrayの中身をぜんぶ型変換したい intからfloatみたいな感じで どうするか? array_obj.astype() とかく 64ビットのfloatなら numpyMatrix = numpyMatrix.astype(np.float64) で変換できる

pandasのdataframe型をnumpyのarray型に変換する

やりたいこと dataframeを行列として扱いたい。 なので、numpyのarray型(np.arrayかnp.adarrayにしたい) どう解決するか? ここに書いてあった。 なんだか、いろいろな人が回答しているが、一番シンプルでわかりやすかったのがこれ。 df.as_matrix() すで…

try exceptをしっかり使う

やりたいこと try exceptによる例外処理を行うときに、組み込みの例外クラス以外も扱いたい。 ちなみにtry exceptの基本的な使い方はここにまとめられている。 具体的にどんな状況か? twitter APIから情報取得をしている時にこんなエラーが発生してしまった…

AWSのバックアップツールが動作しない

やりたいこと AWSのインスタンスバックアップを取りたい。 簡単に使えるという、AWSのバックアップツール群を使いたい。 ちなみにS3へのバックアップの手順はこんなサイトにありがたく説明されている 問題 Amazon AWSのインスタンスのバックアップをとるため…

ヘッダを維持したまんまファイルをunixコマンドで結合したい

やりたいこと headerがあるファイルを連結したい。 イメージ的には、ヘッダ付きのcsvとかtsvをcatコマンドで結合する感じ。 でも、catコマンドだと、結合したファイルのあっちこっちに ヘッダ行が出現してしまう。 これは困った。 どう解決するか? awkコマ…

固有値分解と特異値分解の違いってなんだっけ?

ある日、行列を前にして、「さて、これを固有値分解。。。あれ、特異値分解。。???ん、そもそも固有値分解と特異値分解って何が違うんだっけ」と混乱に陥った。 そこで、もう一度、「何がどうちがうのか?」をおさらいしてみた。 勉強したのはここのサイ…

htmlのスクレイピングをする

やりたいこと webページのスクレイピング これを全部pythonから実行したい。 解決方法 うまいことライブラリを組み合わせてスクレイピングをする htmlページの取得: urllib2ライブラリを使う。(wgetで代用してもおk) htmlの解析: lxml.htmlライブラリを使…

pythonスクリプト中でログを出しておく

やりたいこと pythonで作成したスクリプト中で、実行ログをきちんと出力しておきたい。 どう解決するか? loggingライブラリを使う。 ありがたいことに、loggingライブラリの使い方を説明してくれたページがあったので、リンクを貼っておく。

2次元のdictから隣接行列を生成する

やりたいこと 隣接行列を作りたい。 で、隣接行列の元データは2次元のdict型で保存されている。 例えば、ノードAとノードCからノードBへと接続されていおり、そのエッジの重みが1という状態を作りたい。 {ノードA: {ノードB: エッジの重み}, ノードC: {ノ…

pythonで作成しているプロジェクトディレクトリを綺麗に保つ

やりたいこと pythonで作成しているプロジェクトがあって、ディレクトリ構造をきれいにしておきたい。 まちがっても、プロジェクト直下のディレクトリに~py ~pyc ~datが大量に並んでいる状態は避けたい。 そこで、慣習的なディレクトリ構造の作り方はあるの…

Rmdでhtmlを作成するときに、表を罫線で囲む

R

やりたいこと Rmdで生成しているhtml内にテーブルがあって、xtableを使用して表を表示している。 で、この表を罫線で囲みたい。 解決法 xtableを使うチャンク内で下の記述を入れる。コピペでおk。 しかも、最初にxtableをprintしてるチャンク内に記述すれば…

他のファイルに定義された関数を「明示的に」読み込む

R

やりたいこと 自分で他ファイルに定義した関数を読み込む時に、きちんと読み込み元を明示する。 Rでは他のファイルに定義された関数を呼ぶときは、source(ファイル名)と記述するが、多くのファイルを読み込み始めると、どの関数がどこで定義されたのか?わか…

gzで圧縮されたファイルから欲しい文字列の行数を数える

やりたいこと gzで圧縮されたファイルから特定の文字列を探し出して、行数を数えたい 条件がいくつかあり ファイルは当該ディレクトリの中に複数存在する ディレクトリの中には見たいファイルの他にもいろんなファイルが存在する ファイルはgzで圧縮されてい…

twitterの情報拡散(retweet数予測モデル)に関する研究

twitterでの情報拡散系を知りたくて、関連する研究を漁っていたら、"A stochastic model of the tweet diffusion on the Twitter network"というのを見つけた。(いきなりこの論文を見つけたわけでなく、著者本人よる簡単な日本語要旨があったので、そっから…

その関数、本当に意図してる関数ですか?

R

Rはオブジェクト指向の言語ではない。従って、呼び出している関数が、どのクラスのメソッドなのか?を意識してなくともコードが書ける。 しかし、それがために、思わぬ事態を招くことがある。 今回はそんなバッドな事例を紹介しようと思う。 現象 crontabに…

dplyrはsummariseの中で同じ変数を指定してはいけない

R

ハマりポイント dplyrのsummarise関数を使って、集計処理をしたい。 具体的には、グループ化して、条件に合うベクトルの長さを取得したい。 input_df %.% dplyr::group_by(グループ化変数) %.% dplyr::summarise(length(集計したい変数)) しかし、実行してみ…

月曜日の日付を特定する

R

やりたいこと 月曜日の日付を特定する。 ソシャゲで週ごとのイベントの数値集計したいときに重宝する機能である。 解決法 日付をunix timeに変換してから割り算をする。 割り算のあまりで「月曜日が何日前か?」を判断して、引き算を行う。 コードは以下 Det…

管理者権限のない環境でpip installを行う

やりたいこと pip installコマンドを使って、pythonライブラリを簡単にインストールしたい。 ただし、管理者権限はもっておらず、「試すための目的でいちいちインストールを管理者に頼む。」なんてことはできない状況。 解決方法 --userのオプションを利用す…

twitterから有用な情報を発信するユーザーを発見する研究

やりたいこと Twitterネットワークの中から、「役にたつ(とtwitterユーザーが考える)」情報を発信するユーザーを発見したい。 そこで、この目的の研究を探してみた。 Twitterにおけるフォローに関する影響力に基づくハブ度の推定 以下、読んでみたメモ…

ブログの引っ越しをした

とあるアフィリエイトを申請してみたかったのだが、どうやらはてなブログのままだと審査に通らないらしい(と、いうかそもそも受け付けてくれない。ドメインをみて弾いているとか?) そこで、自分でドメインとって、新しくブログを運用してみようと思った。…

Rでデータフレームから特定の列を削除したい

R

やりたいこと データフレームから特定の列だけを削除したい。 でも、列の指定はインデックスじゃなくて、列名で指定したい。 解決策 setdiff関数を使う。 書式 df[setdiff(colnames(df), "除外したい列名")] ※ こっちでもOK。というか、こっちの方が書式的に…

twitter APIにアクセスして情報取得

やりたいこと Twitterのユーザー情報を取得してきたい。Pythonで! PythonのTwitter APIライブラリを使う python-twitterを使えば、非常にお手軽にapiを利用できる。 なので、以前からちょいちょい利用していたのだが、最近、試してみたら、あれ!?ユーザー…

レンタルサーバーかりて、ホームページを作ってみた

何書こうか?と迷ったが、このブログを開設するまでの経緯でも書いておく。 レンタルサーバー業者選び まずは、自分でホームページつくるにも、サーバーを借りてこなくてはいけない。 周りからは、「無料サービスのサーバーでいいんじゃない?どーせサーバー…