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

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

Python-機械学習

GloVeを使って単語の分散表現を取得する

こんにちは。takapy(@takapy0210)です。 コンピュータで自然言語を扱う場合は、単語(文書)を何らかの形で数値表現に変換する必要があります。 単語の分散表現を得る方法の一つとして、gensimのword2vecを使うことはよくあると思うのですが、本日はGloVe…

第35回 Machine Learning 15minutes! に参加してきました

こんにちは。takapy(@takapy0210)です。 待ちに待った(?)GWです。今年は10連休&元号が変わるということで、若干のお祭りモードを感じます。 5月6日に「10連休何やってたんだっけ・・・」とならないように、適度に勉強もしていきたいな!と思っていたり…

Dockerを使って機械学習実行環境(勾配ブースティング、ニューラルネット含む)を30分で構築する - python, Mecab, LightGBM, xgboost, TensorFlow, keras, Pytorch, etc... -

こんにちは。takapy(@takapy0210)です。 今日はDockerで機械学習の環境を作成したのでそれの備忘です。 はじめに できること Dockerって何 Dockerのインストール 環境構築方法 Dockerイメージのpull コンテナの起動 補足 mecab-ipadic-neologdの使用方法 D…

言語処理100本ノックをやってみた「第2章: UNIXコマンドの基礎」

こんにちは。takapy(@takapy0210)です。 本記事は、転職カウントダウンカレンダー 8日目の記事です。 www.takapy.work はじめに 第2章: UNIXコマンドの基礎 10. 行数のカウント 11. タブをスペースに置換 12. 1列目をcol1.txtに,2列目をcol2.txtに保存 13…

ランダムフォレストはなぜ「ランダム」なのか

こんにちは。takapy(@takapy0210)です。 本記事は、転職カウントダウンカレンダー 6日目の記事です。 www.takapy.work はじめに ランダムフォレストとは 異なる決定木を作るための2つの乱数選択 ブーストラップサンプリング 特徴量選択 簡単に図で説明 pyt…

主成分分析(PCA)の累積寄与率で見る特徴量エンジニアリング【python】

はじめに 主成分分析(PCA)とは 固有値と寄与率と累積寄与率 固有値 寄与率 累積寄与率 cancerデータセットで主成分分析 ロジスティック回帰でテスト 標準化 学習 主成分分析で寄与率を確認 2次元まで圧縮してプロット PCAの欠点 主成分分析後のデータでロ…

単変量解析で見る特徴量エンジニアリング【python】

本日は特徴量エンジニアリングの重要性について、scikit-learnでの簡単な実装を交えながら書いてみようと思います。 はじめに 特徴量エンジニアリング 単変量統計 検証の概要 検証 cancerデータの読み込み ノイズデータの生成 単変量特徴量選択 ロジスティッ…

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…

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

来年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もくもく会の中で、 機械学習に興味はあるけど、どのような手順で、何から勉強していったら良いかわからない という方が数名い…

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-最近傍法を用いて解いてみようと思います。 実際、アイリスの花を分類したいというモチベーションがビジネス上役に立つかと問われると微妙ですが、学習だと割り切っていき…

ゼロから作る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)

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