DISTRICT 37

なにか

9.11何をしてましたか

あの日は漫画喫茶でバイトをしてた。店の性格上、普段は静かなはずなのにお客さんが「マジか」とか「映画?」とか言ってざわついてたのを覚えている。その時点では詳細はわからなかったが、バイトが終わって家に着くと、普段はもう寝ている両親が起きていてテレビを見ていた。

「起きてたんだ、珍しい」と声をかけると、「テレビを見てみろ」と。見ると映画とかで見慣れたビルが燃え上がってた。聞くと飛行機が突っ込んだと言った。しばらくして崩れ落ちていくビルを無言で見続けた。

ふと、友人がそこへ旅行に行っているのを思い出して、慌てて電話した。返事は「電波の届かないところに、、、」と例のあれを聞かされ、とても焦った。今とは違ってWi-Fiが整備されてなど無く、国際ローミングなんて金持ちがやる事で海外旅行中は電源を切っているというのが貧乏人による海外旅行のセオリーだ。ただ電源を切っているだけだ、他に連絡を取るすべなんてないので、どうかそうであってくれと願った。幸い彼は無事だった。帰国後に話を聞くとその時にちょうどタワーの近くにいてそれを目撃していた。崩壊するタワーから命からがら逃げだしたと興奮しながら話していた。これが転機なのか定かではないが、彼は平和というのを特に意識する人物となっていった。

その頃は米軍基地のある街に住んでいた。厳戒態勢に移行したのか、ライフルを持った兵士がゲートを見張るようになった。それまでは武器といっても警察のように腰についているホルダーに収まった拳銃ぐらいだったのが、裸でライフルを持ち歩くようになっていた。出入りのチェックも厳しくなり、ゲートの前は入退場の渋滞が起きていた。今まではニコニコと出入りの人にハイタッチでもしそうな勢いだったゲートの雰囲気が、一変して緊張感を放ち始めていくのを感じた。身近にありすぎていて忘れていたが、ここは「基地」、つまり「軍事施設」で、そこにいるのは「軍人」だったのだと思い知らされた。

あれから15年以上経ち、基地にはその当時の緊張感はさすがにない。年に一回行われる基地解放のお祭りも復活している。しかしあの事件により人の心に、街の雰囲気に、今尚その光景は刻み込まれているのだと思う

jupyter notebookで日本語を使う

jupyter notebookで豆腐化した日本語を正しく表示する

最初の宣言

jupyter notebookでpythonを書く際にはとりあえず1行目にこれをコピペして使っている。

%matplotlib inline
import numpy as np
import pandas as pd
import matplotlib
import matplotlib.pyplot as plt
import seaborn as sns
font = {"family": "TakaoGothic"}
matplotlib.rc('font', **font)

この中で最後の2行で日本語フォントを指定してmatplotlibに設定している。これで豆腐化を回避できる。

QtConsoleを使う

jupyter notebookを普段使って書いているのだが、QtConsoleなるツールがあることを知った

f:id:dragstarclassic:20170911130213j:plain

シェル(ipython)上でグラフとか出せちゃうってツールだ。これはかっこいい。

QtConsoleのインストールと実行

公式ドキュメントはコチラ。

The Qt Console for Jupyter — Jupyter Qt Console 4.3.1 documentation

anacondaを使っていない場合はこんな感じでインストールできる

pip install pyqt5
pip install qtconsole

公式ドキュメントにはcondaなら一撃でインストールができると書いてあったが、その環境は作ってないので、一つ一つインストールを行った。ちなみに現在(2017/09/11)ではpyqt4はpipになかったので、pyqt5を選択。

インストール後はこれで実行

jupyter qtconsole

コアはjupyter notebookなので、「%matplotlib inline」とかの呪文が無いとグラフは表示されないので注意。上にあげた画像は日本語が豆腐化しているので、その対応もやらないと日本語は出ない。

dragstar.hatenablog.com

ちょっとしたコードを書いて、グラフとか表すにはこれで十分かも。シェル上にグラフが出るのはうれしいが、それでもブラウザで動かすjupyter notebookの使いやすさには敵わないかなという印象。

ゲストOSのDjangoサーバーをホスト側のブラウザで見る

やりたいことは表題の通り

前にJupyterの記事にDjangoのためにポートフォワーディングの設定をしたと書いたが、実際のやり方を忘れたので備忘録的に

dragstar.hatenablog.com

解決策

Djangoのデフォルトポートは8000でポートフォワーディングの設定の時にそれを入れるだけではだめだった。で、jupyterの時と同じように、アクセス可能なIPを指定したらいい。具体的にはこんな感じで

python manage.py runserver 0.0.0.0:8000

Django側のポートを変えたければこう書いたらいい

python manage.py runserver 0.0.0.0:8500

あとはヘルプを見るとか。

python manage.py runserver -help

といいてもヘルプにはこのあたりが書いてないから、直接Documentを漁るのが一番早いかも

Django documentation

これで解決。

Ubuntu16.04でapt updateに失敗する

現象としてはapt updateしたときにこんなエラーが出たところから始まる

