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

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

シリコンバレーのIT企業が利用しているA/Bテスト手法まとめ

いま注目すべきシリコンバレーの有名なIT企業は新規のデザインや機能が有効かどうかを検証するためにA/Bテストを行っています。 その一方で、日本の企業も含め、A/Bテストを本番環境で導入している企業は非常に少ないです。 加えて、日本で言われているA/Bテ…

デモグラフィック属性(性別・年齢)を予測する論文を読んだ

読んだ論文 Demographic Prediction Based on User’s Browsing Behavior Microsoftの論文(WWW2007) 引用数は145(2016/03/20時点) Abstract ウェブサイトの閲覧データからユーザーの年齢と性別を推定する 提案手法は次の3つのステップから成る デモグラ既…

退職しました

TL;DR 新卒で入社したソシャゲの会社を1月末で退職することになりました.今は有給を消化しながら, ブログを書いています.2月からは六本木にあるニュースアプリの会社でデータ分析エンジニアとして働きます. 前職について 新卒で去年の3月入社だったので, 約1…

社内LT会を開催してみた話

はじめに 皆さんもエンジニアならLTをした経験があったり, LTという言葉は聞いたことがあると思います. よく勉強会やカンファレンスで行われているショートプレゼンのようなものです.2015年の6月から社内LT会の開催を始めて, 今月のLTが4回目の開催でした. …

2015年の振り返り

2015年の振り返りをしていなかったので, 今年も既に3日目ですが, 月ごとに軽く振り返っていこうと思います. 会社の都合上書かない方が良いこともあると思うので, ちょくちょく抜けていますが, ご了承下さい. 1月 卒論 2月 卒論発表, 卒業旅行で海外3カ国 3月…

Goオールスターズに参加してきた

10月11日の日曜日に, Goオールスターズという勉強会に参加してきました. 6つのセッションとパネルディスカッションがあり, とても内容の濃い勉強会でした. 懇親会のピザとビールもたくさんあって満足でした. eventdots.jp 全体 全体としてはGoの思想や特徴と…

MacエンジニアがWindowsに移行して環境を整えてみた

最近働き出した会社のPCがWindows固定なので、仕事中はMacを使うことができなくなってしまいました。 できるだけMacのような環境で開発したい、と思い色々やってみたので記事にしてみます。 インストールしたソフトウェア 以前Windowsで開発していたときはVa…

オンライン学習と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という団体はテクノロジーを用…

ビッグデータの正体

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