勉強会で話した、Scikit-learnの入門資料です。speakerdecでも共有しましたが、slideshare一本化のためこちらにも上げます
Python では、特定の性質を持つオブジェクトが実装すべき一連のメソッドのことをプロトコルと呼びます (代表的なプロトコルとして イテレータプロトコル などがあります)。ディスクリプタはそのようなプロトコルの一種です。 プロパティや、メソッド(静的メソッド、クラスメソッド、インスタンスメソッド)、 super など、 Python の基本的な機能の背後にはこのディスクリプタが使われています。また、ディスクリプタは汎用的なプロトコルなので、ユーザが定義することも可能です。 ディスクリプタには大きく分けて2つの種類があります。 データディスクリプタ __get__ と __set__ の両方を定義しているディスクリプタ 非データディスクリプタ __get__ だけを定義しているディスクリプタ データディスクリプタは通常の属性アクセスと同じような振る舞いをするもので、プロパティがその典型です。
山本泰宇です。こんにちは。 運用本部では最近 Python3 への移行を進めています。そちらの話は別途ご紹介する予定ですが、今回は Python3.4 で追加された asyncio モジュールの使いかた(というか落し穴)を解説します。先に結論を書いておくと、Python3.5 の改良を待つのが吉という話です。 サンプルとして複数の SSH を一斉に呼び出してうまいこと処理してくれる passh を GitHub で公開しています。実際に社内で利用しているものをデチューンして使いやすくまとめたものです。 本題の asyncio ですが、Python3 で非同期 I/O 処理を実現するために追加されたイベント駆動処理のフレームワークです。最初に書いておきますが、以下で言及する難ありな点のいくつかは Python3.5 で改良される予定のようです。[PEP-0492, PEP 492 vs. P
Python で Rake を真似るとしたら という反応を頂いたので、それにまつわるお話を。 まず、CodeReposにコミットしてあるtasktoolsは distutils及びsetuptoolsを拡張する ということを念頭に置いています。ですのである程度distutils.core.Commandの思想というか、インターフェイスを残しています。 タスクをクラスで定義すること オプションの定義方法 sub_commands や finalize_options といったメソッド などなどは元のまんまです。 じゃあ、 distutils や setuptools を抜いて好きにRakeをPythonで真似るとしたら、というのが今回メインのお話。最初にこんな感じでコマンドを定義しますよ、というのを出してしまいます。 1from __future__ import with_statemen
一応の基本機能がととのったので、できたてほやほやではありますが、Python製の形態素解析器 Janome を公開しました。 http://mocobeta.github.io/janome/ インストール方法や使い方は上記ページを見てください。 ソースコードはGithubにおいています: https://github.com/mocobeta/janome 【公開にいたった背景など】 日本語テキストを分析したりテキストマイニングする場合、まずは形態素解析から始めると思います。 Python の場合、そのためには MeCab をインストールして、mecab-ipadic をインストールして、mecab-python をインストールする、という手順を踏むことが多いと思うのですが、環境依存のところでハマって面倒な思いをしたり、サーバ構築の手間がかかったり、しますよね。なので、Pythonモジュ
概要 分析のためにデータ集めしていると、たまに マジか!? と思うサイズの CSV に出くわすことがある。なぜこんなに育つまで放っておいたのか、、、? このエントリでは普通には開けないサイズの CSV を pandas を使ってうまいこと処理する方法をまとめたい。 サンプルデータ たまには実データ使おう、ということで WorldBankから GDPデータを落とす。以下のページ右上の "DOWNLOAD DATA" ボタンで CSV を選択し、ローカルに zip を保存する。解凍した "ny.gdp.mktp.cd_Indicator_en_csv_v2.csv" ファイルをサンプルとして使う。 http://data.worldbank.org/indicator/NY.GDP.MKTP.CD?page=1 補足 pandas の Remote Data Access で WorldBan
こんにちは. 最近,MBA2011からMBA2014へと買い替え,環境構築をすることになりました. そこで,今回はpyenvでpythonのバージョン管理を行い,(mini)condaを入れることにしました. pyenv pythonは大きく2系と3系があります.そのため,Pythonデベロッパーはひとつのシステム内に複数のPython環境を構築し,それをスイッチして開発を行う必要があります. この,環境をスイッチするメタツールとして最も一般的なのが,pyenvと呼ばれるツールですので,これをインストールしましょう.brew はインストールされているものとします. pyenv のインストール brew install pyenv pyenv でインストールできる環境の一覧を見る pyenv install -l miniconda(後述)をインストールする pyenv install mi
こんにちは、Gunosyのエンジニアの粟飯原です。Gunosyでは、主に広告配信サーバー全般の開発運用インフラを行いつつ、データ集計や分析等を行なっています。 Gunosyのエンジニアブログはこちら http://gunosy.github.io/2014/07/08/iptyhonnotebook.html 今回は、自分が開発業務や分析業務で日常的に利用しているIPython Notebookを便利に使う方法を紹介させて頂きます。 基本的に、pipでライブラリがインストールできる環境とnumpy、scipyの環境が揃っていることが前提で進めます。windows環境であれば、ライブラリのインストールは以下のURLのパッケージ群を利用すると快適です。とはいえこのページで紹介しているライブラリはwindowsでは動かないものもあります。 http://www.lfd.uci.edu/~gohl
Web-based Python Data AnalysisShell Access from the Browser Instantly open new terminal shells inside a browser, additionally you may select from many different Anaconda environments or create your own. Up and Running in less than 2 minutes Spend time writing code, not working to set up a system. Create beautiful interactive plots in your browser with Bokeh.
プログラマーのための確率プログラミングとベイズ推定¶PythonとPyMCの使い方¶ベイズ推定(Bayesian method)は,確率推論のためのもっとも適切なアプローチであるにもかかわらず,書籍を読むとページ数も数式も多いので,あまり積極的に読もうとする読者は少ないのが現状である.典型的なベイズ推定の教科書では,最初の3章を使って確率の理論を説明し,それからベイズ推論とは何かを説明する.残念ながら多くのベイズモデルは解析的に解くことが困難であるため,読者が目にするのは簡単で人工的な例題ばかりになってしまう.そのため,ベイス推論と聞いても「だから何?」と思ってしまうのである.実際,著者の私がそう思っていたのだから. 最近の機械学習のコンテストで良い成績を収めることができたので,私はこのトピックを復習しようと思い立った. 私は数学には強い方である.しかしそれでも,例題や説明を読んで頭の中で
検索エンジン自作入門 ~手を動かしながら見渡す検索の舞台裏 作者:山田 浩之,末永 匡発売日: 2014/09/25メディア: 単行本(ソフトカバー) (この記事で紹介しているのはTF-IDFとかの計算もない簡素なものです。) はじめに Webサービスのプログラミングに必要なことのだいたいは、スクレイピングに学んだ - Line 1: Error: Invalid Blog('by Esehara' ) この前↑の記事をみかけました。クローリングやスクレイピングは、色々と応用が効きそうなのでしっかり勉強したい。 PythonではScrapyという有名なクローリング・スクレイピング用のライブラリがありますが、今回は勉強としてScrapyを使わずに実装してみる。流れとしては以下のとおり Webクローラの構築 Mecabで日本語の形態素解析 検索エンジンの構築 データをMongoDBに格納 Fl
動的型付言語であえて型を宣言する方式(Type Hinting or Optional Typing)、最近流行ってますね。 言語仕様としては Dart や TypeScript が採用していますし、Pythonでは 開発者のGuido氏が次期バージョン (3.5) での型アノテーションの導入を提案 しています。 Pythonで型アノテーションの導入って結構インパクトありそうですが、国内の情報がほとんどなかったので、実際どんなもんなのか、既存ツールで試せる範囲で試してみました。 そもそも、Python で型を使うと何が嬉しいのか、 Guido氏の提案メール から引用します。 Editors (IDEs) can benefit from type annotations Linters are an important tool for teams developing software
はじめに この文書は、 Steven Bird, Ewan Klein, Edward Loper 著 萩原 正人、中山 敬広、水野 貴明 訳 『入門 自然言語処理』 O'Reilly Japan, 2010. の第12章「Python による日本語自然言語処理」を、原書 Natural Language Processing with Python と同じ Creative Commons Attribution Noncommercial No Derivative Works 3.0 US License の下で公開するものです。 原書では主に英語を対象とした自然言語処理を取り扱っています。内容や考え方の多くは言語に依存しないものではありますが、単語の分かち書きをしない点や統語構造等の違いから、日本語を対象とする場合、いくつか気をつけなければいけない点があります。日本語を扱う場合にも
Machine Learning Advent Calendarです。 普段はGunosyという会社で推薦システムを作ってます はじめに 推薦システムに関する最近の文献を読むと結構な割合で出てくるMatrix Factorizartion(MF)と呼ばれる手法があります。 ざっくり言うとこの手法は協調フィルタリングにおける次元削減を行うことでよりよい推薦を行おうという手法であり、 Netflix Prize(100万ドルの賞金が賭けられた推薦システムのコンテスト)で最も成果を上げたモデルの一つでもあります。 本記事ではこの手法を紹介していきます。 協調フィルタリング まず協調フィルタリングについておさらいしましょう。 あるサービスで3人のユーザが5つのアイテムに対して5段階評価をしたとき、その評価値を以下のようにベクトルで表すことができます。
Testing Your Code¶ Testing your code is very important. Getting used to writing testing code and running this code in parallel is now considered a good habit. Used wisely, this method helps to define your code’s intent more precisely and have a more decoupled architecture. Some general rules of testing: A testing unit should focus on one tiny bit of functionality and prove it correct. Each test un
TL;DR ipython notebook --pylab inlineのかわりにipython notebook --matplotlib inlineを使おう.もしくはipythonの始めに%matplotlib inlineを実行しておく. iPython Notebookについて 周知の事実だとは思うが,iPythonは超便利なPythonのインタラクティブシェルだ.その一部としてiPython Notebookというのがあり,ブラウザでコードを実行できたり,実行結果をノートとして保存したり,matplotlibなどで描写したグラフをノートの中にそのまま表示したりできる.RでいうところのRstudio+knitrのような,解析レポートを作るときには重宝するツールとなっている. (http://nbviewer.ipython.org/gist/twiecki/3962843より)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く