読者です 読者をやめる 読者になる 読者になる

データサイエンスしてみる

新米エンジニアがデータサイエンスを勉強する。機械学習とかRとかPythonとか

pandasでiterrowsしようとしてハマった話

お早うございます。grahamianです。 タイトルどおりです。DBからデータを取ってきてpandasのdataframeに入れてrowごとに処理するってことをやろうとしてました。 よくある処理だと思います。 で、最初は何も考えないで for row in df: foo = bar(row['data']…

自然言語処理技術の開発は検索方法を変えるのか?

こんにちは。Grahamianです。 今日は自然言語処理と検索方法について考えてみます。 www.itmedia.co.jpchat botなんかが最近は話題になったりして人間vs機械の会話が注目されていますね。 いろんなサービスでchat botを使われるようになっています。 実際に…

ロボアドバイザーってどうよ?

おはようございます。 Grahamianです。今日のニュースは↓ www.fina-sol.comここ2, 3年で金融業界に一気に人工知能技術、というか機械学習プロダクトが一気に増えました。 いわゆるFintechってやつですね。金融は数字データが多いので機械学習と親和性が高い…

「AIによる高度な評価」という便利で意味のない言葉

www.fashionsnap.com某D○NAみたいなこともありましたし、こういった考え方をもったサイトが生まれるのはとても良いことだと思います。思いますが、記事中にこんな記述があります。「データとAIによりコンテンツを客観的に評価し、雑誌編集のノウハウを知る編…

人工知能が記事を書く時代になりました

jp.techcrunch.comつまるところ、企業の出す決算短信など適時開示情報をもとに各社の要約文を出力するわけですね。実際に出力されている文章をみると割りとルールベースなのかな?って感じです。 たとえば数値について言及しているあたりは企業の過去データ…

機械学習で理由も説明させる

こんにちはGrahamianです。こんなニュースがありました。 www.gizmodo.jp要約するとdeep learningの結果に対して結果の理由を添えてくれる、というもの。単層パーセプトロンのようなシンプルなものはまだ理由が考えやすかった。 これはインプットに直接重み…

PyCharmの便利な使い方をまとめておく

PyCharmを最近使っています。 IDEでは便利な機能がたくさんあるのですが、日本語の情報がなかなか見つかりません。 そこで自分が見つけた情報をここにまとめていきたいと思います。 まだまだ、使い始めて日が浅いので情報足りないですけど、段々と追記してい…

バンディットアルゴリズム ε-Greedyモデル

前回バンディットアルゴリズムの全体について見てみました。 grahamian.hatenablog.com今回はバンディットアルゴリズムの基本であるε-Greedyモデルを見ていきます。前回、バンディットアルゴリズムでは探索と活用が重要だと言いました。 ε-Greedyモデルでは0…

バンディットアルゴリズムって何?

なんかバンディットアルゴリズムというものがすごいらしいです。 勉強したことを少し書き溜めてみます。バンディットアルゴリズムとは? 目の前にスロットが何台かあるとしましょおう。 それぞれのスロットには当たりの確率がそれぞれ設定されています。 も…

gensimでトピックモデルを実装してみる

自然言語処理のライブラリはpythonでは多々ありますが、gensimを今回は使います。 以前もgensimはWord2Vecを使うために使いましたね。 grahamian.hatenablog.com今回はトピックモデルを実装するために使います。 とはいえ、作るだけならコードは3行で済みま…

anacondaのlibraryをPyCharmでimportする

タイトルどおりです。 最近PyCharmを使い初めたのですが、importで詰まったので書いておきます。PyCharmで普通にプロジェクトを作成すると標準のpython環境を使おうとするみたいです。 で、CreateProjectのときにProject Interpreterからanaconda環境のpytho…

PythonでMeCabを使う

自然言語処理では定番となったmecabをpythonで使います。 以前はpython用のmecabがなかったので独自にコンパイルされたものを導入していました。 今はpipで簡単に使えるようになったので、覚書として書いておきます。ちなみに私はanacondaによるpython3系の…

word2vecしてみる

2014年くらいに流行ったツールであるword2vecを使ってみます。 word2vecの詳細は省きますが、簡単に言うと、単語を任意のベクトルに変換するものです。 skip-gramかCountinuous Bag of Wordsモデルに基づいてベクトル化されます。 簡単に言うと、ある単語の…

KH Coderのオプション「Ward・郡平均・最短距離法」って?

前回はKH Coderを使って簡単な自然言語解析をしてみました。 grahamian.hatenablog.com今回はKH CoderのオプションにあるWard・郡平均・最短距離法について書いてみます。 Ward・郡平均・最短距離法ってそもそも何? そもそもWard・郡平均・最短距離法とは階…

KH Coderを使って自然言語解析する

日本語の自然言語解析における強力なツールであるKH Coderを使って自然言語解析をしてみます。対象した文章は青空文庫から夏目漱石の「それから」です。 ちなみにGrahamianは「それから」を読んだことがありません。 なので今回は小説を読まずに小説の内容を…

Rを使ったポアソン分布における最尤推定

本格的に統計を学ぶためにデータ解析のための統計モデリング入門、いわゆる緑本を読み始めました。 ナナメ読みで概観を捉えながら、追ってRで手を動かして勉強してます。 統計はツマミ食いでしか学んでいなかったので、こうやって体系的に学ぶと、いままでの…

トピックモデルについて簡単に考えてみる

たまには解析ではなく解析モデルについて考えてみます。今回考えるのは基本のトピックモデル。 トピックモデルとは種々の文章があったとき、それらがどのトピックに属するのか分類するためのモデルです。 クラスタリングの一種とも言えるでしょう。例えば、…

RMeCabで文章マトリックスとTF-IDFを計算する

今回はテキストマイニングへの一歩としてRMecabを勉強します。 RMeCabの標準関数として文章の単語マトリクスとTF-IDFの計算を行います。単語マトリクスとは複数の文章における単語の出現頻度をベクトル表示したものです。 bag of wordsモデルでは単語同士を…

主成分分析したあとSVMを回してみる

前回に引き続き、主成分分析をしてからSVMを回してみます。 主成分分析とSVMは話したので過去の記事を参照してください。grahamian.hatenablog.comgrahamian.hatenablog.comそれでは早速SVMを回してみましょう。 コードは主成分分析も含めてこんな感じです。…

Scikit-learnでirisを主成分分析してみる

主成分分析(Principal Component Analysis)とはデータの各ベクトルを独立にし次元を下げる手法です。 データを独立にするとは入力ベクトルを直行にさせると考えればOKです。 複数のベクトルの要素を見て独立なベクトルを再構築させます。 次元の低減はベクト…

scikit-learnのSVMで数字を線形分離してみる

先日はanacondaを導入して簡単なプロットをしてみました。 が、anacondaはscikit-learnのような機械学習ライブラリがまとめて入っています。 せっかくなので、簡単な機械学習について手を出してみようと思います。参考にしたのは下記ブログです。 参考という…

Anacondaを入れてSpyderを使う

Pythonをインストールするにいろいろと調べていたのですが、今はAnacondaを使うのが一般的なようです。 Anacondaならデータ分析や機械学習に用いるさまざまなライブラリが一緒に導入できます。 pipで個別に入れるよりも安定して導入できるので、プレーンな状…

RMecabで文章を分かち書きして単語の出現頻度を調べてみる。

タイトル通りですけど、RMecabで文章を分かち書きして単語の出現頻度を調べてみます。RMeCabは日本語用の形態素解析器MeCabのR言語版です。 自然言語処理の偉い方が開発したもので、おそらく日本で最も使用されている形態素解析器だと思います。MeCab: Yet A…

初めまして

初めまして。 Grahamianと申します。 新米エンジニアで、ほんの一年ちょい前にHello Worldしました。 大学でも理系ではありましたが実験系だったのでプログラミングとはかけ離れた専攻だったのでまったくの未経験です。 しかし、そんな私でも、気がついたら…