タグ

Pythonに関するrishidaのブックマーク (113)

  • scipy.sparseで疎行列の行列積

    scipyにはscipy.sparseという疎行列の生成を扱うパッケージとscipy.sparse.linalgという疎行列の線形代数を扱うパッケージが存在する。しかし、この2つのリファレンスをいくら読んでも粗行列の行列積については触れていないので、公式ドキュメントと以下のスレッドを元に補足してみた。 [SciPy-User] Sparse matrices and dot product sparse_matrixの扱いかた scipy.sparseにはいくつかのフォーマットがあるが、基的には生成時にlil_matrixを使用し、それをcsr_matrixに変換して計算するというのが効率的なようだ。 import scipy.sparse as sp # generate 1000x1000 sparse matrix, whose components are initialized

    scipy.sparseで疎行列の行列積
    rishida
    rishida 2013/06/13
    疎行列。スパースマトリクス。sparse matrix
  • Robust SVM — CVXOPT

    rishida
    rishida 2013/06/12
    ロバストなSVM。外れ値に外れ値フラグをつけて除外するので非線形最適化になるとかなんとか
  • Linear algebra (numpy.linalg) — NumPy v2.1 Manual

    Linear algebra (numpy.linalg)# The NumPy linear algebra functions rely on BLAS and LAPACK to provide efficient low level implementations of standard linear algebra algorithms. Those libraries may be provided by NumPy itself using C versions of a subset of their reference implementations but, when possible, highly optimized libraries that take advantage of specialized processor functionality are pr

    rishida
    rishida 2013/06/04
  • python/numpy - 機械学習の「朱鷺の杜Wiki」

    パッケージ† pip や easy_install によるインストールの前に多くの外部ライブラリやfortranコンパイラなどが必要になるので,numpy等の科学技術計算パッケージをインストールするには以下のようなパッケージを一般には利用する: 商用(サポートなしなら無料でも利用できる) Anaconda:無料版でもIntel MKLが使える Enthought Canopy フリー Unofficial Windows Binaries for Python Extension Packages (個人ベースの管理で非公式版) ↑ その他† pyvideo.org:PyCon, SciPy, PyData などの講演ビデオリンク集 100 numpy exercises:練習問題 Pythonidae:Python関連のライブラリのリンク集 SciPy Central:SciPy 関連コ

    rishida
    rishida 2013/06/04
    pythonでの様々な積
  • Yaleで、遊んで学ぶ日々。 R: 無理矢理pythonと連携しても、そこそこ速い

    [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 以前、RをCと連携させることで、特にループ処理の速度を改善させることができることを書いた(記事へのリンク)。しかし、やっぱりCは難しい。さらに、RからCへ渡すことのできる引数の型に制限があるなど、書き方の工夫もそれなりに手強い。 そこで、手っ取り早くループ処理の速度を改善する方法として、pythonと連携させてはどうかと考え、やってみた。pythonとの連携については特別なメソッドが用意されているというわけではない。以下の手順で、強引に連携させる。 1. 特定の計算を行うpythonのスクリプトを書き、結果はファイルに出力させる。 2. Rにおいて、system() 関数を使ってそのpythonスクリプトを走らせ、結果をファイルから読み取る。 system() 関数は、外部プログ

    rishida
    rishida 2013/06/04
    Rでpython
  • 1.4. NumPy:数値データの作成と操作 — Scipy lecture notes

    配列:科学技術計算の基的な道具 並んだ離散的なデータ の頻繁な操作: 実験やシミュレーションでの離散化された時間 測定機器に記録された信号 画像のピクセル Numpy モジュールは以下を可能にします. 上のようなデータの集まりの作成を1度ですませる データ配列のバッチ処理を実現(要素に対するループは不要) データ配列 := numpy.ndarray >>> import numpy as np >>> a = np.array([0, 1, 2]) >>> a array([0, 1, 2]) >>> print a [0 1 2] >>> b = np.array([[0., 1.], [2., 3.]]) >>> b array([[ 0., 1.], [ 2., 3.]])

    rishida
    rishida 2013/06/04
    numpyのテンソルの呼び出しが使いにくすぎて泣いた
  • Python で疎行列(SciPy) - 唯物是真 @Scaled_Wurm

    疎行列とは 疎行列は成分のほとんどがゼロである行列のことです。 たとえば、文書に登場する単語の頻度を数えたりするとこういった行列になります。 他にも疎なグラフの隣接行列は疎行列になります。 こういった行列は通常の行列(密行列)を使うよりも、少ないメモリで処理できたり、高速に処理できたりすることがあります。 疎行列 - Wikipedia 例えば簡単な例として上の行列を考えます。 この時すべての成分を保存するには個分の数値のメモリが必要になります。 しかし上の行列では非ゼロの要素は3個だけです。 この3個について、以下のように行と列の位置と値だけを覚えておけばとなりすべての成分を記憶しておくよりも効率的なことがわかると思います。 疎行列の種類 上では単純な例を示しましたが、実際の疎行列はそれぞれ特徴の異なる様々な表現手法が用いられていて、SciPyにも以下のような種類の疎行列が実装されていま

    rishida
    rishida 2013/06/04
    疎行列の扱い方
  • Sparse SVDs in Python | Pythonic Perambulations

    After Fabian's post on the topic, I have recently returned to thinking about the subject of sparse singular value decompositions (SVDs) in Python. For those who haven't used it, the SVD is an extremely powerful technique. It is the core routine of many applications, from filtering to dimensionality reduction to graph analysis to supervised classification and much, much more. I first came across th

    rishida
    rishida 2013/06/04
    特異値分解の速度比較
  • joyfullife.jp

    This domain may be for sale!

    rishida
    rishida 2013/06/03
    ループ分
  • Pythonのソートについて: sort()とsorted()

    Photo by Fort Photo, "Fountains of Light" 自分のためにメモ。pythonでソートを行おうとする場合、リストに組み込まれている関数list.sort()と、単独で使える関数sorted()の2つがある。基的に取る引数は同じなので機能自体はあまり変わりないのだが、以下の2点が異なる。 sort()関数は返り値を出さずに、リストの体自体を変更してしまう。これはreverse()関数と同じ。 sort()関数はソートの対象がリストであるのに対し、sorted()関数は対象がイテレータとなる。 試しにpython上で確認してみる。 >>> x = [1,6,3,8,4] >>> y = [1,6,3,8,4] >>> y.sort() >>> y [1, 3, 4, 6, 8] >>> sorted(x) [1, 3, 4, 6, 8] きちんと両方とも

    Pythonのソートについて: sort()とsorted()
    rishida
    rishida 2013/05/31
    辞書のvaluesによるsortの仕方。lambdaを使うのがsort流らしい
  • CLIでJSONの整形をする - ( ꒪⌓꒪) ゆるよろ日記

    curlとかで取ってきたJSONを整形して表示したかったのでググったらいい方法があったので。 unix - How to pretty-print JSON from the command line? - Stack Overflow パイプで`python -mjson.tool`に渡すだけ。pythonすごい。 $ curl -s http://api.tumblr.com/v2/blog/david.tumblr.com/info\?api_key\=fuiKNFp9vQFvjLNvx4sUwti4Yb5yGutBN4Xh10LXZhhRKjWlV4 | python -mjson.tool { "meta": { "msg": "OK", "status": 200 }, "response": { "blog": { "ask": true, "ask_anon": false

    CLIでJSONの整形をする - ( ꒪⌓꒪) ゆるよろ日記
    rishida
    rishida 2013/05/31
    json出力整形
  • MongoDB - Tech Note

    このページではドキュメント指向データベースのMongoDBに関するメモを書いています。また、ここに記載するサンプルコードはPythonで書かれており(一部はC++)、MongoDBドライバのPyMongo(バージョン2.0未満だとサポートされていない機能も多いので2.0以上を推奨)を利用しています。 C++ドライバについてはブログでも紹介しています(MongoDB C++クライアント)。 環境 CentOS 5.8 (x86_64) MongoDB 2.0.7 C++ Driver v2.0-latest PyMongo 2.2 概要 スキーマレス ドキュメント指向データベースはRDBMSと違ってスキーマを定義する必要がない。データは''BSON''(Binary jSON)と呼ばれるフォーマットで保存される。ドキュメントの集まりは''コレクション''と呼ばれるが、これはRDBに置き換える

    rishida
    rishida 2013/05/31
    mongodbというデータベース
  • Beautiful Soup Documentation — Beautiful Soup 4.12.0 documentation

    Beautiful Soup Documentation¶ Beautiful Soup is a Python library for pulling data out of HTML and XML files. It works with your favorite parser to provide idiomatic ways of navigating, searching, and modifying the parse tree. It commonly saves programmers hours or days of work. These instructions illustrate all major features of Beautiful Soup 4, with examples. I show you what the library is good

    rishida
    rishida 2013/05/25
    htmlの中身を見るよう?
  • 2.3. Sympy : Python での記号計算 — Scipy lecture notes

    任意精度での数式の評価 記号表現の代数的な操作の実行 記号表現での基的な微積分(極限, 微分, 積分)の実行 多項式や超越方程式の求解 いくつかの微分方程式の求解 2.3.2. SymPy とは?¶ SymPyPython の記号計算ライブラリです. コードのシンプルに保ち理解しやすく簡単できる上に, 商用の代替ソフト(Mathematica, Maple)と直接張り合うことのできる十分な機能を持った代数計算システムを目指しています. SymPy は全て Python で書かれていて外部ライブラリを必要としません. 2.3.3.1. Sympy を計算機として使う¶ Sympy は3つの数値型を持っています: Real, Rational そして Integer. Rational クラスは分子と分母の2つの Integer の対として有理数を表現します, つまり Rational

    rishida
    rishida 2013/05/21
    微分積分もできるsympyパッケージ
  • 3.25 pprint -- データ出力の整然化

    3.25 pprint -- データ出力の整然化 pprintモジュールを使うと、Pythonの任意のデータ構造をインタープ リタへの入力で使われる形式にして``pretty-print''できます。 フォーマット化された構造の中にPythonの基的なタイプではないオブジェクト があるなら、表示できないかもしれません。 Pythonの定数として表現できない多くの組み込みオブジェクトと同様、ファイ ル、ソケット、クラスあるいはインスタンスのようなオブジェクトが含まれてい た場合は出力できません。 可能であればオブジェクトをフォーマット化して1行に出力しますが、与えられ た幅に合わないなら複数行に分けて出力します。 無理に幅を設定したいなら、PrettyPrinterオブジェクトを作成して明 示してください。 pprintモジュールには1つのクラスが定義されています: PrettyPrint

    rishida
    rishida 2013/05/20
    PrettyPrintするモジュール。utfの文字コードではなく、読める文字を出力してくれる
  • ぱちブログ

    Python入れとく # yum install python python-devel --enablerepo=epel Python Package Index(pip)とは Python Package Index(以下、pip)とは、Pythonにおけるパッケージ管理システムで、rubyのgemperlのcpanみたいなものです。pipは同様のパッケージ管理システムである、『setuptools』の"easy_install"を置き換えます。 pipをインストールするには、まずはsetuptoolsをインストールする必要があります。 setuptoolsインストール setuptoolsの公式ドキュメントを見たところ、RPMパッケージがあるようなので、yumコマンドでインストールできます。 RPMパッケージ名はpython-setuptoolsですので、yum infoで確

    rishida
    rishida 2013/05/18
    CentOSでpythonを導入するには
  • numpy.tensordot — NumPy v2.1 Manual

    rishida
    rishida 2013/05/08
    numpyでテンソルドット積をする関数
  • PyQtではじめるGUIプログラミング

    1. PyQtではじめる GUIプログラミング 2011-08-27 Python Conference JP 2011 Ransui Iso Strategic Technology Group / X-Listing Co, Ltd. Copyright (c) 2011 Ransui Iso, All rights reserved. 2. おまえ誰よ? Ransui Iso (磯 蘭水) Work at X-Listing Co, Ltd. http://www.xlisting.co.jp/ Pythonは1998年から使っています。E-Commerceエンジンやサーチエンジンの開 発、Zopeを用いたWebサイト開発、その他色々を経て、今はネット広告配信シス テムについての研究開発をしています。最近はCommon Lispでシステム開発をし ていますが、Pythonもヘビーに使

    PyQtではじめるGUIプログラミング
    rishida
    rishida 2013/05/04
    pythonでGUIを作りたくなったら、PyQt
  • http://www17.atpages.jp/~lambda7/py/decorator.html

    rishida
    rishida 2013/05/04
    デコレータという機能があり、@を使って関数を定義し直すことができる。
  • Theano の 基本メモ - Qiita

    ブログ投稿の続きとして、スライドに書けなかったTheanoの細かい部分についてもう少しまとめておこうと思います。 まず、Theano 解説 はTheano特徴を簡潔に表現されているので、一読をオススメします。 ここでも書かれていますが、Theanoの特徴として、 実行時にCコードを生成してコンパイル GPUでの実行のサポート(要CUDA) 自動微分 などがあげられると思います。 Theanoの超簡略チュートリアル http://deeplearning.net/software/theano/tutorial/index.html#tutorial の乱暴な要約です。 まず常にImportしておく3つ この3つはお約束です。 これだけ知っておけば概ね大丈夫 以下の事柄がだいたい理解できれば、Deep Learningの実装を読んで理解したり、変更を加えたりすることができると思います。 T.

    Theano の 基本メモ - Qiita
    rishida
    rishida 2013/05/03
    pythonでテンソルを使いたかったら、numpyよりtheano?