KZKY memo

自分用メモ.

Scala Listの落とし穴

ScalaでハマったCollectionの話.ScalaのCollectionは基本的にImmutableなのでCollectionに新しい値を追加するときは, 追加したい要素が追加された新しい(newされた)Collectionインスタンスが返ってくると考えたほうがいい.さらに,ScalaのListは一方方向…

Eclipse + Gradle + Scalaで開発

EclipseでGradleを使ってScalaで開発をする時のセットアップと配布物(distribution, fatjar, jar-with-dependency)を作る際のメモ Eclipse との連携基本 Gradle IDE help -> eclipse market place -> gradle ide Groovy Eclipse gradle DSLのサポートをする…

Gradle 基本

Installation (Ubuntu14.04) 最新版を入れる $ sudo add-apt-repository ppa:cwchien/gradle $ sudo apt-get update $ sudo apt-get install gradle 超基本構文 task taskName { processing somthing } task taskName << { // equivalent to task X {doLast …

CRITICAL nova [-] KeyError: <VerNum(83)>のエラーがでたら.

ubuntu12.04 unity disappear - KZKY's memo ubuntu12.04 unity disappear - KZKY's memoの続き. https://ask.openstack.org/en/question/3542/error-installing-nova-compute/にあるように, $ sudo apt-get -y autoremove --purge nova-* $ sudo apt-get …

ubuntu14.04 Mozc 「Ctrl + Space」でIMEの有効化/無効化

ubuntu12.04からubuntu14.04にして,Ctrl + SpaceでIMEの有効/無効ができななくなった. そんな時の対処法.これはibusの場合なので注意. 次/前のソースへ切り替えを無効化 設定→テキスト入力→日本語(Mozc)/日本語(Anthy)→次のソース切り替え/前のソースへ…

ubuntu12.04 unity disappear

Ubuntu12.04で再起動後,Unityが起動しなくなった.lightgdmのログイン画面にて,unity-2d/unity-3dを選択するアイコンをタップしても,recoveryとuser-definedしかでてこなない https://www.liberiangeek.net/2012/10/reset-unity-in-ubuntu-12-04-precise-…

python-online-machine-learning-library 4

python-online-machine-learning-library 3 - KZKY's memo python-online-machine-learning-library 3 - KZKY's memoの続き. Online Learning Methodsを簡単に評価した.batch methodとの比較では,Liblinearを使用,ただし,Liblinearはscikit-learnのイン…

python-online-machine-learning-library 3

python-online-machine-learning-library 2 - KZKY memo python-online-machine-learning-library 2 - KZKY memoの続き.Online Learning Methodsを簡単に評価した.batch methodとの比較では,Liblinearを使用,ただし,Liblinearはscikit-learnを使用して…

python-online-machine-learning-library 2

この記事の続き.python-online-machine-learning-library - KZKY's memo python-online-machine-learning-library - KZKY's memo ここでDLできる.Confidence WeightedとExactly Soft Confidence Weightedは 多値分類 スパースデータ の対応をした. 次はLi…

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で…

GNS3 + Qemu + Vyatta で開いたネットワーク(Internetへつながる)をつくる

overview 開いたネットワーク(internetへ接続可能) bridgingをすればethernet/ieee802.11でもインターネット接続できそうだが未検証 qemuのuser-mode networkを利用してinternetへでる(ping to Internetはできない) router:1(10.0.2.15/24, 192.168.10.1/24,…

GNS3 + Qemu + Vyatta で閉じたネットワークをつくる

概要 閉じた形式のネットワーク router:1 (192.168.10.1, 192.168.20.1) network:2 (192.168.10.0/24, 192.168.20.0/24) host:4 (dhcp) vyatta.6.5での設定 ip/mac set interfaces ethernet eth1 address 192.168.10.1/24 set interfaces ethernet eth2 addr…

GNS3 + Qemu + VyattaでネットワークのGUIシミュレーション環境を整える

概要 GNS3 + Qemu + Vyattaでネットワークのシミュレーション環境を整える GNS3 (Graphical Network Simulator): Cisco Router Emulator GUI Vyatta: SW Router OS (debian-base) Dynamips: Ciso Router Emulator with text file/terminal (今回は使わない) …

KVMのセットアップメモ

kvm

CentOS6.4でKVM設定からドメインを作成する手順までのメモ. 必要なパッケージインストール $ yum install bridge-utils # bridge connectionの設定を可能にするため $ yum groupinstall Virtualization "Virtualization Client" "Virtualization Platform" …

Java: gzip書込み/読み込み

Bufferingしながら,圧縮ファイル(gzipファイル)を書きこんで,読み込んで見るサンプル. サイズの大きいオブジェクトや書き込む配列がint size (2^31 - 1)を超えていると,bufferingしないとJVMが落ちる.前に誰かがやってて,気にになったのでやってみる.…

memory dumpのとり方

kill したとき1 $ java -XX:+PrintClassHistogram -XX:HeapDumpPath=/path/to/heap.dump Main $ kill -QUIT java_pid → STDOUTにはでてきた. kill したとき2 $ java -XX:+HeapDumpOnOutOfMemoryError XX:HeapDumpPath=/path/to/heap.dump Main $ kill -QUIT…