Pythonに関するmiki_beneのブックマーク (14)

  • 関数プログラマから見たPythonと機械学習

    2018-02-27に開催された 機械学習・ディープラーニングでPythonを使う嬉しさとツラミを分かちあう会 https://mlxse.connpass.com/event/77315/ での発表資料。

    関数プログラマから見たPythonと機械学習
  • pipで一括アップデート - Qiita

    pipによるパッケージ管理は便利だが、インストールしたパッケージを一括でアップデートしようと思うと結構面倒くさい。 どうにかならないか調べたところ、以下のページに便利なコマンドが紹介されてた。 Pro Tip - Pip Upgrade All Python Packages $ pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs pip install -U pip 追記:pip=9.0.1の形式に対応。コメントしてくださったみなさん、ありがとうございました。 → $ pip list --outdated --format=legacy | awk '{print $1}' | xargs pip install -U pip これで一括でアップデートできる。Python3系列の場合もpip3で置き変えればOK。 .z

    pipで一括アップデート - Qiita
  • Pythonのfor文は遅い? - atsuoishimoto's diary

    bicycle1885.hatenablog.com こちらの記事を拝見していて、ちょっと気になったので注釈。 PythonやRを使っている人で、ある程度重い計算をする人達には半ば常識になっていることとして、いわゆる「for文を使ってはいけない。ベクトル化*1しろ。」という助言があります。 これは、PythonやRのようなインタープリター方式の処理系をもつ言語では、極めてfor文が遅いため、C言語やFortranで実装されたベクトル化計算を使うほうが速いという意味です。 昔からよくこういう言い方がよくされるが、当にPythonのfor文は遅いのだろうか。 聞くところによるとRのfor文はガチで遅いそうだが、Pythonの計算が遅いのはインタープリタ方式だからでも、for文が遅いからでもない。もちろん、Pythonはインタープリタなので遅いし、for文だって極めて遅い。しかし、これはPyt

    Pythonのfor文は遅い? - atsuoishimoto's diary
  • Python pandas 欠損値/外れ値/離散化の処理 - StatsFragments

    データの前処理にはいくつかの工程がある。書籍「データ分析プロセス」には 欠損など 前処理に必要なデータ特性の考慮とその対処方法が詳しく記載されている。 が、書籍のサンプルは R なので、Python でどうやればよいかよく分からない。同じことを pandas でやりたい。 データ分析プロセス (シリーズ Useful R 2) 作者: 福島真太朗,金明哲出版社/メーカー: 共立出版発売日: 2015/06/25メディア: 単行この商品を含むブログ (2件) を見る とはいえ、pandas 自身は統計的 / 機械学習的な前処理手法は持っていない。また Python には R と比べると統計的な前処理手法のパッケージは少なく、自分で実装しないと使えない方法も多い。ここではそういった方法は省略し、pandas でできる前処理 / 可視化を中心に書く。 また、方法自体の説明は記載しないので、詳細

    Python pandas 欠損値/外れ値/離散化の処理 - StatsFragments
  • Python パッケージ管理技術まとめ (pip, setuptools, easy_install, etc) | yunabe.jp

    Python パッケージ管理技術まとめ (pip, setuptools, easy_install, etc) Python のパッケージ管理関係の情報がオフィシャルには整理されてなく、 またパッケージ管理まわりででてくるキーワードもいくつもあって分かり難いので完結にまとめてみました。 このドキュメント自体は少し長いですが、結論としては2015年1月時点では 原則 pip を使ってパッケージの管理を行う setuptools も広く使われているので入れておくとよい。そもそも pip のインストール時に自動的ににインストールされる distribute は 2013年に setuptools にマージされたので不要 という方針でよいと思います。 ただ少し古い情報ソースやパッケージのドキュメントを読んでいると distribute の利用が勧められていたり、 site-packages, e

  • ログ出力のための print と import logging はやめてほしい - Qiita

    はじめに Python入門系の記事では概して、Pythonのロギング機能の紹介で最初にlogging.debug()といったloggingモジュール付属の関数を呼ぶ方法を案内しています。 Python家が提供するloggingの「基チュートリアル」でもこの点で大差ありません。Python家の基チュートリアルでは、print()関数を使用する方法もロギングの手段として有効であるとし、タスクに応じてprint()やlogging.debug()を使いわけよう、という流れで記述されています。 コマンドラインスクリプトやプログラムで普通に使う、コンソール出力の表示 : print() そのような「基」の説明の後「上級」チュートリアルになってようやく、Python言語付属のロギングメカニズムの説明が始まります。「上級」では4+1種類のデータ構造が紹介され、ここで「基」で多用されていたlo

    ログ出力のための print と import logging はやめてほしい - Qiita
  • scipy.sparseの内部データ構造 – はむかず!

    前回の記事で予告した記事が遅くなってしまった。申し訳ない。 ここでは、Pythonの疎行列ライブラリscipy.sparseについて、データの内部構造を説明する。内部構造を知らずにブラックボックスとして使いたい場合は前回の記事を参照のこと。 はじめに(あるいは前回記事のまとめのまとめ) scipy.sparseで疎行列を表すクラスは主に以下のものがある(他にもあるが、ここではとりあげない。これだけ知ってれば大体のことはできる。) lil_matrix csr_matrix csc_matrix 通常は、lil_matrixを用意してそこに値を詰めてから、csr_matrixまたはcsc_matrixに変換してから計算を行う。csr_matrixとcsc_matrixのどちらを使うかは以下のことから判断する。 演算はcsr同士またはcsc同士が高速 csrは行を取り出すのが高速 cscは列を

  • Pythonの疎行列ライブラリscipy.sparseの基本 – はむかず!

    今回は珍しく(?)初心者フレンドリーに書こうと思う。先日のPyCon JPでの発表で、Pythonで使える疎行列のライブラリ「scipy.sparse」について反響があったので、改めてここで使い方の基をまとめてみることとする。そもそも、便利で使い方もそれほど難しくないのに、日語の情報がほとんどないようなので敬遠されていることもあるかもしれない。ここでは、使い方の基を解説する。 基: 疎行列とは? 要素のほとんどが0であるような行列を疎行列と呼ぶ。そうではない普通の行列を、区別したいときには密行列と呼ぶ。疎行列では、非ゼロ要素だけを覚えておけば良いので、メモリ、計算時間ともに大幅な節約になる。特に非ゼロ要素の割合が小さい場合は、その節約は大きくなる。 特に機械学習の分野だと、計算過程で大規模な疎行列が必要になることがよくある。 使い方 scipy.sparseには、疎行列を表すクラス

  • scipy.sparseでの疎ベクトルの扱い – はむかず!

    Pythonで疎行列を扱うライブラリであるscipy.sparseについて、自分がハマってきたところをまとめてみようと思う。とくに、行列よりもベクトルとして扱ったとき(つまり行または列の数が1のとき)の注意点をまとめる。 基的なことばかりなのかもしれないが、日語の情報は少ないので、それでも役に立てるかもと思いました。まあ自分の勉強ノートみたいなもんです。 基 scipy.sparseで提供される疎行列の形式はいくつかあるが、ここではとくにCOO(COOdinate)形式、LIL(LInked List)形式、CSR(Compressed Sparse Rows)形式、CSC(Compressed Sparse Columns)形式について取り上げる。 それらの違いについて、詳細は家のドキュメントを参照して欲しいが、すごく大雑把にまとめると、 CSR, CSC形式は、同じ型同士の掛け

  • Pandasを使ったデータ操作の基本 - ぴよぴよ.py

    データ分析の会社に転職してから3ヶ月。 最初の1ヶ月はPandasの扱いに当に困ったので、 昔メモしてたことを簡単にブログに記録しておく(o ・ω・)ノ 【追記】2017/07/31 0:36 データが一部間違ってたので修正しました Pandasとは pandasでよく使う型 テストデータについて 余談 Pandasでのデータ操作入門 pandasのload データ(csv)のロード データのサイズ データのカラム 行列から必要な列(カラム)を取り出す 条件にマッチするデータを取り出す 1. DataFrame.queryで取り出す True/FalseのSeries型を指定し、Trueの行だけを取り出す 追記(2017/12/14) 行列から必要な行番号を指定してを取り出す グループ分けと集計 新たな列を追加する 固有値を追加する 他の列を加工して新たな列を作る 他の複数列を加工して新

    Pandasを使ったデータ操作の基本 - ぴよぴよ.py
  • GitHub - rasbt/python-machine-learning-book: The "Python Machine Learning (1st edition)" book code repository and info resource

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - rasbt/python-machine-learning-book: The "Python Machine Learning (1st edition)" book code repository and info resource
  • Rubyist が pyenv を使うときに知っておいてほしいこと - Qiita

    はじめに 機械学習ブームなどにより、 Python を触り始める Rubyist が増えてきたと思います。その際に問題になりやすいのが環境構築です。Rubyだと rbenv がデファクトスタンダードになっているのに、なぜか Python には pyenv に否定的な意見が多いんですよね。 私は pyenv を使っていますし、便利だと思っています。また、 Ruby は殆ど使わないのですが、RubyPythonのツールスタックの違いについても調べました。 (参考: gem, bundler と pip, venv の比較) その視点から、 Rubyユーザーが自分でpyenvの使い方を自分で決める上で知っておいた方が良いだろうなと思う RubyPython の環境の違いをまとめてみます。 tl;dr 丁寧に解説しても、「Python使うにはこんな長い記事を読まないといけないの」とすぐに否

    Rubyist が pyenv を使うときに知っておいてほしいこと - Qiita
    miki_bene
    miki_bene 2017/06/06
    なるほど
  • pyenvが必要かどうかフローチャート - Qiita

    pyspaの統合思念体の渋川です。 「pyenv使いましょう!」系の記事、全部ゴミ — Yoshifumi YAMAGUCHI (@ymotongpoo) September 29, 2016 これはpyenvがダメではなくて、pyenvをとりあえずインストールしておきましょう記事がダメという意味だそうです。すでにとんぷーが5年前にこの問題について書いています。これを読んで分かる人には不要です。 この記事では「便利」と「必要」は分けて考えています。後者にフォーカスしています。 前提知識 Environment Isolation Tool(環境分離ツール)というカテゴリの開発補助ツールがあります。pip install Sphinxとか書いたら、ライブラリはグローバル空間に入っちゃいます。複数バージョン入れられません。そんなときに使うのが、この環境分離ツールです。最近はいろいろな言語がこれ

    pyenvが必要かどうかフローチャート - Qiita
    miki_bene
    miki_bene 2017/04/14
    ここに書いてあることでFAっぽい気がします
  • GoogleがGoによるPython実装、Grumpyを発表

    Googleが既存の社内のPythonコードをGoで実行するためのPython実装を公開している。 Google Open Source Blog: Grumpy: Go running Python! google/grumpy: Grumpy is a Python to Go source code transcompiler and runtime. Googleの発表によれば、YouTubeのフロントエンドサーバーとYouTube APIはほとんどPythonで書かれているという。現在、YouTubeのフロントエンドはCPython 2.7で実行されているが、CPythonの制約により効率化には限界があるのだという。 GrumpyはPython 2.7のコードをGoのコードに変換するツールgrumpcの実装だ。grumpcPythonで実装されていて、astモジュールでPyth

  • 1