ギークなエンジニアを目指す男

機械学習系の知識を蓄えようとするブログ

Python

TF-IDFで見る評価の高いラーメン屋の口コミ傾向(自然言語処理, TF-IDF, Mecab, wordcloud, 形態素解析、分かち書き)

年末〜学習している日本語口コミデータの解析について一区切り(?)ついたので、まとめてみようと思います。 はじめに データ読み込み & EDA データの読み込み EDA 前処理(欠損値、形態素解析&分かち書き、ストップワード除去) 欠損値削除 数字の扱い Mec…

【初学者向け】TFIDFについて簡単にまとめてみた

本日は、TF-IDFについて簡単に勉強してみたので、それのまとめです。 TF-IDFとは Term Frequency Inverse Document Frequency TF-IDF(Term Frequency - Inverse Document Frequency)を求める scikit-learnで計算してみる TF-IDFとは Term Frequency - Invers…

単語と図で理解する自然言語処理(word2vec, RNN, LSTM)後編

前回に引き続き、後編です。 www.takapy.work 前編の簡単な復習 言語モデル 言語モデルにおけるフィードフォワード型ニューラルネットワーク(word2vec)の問題点 RNN BPTT(Backpropagation Through Time) BPTTの問題点 Truncated BPTT Truncated BPTTのミニ…

単語と図で理解する自然言語処理(word2vec, RNN, LSTM)前編

「ゼロから作るDeepLearning2」を読了しましたので、要点や自分なりの解釈をまとめておきます。 www.oreilly.co.jp まとめていたら長編になってしまったため(それってまとまってなくね?)、前編と後編に分割することにしました。 自然言語と単語の分散表現…

WebサイトをPythonでスクレイピングしてみた

先日宣言しておりました下記について、エラーなども解消し無事に動くところまでできました。 www.takapy.work 自然言語処理の学習のためのデータ集めなどをしている。自分の好きなデータだとやる気が出ると思っての題材選定だが、腹しか減らん。 pic.twitter…

年末年始は口コミデータの解析などをしてみたいと思う。

来年3月からMLエンジニアとして仕事をしていくわけですが、なるべく実力をつけた状態で新しい職場にいきたいので、年末年始という大型連休をどうにか有効に使えないかと考えました。 新しい職場では、まずは自然言語処理業務に関わると聞いているため、せっ…

python3からMecabを使ってみた(インストール手順も)

年末年始で自然言語処理の勉強をするため、Mecabをインストールして使ってみました。 その時のインストール手順などの備忘録です。 インストール環境 インストール手順 Homebrew Mecabと辞書をインストール mecab-ipadic-NEologdをインストール Pythonバイン…

機械学習初心者が約10ヶ月でメダルより大切なものを獲得できた話【kaggle Advent Calendar 17日目】

本記事は、kaggle Advent Calendar 2018の17日目の記事です。 qiita.com 何を書くか直前まで悩んでいましたが、16日に参加したAIもくもく会の中で、 機械学習に興味はあるけど、どのような手順で、何から勉強していったら良いかわからない という方が数名い…

技術書典5に参加してきました in 池袋サンシャイン

10月8日(月)に技術書典に初めて参加してきました! 技術書典ってなに?って方はこちら techbookfest.org なぜ参加しようと思ったか 戦利品 参加してみて 次に参加するときに注意したい点 なぜ参加しようと思ったか ある日、Twitterで 技術書展 なるエンジ…

Kaggler-ja in-classコンペ途中経過 〜Fashion MNISTをkerasで〜

現在、7月9日より開催されているkaggler-jaというslackグループのin-classコンペに参加しています。 今日はその途中経過を報告したいと思います。 また、このモデルを構築するまでに試行錯誤したことなど、最後にまとめてありますので良ければご参考になさっ…

クラス分類のための線形モデル(ロジスティック回帰 / 線形サポートベクタマシン)

こんばんは。 今日はクラス分類に用いることができる線形モデルを紹介します。 (ロジスティック回帰がメインです) それぞれの線形モデルの境界線を表示してみる 正則化パラメータ:Cの変更 ロジスティック回帰とcancerデータセット p.s. 第100回 甲子園大…

Google Colaboratory内で画像やCSVファイルにアクセスしてみた

今日は新宿のもくもく会に参加しております。 Kaggle-jaのInClassコンペ CSV読み込みするぞー Kaggle-jaのInClassコンペ 来週の月曜日から、Kaggle-jaでInClassコンペが開催されます。 (主催者の方、準備など本当にありがとうございます) 課題は画像認識の…

線形回帰とリッジ回帰をPythonで比べてみた

本日は回帰で頻出の線形回帰とリッジ回帰についてです。 線形回帰とは リッジ回帰 L1正規化とか、L2正規化ってなんだよ スコアを比較してみる リッジ回帰のalpha値をいろいろ変更してみる 線形回帰とリッジ回帰の係数の大きさをプロットしてみる 線形回帰と…

k-最近傍法でアイリスのクラス分類問題を解く(python)

こんばんは。 本日は、機械学習の定番とも言える、アイリスの花のクラス分類問題をk-最近傍法を用いて解いてみようと思います。 実際、アイリスの花を分類したいというモチベーションがビジネス上役に立つかと問われると微妙ですが、学習だと割り切っていき…

Pythonで任意の値までの素数をすべて列挙してみる

