サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
円安とは
kj-ki.hatenablog.com
最後に,ランダムフォレストを試してみます. こいつはe1071に入ってはいないので,別途インストールが必要です. インストール やっぱりこれだけ...簡単すぎる. > install.packages('randomForest') iris実行コード&結果 これまでのコードとほぼ同じで,特にrandomForest用のパラメータを加えなくても動作します. チューニング云々は別の機会に. library(randomForest) train <- seq.int(1, 150, by=2) test <- setdiff(1:150, train) iris.rf <- randomForest(Species~., data=iris[train,]) iris.pred <- predict(iris.rf, iris[test,]) table(iris[test,5], iris
最近,ちょっとRに注目しています. Webをスクレイピングしてデータを集めてみたはいいけれど,その後どうしよう状態になっていて, 何かいい手段はないか探していました. CRANを使ったライブラリが充実していることもあって,よさげな感じです. ちょうどSVMに関するチュートリアルがあったのでやってみました. SVM SVMの実装にも多々あるようですが,Rで使えるSVMでググってみると結構出てくるのがe1071. チュートリアルもあります.(SVM-Tutorial using R (e1071-package)) e1071にはnaiveBayesも入っていたりするので,使えそう. 他にもLIBLINERをR上で使えるLiblineaRもあるようです. e1071インストール 本当にこれだけだった... > install.packages('e1071') irisデータで実行 上記のチュ
HadoopのMapperやReducerを自分で書こうとすると,ローカルマシン上でHadoopを動かしたくなります. Macなら最初からJVMも入ってるし,ソースを持ってくればそのままで動くか,と思ったらそうでもなかった. 何はともあれダウンロード Mac用のパッケージはなさそう(?)なので,TarBallをそのままダウンロードします. 今回はclouderaからゲット.(hadoop-0.20.2+737.tar.gzとかがそうです) JavaVM設定が必要 で,解凍した後にバージョン表示させようとしたら,さっそくコケました... $ bin/hadoop -version Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file at jav
Hadoop Streamingでもつまづいては修正し,再びつまづいては修正しの繰り返しでした. 今回も,これ以上犠牲者を増やさないためのメモ3つ. Streaming Command Failed!で落ちる まず,Mapper,Reducerは絶対パスで指定する必要があります. # ×:相対パスだとうまくいかない $ hadoop jar hadoop-streaming-0.20.2+737.jar ... -mapper ./mapper.rb -reducer ./reducer.rb # ○:絶対パスで指定すること $ hadoop jar hadoop-streaming-0.20.2+737.jar ... -mapper /path/to/mapper.rb -reducer /path/to/reducer.rb Streaming Command Failed!で落ちる
さて,KVMを入れ終わりました.次は仮想マシン上でHadoopを動かします. ひとまず,お手軽に試せる疑似分散モードでインストールしてみましょう. 事前準備 必須ではないのですが,時刻がずれると色々と気持ち悪いので,NTPを有効にしておきます. cp /etc/ntp.conf /etc/ntp.conf.bak vi /etc/ntp.conf # NTPサーバを記述します.ここではMFEEDを指定しました. server ntp1.jst.mfeed.ad.jp server ntp2.jst.mfeed.ad.jp server ntp3.jst.mfeed.ad.jp 一度ntpdateで時刻合わせしてから,デーモン起動. ntpdate ntp1.jst.mfeed.ad.jp service ntpd start chkconfig ntpd on JDKインストール ここでJ
前エントリの完全分散モードでの動作ですが,実はすんなりとは行かず,何日も苦しみました. ググっては試し,ググっては試し,の繰り返し... やっとまともに動くようになり,振り返ってみるとショボいミスもありましたが, これ以上犠牲者が増えないように自分がハマったところを書いておきたいと思います. Reduceが途中で止まる or ものすごく時間が掛かる 一番悩んだのが,これ. datanodeを複数にすると発症することが多かった. なんと原因は/etc/hostsにあり,ホスト名とドメイン名を書いておかなければなかった. hadoop0をMaster,hadoop1以降をWorkerとすると, # ×:localhostに記述があると,うまくいかない 127.0.0.1 hadoop1 localhost.localdomain localhost # ×:問題なさそうだが,ホスト名しか書かれ
ネタとして作ってみた.エンジニアならこのランキングの方がピンとくるかも. scrapeして,sortして...結構大変だった. Windows XPの起動時の長いディスクアクセスは、Windows Updateの履歴が溜まりすぎていたせいだった?! - 全力HP 3650users 使いやすくなりました! はてなブックマークボタン 3550users はてな近藤淳也が日本経済新聞社に潜入! 話題の日本経済新聞 電子版について体験してみた - はてなブックマークニュース 3495users 写真素材 足成【フリーフォト、無料写真素材サイト】 3483users ホームページ制作者が知っておくべき恐ろしく便利な62のサービス+α 3050users 小悪魔女子大生のサーバエンジニア日記 2969users マンガで分かる JavaScriptプログラミング講座 2940users C言語すら知
KVMにおけるクローン作成 (virt-clone) KVMでは,virt-cloneコマンドでクローンを作成することができます. 例えばこんなふうに. virt-clone --prompt --original OriginalVM --name CloneVM --file path/to/clone.img --nonsparse しかし,このコマンドは仮想マシンの作成は行ってくれても,イメージファイル中に設定されている値までは変えてくれません. Redhat系ディストリの場合,以下の3カ所を自分で編集する必要があります. # MACアドレス /etc/sysconfig/hwconf # ホスト名,ゲートウェイ /etc/sysconfig/network # MACアドレス,IPアドレス,ネットマスク,ゲートウェイ /etc/sysconfig/network-scripts/
Hadoop(というかHBase)を動かそうとしたが,結局HDFSがうまく動かない. この際,Cassandraに変更だ! ということで,lennyにインストールするなら楽勝のメモ. apt-line設定 Cassandra用のapt-lineが用意されているので追加すればOK. # 今のところunstable用しかない.が,lennyに入れても特に問題はなかった. # 「deb http://www.apache.org/dist/cassandra/debian unstable main」を追記 vi /etc/apt/sources.list # apt-keyに追加 gpg --keyserver wwwkeys.eu.pgp.net --recv-keys F758CE318D77295D gpg --export --armor F758CE318D77295D | apt-
はじめに Rubyでグラフを描くためのライブラリGruff::Lineを使う機会がありましたので,まとめをしておきます. インストール 環境はMac OS Xを想定しています. ハマりどころはImageMagickのインストール. X関連の(正直どうでもよさそうな)ライブラリまで入るので,結構時間が掛かります. % sudo port install tiff -macosx % sudo port install imagemagick +q8 +gs +wmf % sudo gem install rmagick % sudo gem install gruff Q&A 基礎編 Q.そもそもGruffで扱えるグラフはどんなのがあるの? A.線グラフ,棒グラフ,円グラフ等10種類です.gullery photo galleryにイメージがあるので見てもらったほうが早いです. Q.new時
今年最初の演奏会は,NYP. 聴きたい曲の関係から,今回はあえてみなとみらいホールでの公演を選択しました. が,これが裏目に出てしまい,当日は雪で交通機関が大変なことに. あらかじめ遅れが少なそうな路線を選び,早めに出発したこともあって事なきを得ましたが,もうこういうのは勘弁してほしいなあ... ラウス: 狂喜 2000年に作られた現代音楽. 冒頭の静かな導入部は風がそよぐような雰囲気が出ていたが,後半に進むにつれ運指がきつくなり,正直弾くのに精一杯のようだ. ブラスセクションのカッチリしたサウンドは文句なしだが,木管のアンサンブルが少し甘い. 全体で鳴らすところも,パート間のバランスが少しズレていてしっくりこなかった. 演奏するには難しい曲だと思うけど,総じて練習不足感が...時間が無かったか? ガーシュウィン: ラプソディ・イン・ブルー この日一番期待していた曲.そして,期待を大きく上
はじめに 油断してるとあっという間に時間が経つ. 気がついたら5月ももう終わりです. 前々回まで集合知プログラミングの第3章をやってきた訳ですが, ベイズフィルタを勉強したくなった関係で,第6章にいきなり飛びます. 今回は,本の中で登場する単語のカウンタです. 実行例 こんなふうに使います. なお,Mecabがあらかじめインストールされている必要がありますよ. counter = My::WordCounter.new counter.count('今,私はドトールにいます') counter.count('そして頑張ってデバッグしています') counter.result.each do |word, count| puts "#{word} => #{count}" end 結果はこんな感じ. 今 => 1 デバッグ => 1 頑張っ => 1 私 => 1 ドトール => 1 ソース
はじめに こないだIO.popenによるMecabの呼び出しを書きましたが,バインディングを利用した方法を書きます. こっちの方が速いのでおすすめ. バインディングのインストール sudo port install rb-mecab +utf8only MacPortsではたったこれだけ. 文字コードにはUTF-8を使うので+utf8onlyを指定しましょう. 実行例 サンプルとして,Rubyのホームページに載ってるテキストを100回Mecabを通してみます. require 'Benchmark' text = <<EOT Rubyは、手軽なオブジェクト指向プログラミングを実現するための種々の機能を持つオブジェクト指向スクリプト言語です。本格的なオブジェクト指向言語であるSmalltalk、EiffelやC++などでは大げさに思われるような領域でのオブジェクト指向プログラミングを支援する
今回やること 前回の階層型クラスタに続き,K平均法クラスタを作成します.入力データも"blogdata.txt"を引き続き用います. KmeansClusterクラスの作成 K平均法クラスタのソースを示します. module My class KmeansCluster LOOP_MAX = 100 def initialize(word_counts, user_options = {}) @word_counts = word_counts @min_and_max = {} @centroids = {} @cluster = Hash.new { |hash, key| hash[key] = [] } @options = { :centroids => 4 }.merge(user_options) end # 重心をランダム値で初期化してから,相関の近いURLを所属させる #
はじめに 突然ですが,あなたは普段Blogを読まれますか? 多分,こんなところまで見にきてくれているということは,様々なところにリーチを延ばしておられるのでしょう. では,どこのBlogをよく読まれますか? ライブドア? アメブロ? やっぱりはてなダイアリー? 他にも様々な会社がBlogサービスを提供しています.しかし,全ての会社のBlogをまんべんなく巡回する人はあまりいないのではないでしょうか. ということは,Blogを読んでいる人も書いている人も,Blogごとにある一定の層を形成しているような気がします. 実際のところどうなんでしょうか.調べてみました. 調査方法 Yahoo!ブログ検索を使って,下記の条件でBlogエントリ数を取得しました.これにより,各Webサービスがどれだけ言及されているかが分かります. このデータをグラフにして見てみます. キーワード(下記のいずれかを指定)
前エントリで期間を空けて〜と言いましたが,完全に放置してしまいました. 3章のクラスタリングをプログラミングしていたのですが,バグバグになってしまい完全にハマってしまっていました. 時間は掛かりましたが,バグも解きほぐれてまともに動くようになったので,掲載します. 今回は階層型クラスタを作成する訳ですが,そのためには必要なデータ構造について準備しておく必要があります. おおまかな流れはこんな感じになります. 準備 Rubytreeによる木構造の表現 SetのようなもののRubyでの表現 本題 階層型クラスタの作成 K平均法クラスタの作成 木構造の表現 後ほど作成する階層型クラスタは,最終的に木構造のデータとして表現されます.なので,Ruby上でも木を扱えなければなりません. ArrayやHashのように標準ライブラリとして実装されていればいいのですが,さすがに日常的に使うやつはいないのか,
このページを最初にブックマークしてみませんか?
『kj-ki’s blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く