E: http://jp.archive.ubuntu.com/ubuntu/dists/xenial-backports/main/dep11/icons-64x64.tar の取得に失敗しました  ファイル /var/lib/
apt/lists/partial/jp.archive.ubuntu.com_ubuntu_dists_xenial-backports_main_dep11_icons-64x64.tar.gz をオープンできませんでした -
open (13: 許可がありません)

調べると「許可ないってエラーメッセージ出てるじゃん!ちゃんとrootでやれ」みたいな解決法がずらずらと。そんなもん当然rootでやってるっつーの!!

解決?

ということでackubuntuより解決(?)法を引用

askubuntu.com

以下の通りコマンドを打てばいい。回答者曰く「The easiest way to fix this is」とのこと

sudo apt-get clean
sudo apt-get update

無事にエラーはでなくなった。けどこれはうまく、、いったのか?なんとなくキツネにつままれた気分。

Kaggleに挑戦

まえまえからやってみたかった

始め方

とっかかるにあたって、ここを参考にした

qiita.com

今はKaggleのマイナーバージョンアップにより、微妙に違っているところもあるし、これからも変わっていくのだろうけど、まぁ迷わずに進められると思う。

RapidminerでNNET

今回は感触を確かめる意味でもRapidminerのニューラルネットワーク分類を使ってみた。プロセスフローはこんな感じ。

f:id:dragstarclassic:20170725090809p:plain

TrainデータとTestデータを読み込んで、欠損値やらなんやらごちゃごちゃと前処理をしたのち、NNET分類器のモデルにかけて結果を確認。あとはCSVに書き出すと、いわゆるデータ分析のシンプルなフロー。分析のプロセスが簡単すぎて、結果が逆に心配になるレベルで完了する。

結果

結果はスコア0.76077で5501位(2017/07/05時点)。7割の正答率といえば聞こえはいいがこのランキングなので、目標の0.8オーバーまでははるかに遠く、高い壁がある事がわかった。NNETのパラメータをもう少しいじれば変わるのかどうかは試していないのでわからない。しかしスコア1.0とか出している人はなんなんだろう?つまり全問正解って事だろ?本当に分類器つかったのかなぁと疑問になる。次はちゃんとpythonとかつかってやってみてスコアを出してみようかと思う。もし今回出したこのスコアより低いとなるとまだまだ甘いんだなと思い知らされることになるだろう。

お楽しみはこれから

Kaggleを眺めていて何よりも楽しいのは「ほかの人はどうやったんだろう」というのが見ることができることだ。「Kernels」というのがそれで、実際にコードが確認できる。pythonだったりRだったりとそれぞれだが、思考のプロセスやコードのテクニックなんかを見ることができて、これを写経するだけでも本当に参考になる。rapidminerみたいなのはコードを書いていないから投稿できないんだろうなぁ、、、すまねぇ、、ずるしてしまって、、、

「Discussion」では任意に投稿できる掲示板のようになっており、なんかアイデアとか出し合ったりというのを期待していたのだけど、メン募みたいなスレッドが乱立しているのが残念。タイタニックのCompetitionにかぎりだろうか?

他にも懸賞金がかけられているCompetitionがあり、1万ドルから100万ドルのものまである。データ分析はまだまだ夢が広がる分野なんだなぁと実感させられる。

これこそがスパイ大作戦 映画「ミッション:インポッシブル/ローグ・ネイション 」

スパイ大作戦はこうでなくっちゃ

阿里巴巴集団

オープニングにアリババの名前が出てきたので、トランスフォーマーの再来を予感したけど、この作品ではそんなことなかった。しかしながらも中国感はにおわせており、それは「トゥーランドット」に集約されている。さりげないといえばさりげないが、登場する女スパイが何かを話す度に荒川静香でおなじみの「誰も寝てはならぬ」がほのかに聞こえてくるという演出にとどめられている。

トゥーランドット

物語はなんとなくそのトゥーランドットにリンクしているということに、何度か見て気が付いた。トゥーランドットは言ってみれば竹取物語であり、絶世の美女であるトゥーランドット姫が三つの謎かけをだして、答えられた者と結婚を許されるというお話。 映画では謎の美女が登場し、謎が謎を呼ぶ。暗号化されたデータに対して「三つ」の仕掛けをクリアしないと復号できないという、なんとなくテーマを沿った形でなぞっていく。

IMF

カーアクション、バイクアクション、水中アクション、格闘アクションと、アクションフルコースを堪能しながら物語の最後であるボスとのバトルを迎える。ちょっとネタバレになるが、よくあるアクション映画にありがちな主人公の超人的な体術によってボスを倒すのではない。なんならトムはジャッキーチェンさながら、ちょっとずつやられながらも相手を倒すという展開だ。そういったやり取りをしながらも最後は個人ではなく、IMFのチームとしてボスを倒すという展開で決着がつく。しかもそれが物語の最初とリンクしていてもう鳥肌ものだ。お見事としか言いようがない展開で、ほんとうに満足が行く結末だった。

超人による無双も面白いが、オーシャンズイレブンとか、Aチームとかチーム感のある映画が好きだってことに気づかされる。思えば戦隊モノとか好きだったなぁ。