KZKY memo

自分用メモ.

2014-01-01から1年間の記事一覧

Sparse Dataset Loader

load_svmlight_file scikit-learnにおける便利関数の話.NPLとか高次元スパースデータ記述方法で次のような形式がある. libsvm/liblinear/svmlightで使用されているインプットファイルフォーマット. <label><space><feature-id>:<feature-value><space><feature-id>:<feature-value><space>.... <label><space><feature-id>:<feature-value><space><feature-id>:<feature-value><space>...…</space></feature-value></feature-id></space></feature-value></feature-id></space></label></space></feature-value></feature-id></space></feature-value></feature-id></space></label>

DictVectorizer

DictVectorizer scikit-learnにある便利ツールの話.今までカテゴリカルデータは自分でインデクシングして,OneHotEncodingや1-of-Kと呼ばれる行列を作っていた.しかし,scikit-learnには,この機能を提供する便利クラスが用意されてる. それがDictVectori…

Spark RDD (en)

RDD (Resilient Distributed Dataset) I have investigated RDD which is the core technology on Spark and eventually found that the RDD papers are the most usefull source to understand. Matei Zaharia et al. "Resilient Distributed Datasets: A F…

Hadoop Cluster Provisioning (en)

HDD Use JBOD (Just a Bunch of Disk ) as an architecture using multiple hard drives Do not use RAID For a master node, it is possible to use RAID 1+0 for durability Better to use the number of HDD which is at leat grater than or equal to th…

Hadoop Cluster Provisioning

Hadoop Cluster 構築 Hadoop Clusterの構築のメモ. HDD HDFSは必ずJBOD (Just a Bunch of Disk)で構成すること (RAIDは使わない) Masterは使ってもいと思うがRAID1+0がいいと思う CPU Core数の半分以上はHDDを載せたほうがいいと思う (確かにI/O-boundだけ…

Spark RDD

RDD (Resilient Distributed Dataset) SparkのコアであるRDDに関して調べてみた.結局,文字でちゃんと書いてあるのは論文だった. Matei Zaharia et al. "Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing" …

Python DI Framework Pinject

Googleの人が作った (Google公式のProjectではない)Python DI Frameworkらしい. 結構簡単に使える.数人で開発する場合に,全体のロジックやSWアーキは自分で握って, クラス単位で他人が作成したものに差し替えたいという場合は, スクリプトといえど,DI…

Python DI Framework memo

Injector https://pypi.python.org/pypi/injector simple DLは多い Inject https://pypi.python.org/pypi/Inject/3.1.1 DLはすくない (Injectorと比べて) Pinject https://github.com/google/pinject http://d.hatena.ne.jp/heavenshell/20140121/1390304783…

python threading for I/O-bound processing

pythonのthreadingは,GILの影響でCPU-boundな処理はserialと変わらない時間で実行されるが,I/O-boundな処理はそうでもないと聞いたことがある.本当にそうなのかと思って,MB単位のzip filesを解凍するというI/O-boundなタスクで,I/O-boundなタスクがthre…

CherryPy 入門/まとめ

概要 CherryPyは,軽量なpython WAF.もっと軽量でSinatra-likeに書けるpython WAFにFlask/Bottleがあるが,オブジェクト志向のように書けて,URL Routingとオブジェクトツリーを対応させたい場合にはCherryPyが良いと思う. Fullstack WAFだとDjangoが圧倒…

python-online-machine-learning-library

python-online-machine-learning-library 最近オンライン学習器の勉強をしていたので,そのまとめとして, python-online-machine-learning-library (POMLL)なるものを作ってみた.ソースは, https://github.com/kzky/python-online-machine-learning-libra…

Scala 超まとめメモ

Scalaをある程度理解してきたので,まとめのメモ 基本 switch-case obj match {case obj_1:type if () => processing; case obj_2:type if () => processing; ...} apply obj.method, new ClassNameがobj(), ClassName()で呼び出せる unapply companion obje…

Spark MLlib SVMを使ってみた

MLlibのSVMは SVM (L2-regularizer) SVM (L1-regularizer) の2通りがあるよう.ただし,lossはL1-hinge のみのよう. Sample Data Retreival $ git clone https://github.com/apache/incubator-spark.git $ cd incubator-spark/data/* にサンプルデータがあ…

Spark MLlibの概要

Machine Learingのライブラリ概要内容がSpark0.9の時のものなので,Spark MLlibの概要 (Spark 1.2) - KZKY's memo Spark MLlibの概要 (Spark 1.2) - KZKY's memoを参考にすること. 概要 Machine Learingのライブラリ (充実はしていない) method SVM (L1, L2…

Eclipse + Scala + Spark でjarファイル実行

一般的な開発では, EclipseでScalaを書く Eclipseで実行したりデバッグしたりする 最後にjar化してclusterで実行 というステップをとるのが自然だと思う.sbtでbuildでなく,mavenを使ってbuildしたいというのが普通のjavaプログラマーだと思うが, mavenで…