PyCon JP 2014 2日目が終わりました
終わりました。
1日目の終わりにも書きましたが、「英語ができない、勘と経験と度胸に頼る」というイメージどこいったんだって感じの、今までとは違う感じのPyCon JPだったかと思います。スタッフすらやってないのに私がPyConの理想像あげてしまうのも申し訳ないですが、Web関係だけでなく学術関係の方も参加しやすい会になるといいのかなと考えています。ただ一方で今までに比べ違う系統の発表であり、人によって前提知識がばらばらで全くわからなかったり既に知ってるよってのもあったりしたでしょう。来年は今年の発表で+1された発表があるとうれしいです。・・って自分も待ってるだけじゃなくて出さないとですね(今年は転職活動中でした)。
発表中に出てきた単語おさらい。自分の知ってる範囲で書いてみるけどいろんな方向から刺されそうですね・・
Numpy
ベクトル・行列の計算を簡単に扱えるようにするライブラリ
Scipy
http://turbare.net/transl/scipy-lecture-notes/intro/scipy.html
Scikit-learn
http://scikit-learn.org/stable/
機械学習ライブラリ
Pandas
行列から特定の条件の行だけを抜き出すとかに長けたライブラリ。大体Rのdataframe見たいなことができるんじゃないっすかね
データ分析ライブラリPandasの使い方 | Librabuch
Pythonによるデータ分析入門 ―NumPy、pandasを使ったデータ処理
- 作者: Wes McKinney,小林儀匡,鈴木宏尚,瀬戸山雅人,滝口開資,野上大介
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/12/26
- メディア: 大型本
- この商品を含むブログ (5件) を見る
Matplotlib
チャート描画ライブラリ
Anaconda
上にあがったNumpy, Scipy, Scikit-learn, Matplotlib等が一まとめになったパッケージ。実はMatplotlibだかNumpyを入れようとすると途中でgfortranとかコンパイルする必要が出てきてたまにコケることもあるので、あると安心。自分はまだ使ったことないです(gfortranコンパイルしてます)。
Beautiful Soup
Scrapy
Webページを、API等経由せずに画面に表示されてるhtmlから直接データを吸い出すのに使うライブラリ。
statistics
Python3.4から標準搭載された、統計用ライブラリ
--
Hadoop
並列分散処理をするためのソフトウェア。もともとGoogleのMapReduce論文を元に作られたのですが今のHadoop2はMapReduceとは限りません(Impala, PrestoとかはMapReduce使っていない)
MapReduce(Hadoop)
一旦Mapステージで複数のマシンに分散して処理させて、Shuffleステージで別のマシンに飛ばして、Reduceステージで処理結果を合計とったり件数数えたりするアルゴリズム。考えがシンプルで複数のマシンに分けやすいのだけど、立ち上げに時間がかかる(MapReduceというかJVMの問題な気もするけど)。Mapper, Reducerそれぞれ自分で処理のコード書いていかないといけません
Hive
MapReduceだといちいちコードかかないといけなくてつらいので、SQLっぽいものでデータ処理をできるようにしたもの。MapReduceベースなのもあって軽いクエリでも数分~数時間待たされる
Impala / Presto / ...
HiveがMapReduceベースで遅いんで代わりに作られてるSQLツール達。Impalaは数秒レベルで返ってくるものの、データ量が全ノードのメモリに乗らなくなると落ちるって問題がある。Prestoはそこまで早くない変わりにそういった問題はないのかな?
ちなみにHive, Impalaはhttp://demo.gethue.com/で触れます。
--
Deep Learning
かなりぶっきらぼうに言うと、ニューラルネットの亜種で勝手にパラメータ決めてくれるようなの。有名なのがビデオの映像学習してたら勝手に猫がきたときに反応するニューロンを発見したあたり。今回の発表だと○○○○○に近いかどうかとかやってましたね(発表で伏せられていたのでここでも伏せときます)。今の自分だときっちり説明できない・・
Googleの猫認識 (Deep Learning) - 大人になってからの再学習
遺伝的アルゴリズム : genetic algorithm, GA
ニューラルネットワーク : Neural Network
単純ベイズ, ナイーブベイズ : Naive Bayes
(テキストの)感情分析 : Sentiment Analysis
たとえば「このブログは日本語の使い方が下手だ」とか書いたらネガティブ、「この料理とてもおいしい」とか書いたらポジティブと判定されるような、文章からネガティブ/ポジティブを判定する手法。ネガポジだけでなくほかの評価軸もあります
n-gram(uni-gram, bi-gram, tri-gram, ...)
Bag of words
テキストを機械学習するときに順序を考慮するかどうか。bi-gramだとある単語Aとその前の単語の二つの順序を覚えておく。tri-gramならある単語Bとその前と前の前の三つの順序を覚えておくとか。一方でBag of wordsは順序を無視して、ある文章中にどの単語が出たかだけ覚えておくもの
形態素解析
「今日はいい天気です」を「今日 は いい 天気 です」って感じに分割する解析。英語とかの場合単語間に空白があるので形態素解析の必要がない
と列挙してみましたが、かなりいろいろありますね。。。来年はPython側の新機能か、機能を使って大規模計算や課題を解決したって話があるといいかもしれません。