タグ

関連タグで絞り込む (191)

タグの絞り込みを解除

Pythonに関するsyan0のブックマーク (566)

  • Pythonの環境構築を自分なりに整理してみる

    機械学習ブームなどにより、 Python を触り始める Rubyist が増えてきたと思います。その際に問題になりやすいのが環境構築です。Rubyだと rbenv がデファクトスタンダードになっているのに、なぜか Python に… 私の立ち位置もともとは、数年前まで 年に一回Python3でNLTKやらscikit-learnやら機械学習や自然言語処理の環境を作ろうと試みては失敗してPython使うものかと思っていた人でした。それが、Anacondaで環境導入すると、面倒なことは何も考えずに済むということを知り、CookpadではAnacondaを前提に環境構築を勧めていました。 今は、ymotongpooに「郷に入っては郷に従え」と言われたため、pip+virtualenv/venvで全てをこなしていますが、これで困ったことは特にありません。macOS, Windows, Linux

    syan0
    syan0 2017/08/31
  • builderscon tokyo 2017 で横山三国志の「うむ」の数を伝えに行ったハナシ | Heruheru3

    2017/8/3〜8/5 に開催の builderscon tokyo 2017 に行ってきました。 ついでに色々あってスピーカーとして登壇してきました。 詳細はこちら。 横山三国志に「うむ」は何コマある?〜マンガ全文検索システムの構築 ウムの数を数えるに至るまで そもそもこの話がどこから始まったかというと、十数年前に 二次裏(虹裏)という掲示板で突如「ウム!」 というコマが貼られだした辺りだと思います。 当時広島で大学生しててCREATIVEという部の部長だったんですけど(今でもあるのかな?)、大学祭のときに何故か皆でウムの人を書き続けるという遊びをしていました。 そこから、それまでは読んだことあるなー程度だった横山三国志に深くハマることになります。 なお、大学では「マルコフ確率場を用いた自動作曲」という、今のDeepLearningが出る前のAIで生成系の研究をしていました。これ

    builderscon tokyo 2017 で横山三国志の「うむ」の数を伝えに行ったハナシ | Heruheru3
  • https://docs.google.com/presentation/d/1LHplQ8nqNJNxaqY7DL4eM329jZKfO-E15XHoadYeLfE/edit

    https://docs.google.com/presentation/d/1LHplQ8nqNJNxaqY7DL4eM329jZKfO-E15XHoadYeLfE/edit
  • scikit-learn から学ぶ機械学習の手法の概要 - Qiita

    前回、株式の時系列データを分析する話で、後半にちょっとだけ機械学習の話をしました。今日は機械学習ライブラリ scikit-learn に触れます。 scikit-learn といえば以前にも簡単なクラスタリングの例をあげたり、サポートベクトルマシンやクラスタリングで問題を解く、 TF-IDF を計算する、回帰モデルの可視化、 DBSCAN によるクラスタリングといったことをしてきましたが、あらためてライブラリの機能を整理します。 機械学習と言うと難しい数学を駆使するイメージがつきまといますが、完成度の高いライブラリを使えば利用者が機械学習の手法そのものを実装しなくても利用することはできます。もちろん手法の内容に対する理解は必要ですが、せっかく scikit-learn という事実上デファクトとも言えるライブラリが存在するのですから、これを使うところから入門していくのが良いかと思います。 以

    scikit-learn から学ぶ機械学習の手法の概要 - Qiita
  • 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
  • 100万倍速いプログラムを書く - Qiita

    この記事はなんなの プログラミングを始めたばかりで高速化の大枠が全くわからず意味不明なことをしていた在学時、こんな資料があったら良かったのになあ、と思って書いたもの。 書いて、在学時研究室に押し付けた後紛失したと思われていたものが発掘されたもの。 要約 ライブラリがあるならそれを使う。 ライブラリが無ければ、ボトルネック部分を探してそこだけ高速な言語で書きなおすか、可能なら事前コンパイルする。 最初から全てを Low-Level な言語で書くと大変、でも結果のプログラムは速い。 以下の時間の計測ではインポートにかかる時間は除いています。 使用するもの Python(3系) Numba Scipy Line Profiler Fortran(gfortran) QUADPACK QUADPACK以外の導入方法の説明は色んな所にあるので各自でお願いします。上3つに関しては、個人的にはAnaco

    100万倍速いプログラムを書く - Qiita
  • PythonでWebスクレイピングする時の知見をまとめておく - Stimulator

    - はじめに - 最近はWebスクレイピングにお熱である。 趣味機械学習のデータセット集めに利用したり、自身のカードの情報や各アカウントの支払い状況をスクレイピングしてスプレッドシートで管理したりしている。 最近この手の記事は多くあるものの「~してみた」から抜けた記事が見当たらないので、大規模に処理する場合も含めた大きめの記事として知見をまとめておく。 追記 2018/03/05: 大きな内容なのでここに追記します。 github.com phantomJSについての記載が記事内でありますが、phantomJSのメンテナが止めたニュースが記憶に新しいですが、上記issueにて正式にこれ以上バージョンアップされないとの通達。 記事内でも推奨していますがheadless Chrome等を使う方が良さそうです。 - アジェンダ - 主に以下のような話をします。 - はじめに - - アジェンダ

    PythonでWebスクレイピングする時の知見をまとめておく - Stimulator
    syan0
    syan0 2017/06/26
  • 受け入れテストの自動化 ~ OpenCVの「眼」で捉え、Pythonの「脳」が思考し、Appiumの「指」で動かす - Speaker Deck

    2017/02/03 JaSST’17 Tokyo

    受け入れテストの自動化 ~ OpenCVの「眼」で捉え、Pythonの「脳」が思考し、Appiumの「指」で動かす - Speaker Deck
  • Pythonに咬まれるな : 注意すべきセキュリティリスクのリスト | POSTD

    Pythonは、習得が容易で、より大きく複雑なアプリケーションの開発にすぐに適用していけることから、コンピューティング環境に広く普及し、勢いを強めています。ただ、あまりに明瞭で親しみやすい言語なので、ソフトウェアエンジニアやシステムアドミニストレータが警戒を解いてしまい、セキュリティに重大な影響を及ぼすコーディングミスを誘発する可能性はあるかもしれません。主に、初めてPythonを使う人を対象とするこの記事では、この言語のセキュリティ関連のクセに触れます。ベテラン開発者にとってもその特異性を意識するきっかけになればと思います。 入力関数 Python 2に多数存在するビルトイン関数の中で、 input はセキュリティの面で完全に難点です。この関数をひとたび呼び出すと、標準入力から読み込んだものが即座にPythonコードとして評価されます。 $ python2 >>> input() dir

    Pythonに咬まれるな : 注意すべきセキュリティリスクのリスト | POSTD
  • 最近、httpstat なるものが流行っているらしい - tellme.tokyo

    github.com おそらく先行実装は python で書かれたこれです。 curl にはウェブサイトの応答時間を計測する機能が搭載されており、このツールではそれを利用して出力結果をグラフィカルに表示させています。単なる curl のラッパーのようなツールなのですが、見た目がリッチになるのに加えて、単一ファイルで実行でき python のバージョンに影響されないような工夫がされているのが、受けているポイントのような気がします。 このツールを見たとき「Go で書いてみるの良さそう!(この手のツールで単一バイナリになるのは嬉しいですよね)」と思い、休憩時間やお昼休みなどにちまちま書いていたら、二日前に先を越されてしまいました(そりゃそうですよね。なんでもスピードが大事だと痛感)。 github.com また、ついこの間まで 800 Stars くらいだったのですが、ここ1週間で爆発的に伸びて

    最近、httpstat なるものが流行っているらしい - tellme.tokyo
  • Pythonコードを使用して、Pythonコードを書く方法を人工知能に学習させる | POSTD

    ここでは少しの間、自律走行車のことは忘れてください。物事は深刻になってきています。この記事では、独自のコードを書くマシンを作ることに的を絞って話を進めていきたいと思います。 GlaDoS Skynet Spynetを使用します。 具体的に言うと、Pythonのソースコードを入力することで、自分でコードを書くように、文字レベルでのLong Short Term Memoryニューラルネットワークを訓練していきます。この学習は、TheanoとLasagneを使って、EC2のGPUインスタンス上で起動させます。説明が曖昧かもしれませんが、分かりやすく説明できるように頑張ってみます。 この試みは、 こちらの素晴らしいブログ記事 に触発され行うに至りました。皆さんもぜひ読んでみてください。 私はディープラーニングのエキスパートではありませんし、TheanoやGPUコンピューティングを扱うのも初めてで

    Pythonコードを使用して、Pythonコードを書く方法を人工知能に学習させる | POSTD
  • Pythonパッケージ間の共起関係を可視化してみる | POSTD

    はじめに 私は、 BigQueryのGitHubデータ を使って、GitHubリポジトリにある上位3,500個のPythonパッケージの共起を抽出し、 速度ベルレ積分を使ってd3のForceレイアウト を可視化してみました。また、 python-igraph にあるアルゴリズムを使ってグラフをクラスタ化し、 http://graphistry.com/ にアップデートしました。 以下のスクリーンショットは、d3の可視化にあるNumPyのクラスタです(画像をクリックするとライブ版をご覧いただけます)。 以下は、graphistrynによって抽出されたNumPyのクラスタです(画像をクリックするとライブ版をご覧いただけます)。 グラフの特徴: 各ノードは、GitHubで見つけることのできる、それぞれのPythonパッケージです。半径は、 ノードのDataFrame セクションで計算されています

    Pythonパッケージ間の共起関係を可視化してみる | POSTD
  • Webフォントを使うときは空のグリフに注意 - cockscomblog?

    昨今のWebデザイン界隈ですと、それは当然Webフォントを使おうということにもなろうと思いますが、注意すべき事柄に気付きましたのでここに御シェアさせていただきたく存じます。 問題 フォントの中にはたくさんのグリフ(字形)が入っていて、「あ」だったらこのグリフ、「い」だったらこのグリフ、というように対応しています。たくさんの文字を作るのは大変だから、たとえばひらがなとカタカナだけとか、第一水準漢字までとか、少ないグリフだけのフォントもあります。 Webフォントを設定していて、存在しないグリフの文字があったとすると、ブラウザが良い感じにフォールバックして別なフォントで表示してくれたりします。またCSSのunicode-rangeというのを使うと、あるフォントから使うグリフをUnicodeのコードポイントの範囲で設定することができます。範囲外のグリフはやはりフォールバックされます。((unico

    Webフォントを使うときは空のグリフに注意 - cockscomblog?
  • 1.3 aka "And Now for Something Completely Different" · asciinema blog

    1.3 aka "And Now for Something Completely Different" Published on 13 Jul 2016 by Marcin Kulik I’m very happy to announce the release of asciinema 1.3, which is kind of a special release. It brings several bug fixes and improvements for end users, and at the same time it makes life of asciinema developers (mostly me) and package maintainers (many people!) way easier. See CHANGELOG for a detailed li

  • PHPのround関数とは一体なんだったのか - hnwの日記

    (7/3 14:05追記)Javaに関する記述について誤認があったので盛大に書き換えました。Java 6、Java 7、Java 8それぞれで実装が変わっていたようです。 (7/13 23:55追記)記事中ではroundを四捨五入と言い切ってしまっています。これは筆者がC99のroundを基準に考えているためですが、言語によっては偶数丸めになっているround関数も珍しくありません。ご注意ください。 PHPのround関数について、ネット上で次のような記述を見つけました。 PHP 四捨五入の計算を間違える唯一の言語として畏れられていましたが、そのバグは治っているかもしれません(治ってないかもしれません) 主要なプログラミング言語8種をぐったり解説 - 鍋あり谷あり 各言語を面白おかしく紹介する内容とはいえ、ずいぶん雑な理解だなーという印象です。ゆるふわな話だけでPHPがdisられ続けるの

    PHPのround関数とは一体なんだったのか - hnwの日記
  • Rubyが今のPythonの地位にいない理由

    _ Rubyが今のPythonの地位にいない理由 歴史のことなんぞなんも知らんけど、「技術的には今のPythonの地位はRubyでもよかったのに、そうならなかった」のが何故か、その理由を書いてみよう。僕はRuby歴史なんて知らないし、以下の文章は全部、まるで見てきたかのように書いてますが、適当に書いたくせに何故か断言口調になっている怪文書の類いです。 https://twitter.com/mametter/status/741950239662170112 まめさんの書いた理由リストはどれも関係ない。いやカスってるけど。難しいというのも関係ない。 僕がRubyを知ったころ…最初に書いた通りRuby歴史なんて知らないので、別に早くもないわけだけど…Rubyというのは全く使われていない言語だった。どっかの好き者がPerlの替わりに単純な処理に使って、「ウフ、美しくかけた、グフッ」とかつぶ

  • C言語アプリケーションにPyPyを埋め込む | POSTD

    from my_library import ffi, lib @ffi.def_extern() def compute(first, second): """ Compute the absolute distance between two numbers. """ return abs(first - second) この実装のスニペットには、適切に埋め込むための特別な仕様が含まれています。1行目で、ダイナミックライブラリから ffi と lib オブジェクトをインポートします。これによって、cffiが提供する関数へアクセスしての実装が可能になり、メモリの割り当てなど、より複雑なタスクに利用できるようになります。 my_library という名前と、ダイナミックライブラリのどの名前に対応するかは下記に定義しました。 次にスニペットを見て気づくのは、 @ffi.def_extern

    C言語アプリケーションにPyPyを埋め込む | POSTD
    syan0
    syan0 2016/06/09
  • pyOSCでint64が受け取れなくてはまったメモ - Qiita

    状況 UnityOSCからクライアント(pyOSC)にUnixTimeのTickをlong型で送ろうとしたら受け取れなかった エラーメッセージ OSCServer: KeyError on request from localhost:49206: 'h' 環境 Mac OSX 10.10.5 Unity Pro 5.3.2f1 UnityOSC v1.2 python 2.7 pyOSC 0.3.5b5294 原因 pyOSCがint64の受け取りに対応してない 対応 受信メッセージに対するtypeTagの判別はdef decodeOSC(data):内で行っているが def _readLong(data):の定義はあるのにtypeTagがhの場合に呼ばれてないので typeTagがhの場合に_readLong()を呼ぶよう修正 具体的には table = {"i":_readInt,

    pyOSCでint64が受け取れなくてはまったメモ - Qiita
  • 【Python】いつまでprintデバッグで消耗してるの? - らっちゃいブログ

    Python を初めて間もない頃、自分も print デバッグしてました。効率の悪さを認識しつつも、IDEを導入してデバッグする方法を調べてセッティングして、という手順が面倒でずっと放置してました。 // 普段は vim で開発してます そうこうしてたら print デバッグではどうにもならないバグにぶち当たり、仕方なくデバッグポイントを置く方法を調べたわけです。するとどうでしょう。 ソースコード中に以下の一文を入れるだけではないですか。 import pdb; pdb.set_trace() たったこれだけで、上の一文を挿入した行で処理が停止し、コンソール上でステップ実行が出来るようになります。最高かよ。 個人的にですが、デバッガー起動中によく使うコマンドとしては以下です。 コマンド 説明 s(tep) ステップイン n(ext) ステップオーバー r(eturn) ステップアウト l(

    【Python】いつまでprintデバッグで消耗してるの? - らっちゃいブログ
    syan0
    syan0 2016/06/05
  • 走るBuffaloルータを作った。 - Zopfcode

    【追記】Buffalo社のメディアにインタビューが掲載されました web.archive.org ついに夢の【走るルータ】が実現! Buffaloの無線ルータに履帯をつけて走らせることに成功したのでその報告を記事にしたためる。 「なぜルータでやるのか」それは私自身もよくわからないけれども、この記事を読んで少しでも笑ってもらえたなら嬉しい。 おことわり。 この記事に登場する無線ルータはファームウェアを書き換える改造を行っており、体内部に持つPHYで電波を発すると法律に違反する可能性がある。 今回の記事内でルータから電波を飛ばしている部分はすべて、ルータに付けたUSB Wi-Fiドングル(単体で技適認証を受けた製品)から電波を発していることに注意いただきたい。 平たく言えば、USBドングルを挿した自作PCと同じ状態と思っていただければOKだ。 TOC 走るルータこそ男の夢。 どうやったら走る

    走るBuffaloルータを作った。 - Zopfcode