タグ

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

  • 関連タグはありません

タグの絞り込みを解除

algorithmとpythonとAlgorithmに関するclavierのブックマーク (28)

  • データベースのテーブル結合アルゴリズムを調べた - yattのブログ

    入れ子ループ 一行づつ、全てのキーとチェックをかけて同じかチェックするよ ソートマージ 2つのテーブルをソートしてからチェックするのでキーの比較回数少ないよ セミジョイン 分散DB前提。キーをリモートホストに送信して部分的な結合結果を受け取って、その結果を基に最終的な結合結果を計算するよ。データの転送量減るよ 理解のために簡単にそれっぽい動作をpythonで実装してみた MySQLOracleなどで結合にどんなアルゴリズムを使っているのかは、クエリプランを見るとわかるらしい。 sqlite3は内部結合はwhere句に単純に展開されるらしかった。 http://www.sqlite.org/optoverview.html

    データベースのテーブル結合アルゴリズムを調べた - yattのブログ
  • 大量のテキストからランダムに少数の行を抽出したい - Reservoir Sampling - 唯物是真 @Scaled_Wurm

    前に以下のような記事を書きましたが、大量のテキストではうまくいかなかったので新たに書きました ファイルからランダムにN行取り出す(shufコマンド) - 唯物是真 @Scaled_Wurm 上の記事ではテキストをランダムに\(k\)行取り出したい時"shuf -n k"コマンドでランダムにシャッフルした\(k\)行を取り出していました ところが非常に大きなテキストファイルに対して上のコマンドを実行すると、一度にデータを全部メモリに読み込み始めているのか、すごい勢いでメモリを消費していきました(sort -Rでも) そこでメモリをあまり使わずにランダムに\(k\)行取り出す方法について調べました まず基的な非復元抽出のアルゴリズムは以下の記事の発展手法とか追記のあたりの話がわかりやすいと思います 非復元抽出の高速かつ実装が簡単な方法を考える - 睡眠不足?! この記事の話も一度全部の要素を

    大量のテキストからランダムに少数の行を抽出したい - Reservoir Sampling - 唯物是真 @Scaled_Wurm
  • [その2] RubyとPythonの違いからガベージコレクタを理解する - ワザノバ | wazanova.jp

    http://patshaughnessy.net/2013/10/30/generational-gc-in-python-and-ruby 前回のエントリーはこちら。 ブタペストで開催されたRUPY2013でのPat Shaughnessyのプレゼンの後半です。RubyPythonのガベージコレクタの違いを、今回は、Pythonの循環データ構造への対応とRuby 2.1の世代別ガベージコレクタの話題に触れながら、紹介しています。 1) Pythonの循環データ構造と参照カウント Pythonは、いくつのポインタがそのオブジェクトを参照しているかを、参照カウントと呼ばれる整数で管理している。変数もしくはオブジェクトが、そのオブジェクトを参照しはじめれば数字が増えて、プログラムがそのオブジェクトを使うのをやめれば数字が減る仕組み。 1960年代以来、コンピュータ科学者が気づいているアルゴ

  • RubyとPythonの違いからガベージコレクタを理解する - ワザノバ | wazanova.jp

    http://patshaughnessy.net/2013/10/24/visualizing-garbage-collection-in-ruby-and-python Pat Shaughnessyが、ブタペストで開催されたRUPY2013でのプレゼンの前半を自らのブログで紹介しています。 ガベージコレクタは、「ゴミを集める」という行為だけでなく、「新しいオブジェクトのためにメモリをあてがう。」「不要なオブジェクトを見つける」「不要なオブジェクトからメモリを取り戻す。」という、人間の心臓が血液を浄化するような働きをしている。 この簡単なコードサンプルを見ると、RubyPythonの記述はよく似ているが、それぞれの言語の内部でのインプリの仕組みは違う。 1) Rubyのメモリ Rubyは、コードが実行される前に、数千のオブジェクトを先につくり、それをリンクされたfree listに置

  • PFI の推薦エンジンを使っておすすめアニメを探すサイトを作ってみた - アニメおすすめDB運営ブログ

    はてなブックマークの関連エントリ機能でお馴染みの Preferred Infrastructure さんが、オープンソースで Jubatus というレコメンデーションエンジン(ひとりひとりの好みを学習して、その人にあったアイテムを提示するためのソフトウェア)を公開しています。(もっと詳しい話はこのへんを見るといいかもしれません。) このエンジンと Ruby On Rails を利用して、閲覧者の好みにあったおすすめアニメを推薦するサイトを作ってみました。 推薦に使うための評価データがまだ少ないため、推薦結果はもうひとつかもしれませんが、多くの人がおすすめ診断を試せば、データが蓄積されておすすめの精度が上がっていくので、興味のある方は是非試していただければと思います。 Jubatus とは もともとこのエンジンは、レコメンデーションを行うための計算を、多くのコンピュータで分散処理しつつ結果を

    PFI の推薦エンジンを使っておすすめアニメを探すサイトを作ってみた - アニメおすすめDB運営ブログ
  • Python:回帰分析 : 分析技術とビジネスインテリジェンス

    今回はPythonによる回帰分析(OLS:Ordinary Least Squares)の実施方法をまとめる。 まずは最小2乗法に基づく重回帰式の作成と結果表示方法を取り上げる。 ライブラリの使い分けについては調査のしやすさを優先しているが、回帰分析については統計モデルはOrange、予測モデルはscikit-learnでやろうかなと考えている。 来はすべてを統一したいが、後者ライブラリは回帰分析の結果表示で、p値や偏回帰係数の出力が無いようだし、ステップワイズの実施方法も見当たらなかった。しかし、予測モデルとなれば、その精度と堅牢性を高めることが目的となり、p値などに言及しなくても説明責任は果たせるので、逆にscikit-learnのシンプルさが生かせると思っている。 ■ライブラリ >>> import Orange >>> from padnas import * ■データ >>>

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Luceneの曖昧検索を100倍高速化したアルゴリズム - nokunoの日記

    @nobu_k さんのつぶやきでこのエントリを知りました。Changing Bits: Lucene’s FuzzyQuery is 100 times faster in 4.0Luceneで曖昧検索を効率化した話です。 最初の実装では、転置インデックスを全探索して編集距離がN以下の単語を拾っていたレーベンシュタインオートマトンという、編集距離がN以下の単語のみをアクセプトするオートマトンを利用することにした 単語ごとに構築したレーベンシュタインオートマトンをマージするという操作が必要になるが、なかなかうまくいかなかった 難解な論文を見つけたが、実装は難しかった良いライブラリを見つけたので、PythonからJavaに移植した 最後に1つだけ残ったバグは、移植の失敗ではなく元ライブラリのバグだった。報告すると1日で直ってきた。この前のエントリでは、有限状態トランスデューサを使った辞書の圧縮