Blog Archives

AWS Machine LearningのSchemaを自動生成する

やりたいこと AWS Machine Learning では学習・評価データのスキーマ定義が必要。 http://docs.aws.amazon.com/machine-learning/latest/dg/creating_datasources.html#creating-a-data-schema-for-amazon-ml マネージメントコンソールからデータセットを指定する時は、サーバーサイドでスキーマを推測してくれるがクライアントからAPIと叩く時は、スキーマは自分で用意しないといけない。 このスキーマ作成の作業を簡略化するために、AWS 中の人が作成したスキーマ推測ツールを利用してみる。 スキーマファイルの定義 まずはスキーマファイルのサンプルから 重要な属性は以下 rowId サロゲートキー このデータは学習には利用されず、予測結果も含めてリファレンス目的で利用。 dataFileContainsHeader 元データの1行目にヘッダー行が含まれていると true targetAttributeName 目的変数 attributeType データの各カラムのデータ型 カラム名とそのデータ型(NUMERIC/CATEGORICAL/TEXT/BINARY)で構成される。 詳細は次のURLを参照 http://docs.aws.amazon.com/machine-learning/latest/dg/creating_datasources.html#creating-a-data-schema-for-amazon-ml 最終的にはこの JSON 形式のスキーマをいい感じで自動生成したい。 スキーマを自動生成してみる github の次のレポジトリにある ml-tools-python ディレクトリにある guess_schema.py でスキーマを自動生成させる。 https://github.com/awslabs/machine-learning-samples にある ml-tools-python ディレクトリの guess_schema.py

Tagged with: ,
Posted in aws

[Python]Clickでコマンドラインアプリケーションを作る

Python でコマンドラインプログラムを書くときのライヴラリに Click というのがある。(キャッチコピーは “Command Line Interface Creation Kit”) “The Hitchhiker’s Guide to Python” の “Command-line Application” でも CLI 用のライブラリとして clint などとともに取り上げられている。 作者の @mitsuhiko が YouTube に “Building Command Line Applications with Click” という20分弱の動画を投稿している。 固定メッセージを返すシンプルなアプリケーションを少しつづ拡張していき、最後には git 風のサブコマンドを実装する。 勉強がてら書き起こしてみる。 動画が公開されたのは Click

Tagged with: , ,
Posted in python

圧縮ライブラリのsnappyのインストール(ついでにpython-snappyとgflagsとgtestも)

Goal Google が提供している圧縮・伸張ライブラリ snappy をインストールする 同梱されているベンチマーク実行用に gflags(Google C++ commandline flags module) と gtest(Google C++ testing framework)をインストール Python バインディングの python-snappy をインストール 対象 OS は CentOS 6.4 About snappy URL https://code.google.com/p/snappy/ Google の社内システムで広く使われてきた圧縮・伸張ライブラリで、キーワードは Fast Stable Robust Free and open source software オープンソース後は

Tagged with: , , , ,
Posted in linux, middleware

[R]文字数の出現頻度を数える

R で文字数の出現頻度を数える ふとやってみたくなったので、リファレンス片手にやってみた。 ハッシュ型は、環境変数を経由する方法でしか見つけられなかった。 普段から R を書き慣れている人はこんな書き方しないのだろうけど。 hash <- new.env(hash=TRUE, parent=emptyenv()) word <- ‘abracadabra’ for (c in strsplit(word, NULL)[[1]]) { if (exists(c, hash)) { assign(c, get(c, hash) + 1, hash) } else { assign(c, 1, hash) } } for (c

Tagged with: , , , , ,
Posted in python, R
Archives
  • RT @__apf__: How to write a research paper: a guide for software engineers & practitioners. docs.google.com/presentation/d… /cc @inwyrd 1 month ago
  • RT @HayatoChiba: 昔、自然と対話しながら数学に打ち込んだら何かを悟れるのではと思いたち、専門書1つだけ持ってパワースポットで名高い奈良の山奥に1週間籠ったことがある。しかし泊まった民宿にドカベンが全巻揃っていたため、水島新司と対話しただけで1週間過ぎた。 それ… 1 month ago
  • RT @googlecloud: Ever wonder what underwater fiber optic internet cables look like? Look no further than this deep dive w/ @NatAndLo: https… 1 month ago
  • @ijin UTC+01:00 な時間帯で生活しています、、、 7 months ago
  • RT @mattcutts: Google's world-class Site Reliability Engineering team wrote a new book: amazon.com/Site-Reliabili… It's about managing produc… 10 months ago