実体と情報のはざま

のんびりデータサイエンスでもやりますか

python はじめました。

データサイエンスについて色々調べていて、kaggleの存在を知った。
正直、ショック。こんなに楽しそうな世界があるなんて。。
完全に取り残された気分。これは、もうやるしかない!
というわけで、Rと迷ったんだけど、とりあえずはpythonでデータサイエンスのまねごとをしてみようと思う。いつか、kaggleのコンペに参加できるレベルになりた~い!

で、さっそく数冊本を買い込んできてすぐできそうなことをためした。


Anacondaで環境構築!

まずはプログラミング環境が無いと始まらない。
どの本にも「Anaconda」がおススメと書いてある。蛇つながり?
サイトは英語だけど分かりやすく、すぐにインストーラーのダウンロード完了。「Anaconda3-4.3.1-Windows-x86_64.exe」というやつでインストールもあっという間に完了。
もう使えるじゃん!これを作ってくれた方々に感謝です!

グラフが描けた!

まずは、お約束の「Hello World」をやりました。pythonではprint( )ってやつを使うのね。C#とかエクセルVBAばっかり扱ってきたので新鮮だ。
ちなみに、エディターはAnacondaに同梱されている「Spyder」を使いました。MicrosoftのVisualStudio程ではないが逆にシンプルで使いやすい。

次に、ずっと気になっていたグラフを描いてみた。
簡単そうなやつを本を参考に見よう見まねでやってみた。
以下のプログラムをブログにのせるときは設定を「はてな記法」にするんですね。きれいに貼り付けられてとっても気持ちいい。

import matplotlib.pyplot as pp
import numpy as np
x=np.arange(720)
y_s=np.sin(np.pi*x/180)
y_c=np.cos(np.pi*x/180)
y_t=np.tan(np.pi*x/180)
pp.axis([0,360,-1,1]) #とりあえず入れとく
pp.plot(x,y_s,color="r") #プロットと色指定
pp.plot(x,y_c,color="g")
pp.plot(x,y_t,color="b")
pp.xticks([th for th in np.arange(0,721,60)]) #表示範囲 リスト内包表記
pp.yticks([th for th in np.arange(-5,5.01,1)])
pp.grid(True)
pp.title('Sin/Cos/Tan Function')
pp.xlabel('X')
pp.ylabel('Y')
pp.show()

結果がこれ!あ~、達成感。。
f:id:myuteru:20170509000511p:plain
これを描いた後、ちょこっとググったらもっときれいなグラフを描けそうなやりかたがありそう。
もっと試したい~。

この調子で今年中にkaggleのコンペに参加できるレベルになれるだろうか。。
ちょっと気になっていることは、pythonてexeファイルを作れるのかどうか。捕らぬ狸のナントカだけど、ソフトを作成したら配布できるのかな?
今日は、ここまで!