pythonに関するmatsulibのブックマーク (68)

  • Python: ソケットプログラミングのアーキテクチャパターン - CUBE SUGAR CONTAINER

    今回はソケットプログラミングについて。 ソケットというのは Unix 系のシステムでネットワークを扱うとしたら、ほぼ必ずといっていいほど使われているもの。 ホスト間の通信やホスト内での IPC など、ネットワークを抽象化したインターフェースになっている。 そんな幅広く使われているソケットだけど、取り扱うときには色々なアーキテクチャパターンが考えられる。 また、比較的低レイヤーな部分なので、効率的に扱うためにはシステムコールなどの、割りと OS レベルに近い知識も必要になってくる。 ここらへんの話は、体系的に語られているドキュメントが少ないし、あっても鈍器のようなだったりする。 そこで、今回はそれらについてざっくりと見ていくことにした。 尚、今回はプログラミング言語として Python を使うけど、何もこれは特定の言語に限った話ではない。 どんな言語を使うにしても、あるいは表面上は抽象化さ

    Python: ソケットプログラミングのアーキテクチャパターン - CUBE SUGAR CONTAINER
  • 組合せ最適化でチーム分けする(焼きなまし法) - Qiita

    はじめに 前回の記事でチーム分けの問題を平均偏差最小化問題として定式化し、Python+PuLPで厳密に解く方法を紹介しました。その中で、組合せ最適化問題は問題が大規模になると厳密に解くことが難しくなることを述べました。 そこで、今回はPythonsimannealを使った焼きなまし法による近似解法を紹介します。 simannealとは simannealは焼きなまし法のためのパッケージです。 インストール方法 基的な使い方 Annealerクラスのサブクラスを作成する。 move()をオーバーライドし、探索点の移動ルールを実装 energy()をオーバーライドし、目的関数を実装 作成したクラスのコンストラクタに初期解を与えて問題オブジェクトを作成する。 問題オブジェクト.anneal()で焼きなまし法を実行する。 問題オブジェクト.stateで解を取得する。 最適化問題の制約はmov

    組合せ最適化でチーム分けする(焼きなまし法) - Qiita
    matsulib
    matsulib 2017/08/21
    書いた。
  • 組合せ最適化でチーム分けする(平均偏差最小化) - Qiita

    はじめに 組合せ最適化でチーム分けする で紹介されている問題を別のモデルで解いてみます。 この問題は、バラツキを最小化する組合せ最適化問題です。 バラツキ具合の指標としては一般的に分散がよく使われますが、分散は二次関数で表されるため一次関数を最小化する線形計画問題に比べると難しくなってしまいます。そこで元の記事では最大値と最小値の差(範囲)を最小化する線形計画問題として定式化しています。 一方、範囲の代わりに平均偏差を最小化する方法もあります。 そこで記事では、まず範囲と平均偏差のモデルの違いを比較します。 最後に平均偏差最小化問題の例題をPython+PuLPで解いてみます。 問題設定 前提条件 $n$人のメンバーを$m$個のチームに分ける。 各メンバーが持つコミュニケーション能力の種類は$l$個あり、それぞれ点数が振られている。 目標 チーム内で能力が偏らないようにする。 チーム間の

    組合せ最適化でチーム分けする(平均偏差最小化) - Qiita
    matsulib
    matsulib 2017/08/21
    書きました。
  • https://remotestance.com/blog/category/python/ppytrading/

  • Designing a RESTful API with Python and Flask

    In recent years REST (REpresentational State Transfer) has emerged as the standard architectural design for web services and web APIs. In this article I'm going to show you how easy it is to create a RESTful web service using Python and the Flask microframework. What is REST? The characteristics of a REST system are defined by six design rules: Client-Server: There should be a separation between t

    Designing a RESTful API with Python and Flask
  • TensorFlow 畳み込みニューラルネットワークで手書き認識率99.2%の分類器を構築 - Qiita

    TensorFlowとは2015/11/9にオープンソース化されたGoogle機械学習ライブラリです。この記事ではディープラーニングと言われる多層構造のニューラルネットワークをTensorFlowを利用して構築しています。 TensorFlowはPythonから操作できますがバックエンドではC++で高速に計算しています。macPython2.7系環境でTensorFlowの上級者用チュートリアルを行い、手書き認識率99.2%の多層構造の畳み込みニューラルネットワークモデルの分類器を構築したときの作業メモです。特別な設定なしにCPU使用率270%メモリ600MByteとちゃんと並列計算してくれました。MNISTランキングを見ると認識率99.2%は上位のモデルとなるようです。 TensorFlowチュートリアル TensorFlowの初心者用と上級者用チュートリアル2つに取り組んでみました

    TensorFlow 畳み込みニューラルネットワークで手書き認識率99.2%の分類器を構築 - Qiita
  • Python Tips: ライブラリをまとめてインストールしたい

    Pythonのライブラリをまとめてインストールする方法をご紹介します。 pip がインストールされていれば、 pip install の -r オプションで一括インストールが可能です。 $ pip install -r requirements.txt $ pip install --require requirements.txt # このように書いても OK requirements.txt の中身は次のような形でライブラリの一覧を書きます。 cssselect==0.9.1 lxml==3.2.4 mechanize==0.2.5 pyquery==1.2.6 requests==2.0.1 selenium==2.37.2 wsgiref==0.1.2 この形は pip freeze の出力形式と同じなので、特定のライブラリ環境を別のところに移したい場合なんかにも pip free

    Python Tips: ライブラリをまとめてインストールしたい
  • Python-twitterを使う時の注意点 - MyEnigma

    みんなのPython 第4版posted with カエレバ柴田 淳 SBクリエイティブ 2016-12-22 Amazonで探す楽天市場で探すYahooショッピングで探す 目次 目次 はじめに python-twitterについて 認証してオブジェクト生成 ツイートしたい時 あるユーザのツイートを取得したい時 リツイートしたい時 GetUserTimelineで指定したユーザのではなく、自分のtweetが取得されてしまう時は、 ツイートを検索したい時 ユーザをフォローする Status構造体のメンバ一覧 参考資料 MyEnigma Supporters はじめに python-twitterというtwitterAPIを利用するPythonライブラリを使って、 色々遊んでいるのですが、個人的にはまった所をメモとして残しておきます。 python-twitterについて python-tw

    Python-twitterを使う時の注意点 - MyEnigma
  • 指定時間内に関数が終了しなかったら何かするデコレータ - Qiita

    昨日投稿したTipsの改良版です。通知する部分をハンドラ関数を渡すようにして分離し任意の処理を行えるようにしました。 また、@methaneさんに教えていただいた functools.wrap を使ってみました。このデコレータがついた関数をpaverの@taskにもしてみたのですがヘルプがNoneとなり docstring が表示されなかったのはこれを使っていなかったからのようでした!(functools.wrapを使うとヘルプにdocstringが表示されました) from functools import wraps def on_timeout(limit, handler, hint=None): ''' 指定した実行時間に終了しなかった場合、handlerをhint/limitを引数にして呼び出します @on_timeout(limit=3600, handler=notify_

    指定時間内に関数が終了しなかったら何かするデコレータ - Qiita
  • 言語処理100本ノック 2015

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

  • Python pandas 日本語環境向けのちょっとしたパッケージ作った - StatsFragments

    最近の空き時間は GitHub で草植えをしている。まずは pandas を日語環境で使う場合に たまに必要になる処理をまとめた パッケージを作った。 インストール pip install japandas 機能 機能の一覧はこちら。 日時処理 日語日付のパース 日の祝日カレンダー 文字列処理 Unicode 正規化 全角/半角変換 リモートデータアクセス 詳細はドキュメントを。 http://japandas.readthedocs.org/en/stable/ 日時処理 日語日付のパース pandas には 日付らしい入力を適切に処理してくれる pandas.to_datetime があるが、これは日語の日付 ( "XX年XX月XX日" とか ) に対応していない。例えば 以下のような入力は日時としてパースされず 文字列のまま残ってしまう。 import pandas as

    Python pandas 日本語環境向けのちょっとしたパッケージ作った - StatsFragments
  • Python pandas で日時関連のデータ操作をカンタンに - StatsFragments

    概要 Python で日時/タイムスタンプ関連の操作をする場合は dateutil や arrow を使っている人が多いと思うが、 pandas でもそういった処理がわかりやすく書けるよ、という話。 pandas の領は多次元データの蓄積/変形/集約処理にあるが、日時操作に関連した強力なメソッド / ユーティリティもいくつか持っている。今回は それらを使って日時操作を簡単に行う方法を書いてく。ということで DataFrame も Series もでてこない pandas 記事のはじまり。 ※ ここでいう "日時/タイムスタンプ関連の操作" は文字列パース、日時加算/減算、タイムゾーン設定、条件に合致する日時のリスト生成などを想定。時系列補間/リサンプリングなんかはまた膨大になるので別途。 インストール 以下サンプルには 0.15での追加機能も含まれるため、0.15 以降が必要。 pip

    Python pandas で日時関連のデータ操作をカンタンに - StatsFragments
  • Python pandas で日本の株価情報取得とローソク足チャート描画 - StatsFragments

    以下の記事を読んでいて、pandas 標準では日株式の情報が直接とれないことに気づいたのでやり方をまとめたい。 この記事では以下 2 点の処理について書く。 Yahoo! ファイナンス からの株価取得 ローソク足チャートの描画 補足 標準の v0.15.2 で簡単に動きをみているが、ちゃんとテストはしてない。特にローソク足チャートについては pandas の plot クラスにかなり依存しているため、バージョンが変わると動かなくなる可能性がある。 1. 株価の取得 まず、pandas には標準機能として外部サイトのデータを DataFrame で取得する機能 DataReader がある。DataReader では 日株の情報は直接はとれないが、簡単に動きを書いておく。 DataReader での取得 DataReader では、0.15.2 現在で以下 6 つのデータソースをサポート

    Python pandas で日本の株価情報取得とローソク足チャート描画 - StatsFragments
  • 「Webアプリケーションから機械学習まで ~ PythonとPythonコミュニティの2015年大展望 」レポート | gihyo.jp

    エンジニアサポート CROSS 2015 レポート 「Webアプリケーションから機械学習まで ~ PythonPythonコミュニティの2015年大展望 」レポート 去る1月29日(木)に通算4回目となる「エンジニアサポートCROSS 2015」が開催されました。レポートでは、「⁠Webアプリケーションから機械学習まで~PythonPythonコミュニティの2015年大展望」の当日の様子をお届けします。 はじめに このセッションでは(⁠株⁠)ALBERTの池内孝啓氏がオーナーを努め、各Pythonコミュニティのコアメンバーである次の方々が登壇しました。 池内孝啓氏 (⁠株⁠)ALBERT 池内孝啓氏 PyData Tokyo/(⁠株⁠)白ヤギコーポレーション シバタアキラ氏 一般社団法人PyCon JP/(⁠株⁠)CMSコミュニケーションズ 寺田学氏 PyLadies Tokyo/(

    「Webアプリケーションから機械学習まで ~ PythonとPythonコミュニティの2015年大展望 」レポート | gihyo.jp
  • 11 Python Libraries You Might Not Know - Alteryx Community

    There are tons of Python packages out there. So many that no one man or woman could possibly catch them all. PyPi alone has over 47,000 packages listed! Recently, with so many data scientists making the switch to Python, I couldn't help but think that while they're getting some of the great benefits of pandas, scikit-learn, and numpy, they're missing out on some older yet equally helpful Python li

    11 Python Libraries You Might Not Know - Alteryx Community
  • Pure Python 版オンライン形態素解析ツール Rakuten MA - Qiita

    Pure PythonなRakuten MAを書いたのでその紹介記事です。 Rakuten MAとは Rakuten MAは、楽天NLPプロジェクトさんによるJavaScript形態素解析器です。逐次でオンライン学習して手軽にモデルを更新できる点やブラウザを介してクライアント側から形態素解析ができる点などが特長だと思います。 詳しくは、以下の記事の説明がわかりやすいです。 家 Rakuten MA 日語ドキュメント パソコン工房のPCで遊ぼう第2弾! あんちべさんと一緒に Rakuten MA で形態素解析 - はてなニュース RakutenMAによる形態素解析入門 - あんちべ! Python版 Rakuten MA そんなRakuten MAをPythonで使いたいと思ったので、Python版を書きました! $ pip install rakutenma でインストールできます。

    Pure Python 版オンライン形態素解析ツール Rakuten MA - Qiita
  • Python 3.4用のWindowsクリップボード操作クラス - Qiita

    Python 3.4からAPIをがしがし呼び出してWindowsのクリップボードを操作するクラスです。tkinterを使った書き込みが出来なかったので、勉強がてら作ってみました。近々コメントを付け加えたいと思います。 車輪の再発明かと思いますが、どうぞご自由にお使い下さい。例外処理やメモリ管理が甘い部分があればご指摘頂けると嬉しいです。なお、ウィンドウ関係の関数は敢えて外してあります。 ソースコード from ctypes import * from enum import IntEnum from array import array class Clipboard(object): def open(self): OpenClipboard = windll.user32.OpenClipboard OpenClipboard.restype = c_bool if not OpenC

    Python 3.4用のWindowsクリップボード操作クラス - Qiita
  • Python simpy による離散イベントシミュレーション - StatsFragments

    この記事は Python Advent Calendar 2014 の14日目の記事です。 この記事では、離散イベントシミュレーション用の Python パッケージ simpy について書きたい。simpy の現在のバージョンは 3.0.5、イニシャルリリースは 2002 年とかなり歴史のあるパッケージだ。 この simpy、けっこう面白いなーと思っていて、自分は 毎朝 起きるたび、今日は simpy について書かれたブログあるかな?と探しては 裏切られる日々を数年つづけてきた。もう誰かにこんな思いはさせたくない、、、こうなったら自分で書くしかない。 離散イベントシミュレーション (Discrete event simulation) とは 離散イベントシミュレーションの説明はこちらがよくまとまっている。 《離散型シミュレーション》 - ORWiki 簡単にいうと 発生が離散的なイベントを

    Python simpy による離散イベントシミュレーション - StatsFragments
    matsulib
    matsulib 2014/12/15
    sympyでどうやって?と思ったらsimpyだった
  • scikit-learnでよく利用する関数の紹介

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに こんにちは。ヤフーで広告プロダクトのデータ分析をしている田中と申します。 今回のAdvent Calendar 2014では、データサイエンスのプロセスの中の「分析・モデリング」で私がよく利用しているツールについて書いています。 どうぞよろしくお願い致します。 データサイエンスのプロセスについては、いろいろと定義があると思いますが 基的に以下の5つのプロセスからなると自分は考えています。 ・問題設定 ・データ抽出・加工 ・分析・モデリング ・評価 ・ビジネス提案/プロダクト実装 どのプロセスもとても大事で、例えば「問題設定」では、ビジネス的な課題(売上低迷・KPI低下)を分析課題に落とすのですが、ここを間違えてしまうと

    scikit-learnでよく利用する関数の紹介
  • Python 3 で少しだけ便利になった datetime の新機能 - Qiita

    datetime モジュールは Python の標準ライブラリの中でも、使用頻度が高い割に罠が多かったり使い方が難しかったりする、あまりイケてないモジュールだと個人的に思っています。 そんな datetime モジュールですが、 Python 2 のプロジェクトPython 3 に移行した時に大分コードを整理できてちょっと感動したので紹介しておきます。 unixtime との相互変換 unixtime から datetime.datetime への変換は、 ローカルタイムなら.fromtimestamp() で、 UTC なら .utcfromtimestamp() 関数で行います。 >>> import time >>> from datetime import datetime >>> now = time.time() >>> now 1415542873.099776 >>>

    Python 3 で少しだけ便利になった datetime の新機能 - Qiita