タグ

ブックマーク / qiita.com/ynakayama (12)

  • 特徴抽出と TF-IDF - Qiita

    今日は TF-IDF についてざっくりとまとめます。 特徴量と特徴抽出 TF-IDF は情報検索や文書推薦などで幅広く利用される特徴量の指標です。 特徴量 - 対象の特徴を表現する値 特徴抽出 - 対象から特徴量を取り出す 日語の特徴抽出 英語の場合はホワイトスペースで分割してから記号などを取り除くだけで特徴抽出できます。 日語の場合は形態素解析または N-Gram などの索引文字列抽出方法を利用します。 索引語頻度 TF (Term Frequency) ある文書 d の中に出現する索引語 t の頻度です。文書中にその単語が何回現れたかをあらわします。 単語 回数

    特徴抽出と TF-IDF - Qiita
  • scikit-learn で TF-IDF を計算する - Qiita

    昨日触れた TF-IDF を求めるコードを実装します。機械学習については例によって scikit-learn を使います。 このような既知の計算については自力で実装するより完成度の高いライブラリを利用するべきでしょう。これにより車輪の再発明を避ける、品質を担保するという狙いがあります。 事前準備として、ホームディレクトリの docs ディレクトリに処理対象となる自然言語の文書を格納します。 import os import MeCab from sklearn.feature_extraction.text import TfidfVectorizer home = os.path.expanduser('~') target_dir = os.path.join(home, 'docs') token_dict = {} def tokenize(text): """ MeCab で分か

    scikit-learn で TF-IDF を計算する - Qiita
  • 複数の計算機をひとつのものとして扱う - Qiita

    日は趣向を変えて複数の計算機を透過的にひとつのものとして使う話です。以前にデータ分析用の計算機環境を用意する話をしましたが、その続きというか補足です。 手元の計算機で開発する問題点 人によっては手元のノート PC の性能にこだわり、ローカルで開発をしたりする人がいるようですが、この場合いくつかの問題があります。 いくら性能の高い計算機を買おうとも、その性能には上限がある 長時間かかるジョブを実行した場合、終了するまでノートを閉じて持ち運んだりできない 複数の拠点で開発する場合、重いノートを持ち歩かなければならない 手元の計算機に障害が発生するとすぐに開発の継続が困難になる ソリューション これに対し、遠隔に設置したものも含む複数の計算機によるクラスタで開発をする場合、さまざまなメリットがあります。 スケールアウトすることができる 長時間かかるジョブを実行し、そのまま接続を切り離せる 複数

    複数の計算機をひとつのものとして扱う - Qiita
  • データ分析用の計算機環境を用意する - Qiita

    日は少し趣向を変えて計算機環境の話をします。 計算機環境の準備 今日現在では計算機の処理速度は十分に高速なため、複雑な重回帰分析などでも市販の計算機でも一瞬で結果を導くことができるようになりました。とはいえデータの種類や演算の内容、分析の方法によっては、大量のメモリや、ストレージ容量が必要になることがあります。このようなとき、会社や大学などで支給されるような一般の PC では処理が事実上不可能な場合があります。そこでデータ分析用に計算機環境を整える必要があります。 クラウド Amazon EMR の Hadoop クラスタはプリセットでほとんどのことが準備されているため、手軽かつ強力な環境です。 Amazon EMR https://aws.amazon.com/jp/elasticmapreduce/ また自前で Hadoop インフラなどを構築することができ、なおかつ GNU/Lin

    データ分析用の計算機環境を用意する - Qiita
  • 青空文庫の作品から TF-IDF を指標として特徴となる語彙を抽出する - Qiita

    文書要約と情報抽出 だいぶ前に特徴抽出と TF-IDF について説明し、また scikit-learn で TF-IDF を計算してみました。 文書の要約を作成するためには次の 3 つの作業が必要となります。 1. 文章の内容を理解する 2. 中心的な話題を特定する 3. 簡潔にまとめる 現在の言語処理の技術では文書の内容を完全に理解したり、高品質の要約文書を作成するということは困難です。しかし要約ではなく、特徴となる語彙を抜き出して抄録を作成するということであれば、それほどではありません。抄録とは重要な情報を伝えている語句を文書から抜き出して並べたものです。 一般的には、文書中における語句の登場頻度から、その文書内での語句の重要性を計算する方法が選択されます。今回は過去の記事を参考にしながら、青空文庫にある小説作品をダウンロードして、その小説の特徴となる語彙を抽出してみます。 素材を用意

    青空文庫の作品から TF-IDF を指標として特徴となる語彙を抽出する - Qiita
  • Ruby で日本国内の株価のデータを取得する - Qiita

    株価は企業の業績を示す定量的な指標として最もポピュラーなものと言えるでしょう。 株の投資においては、銘柄を選ぶ時株価指標の PER, EPS, PBR, BPS, ROE, ROA, 自己資比率、流動比率等の数値が参考にされます。 しかし投資ではなく、ある企業における株価以外の何らかの情報と、定量的な数値として単純に株価と突き合わせるという場面では、とりあえず取引日各日の四値だけを用意しておけば良さそうです。 四値を取得するライブラリ JpStock は日国内の株に対応しており、現在もメンテナンスされていて動作するライブラリです。 JpStock https://github.com/utahta/jpstock これはいわゆる Yahoo! ファイナンスのスクレイピングをするライブラリです。 銘柄に対する株価を取得する 銘柄コード (4 桁) を引数に .price メソッドを叩

    Ruby で日本国内の株価のデータを取得する - Qiita
  • ニュースデータを収集するためにフィードを使う - Qiita

    前回、前々回とベイズ統計に少し触れました。キュレーションなどを利用して展開されるインバウンド・マーケティングで取り扱うデータにおいては、不特定多数によって発信される多用なデータを処理するケースが多くなります。このようなシーンでは特にベイズ的なアプローチであるとか、ヒューリスティクな考え方を取り入れることになります。 RSS フィードを使う インターネットにあふれる情報を入手するにあたり、たとえばニュースフィードを収集するだとか、 Twitter などのソーシャルメディアの発言を分析するといった方法があります。これらの中で最もポピュラーな手段で、古くからあるのが RSS (or Atom) フィードを利用する方法でしょう。 フィードの規格 RSS でよく使われる規格としては主に次の 3 種類があります。 RSS 2.0 http://www.rssboard.org/rss-specific

    ニュースデータを収集するためにフィードを使う - Qiita
  • 大量のニュースから興味関心のある話題をベイジアン分類で抽出する - Qiita

    前々回はニュースデータを収集するために RSS/Atom フィードを利用する話を書きました。 RSS/Atom フィードには全文配信と要約配信があり、昨今ではページビューを稼ぐため要約配信、特にリンクがリダイレクトになっているものや、文がカラのものが多いという話をしました。 全文配信 … タイトル、リンク、それに記事文全体を含むフィード 要約配信 … タイトル、リンク、記事の一部のみまたは文がカラのフィード フィードデータをためる方法 前回は一部で最近話題の Fastladder のセットアップ方法を紹介し、付属のクローラーを使ってサーバーのデータベースにフィードを溜めるという方法を説明しました。 いずれ別の記事で詳しく述べますが Fastladder はサーバー設置型な上、ソースコードは公開されていますので、クローラー自体を自作することも可能です。 また fluentd は柔軟なロ

    大量のニュースから興味関心のある話題をベイジアン分類で抽出する - Qiita
  • Python と R で連携する - Qiita

    R と Python の連携を考える 最近 R による基的なデータプロッティングやファイル入出力の方法について説明しました。 データ分析の言語としては Python ですべてをやろうという傾向があるようですが、やはり過去の膨大な R による資産は魅力的でそう簡単に切り捨てられるものではありません。 よくあるケースとしては、部分的なデータ解析については R を流用したいが、全体的なプログラミングは Python で書きたいというシーンでしょう。また、プロッティングだけ R でおこないたいという場合もあるでしょう。こんなとき Python と R で連携できれば問題が一気に解決して便利です。 Python から R を利用するライブラリ PypeR かつては RPy2 というライブラリが使われていたようですが、最近使われており主流なのは PypeR です。 PypeR のインストール インス

    Python と R で連携する - Qiita
  • データ分析において必要なことを原点に立って考えてみる - Qiita

    今日は統計や技術の詳細な話は少しお休みして、そもそもデータマイニングとは何なのか、分析において必要なことは何なのかを考えてみます。 仮説力とは何なのか データ分析の実務においては、分析モデルの手法や統計的方法の前にまず検討しなければならないことが多々あります。たとえば分析対象の問題をどのように設定するか、対象の特徴 (= 属性、振る舞い等) をどのように表現するか、何を可視化するかあるいはそれをどう決めるか、ログなどを用いて特徴の計算方法をどのように定義するか、といったことなどです。 実務というのは大学での実験ではありません。目の前にあるデータに対して興味先行で機械学習や統計的手法を適用しても得られるものはありません。統計学の有名な言葉に GIGO (ゴミを入れればゴミが出てくる) という言葉がある通り、高度な解析手法やツールに溺れても自己満足で不適切な分析に終わってしまうのです。 分析の

    データ分析において必要なことを原点に立って考えてみる - Qiita
  • モダンな日本語 TeX 環境を整える - Qiita

    予定では昨日の続きで NumPy の配列操作について執筆するつもりでしたが、諸事情により急遽予定を変更して TeX での執筆環境構築について書きたいと思います。「 NumPy の配列操作 (2) 」については次回お送りします。 なぜ TeX で文書を書くのか 主に工学や理学など数式が多用されるような分野では 「Word で論文書いちゃダメ?」 といった議論があるほどで、一部では Word で書かれている時点でろくな論文じゃないだろうと思う文化もあるようです。一方で、 「僕が TeX を使うのを辞めた3つの理由」 などのように伝統ある TeX もいよいよ時代遅れになりつつあり Word で十分なのではないかといった声もあります。 ではなぜ 2014 年の現在において TeX で文書を書くのでしょうか。 筆者は TeX の優位性を次のように考えます。 可読性、修正等の容易性、再利用性、参照性、

    モダンな日本語 TeX 環境を整える - Qiita
  • 機械学習や統計に関する情報収集 - Qiita

    機械学習界隈の情報収集方法 http://d.hatena.ne.jp/kisa12012/20131215/1387082769 いきなりですが上記の記事に機械学習に関する有力な情報源がまとまっています。まずはここを参考にするのが良いかと思います。ただ情報が多すぎですので、筆者は Wikicfp と arXiv.org あたりの論文、それにはてなブックマークをチェックしています。 また論文については機械学習の論文を探すにも良い情報がまとまっています。こちらも参考になります。 機械学習は日進月歩の世界ですので、最新の査読済み論文を追って概略だけでも理解する能力を身に付けると良いかと思います。 書籍としては次の 2 冊が聖書とも言える必読書で、気で機械学習をやりたければ必ず参考になるかと思います。 パターン認識と機械学習 (上・下) http://www.amazon.co.jp/dp/4

    機械学習や統計に関する情報収集 - Qiita
  • 1