本エントリは、次のAdvent Calendarのために書かれたものです。 Python Advent Calendar 2013 (12月24日) 取り扱う内容 Pythonのデータ分析用ライブラリであるPandasの紹介と簡単なサンプルコードを取り扱います。 Pandasとは 一時期盛り上がったけどあんまりPandasの情報出てこないからよーしエントリ書いちゃうぞー、と息巻いていたらこのようなフルスタックな書籍が出版されるようです。 [amazonjs asin="4873116554" locale="JP" title="Pythonによるデータ分析入門 ―NumPy、pandasを使ったデータ処理"] どう見てもこの書籍のほうが有益です。本当にありがとうございました。 ...まぁ、発売日より2日早いのでセーフ(なにが?)として、めげずに続けます。 Pandas pandas is
文字列のメソッドは正規表現を使うより速いので、文字列の操作をする場合は、まず文字列のメソッドでできないかを調べた方がよいです。 文字列の一部を取り出す >>> s = "python" >>> s[2] # 2番目の要素を取り出す 't' >>> s[1:4] # 1番目から3番目までの文字を取り出す 'yth' >>> print s[2:] # 2番目から末尾までの文字を取り出す そん >>> s[0] = "P" # 文字列は不変なので、要素への代入は不可 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'str' object does not support item assignment 文字列が○○だけであるかを調べる >>> "abcABC123".isaln
概要 各種スクリプト言語 (perl, ruby, python, Java) から, MeCab が提供する形態素解析の機能を利用可能です. 各バインディングは SWIG というプログラ ムを用いて, 自動生成されています. SWIG がサポートする他の言語も 生成可能だと思われますが, 現在は, 作者の管理できる範囲内ということで, 上記の4つの言語のみを提供しております. インストール 各言語バイディングのインストール方法は, perl/README, ruby/README, python/README, java/README を御覧下さい. とりあえず解析する MeCab::Tagger というクラスのインスタンスを生成し, parse (もしくは parseToString) というメソッドを呼ぶことで, 解析結果が文字列として取得できます. MeCab::Tagger のコ
sourceforge.jp_magazineを見ていましたら、「Python向けIDEの「PyCharm」、オープンソース版が公開される」という記事を発見しました。 http://sourceforge.jp/magazine/13/09/26/153000 「PyCharm」というIDEは今回初めて知ったのですが、結構高機能なIDEのようですね。以前から試用版を使ったり有償のソフトを利用しておられた方にとっては、ビックニュースなのかもしれません。 こんな記事も参照 Pythonコミュニティに無償のPython IDE、PyCharm 3.0をお届けします! LibreOfficeやOpenOfficeではPythonでマクロを作れるという事で、以前からPythonという言語が気になっていたのですが、この機会にインストールしてみました。 インストール インストールといってもUbuntuの
動機 前回書いた通り、会社内にデータは全く貯められていない状態です。ですが、将来ログをまともに取得した場合のデータは膨大になることが想定されました。そこで、(時間/空間)計算量を考慮するとオンライン学習アルゴリズムを使うのが最良と判断しました。 (以前のpostも想定しての話を書いています。いろんな意味で残念ですね...orz) 今までオンライン分類器をまともに使った事がなかったため、性能評価も兼ねていくつかの分類器を試してみたというわけです(随分前にですが...)。 オンライン分類器の概要 線形分類器は大体 $w^*:=argmin_wΣ_iL(x^{(i)},y^{(i)},w)+CR(w)$ $L(x^{(i)},y^{(i)},w)$:ロス関数, $R(w)$:正規化項 で表すことができると思います。 オンライン学習では、「データを1つ受け取るたびに逐次的にウェイトを更新する」とい
Sep 14, 201422 likes6,707 viewsAI-enhanced description 1. Akira Chiku is an engineer who works on an engineering team. Their requirements include collecting between 10-20GB of data per day from various sources like Hadoop and Hive. 2. Data is collected from sources like Fluentd and parsed using Query String and stored in Hive. It is then processed and visualized. 3. Data can be stored in S3, proce
ツイッターの男女判定(前回の記事)のために、LDAを使ったテキストマイニングがやりたくなった。そのインストール手順メモ。 LDA(Latent Dirichlet Allocations)を使うために現時点で一番簡単な方法は、pythonのgensimというパッケージを使う方法のようです。その手順を書きます。 インストール前の注意事項 pythonに必要なパッケージ類は全部ソースからインストールしています。 ソースからインストールしない方法もあるのですが、2013年4月時点では、pythonに詳しくないと難しいので全くおすすめしません。対象とするOSはAmazon Linuxです。 pythonはyumで使われてたりするので、システムのpythonのバージョンを変えると問題が起きます。なので、この記事ではpythonを特定の場所にインストールしています。 yumからインストールする系のパッ
Machine Learning Advent Calendarの20日目です。 はじめに Naive Bayes(NB)とその改良版のTransformed Weight-normalized Complement Naive Bayes(TWCNB)、Averaged One-Dependence Estimators(AODE)という手法について解説と実装を書きます。 Naive Bayes NBはベイズの定理と特徴変数間の独立性仮定を用いた分類器です。文書のカテゴリ分類等でよく利用されます。 NBは、事例$X$に対し$P(y|X)$が最大となるクラス$y$を分類結果として返します。$P(y|X)$は、ベイズの定理を用いて、以下のように展開が可能です。
13. LDA(latent dirichlet allocation) ● ● Stan code(manual 128 page) parameters { simplex[K] theta[M]; // topic dist for doc m simplex[V] phi[K]; // word dist for topic k } model { for (m in 1:M) theta[m] ~ dirichlet(alpha); // prior for (k in 1:K) phi[k] ~ dirichlet(beta); // prior for (n in 1:N) { real gamma[K]; for (k in 1:K) gamma[k]<-log(theta[doc[n],k]) +log(phi[k,w[n]]); increment_log_prob(l
Michael Dory, Adam Parrish, Brendan Berg 著、中川真宏 監訳、笹井崇司、株式会社トップスタジオ 訳 本書はPythonで書かれた、パワフルでスケーラブルなWebサーバTornadoの概要を紹介する書籍です。インストールから、シンプルなWebサーバとしての使い方。また、DBとの連携からはじまり、Tornadoを有名にしたノンブロッキングの機能、また認証モジュールやデプロイの方法まで、Tornadoの全体像をつかむのに役立つでしょう。なお本書はEbook版のみの販売となります。 監訳者まえがき まえがき 謝辞 1章 はじめに Tornadoとは何か? 単純なWebサービス 2章 フォームとテンプレート 単純な例:Poem Maker Pro テンプレート構文 複雑な例:Alpha Munger 3章 テンプレートの拡張 ブロックと代入 UIモジュール ま
本書は社会ネットワーク分析の基礎理論への理解を、オープンソースのプログラミング言語Pythonを使って体感しながら深めるための書籍です。ソーシャルネットワーク分析の背景となる理論を学びたいスタートアップ企業や、社会学の理論をプログラミング言語を使って実践的に研究したい研究者などにとって、役立つ知識を学ぶ助けとなります。なお本書はEbook版のみの販売となります。 2012/7/20 誤植等を修正してファイルをアップデートしました。2012-7-20版をダウンロード可能です。 2013/5/20 誤植を修正してファイルをアップデートしました。2013-5-20版をダウンロード可能です。 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場
本書には改訂版があります。 Officeツールを使用していて、思うようにならずストレスを感じる事はありませんか?あるいは、印刷用の資料を見ている時に、Webブラウザで閲覧しやすいフォーマットになっていて欲しいと思ったりはしませんか? 本書はPythonで標準的なドキュメント作成ツールとして利用されているSphinxの入門書です。Windows、OS X、Linux(Ubuntu)を例に、Sphinxの概要からインストール、基本的な利用法について。またSphinxからLaTeXを経由してPDFを作成したり、EPUBフォーマットの電子書籍を作成する方法を、初めて触れる方にもわかりやすく紹介しています。 なお本書はEbook版のみの販売となります。 はじめに 本書を読むにあたって必要な環境とバージョン 本書が想定する読者 本書で使用されている表記規則 サンプルコードの使用について 本書に関するお
cc licensed ( BY ) flickr photo shared by Loco Steve 週末に試そうのコーナー。 ちょうど良いチュートリアルがあったので、データセットを用意してやってみました。 問題 How can I get a computer to tell me what an article is about (provided methods such as bribery and asking politely do not work)? ある記事が何について書かれているのか、コンピュータに理解させるにはどうすれば良いか? チュートリアルでは手動で作ったデータを使って犬もしくはサンドイッチの2クラス分類をしています。 ここでは、Google NewsでiPadのニュース、ソチ五輪のニュースとカテゴリ分けされている記事のタイトルを使って、 あるタイトルがiPa
大学院で自然言語処理の研究をしつつ、ブログタイトルのようなものを趣味的にチマチマと作っていまいた。個人的になかなか面白い解析結果が出たと思ったのでご紹介します。 目標: 1.twitter上で、ある入力ユーザ(自分でなくてもよい)と興味の対象が似ているユーザを発見する 2.興味あるトピックには、どういう単語が含まれているか発見する 手法: 1.1ユーザのツイート全体を1つの文書としてモデリングし、LDAで解析 2.全てのユーザについて、トピック-ユーザの特徴ベクトルの距離を使って類似度を計算 特徴: 1.巷にあるソーシャルネットワーク系の解析でありがちな、ユーザ同士のリンク情報を全く使っていない 2.トピックの次元は語彙の次元と比べてかなり小さい(1/(10^3)くらい)ので、単に単語の頻度を数えるのと比べて柔軟 解析結果ですが、とりあえずpythonの処理系が動作する環境で確認できるよう
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く