タグ

Pythonに関するR2Mのブックマーク (91)

  • さようならPython、こんにちはGo | Yakst

    以前はPythonで書いていたようなタスクを、最近ではGoで書くようになったという筆者による、Pythonと比べたGoの良さ、あるいは足りない部分のまとめ 私は、以前はPythonで書いていたようなたくさんの処理でGo言語を使っています。たとえば下記のような処理が挙げられます。 Amazon S3に保存されているCloudfrontのログの処理 S3内外への巨大な(テラバイト級の)ファイルを移動する処理 データベースとS3間において同期済ファイルのマッチングする処理 ほんとんどが一度きりの処理であり、そのためスクリプト言語で書くことが理想的です。そのプログラムは、すばやく書く必要があり、すぐに捨てられる可能性が高いです。いつもこれらのタスクは新しくユニークなものだから、再利用できるコードは最小限となります。 以下に、Pythonの代わりに、Go言語を利用することの優位点を挙げます。 コンパ

    R2M
    R2M 2018/09/18
  • Python: デコレータについて - CUBE SUGAR CONTAINER

    Python の特徴的な構文の一つにデコレータがある。 便利な機能なんだけど、最初はとっつきにくいかもしれない。 そこで、今回はデコレータについて一通り色々と書いてみる。 先に断っておくと、とても長い。 これを読むと、以下が分かる。 デコレータの質 デコレータはシンタックスシュガー (糖衣構文) に過ぎない デコレータの作り方 引数を取るデコレータと取らないデコレータ デコレータの用途 用途はラッピングとマーキングの二つに大別できる デコレータの種類 デコレータは関数、メソッド、インスタンスで作れる デコレータの対象 デコレートできるのは関数、メソッド以外にクラスもある 今回使った環境は次の通り。 尚、紹介するコードの中には、一部に Python 3 以降でないと動作しないものが含まれている。 $ python -V Python 3.6.6 デコレータについて まずはデコレータのおさら

    Python: デコレータについて - CUBE SUGAR CONTAINER
    R2M
    R2M 2018/09/03
  • 統計的因果推論のためのPythonライブラリDoWhyについて解説:なにができて、なにに注意すべきか - Unboundedly

    機械学習など主に予測を目的とした統計手法に強いイメージのPythonでしたが、統計的因果推論を行うためのライブラリ、“DoWhy”がついにリリースされました。 DoWhy | Making causal inference easy — DoWhy | Making Causal Inference Easy documentation これまで因果推論があまり浸透してこなかった*1データサイエンス界に新しい風が吹くのではと期待が高まります。 一方でこのパッケージが何を可能にし、逆に何ができないのかを理解しなければ、雑なデータ分析が増えて逆に有害なのではと思い、今回ブログを書くことにしました。 先に言っておくと、私自身はPythonをメインに使っているわけではありません(使ったことはあるので一応コードを読んで何が起こっているかくらいはわかります)。したがって記事の目的は、DoWhyライブ

    統計的因果推論のためのPythonライブラリDoWhyについて解説:なにができて、なにに注意すべきか - Unboundedly
  • 一休レストランPython移行の進捗 - 一休.com Developers Blog

    レストラン事業部エンジニアの id:ninjinkun です。 一休レストランでは10年以上動いているシステムをPython 3で書かれた新システム(以下restaurant2)に順次移行する作業を進めています。現在ではPC用のレストランページ や主要な API を含め、いくつかのページがrestaurant2で提供されるようになっている状態です。記事ではこの移行の経緯と、restaurant2システムの詳細、Pythonを選んだ理由、現在の進捗状況をお伝えします。 経緯 一休レストランはサービスローンチ時よりClassic ASP(言語はVBScript)でシステムが構築されてきました(こちらに驚かれる方も多いと思いますが、歴史的経緯という言葉で強引にまとめて話を先に進めます)。このシステムは現在も一休レストランを支えているのですが、長年の改修による複雑性の増加、言語の古さ、言語機能の

    一休レストランPython移行の進捗 - 一休.com Developers Blog
  • Python: Selenium + Headless Chrome で Web ページ全体のスクリーンショットを撮る - CUBE SUGAR CONTAINER

    スクレイピングした Web サイトからページ全体のスクリーンショットを撮影したい機会があった。 そこで Selenium の Python バインディングと Headless Chrome を使ったところ実現できたのでメモしておく。 ちなみに、ページ全体でなければ Headless Chrome 単体でも撮れる。 その方法についても末尾に補足として記載しておいた。 使った環境は次の通り。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.13.5 BuildVersion: 17F77 $ python -V Python 3.6.5 $ pip list --format=columns | grep -i selenium selenium 3.13.0 $ chromedriver --version ChromeDriver 2.

    Python: Selenium + Headless Chrome で Web ページ全体のスクリーンショットを撮る - CUBE SUGAR CONTAINER
    R2M
    R2M 2018/07/28
  • KaggleのWinner solutionにもなった「K近傍を用いた特徴量抽出」のPython実装 - u++の備忘録

    今回は、KaggleのWinner solutionにもなった「K近傍を用いた特徴量抽出」を紹介します。 Rでの実装は公開されていますが、Pythonでの実装は確認できなかったので、自前のPython実装も公開しています。 github.com アルゴリズムの概要 Pythonでの例 可視化のためのパッケージ読み込み サンプルデータの生成 可視化 K近傍を用いた特徴量抽出 可視化 iris での例 追記20180624 実装の修正 はてなホットエントリ入り アルゴリズムの概要 近傍数を、分類するクラス数をとした場合に、アルゴリズムは個の特徴量を生成します。生成される特徴量は下記のように、観測値と各クラス内の最近傍点との間の距離から計算されます。 とあるクラスに属する訓練データの中の第1近傍までの距離を1つ目の特徴量とする とあるクラスに属する訓練データの中の第2近傍までの距離の和を2つ目の

    KaggleのWinner solutionにもなった「K近傍を用いた特徴量抽出」のPython実装 - u++の備忘録
  • Kaggleで使えるpandasテクニック集 - 天色グラフィティ

    PythonでKaggleなどのデータ分析を行う際、pandasでゴリゴリ作業をすることが多いかと思います。 最近知って「めっちゃ便利やん!」ってなったものをまとめておきたいと思います。 全部の関数にドキュメントへのリンクを付けたので参考にしてください。 今回も検証にはTitanicのデータセットを用います。また、文中でのdf.hoge()はpandasのDataFrameのメソッドであることを、pd.hoge()はpandasの関数であることを表します。 df = read_csv('input/train.csv', index_col=0) print(df.shape) df.head() 最低限押さえておきたいやつら まずはここから。 10 Minutes to pandas よく使うやつら。詳しい解説は省略するので、ドキュメントのリンク先を見てください。 関数 内容 リンク d

    Kaggleで使えるpandasテクニック集 - 天色グラフィティ
  • 言語処理100本ノック 2015

    言語処理100ノックは,実践的な課題に取り組みながら,プログラミング,データ分析,研究のスキルを楽しく習得することを目指した問題集です 実用的でワクワクするような題材を厳選しました 言語処理に加えて,統計や機械学習などの周辺分野にも親しめます 研究やデータ分析の進め方,作法,スキルを修得できます 問題を解くのに必要なデータ・コーパスを配布しています 言語はPythonを想定していますが,他の言語にも対応しています

  • PythonとKerasを使ってAlphaZero AIを自作する | POSTD

    自己対戦と深層学習でマシンにコネクトフォー(Connect4:四目並べ)の戦略を学習させましょう。 この記事では次の3つの話をします。 AlphaZeroが人工知能AI)への大きなステップである2つの理由 AlphaZeroの方法論のレプリカを 作って コネクト4のゲームをプレイさせる方法 そのレプリカを改良して他のゲームをプラグインする方法 AlphaGoAlphaGo Zero→AlphaZero 2016年3月、DeepmindのAlphaGo(アルファ碁)が、囲碁の18回の世界王者、李世乭(イー・セドル)との五番勝負で、2億人の見守る中、4-1で勝利しました。機械が超人的な囲碁の技を学習したのです。不可能だとか、少なくとも10年間は達成できないと思われていた偉業です。 AlphaGo 対 李世乭の第3局 このことだけでも驚くべき功績ですが、DeepMindは、2017年10月、

    PythonとKerasを使ってAlphaZero AIを自作する | POSTD
  • Google Colaboratoryを使えば環境構築不要・無料でPythonの機械学習ができて最高 - karaage. [からあげ]

    Google Colaboratoryが便利 最近、Google Colaboratoryがちょっと気になっていたのですが、タダケン (id:tadaken3)さんの以下記事に分かりやすく使い方が書いてあったのをきっかけに試して見ました。 結論から言うと、これ良いですね。Google Colaboratoryには以下の特徴(利点)があります。 ローカルPCに必要なのはブラウザ(Google Chrome)のみ クラウド上にPython環境がありPython2/3 両方使える 機械学習に必要なライブラリは、ある程度プリインストールされている(numpy, matplotlib, TensorFlow等) 必要なライブラリは !pip installでインストールできる 日フォントも(ちょっと工夫すれば)使える 無料で使える。なんとGPUも12時間分を無料で使える! これ死角無さすぎでは…

    Google Colaboratoryを使えば環境構築不要・無料でPythonの機械学習ができて最高 - karaage. [からあげ]
  • Google Colaboratoryが便利・高速で凄過ぎる - Itsukaraの日記

    Googleが研究の一環で提供しているColaboratoryを試してみました。 Jupyterと同じようなGUIPythonのプログラムを実行可能で、GPUも使えます。 Jupyterと同様に、先頭に「!」を書くことで、Linuxのコマンドを実行可能であり、「!pip」「!conda」「!apt-get」などで機能を追加できます。 実行結果をファイルシステム上に保管でき、共有リンクを使って取り出せます。 ただし、12時間経過すると強制終了されて、ファイルは失われます。 しかし、Notebookが動いている仮想マシンにGoogleドライブをマウント可能であり、これにより、実行結果をGoogleドライブ上のファイルとして保管できます。 Deep Learningでは、途中の状態をファイルに保管して、そこからResumeできるようにプログラムを書くことが多いので、12時間で一度強制終了しても

    Google Colaboratoryが便利・高速で凄過ぎる - Itsukaraの日記
  • Pythonの__init__なんて読むの問題 - Qiita

    Pythonの__init__これなんて読むのかと思ってたら、"dunder init"と読むらしいです。 python wikiに書いてあることを抜粋すると、 とあるインターネット上のフォーラムにてMark Jacksonと言う人が以下のように提案したのが発端らしいです。 An awkward thing about programming in Python: there are lots of double underscores. My problem with the double underscore is that it's hard to say. How do you pronounce __init__? "underscore underscore init underscore underscore"? "under under init under under"?

    Pythonの__init__なんて読むの問題 - Qiita
    R2M
    R2M 2018/01/20
    ダンダー
  • シェルスクリプトの代わりにPythonを使う - オープンソースこねこね

    これまで、開発や運用時に使う、ちょっとしたコマンドラインツール、自動化スクリプトは、主にBashのシェルスクリプトで実装していたのですが、最近このような用途にはPythonを使うようにしています。 Bashスクリプトへの不満 スクリプトの実装方針 ポータビリティ重視のための縛りPythonプログラミング Tips __future__モジュールでバージョン2、3両方に対応させる バージョン2、3で異なるモジュールを、同じ名前で読み込む バージョン2、3を判別する関数を用意する よく使うスニペット 文字に色をつける 赤い文字でエラーメッセージを出力して終了する 外部コマンド実行する テキストをファイルに出力する ファイルに実行権限をつける スクリプトの同時、多重起動防止する コマンドライン・オプションの解析 HTTPリクエスト まとめ Bashスクリプトへの不満 Bashのスクリプト実装にお

    シェルスクリプトの代わりにPythonを使う - オープンソースこねこね
  • SocketServer – ネットワークサービスを作成する - Python Module of the Week

    SocketServer モジュールはネットワークサービスを作成するフレームワークです。TCP, UDP, Unix ストリームや Unix データグラムで(受け取ったリクエストの処理が完了するまでサーバのリクエストハンドラがブロックする)同期ネットワークリクエストを扱うクラスを定義します。さらに状況に応じて、それぞれのリクエストにスレッドかプロセスを使うように簡単にサーバを移行する mix-in クラスも提供します。 1つのリクエストを処理するレスポンス機能はサーバクラスとリクエストハンドラクラスに分割されます。サーバは通信関連の処理(ソケットを listen する、コネクションを accept する等)を扱います。リクエストハンドラは “プロトコル” 関連の処理(入力データを解釈して処理する、クライアントにデータを送り返す)を扱います。このレスポンス機能の分割により、多くのケースにおい

    R2M
    R2M 2017/11/29
  • 【図解:3分で解説】クリスパー・キャスナインとは|遺伝子改変、ゲノム編集技術

    As the world’s largest domain registrar with over 20 million customers, GoDaddy manages more than 84 million domains, offering a robust platform with 24/7 customer support and a wide range of TLDs. Its user-friendly interface and comprehensive services, including hosting and website builders, make it ideal for businesses seeking an all-in-one solution. Price 395 USD Auction Type GoDaddy Buy Now Go

    【図解:3分で解説】クリスパー・キャスナインとは|遺伝子改変、ゲノム編集技術
  • The Allison Kennedy is coming soon

    Our site is coming soon We are doing some maintenance on our site. It won't take long, we promise. Come back and visit us again in a few days. Thank you for your patience!

    R2M
    R2M 2017/09/05
  • ログ出力のための 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
    R2M
    R2M 2017/09/05
  • pythonで小さなツールを作る時のtips - Qiita

    自分で小さいツールを作る時に心に留めているtipsです. 書き始めたときは「どうせ書捨てだし」と思って書き始めると意外と長い間,もしくはいろんなところで使うことになったりするので,気をつけておくと後から楽になるというような小技です.大規模なソフトウェアの開発ではまた違った流儀があると思います. メインルーチンを関数にする 関数名はなんでもいいのですが,自分は趣味で main() という名前の関数を用意し,メインルーチンは全てそこに書くようにしています. pythonの小さなサンプルコードを見たりすると関数外の部分にベタで実行コードが書かれていたりします.もちろんそれでも動くのですが,以下の2点で後々面倒になることがあります. グローバル変数だらけになり管理が追いつかなくなる:「どうせ小さなスクリプトだし」ではじめると最初は見通しが良くてもだんだんどこでどの変数名を使っているか分からなくなっ

    pythonで小さなツールを作る時のtips - Qiita
    R2M
    R2M 2017/09/05
  • PyFormat: Using % and .format() for great good!

    Python has had awesome string formatters for many years but the documentation on them is far too theoretic and technical. With this site we try to show you the most common use-cases covered by the old and new style string formatting API with practical examples. All examples on this page work out of the box with with Python 2.7, 3.2, 3.3, 3.4, and 3.5 without requiring any additional libraries. Fur

    R2M
    R2M 2017/08/30
  • PythonでCSVを高速&省メモリに読みたい - tkm2261's blog

    今日はPython (Pandas)で高速にCSVを読むことに挑戦したいと思います。 Kaggleに参加するたびに、イライラしていたので各実装の白黒はっきりさせようと思います。 R使いが羨ましいなぁと思う第一位がCSV読込が簡単に並列出来て速いことなので、 なんとかGILのあるPythonでも高速に読み込みたいと思います。 ただ、この検証ではコーディング量が多いものは検証しません。 CSV読込は頻出するので、フットワークの軽さが重要です。(オレオレライブラリ嫌い) Pickleは早いけど。。。 結論はDask使おう! 検証環境 データ 速度検証 pandas.read_csv() pandas.read_csv() (dtype指定) pandas.read_csv() (gzip圧縮) numpy.genfromtxt() pandas.read_csv() (chunksize指定 +

    PythonでCSVを高速&省メモリに読みたい - tkm2261's blog
    R2M
    R2M 2017/08/04