サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
smrmkt.hatenablog.jp
AWS の機械学習サービス SageMaker にはビルトインアルゴリズムがいくつも用意されていて,その中には定番の XGBoost も含まれています.XGBoost の定番のユースケースは,モデルを作って変数重要度を確認して,という流れだと思うんですが,ビルトインアルゴリズムだとそのあたりの関数が提供されていません.ホスティングはできるけど,逆にいうとホスティングしかできないわけです. 作成済みモデルの変数重要度がみれないか確認したところ,なんのことはない,S3 に出力されるモデルファイルの tar.gz を回答して,pickle でロードしてあげれば普通にいけました.具体的なコードは以下のような感じです. aws s3 cp s3://BUCKET_NAME/MODEL_PATH/model.tar.gz tar zxvf model.tar.gz import xgboost as
もうすっかり四半期に一回しかブログを書かないような感じになってますが,変わらずデータ分析業界の片隅で細々と生きております.さて,今回は著者の方より献本をいただいたので,書評を書きたいと思います*1. 人工知能システムのプロジェクトがわかる本 企画・開発から運用・保守まで 作者: 本橋洋介出版社/メーカー: 翔泳社発売日: 2018/02/15メディア: 単行本この商品を含むブログ (2件) を見る この手の機械学習*2そのものではなく,そのプロセスやシステムに焦点を当てた本はこれまでもありました.従来書だと,機械学習システムを内製するエンジニア向け,機械学習システムを発注する側向けがありますね.そしてついに,機械学習システムを受託で開発する側の本が出てきたので,これで足りないピースがそろった感があります (w いずれの本も機械学習という事象を正しく捉えていると思うんですが,視点を変えるとこ
2018-03-06 追記: EMRFS S3-optimized Committer が新たにリリース]され,EMR 5.19.0 以降のリリースバージョンで利用可能になりました.また 5.20.0 からはデフォルトの Committer となっています.この Committer は S3 のマルチパートアップロードを用いることにより,従来の v2 FileOutputCommitter と比べてさらに高速なパフォーマンスを得られるようになっているようです.またマルチパートアップロードを用いることで,従来の v2 の Committer で問題となっていた,テンポラリファイル書き込み & ファイル名リネームに伴う,出力の途中経過が S3 上で見えてしまい,かつジョブが失敗した場合に中途半端な書き込み結果が消されずに残ってしまう,という点も解消されます.全ての結果が書き込まれジョブが成功し
前回に引き続き分析環境ネタ第2弾*1.今回はEMRでRStudioを立ててみます. RStudioの構築 やり方自体は,AWS Big Data Blogにまとまっているので,別に難しくはなかったり.RStudioとか関連コンポーネントは,例のごとくS3に便利スクリプトがあるので,これをブートストラップで読み込んであげればOK. s3://aws-bigdata-blog/artifacts/aws-blog-emr-rstudio-sparklyr/rstudio_sparklyr_emr5.sh --sparklyr --rstudio --sparkr --rexamples --plyrmr あとはSSHトンネルを掘って,RStudioのWebページにつないであげればOK.8787ポートでつながります. sparklyrでSparkと連携 sparklyrは,RStudioの人たち
今回は書評エントリです.日本のStan界隈の顔である @berobero11 さんが統計モデリング本を出版し,ありがたいことに献本いただきました*1.ようやっと一通り読み終えた*2ので,感想がてら本の魅力について述べていきたいと思います*3. StanとRでベイズ統計モデリング (Wonderful R) 作者: 松浦健太郎,石田基広出版社/メーカー: 共立出版発売日: 2016/10/25メディア: 単行本この商品を含むブログ (4件) を見る この本を読んで得られるもの 「統計モデリング」とはどのようなものか,ということについての実践的な知識および心構え 本書には,冒頭で,統計モデリングについて以下のように書かれています. モデルというのは不必要な性質を大胆に無視して,必要なエッセンスだけを取り上げたものだ....(中略)... 確率モデルをデータにあてはめて現象の理解と予測をうながす
井出先生の「異常検知と変化検知」を読んで,自分でも試してみたいと思ったんですが,あいにくちょうどいい時系列データが手元にないなーと思ってました.そんな折,データサイエンスLT祭りの発表の中に,Fitbitデータを可視化するものがあって*1,これはちょうどいいということで試してみましたよというていのエントリになります. 異常検知と変化検知 (機械学習プロフェッショナルシリーズ) 作者: 井手剛,杉山将出版社/メーカー: 講談社発売日: 2015/08/08メディア: 単行本(ソフトカバー)この商品を含むブログ (2件) を見る Fitbitってなによ Fitbitが何かしらない人のために一応説明しておくと,最近はやりの活動量計です.私が持っているのは,心拍が取得できるタイプのやつです.風呂に入るとき以外は一日中つけっぱなしで,睡眠とか運動とかを自動で判定してくれるので,手間がかからず便利です
これまで仮想化とかクラウドとか,そんなにお仕事で触ってなかったこともあって割と放置気味だったのだけど,さすがに少しは使えないとねということでちょいと試してみましたというお話. 以前に依頼を受けてWebアプリを作ったことがあって,これを1年くらい前にAnsible化してました.で,これをDockerに乗せてElastic BeanstalkにDokcerコンテナとしてデプロイしようと思ったわけです. DockerfileとAnsible playbook 最初はplaybookの内容を,全部Dokcerfileに書きかえようと思ったんですけど,これが思った以上に面倒くさい.ていうかDockerfileってAnsibleみたいな丁寧なセットアッププロセスや便利なラッパーがなくて,割とベタに RUN コマンドでスクリプトそのまま書かなきゃいけないの,かなり嫌です.このあたりって,他の人たちはどう
最近LTSVが界隈でブームな訳ですが,そういやAPacheログのフォーマットってちゃんと理解していなかったなと思って,きちんと調べなおしてみました.というわけで,今回は自分の備忘録的なメモということで. Apacheログの設定 ログの形式は,Apacheの設定ファイルであるhttpd.confに,そのままログf−マットを記載する形で指定します.特に何の指定もしない場合のデフォルトのフォーマットは,Common Log Formatというもので,以下のようなログが出力されるわけです. 192.168.130.xxx - - [01/Sep/2001:08:36:16 +0900] "GET http://www5.plala.or.jp/vaio0630/index.htm HTTP/1.0" 200 18167で,これをApacheログの設定記法であえて書いてみると,こんな形になるわけです
最近,ブログエントリを書くときの枕が読んだ本のことが多いですが,今回も御多分に洩れずであります*1. 現実の中でのマーケットデザイン つい先日まで,以下の本を読んでました.マーケットデザインという分野を過分にしてしらなかったんですが,大元はゲーム理論の一種だったんですね.著者のロスさんらが,自身で証明した理論について現実問題に当てはめ,実際にうまく機能することを示した,その過程が描かれていて,非常に面白い本でした.臓器移植や公立学校の希望選択,新米医者の医局配属といった,いわゆるマッチングの問題が,周到に仕組みをデザインすることで,全体的な満足度が高い状態で解決された例をみると,なるほどなーという感想しかでないです. Who Gets What (フー・ゲッツ・ホワット) ―マッチメイキングとマーケットデザインの新しい経済学 作者: アルビン・E・ロス,櫻井祐子出版社/メーカー: 日本経済
先日のETLの記事の中でも軽く触れたんですが,ホントの意味でデータが組織で活用されるためには,組織全体がデータを使って意思決定をする組織構成になっていないといけない,というのが最近強く感じることです.キンボール先生の本では,このあたりビジネスサイドのキーパーソンを必ず巻き込めと書かれているわけですが,逆にいうとそれしか書いてなかったりします.そんな折,TLでユウタロスさんが以下のようなツイートをしていました. 上司をマネジメントするという視点については、Managing Your Boss という論文で研究もされており、知人のハーバードビジネススクール出(本物)の経営者も在学中に読んでいたく感銘を受けたと言ってました。有効だと僕も思います。https://t.co/3gtnDiecJP— ユウタロス Ver.1.3.4 (@bishop_ring) 2016年3月26日 データドリブンな組
Hadoopが出てきてから10年,ビッグデータという言葉が流行り始めてからでも5年以上が経ち,2016年現在では,Hadoopエコシステムを使ったデータ活用が当たり前のものとしてあります.とはいえ巷に出回っているビッグデータ活用事例というのは,綺麗な上澄みだけをすくい取っていたり,リリースしたてのピカピカのときに発表されていたり,というのが大半で,それが結構個人的に気に食わなかったりします. ビッグデータが当たり前のものになっている現在においては,単に作っただけで価値があるというフェーズは過ぎ去っていて,継続的に運用しながら価値を生み出し続けることが,非常に重要な問題だと思います.特にビッグデータ界隈はミドルウェアやツールの陳腐化が激しく,またビジネス自体の変化速度も過去と比べてどんどん速くなっているわけで,そういった変化に対応していくためには,また別のスキルが必要とされるのではないでしょ
タイトルの通り,よく考えたら今までL1/L2正則化を知識としては知ってるけど,実際に試したことはなかったことに気がついたので試してみましたよという話.L1/L2正則化にの理屈については,TJOさんのエントリとか,unnounnoさんのエントリとかをみてもらえれば良いのではと思います.それより詳しいことが知りたければ,PRMLでも読めば良いのではないでしょうか(適当*1). まずはデータを眺める 使用したデータは,caretパッケージのcarsパッケージです*2.中古車販売のデータっぽくて,価格と,走行距離とか気筒とかドア数とかの車に関するカラムが並んでます.データを読み込んで,可視化して,とりあえず lm() してみます. > library(glmnet) > library(caret) > library(psych) > > # load data > data(cars) > t
気がつけば2015年も大晦日で,早い一年でした.ということで,恒例の今年読んだ本紹介をしておきたいと思います.ちなみに昨年と一昨年のはこちら.各セグメント毎に,個人的に参考になった順,面白かった順に並べています.マーケティングとマネジメントが前面に出ているのが,普段のお仕事で担当しているのがそっちメインだから,というだけで他意はないです. smrmkt.hatenablog.jp smrmkt.hatenablog.jp マーケティング USJのジェットコースターはなぜ後ろ向きに走ったのか? USJのジェットコースターはなぜ後ろ向きに走ったのか? 作者: 森岡毅出版社/メーカー: KADOKAWA/角川書店発売日: 2014/02/26メディア: 単行本この商品を含むブログ (3件) を見る最近メディアでもやたらと取り上げられているUSJの森岡さんの,USJ復活劇についてまとめられた本.徹
ということで,前回に引き続きタイタニックのデータを使って分析をしていきましょう.といっても今回は判別手法から戻って,データの前処理のお話です. データの前処理とは 今回のデータはところどころに欠損があったり,推測の値が入っていたりして,機械学習にかけるにはわりと"汚い"データだといえるでしょう.そんなときに,前回のように適当な補完をしていたのでは,得られるはずの精度も得られなくなってしまいます.勝負は機械学習のパラメタチューニングをする前の,データ取得とデータ加工にかかっていることが多いです. 今回のデータは与えられたものであるため,データの取得部をがんばることはできません.なので,データの前処理をしていかに元の情報を損なわないように解析にかけてあげるか,というのがポイントになってきます. まずはデータを眺める ということで,まずはデータをじっくりと眺めてあげます.今回データセットに含まれ
目次 調査観察データにおける因果推論(1) - 無作為割り当てされていないことの問題 - About connecting the dots. 調査観察データにおける因果推論(2) - 傾向スコアとIPW推定量,二重にロバストな推定量 - About connecting the dots. 調査観察データにおける因果推論(3) - Rによる傾向スコア,IPW推定量,二重にロバストな推定量の算出 - About connecting the dots. 査観察データにおける因果推論(4) - Rで傾向スコアを出す際の共変量選択基準 - About connecting the dots. 補正法の概要 傾向スコア 平たくいえば,さまざまな共変量から割当群を予測するロジスティック回帰(またはプロビット回帰)を行って,得られた予測確率のことです.つまり「処置群に割り当てられる傾向をあらわすスコ
最近xgboostがだいぶ流行っているわけですけど,これはGradient Boosting(勾配ブースティング)の高速なC++実装です.従来使われてたgbtより10倍高速らしいです.そんなxgboostを使うにあたって,はてどういう理屈で動いているものだろうと思っていろいろ文献を読んだのですが,日本語はおろか,英語文献でもそんなに資料がなかったので,ある程度概要を把握するのに結構時間を食いました. そんなわけで,今回は自分の理解の確認も兼ねて,勾配ブースティングについてざっくりと説明してみようかと思います.とはいえ生理解な部分も結構あるので,マサカリが飛んできそう感が大いにしています.腑に落ちる的な理解を優先しているため,数式は一切出てきません. 勾配ブースティングとは 複数の弱学習器を組み合わせるアンサンブル学習には,いくつかの手法がありますが,ブースティングは逐次的に弱学習器を構築し
ABテストといえば,だいぶ前に有意とか検定とかそのあたりで,データ系の界隈がいろいろと盛り上がっていたのが記憶に残っているトピックなわけですが,今年の1月にABテストの大手Optimizelyのエンジンがリニューアルされてました.これがなかなか興味深いんで,今回はざっくりとその内容をご紹介します*1. とりあえず元ネタは以下の記事とテクニカルペーパーになります. blog.optimizely.com http://pages.optimizely.com/rs/optimizely/images/stats_engine_technical_paper.pdf 以下の内容は,基本的にはそこに書かれている内容の要約になります. 従来のABテストの問題点 これまでの,いわゆる古典的な統計学に従ったABテストの場合,以下のような問題があります. 想定される差分やサンプルサイズについて,事前に見
ということで,引き続き入手したデータをRStudioに読み込んで予測モデルを試すところに進みたいと思います. データ読み込み RStudioでのデータ読み込みは簡単で,下の図のように画面右上部分のボタンを押してファイルを読み出せば,csvファイルを普通に読み込んでくれると思います. データファイル自体は文字コードがShift-JISでWindows用なので,Macの人は文字コードをUTF8,改行コードをLFにしておくとよいと思います.文字コードと改行コードの変更は,CotEditorでもダウンロードしてcsvファイルを開いけば,上のメニューに文字コード改行コードがあるので,それを変更して保存すればOKです. もちろんコマンドでファイルを開くこともできます.こんな感じですね.今回はテストなので,訓練データをそのままテストデータに使います. # データの読み込み train <- read.t
つい先日,stackingについての以下の記事が話題になっていました. このあたり,私自身は試したことがなかったので,実際に試してみましたよというお話. コード Rでちゃちゃっと書きました.データをk分割して,分割サンプルごとに訓練データでロジスティック回帰予測モデル構築→予測結果を訓練データに追加→RandomForestで予測モデルを構築,までが訓練フェーズ.テストフェーズでは構築したロジスティック回帰とRandomForestを使ってテストデータの分類を行いました. 使ったのは手元にあった2000サンプル,分類クラス数は2クラスで,正例負例がそれぞれ1000サンプルでした.素性ベクトルはすべてバイナリの15個の変数になります. library(randomForest) # load data data = read.delim("data/sample.tsv", sep="\t"
前回でCaffeがインストールできたので,とりあえず今回はImageNetの特徴量抽出器を使うまで.Yahoo! JAPAN Tech blogの記事を参考にやってみたら,ハマりどころがたくさんあったので,そのあたりを共有しましょうの会です.ハマりどころを抜けるのに参考にしたのはこことかここになります.特に後者. 準備 とりあえずモデルとかいろいろ落としておきます.このあたり,あるもんだと思ってると普通にNot Foundとかいわれてハマるのが悲しいです.get_caffe_reference_imagenet_model.sh自体をまずは落としておかないといけないとか... cd ~/caffe/examples/imagenet/ wget https://raw.githubusercontent.com/sguada/caffe-public/master/models/get_c
メモ代わりに手順まとめておきます.基本は install_caffe_osx10.10.md と CaffeをOS X 10.10 にインストールした // ichyo.jpを参考に,細かい修正を幾つか,という感じです.マシンはmac mini late 2012(core i7 2.3GHz quad core)です. CUDA CUDAとドライバーをインストール.しかしGPUがIntel HD Graphics 4000なのでCUDAが使えないことに,後から気がつく... 手順的にはpkgとかdmg落としてきて,そのまま入れるだけ. NVIDIA Cuda Driver NVIDIA CUDA BLAS MacにはもともとBLASが入っているので,何もする必要なし*1. Anaconda Python周りのものをあらかた入れる. brew install pyenv pyenv ins
最近「熊とワルツを」というプロジェクトにおけるリスク管理についての本を読みました.本の中にでてくるリスク管理シミュレーションをR実装しました,という話です. 熊とワルツを - リスクを愉しむプロジェクト管理 作者: トム・デマルコ,ティモシー・リスター,伊豆原弓出版社/メーカー: 日経BP社発売日: 2003/12/23メディア: 単行本購入: 7人 クリック: 110回この商品を含むブログ (150件) を見る ネタ元のトム・デマルコさんの本は,軽妙な語り口でとても読みやすいので,プロジェクトベースでお仕事する人はみんな一度は目を通してみるといいんじゃないかなと思います*1.偉い人の思いつきで,ケツの決まったプロジェクトを押し付けられそうになったときに,そんなんじゃ崩壊するだろって言い返すためにも*2.そんなわけで,シミュレーションの説明をする前段として,本の中で述べられているリスクにつ
目次 1からみなおす線形モデル (1) - 一般線形モデル - About connecting the dots. 1からみなおす線形モデル (2) - 一般化線形モデル - About connecting the dots. 1からみなおす線形モデル (3) - 一般化線形混合モデル - About connecting the dots. はじめに ということで,前回で駆け足ではありますが一般線形モデルについてざっと説明しました.そして今回は一般化線形モデルについてみていきます. 一般線形モデルの限界 一般線形モデルについて,概要は前回説明しましたが,ここで一般線形モデルの定義を明確にしておきたいと思います.といっても土居さんのレジュメを簡単に言い換えただけですが,以下の通りになります. ・y の平均がパラメータの一次結合で表わされる ・説明される変数 y が正規分布に従う パラメ
年末なのでぼちぼち今年の振り返りをします.ちなみに去年のはこちら. データブジネス,データ分析,ソフトウェア開発の3カテゴリに分けて,それぞれについて上から読んでよかった順に並んでいます. データビジネス "超"分析の教科書 “超"分析の教科書 (日経BPムック) 作者: 日経ビッグデータ出版社/メーカー: 日経BP社発売日: 2014/11/17メディア: 単行本この商品を含むブログ (2件) を見る事例集として,非常によくまとまっていました.幅広い業種で典型的に使われるような手法とか問題とかがコンパクトにまとまっていて,実務でデータ分析をしている人ならみておいて損はないのではないでしょうか.内容は割と平易に書かれているので,データ分析専業じゃない人が読んでも割と読みやすく面白いと思います. アルゴリズムが世界を支配する アルゴリズムが世界を支配する (角川EPUB選書) 作者: クリス
PythonでNMFやるには,nimfaというパッケージを使えばよいらしいです.とりあえず使うだけなら,適当なnumpy行列vecを用意して,以下のように関数に投げてあげます. factor = nimfa.mf(vec, seed='random_vcol', method='nmf', rank='5', max_iter=10) res = nimfa.mf_run(factor).basis() とりあえずシードはランダムで,手法はベーシックなnmf.何次元に削減するかをrankで指定して,イテレーション回数を決めればOKです. nmfは関連手法が山ほどあって,ざっと以下のようになります.説明文は基本的に意訳です.正直意訳があってるかも自信はないので,こちらから元論文を読みましょう*1. 手法 概要 BD ギブスサンプラーを使ったベイジアンNMF BM バイナリのMF ICM It
今回は自然言語処理の話です.それも若干不自然な言語のマンションポエムが対象になります.マンションポエムというのは,工場萌え*1の著者大山さんが提唱している,マンション広告に入っている詩的なコピーのことです*2.具体的にはこんな感じのやつです*3. PLATINUM SHIP ここは、東京の暮らしの新しき起点。 そこは、時空をかける東京。 TOKYO NON DISTANCE データ さて,そんなマンションポエムですが,実はデータが公開されておりまして,先述の大山さんがGoogle Mapにまとめていらっしゃいます*4.このデータ,KMLという三次元地理情報を扱うためのXMLベースのマークアップ言語で,Pythonで適当にパースしてあげれば扱いやすいデータに落とし込むことができます. ということで早速加工してみたんですが,結構データの抜けや欠けがあって,実は割りと地道に手を動かさないといけな
背景 ここ数ヶ月,頭の体操とPythonでの数値処理に慣れるのとで,project eulerの問題を順に解いていってます*1.割と初等整数論を使った計算問題が多いので,単純に公式を調べてなるほどこういう公式があるんだーとか感心しながら計算してます*2. で,その際によくあるのがProblem 3 - Project Eulerのように,3桁とかであれば簡単に手計算できるものについてこれが20桁だったときどうするか,という風に,計算量をちゃんと考えないと実時間で計算が終わらない問題です.そんなときによくやるのが,繰り返し使う値をキャッシュするってやつです.今回はこれについてのお話. 単純なキャッシュ とりあえずPythonで簡単にキャッシュするだけなら,グローバルにリストを定義して,ひたすらそこに追加すればOKです.例えば100万以下の素数をすべて計算する場合,以下のようにprimesリス
半年ぐらいウダウダやってましたが,今回が最終回です.自分としては満足のいく階層モデルに仕上がり,可視化までたどり着きました.ということでこれまでのエントリを別ページにまとめておきます. 問題点の修正 前回のモデルを公開したところ,@beroberoさんから以下のようにご指摘いただきました. .@smrmkt それぐらいなら大丈夫そうです。それよりも原因わかったっぽいです。少なくともr_sのasがいらなさそうです。これがY[i]のaとバッティングして、a+asが一定の値になればいいので収束しなさそうです。よく考えるとさらに減らせる項があるかもしれません。— berobero (@berobero11) November 11, 2014 これがまさしくその通りで,項を削除することで呆気なく収束に至りました.つまり前回のモデルはこちらだったのですが, このは駅ごとに推定する値ではなく,全物件で
次のページ
このページを最初にブックマークしてみませんか?
『About connecting the dots.』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く