こんばんは。 本日はPythonの演習ということで、素数列挙プログラムを作成しました。 ソース 解説 ソース 私が作成したソースです。 おそらくちゃんと動きます。 import math # 素数判定関数 def isPrime(num): # 2未満の数字は素数ではない if num < 2: ret…

ゼロから作るDeepLearning 6章を学ぶ 〜重みの初期値について〜

前回の続きです。 推奨されている重みの初期値について、まとめます。 taxa-program.hatenablog.com 重みの初期値を0にすることの危険性 Xavierの初期値 ReLU関数の場合の重み初期値〜Heの初期値〜 まとめると 重みの初期値を0にすることの危険性 正確には、…

ゼロから作るDeepLearning 6章を学ぶ 〜学習のテクニック〜

本日は6章を学んでいきます。 この章では、ニューラルネットワークの学習においてキーとなっている 重みパラメータの更新方法 重みパラメータの初期値設定方法 の2点について重点的に学ぶことができました。 今回は重みパラメータの更新方法について、まとめ…

ゼロから作るDeepLearning 5章を学ぶ 〜誤差逆伝播法〜

本日から5章に入りました。 余談ですが、現在仕事の関係で、電車で1時間ほどかかる場所へよく出張に行っています。 普段の通勤は電車に乗る時間が15分ほどなため、ゆっくり読書などはできないのですが(もちろん、時間だけが原因でなく、混雑しているのも原…

ゼロから作るDeepLearning 4章を学ぶ その3 ニューラルネットワーク構築編

前回に引き続き、4章で学んだことを残しておきます。 今回は、MNISTデータセットを使用して、手書き数字を学習するニューラルネットワークを構築してみます。 前回までの記事はこちら taxa-program.hatenablog.com taxa-program.hatenablog.com 2層ニューラ…

ゼロから作るDeepLearning 4章を学ぶ その2

前回に引き続き、4章で学んだことを残しておきます。 前回記事 taxa-program.hatenablog.com ニューラルネットワークでの勾配 ニューラルネットワークの学習手順を復習 ニューラルネットワークでの勾配 ニューラルネットワークでも勾配を求める必要がありま…

ゼロから作るDeepLearning 4章を学ぶ その1

前回までの学んだことはこちら taxa-program.hatenablog.com taxa-program.hatenablog.com ミニバッチ学習 1に微分、2に微分、3に(ry 微分の復習 勾配 勾配法 参考サイト ミニバッチ学習 機械学習は、膨大がデータセットがないと行うことはできません。 しか…

ニューラルネットワークの構築 〜活性化関数と実際の構築〜

前回の続きです。 本日はconnpassで募集していた新宿のもくもく会で勉強しています。 集中できて素晴らしい。(主催者の方、ありがとうございます) また参加しようと思います。(コーヒーとお菓子食べれるし。笑) 前回記事はこちら taxa-program.hatenablo…

ニューラルネットワークの構築 〜活性化関数について〜

書籍で学んだことのメモ。 誰の役にも立たず、ただ自分の為だけの記事になる予感がします。 パーセプトロンとニューラルネットワーク シグモイド関数 ステップ関数とシグモイド関数の違い 簡単なニューラルネットワークの構築 実践的なニューラルネットワー…

Pythonで決定木とRandomForestを比較してみる。その2(タイタニック生存者予測)

本日はタイタニック生存者予測をRandomForestを用いて行なってみたいと思います。 決定木で行なった記事はこちら taxa-program.hatenablog.com コード Kaggleに提出してみる コード モデルを使用するまでの部分は前回と一緒です import pandas as pd import …

Pythonで決定木とRandomForestを比較してみる。その1(タイタニック生存者予測)

今回は、Kaggle初心者向けに公開されているデータセットを使って「タイタニックの生存者予測」をPythonを使って行います。 データセットは下記Kaggleサイトからダウンロードをお願いします。 https://www.kaggle.com/c/titanic/data データを傍観してみる デ…

重回帰分析を行なってみたことのまとめ。その2(Python)

前回に引き続き、重回帰分析を行なっていきます。 今回は実際にモデルを作成し、そのモデルを使って訓練→検証をおこないます。 前回記事はこちら taxa-program.hatenablog.com モデルの構築と検証 訓練データと検証データに分割 家賃の予測 学習して感じたこ…

KaggleにJOINしました。

最近、機械学習のことをWEBで調べることが多くなりましたが、その中で「Kaggle」というキーワードがちらほらあったので、本格的に調べてみました。 Kaggleとは 以下、引用です。 まず呼び方ですが、Kaggleと書いて「カグル」と読みます。日本でも最近は定着…

重回帰分析を行なってみたことのまとめ。その1(Python)

今回は重回帰分析で得た知識をつらつら書いていこうと思う。 私、機械学習初心者のため「何言ってんだこいつ」という箇所があるかもしれないが、そこはスルーせずにコメントいただけるととても嬉しい。 今回は賃貸データから家賃を導きだす、ということをモ…

Flask で PythonアプリをWEBに公開する

こんにちは。takapy(@takapy0210)です。 本記事は、現在作成している、画像識別プログラムをWEBに公開する際の手順です。 ※Anacondaのインストール、TensorFlowのインストールは終了していることを前提としています。 python仮装環境の切り替え Flaskイン…