読者です 読者をやめる 読者になる 読者になる

【Kaggle】Bike Sharing Demandを予測してみた

修論が終わったので、今まで余り手が出せていなかった分野にぼちぼちチャレンジしようと思う。

ということで、とりあえずKaggleに投稿してみた。投稿したコンペティションはこちら。


Description - Bike Sharing Demand | Kaggle

 

自転車のシェアリングシステムで、一時間に何台の自転車が貸し出されるかを予測する問題。

与えられるデータには日時、季節、天候等が記載されていて、これらの特徴量から自転車の貸し出し台数を予測する。予測結果と真の値の誤差はRMSLEで算出され、評価される。

 

一先ず、処理がめんどくさい日時以外の特徴量とscikit-learnのSVRを使って予測してみる。結果は、スコアが1.45くらいで順位が大体1900位/2000人。道のりは険しい。ちなみに、予測台数を全て0にしたサンプルのサブミッションファイルだとスコアが4.5くらいだった。

次に、時間帯を特徴量として扱うように変更を加えた。時間帯を1時間ごとに区切ってカテゴリカルな特徴量として扱うようにした。この特徴量を加えて、同様にSVRで予測するとスコアが1.2くらいに改善された。これでもまだ1800位くらい。

SVRだと性能が余り良くなさそうだったので、scikit-learnに入っている他の手法を試してみた。すると、RandomForestRegressorでスコアが0.55程度まで改善された。大分良くなったのだけど、何でRandomForestだとここまで精度が改善されるのかは理解していないので勉強しないと...。

 

ちょっとした追記 

特徴量の作り方 - naohachi89’s diary

 

Mac Book Pro Retinaの開発環境構築

現在、先日買ったMac Bookの開発環境を構築しているのですが、備忘録として環境構築の参考にした記事をまとめておく。

 

・エディタ

Sublime Text2を使っているので以下の記事を参考にして設定した。

【追記】【寄せあつめ】今さらだけどSublime Text 2の基本とカスタマイズ【&Vim化】【4日目】 | Developers.IO

 

・ パッケージ管理

パッケージ管理ソフトとしてhomebrewを使っているので以下の記事を参考にしてGit、PythonPHPRubyを入れた。

MacOSX - Mac OSX で開発環境を構築するための環境構築 (Homebrew, Git, SVN, Ruby, Perl, Python) - Qiita

 

PHPApacheMySQL

以下の記事を参考にして、所謂LAMP環境を構築した。


Homebrew で Apache, PHP, MySQL, Composer をインストールして Yii Framework を動かすところまで - Qiita

Python

機械学習関連のライブラリを入れるために以下の記事を参考にしてanacondaを入れた。

pyenvは前のマシンでは全く使っていなかったのだけど、pythonの2系と3系を簡単に切り替えられて非常に便利。


MacでPython3系ベースの機械学習環境設定(Python2系との共存) - Qiita

 

Mecab

形態素解析ライブラリであるMecabを入れるために以下の記事を参考にした。


mecab-pythonをMacにインストールする - Qiita

途中でエラーが出てちょっと詰まってしまったのだけど、どうやらsetup.pyの中にpython3系だと動かないコードが含まれていないことが原因だったらしい。以下の記事を参考にsetup.pyを修正したら正常にインストールすることができた。やっぱりMeCabのインストールはめんどい。


Python3でMeCab

 

現状はこんな感じ。また新たに環境を構築したら追記するかも。

 

 

修論審査終了

修士論文の発表をしてきた。

終わってみれば以外とあっけなかったように思う。

 

修士での研究生活は卒論の頃と比べるとしんどかったけれど、修論そのもののしんどさは卒論と比べるとそれほどでもなかった気がする。学部の頃は提出直前に6日間ほど研究室に連泊したのだけど、修論で大学に泊まることはなかった。

 

これは学会経験の有無に依るもので、学部時代の研究はろくな成果が出なかったため、卒論発表までに結局学会を経験することはなかった。対して、修士では曲がりなりにも学会発表を何度か経験していて、修論に書く内容や発表スライド等の資産があったので卒論の頃と比べるとかなりスムーズに論文を書くことができた。結局修士の間に国際会議に投稿することはなかったし、人に自慢できるような大した成果は出なかったけれど、それでも学会を経験しておくことでだいぶ楽にはなったと思う。

もしこの文章を読んでいる卒論生や修論生がいたら、例え研究に対するモチベーションが低い学生であっても、学会に論文を投稿することをおすすめする。学会論文を書くのは、(僕のような)意識の低い学生にとっては中々しんどい作業ではあるのだけど、書いておくと修論の執筆が楽になるのはもちろん、修論執筆時に既に一定の成果が出ているので精神的にもだいぶ楽になると思う。書いててよかった、学会論文。

 

MacBookPro Retinaを買いました

MacBookPro Retinaを買った。

スペックは以下の通り。

CPU:2.8GHz

メモリ:16GB

SSD:256GB

 

3年前にMBPを買った時は一番安いモデルにしたのだけど、使ってから1,2年経つとかなり動作が遅くなってしまったのでメモリは16GBにしておいた。流石に、今のところは快適に使えているけどいつまでこれが続いてくれるか。

以下Retina機を1日使ってみた感想。

 

サウンド面

今のところ、Retina機を使っていて一番感動したのはこれ。旧MBPを使っていた時と音質がぜんぜん違う。自分は音質とか普段は全くこだわらないんだけど、オーディオ機器に何万円もかけれる人の気持ちが少しわかった。

 

ディスプレイ

すごくきれいです。で終わると流石にあれなのでもう少し書くと、確かに旧MBPと比べるときれいなんだけど、感動するほどではなかったかな。ディスプレイに名前までつけて売り出している割には微妙だと思った。いや、十分綺麗ではあるのだけども、個人的にはサウンド面の方が感動した。

 

キーボード

Retinaとは関係ないけど、キーボードを初めてUSにしたの書いておく。プログラミングしやすいと聞いたので、今回はUSキーボードにしてみた。慣れていないので@やコロン、セミコロン、コントロールキーあたりの配置でまだ戸惑う。コントロール以外は、慣れたらUSの方が押しやすそうな雰囲気はある。

 

今のところ快適に使えているし悪い買い物ではなかったけど、非Retinaの頃と比べてだいぶ高いのでもう少し安くしてくれると嬉しい...。

また何か気がついたら適当に書き足すとして、今日のところはこのへんで。