データ分析エンジニアのブログ

日常のことからプログラミングや機械学習まで@六本木

2014-01-01から1年間の記事一覧

オンライン学習とPassiveAggressiveアルゴリズム

今回はオンライン学習と呼ばれる機械学習の学習方法についてです。 PassiveAggressiveというオンライン学習のアルゴリズム(以下PAアルゴリズム)はGmailの優先トレイにも使われているのですが、2006年に発表された比較的新しい手法だからでしょうか、、ネッ…

意外と知らないMySQLの機能まとめ・3選

MySQLはかれこれ2年くらい使っていますが、意外に知らない機能がまだまだあるなと感じたので、最近使い方を知った以下の3つの機能についてまとめてみました。 同じMySQL上の別データベースにあるテーブルをJOIN 複数テーブル(3つ以上のテーブル)をJOIN …

ネットワークの中心性の話

久々のブログ更新です。 最近は、卒論と機械学習やアドテク周りの勉強をやっていて中々ブログを書く時間が取れていませんでした。 卒論ではTwitterにおける情報拡散の研究をしているので、 基本的なネットワークの特徴量である、中心性の話をしたいと思いま…

さくらVPS(CentOS)上のApacheでpassengerを使ってRailsを動かす

今回の内容はタイトルの通りです。 内容的にかなり長くなってしまうので、参考にさせていただいたサイトを紹介するという形で進めていきます。 基本とする参考サイト RailsアプリをさくらVPS上のpassengerを使って本番環境で動かす(1) Railsアプリをさくら…

USBの空き容量がおかしいと思ったら...

最近はUSBを使う機会はあんまりないと思ったのですが、とりあえずシェアしてみます。 USBを使っていると、実際に保存されている容量と空き容量を見て、 あれ、なんか空き容量少なくないか、、、 と思うことが多々あると思います。 少しの違いならいいのです…

CakePHPでResponse HeadersのContent-Typeを変更する

こんにちは、結構前に書いたScrapyについての記事が地味にはてブがついたり、 Tweetされていたりして密かに喜んでいる、@ij_spitzです。 今回はCakePHPでAjaxを実装したときに半日ほど躓いてしまったポイントについて書きたいと思います。 CakePHPは2.5系を…

CakePHPで部分テンプレート(エレメント)を使う

こんばんは、久々のブログの更新になります。 最近はCakePHPやRuby on Railsで開発をしています。 iOSのデベロッパー登録もしてswiftも趣味の範囲ですが、一応やっています。 開発をしていると複数のページで同じ部分レイアウトのコードを書くことがあると思…

PythonでScrapyを使ってクローリングをしてみる

前回はurllib2というモジュールを使った簡単なスクレイピングの方法を紹介しました。 今日はScrapyというクローリング+スクレイピングのフレームワークを使って、 ウェブから情報を取ってくる方法をご紹介します。 フレームワークな分、以前紹介した手法よ…

【Python】urllib2とElementTreeで簡単スクレイピング

こんばんは! 今回はurllib2とElementTreeというモジュールを使った、 Pythonでの簡単なスクレイピングの方法について書いてみようと思います。 クローリングのような大規模なものになると、 scrapyやBeautifulSoup、Mechanize等のモジュールを使った方が楽…

AICとBICについて

最近、重回帰分析やx-means法について調べていて、 AICとBICという指標について気になったので、メモ代わりに。 簡潔に言うと、この2つの値はモデルの当てはまりの良さを表すために使われています。 定義としては以下の式で表されます。 AIC = T * log(s^2) …

git stashで変更内容を一時退避する

今回はgitのstashの使い方について書いていきます。 gitにはstashという領域があり、 一時的に変更内容を退避する仕組みが用意されています。 機能ベースでブランチを切って開発しているのですが、 現在開発しているものをコミットせずに、前回開発したもの…

ログアウトしてもジョブを継続する方法

こんにちは。 研究などで時間のかかるプログラムをサーバーなどで 実行しておきたいときがあると思います。 そんなときに普通にssh接続してプログラムをコンパイルしてログアウトすると プログラムは終了してしまいます。 これを解決するためにはLinuxのnohu…

Vimでクリップボード連携【Mac】

Vimを使っていると他のアプリケーションでコピーした文字列を貼り付けたい、 Vimで書いている文字列を他のアプリケーションにコピーしたい という状況がよくあると思います。 今回はそんな状況を打破すべく、Vimでクリップボード連携をしてみようと思います…

PythonでURLのプロトコル(http://,https://)を消す方法

こんにちは。 最近はPythonを使ってツイートの分析をしています。 具体的にはクラスタリングやtf-idfなどの手法を使って、クラスタリングした後に そのクラスターの特徴語を抜き出すということをやっています。 tf-idfの結果を見ると、 ところどころhttpやコ…

Python/Numpyでベクトルのユークリッド距離を求める

PythonのNumpyを使えば、次元によらずに ベクトル同士のユークリッド距離が簡単に求められます。 方法1 >>> import numpy as np >>> np.linalg.norm(a-b) 方法2 >>> import numpy as np >>> np.sqrt(numpy.power(a-b, 2).sum()) おまけでScipyを使ってコサイ…

PythonでMySQLのエスケープ

PythonでMySQLを使うとき必ずと言っていいほど文字コードに悩まされます。 以前起きたUnicodeErrorはMySQLdb.connector() のメソッドでcharset='utf8'を引数に渡せば解決する類のものでした。 今回のUnicodeErrorはテキストを挿入したときに起きたもので、 …

Google Big Queryについて調べてみた

最近話題となっている低価格で大量のデータに高速にクエリを 実行することができる、Google Big Queryについて調べてみました。 特徴、導入方法、使用方法、価格について簡単にまとめています。 特徴 特徴としては、クエリを非同期でバックグラウンドで実行…

JK課とオープンデータで有名な福井県鯖江市まとめ

最近、地方活性化などの取り組みがニュースになることが多いようですね。 僕自身も地方出身ということで、かなり興味があったので、 JK(女子高生)課やオープンデータの取り組みが話題になっている 福井県鯖江市についてまとめてみようと思います! 鯖江市は…

最凶学園ナックルバウトが割と面白かった

ヤンキー系のゲームやりたいなと思って探していて 見つけたのがこのゲーム。 サイバードという会社が作っていて、 他にもコナンの推理ゲームやバーコードフットボーラーなども 出している会社でした。 初心者キャンペーン中ということでガチャが1日11回無料…

Pythonの実行結果をブラウザに表示する(MAMP)

今日、CGIスクリプトとして PythonをWebサーバ上で動かすということをやってみました。 MAMPのローカル環境で作業しています。 ・まずはMAMPのapacheの設定apacheの設定ファイルでCGIを有効化し、.py拡張子を追加する /Applications/MAMP/conf/apache/httpd.…

PHP SDKを使ったfacebook認証がうまくいかない時の解決法

今回はPHP SDKを利用して、facebookログインを実装しようとして、 つまずいたポイントを紹介します。 この問題を解決するために、丸1日くらいかかりました。 getLoginUrl()メソッドを用いて、facebookのDialog認証を行い、 getUser()メソッドでfacebookidを…

AppliCareのエンジニア向けセミナーに行ってきた

昨日、医療系アプリ開発コンテストを主催する AppliCareという団体のエンジニア向けセミナーに行ってきました。 セミナーの内容はさておき、 AppliCareという団体とそのコンテストについて今日は書きたいと思います。 AppliCareという団体はテクノロジーを用…

ビッグデータの正体

結構前から話題になっていて、ずっと読みたいなと思っていた本。 研究でそれっぽいことをやるので、まず技術を学ぶより、 外観をざっとつかんだ方が良いと思い購入してみました。 まず一言感想を述べるとやっぱり読んでよかった。 この本では、ビッグデータ…

はてなブログでソースコードを貼り付ける方法

他の人のはてなブログを見ているとソースコードが色付きの四角で 囲まれているのをよく見ますよね。 ↓こんな感じで public function echo1() { echo 1; }今まではあれどうやるんだろ、と思いつつもスルーしてたのですが 方法を調べてみました。 やることは簡…

FQLでfacebookのGraphApiを高速化

PHP

現在PHPのFacebookSDKを使ってGraphApiを叩く、 みたいなサービスを作っています。 そこでイベントのIDからイベントの参加者を取得したい、と思ったのですが FQLを使わずにFacebookオブジェクトのapiメソッドを使うと クエリは2個に分けないといけないしで少…

vimの設定をしてみる

Linuxなどのサーバーに触っている人なら 日常的にvimを使っていると思いますが、 なかなか初心者には使っている人があまりいないようで 僕の周りではSublimeやDWを使っている人が多いです。 (僕の周りにフロント系の人が多いというのも原因だと思いますが、…

PHPでメンバー変数にオブジェクトを持たせる場合のアクセス権

PHP

クラスのメンバー変数に外部のオブジェクトを持たせたい場合、 他のクラスから参照して書き換えられるように、 public変数にしなければならないみたいです。当たり前のことですが、今日ここで割と時間とられました。 コードの一例... class FacebookApi { pu…

幅優先探索で迷路を解いてみた

こんにちは。 今までCheckiOを順調に進めてきたのですが、笑 かなりつまづいた問題があったのでその問題について書きます。 ※ ネタバレを含みますのでご注意ください。 まず迷路を解くのにもいろいろな方法があります。 一般的には深さ優先探索や幅優先探索…

tf-idf法で単語の重み付けをやってみる!

前回Macにmecabを入れることができたので、 tf-idf法という手法を使って文章内の単語の重み付けをやってみました。 ソースコードはgithubに公開しています。 https://github.com/junishitsuka/python/blob/master/tf-idf.py こちらの式を参考にtf-idfについ…

macにmecabを入れてpythonから使えるようにするまで

今日は形態素解析によく使われるmecabをMacでインストールしました。 homebrewでのインストール手順ですが、 今日やった手順を残しておきたいと思います。 1. まずは検索 $ brew search mecab => mecab mecab-ipadic mecab-unidic 2. mecabのインストール $ …