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

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

Python

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

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

言語処理100本ノックをやってみた「第1章: 準備運動」

こんにちは。takapy(@takapy0210)です。 本記事は、転職カウントダウンカレンダー 7日目の記事です。 www.takapy.work はじめに 00. 文字列の逆順 02. 「パトカー」+「タクシー」=「パタトクカシーー」 03. 円周率 04. 元素記号 05. n-gram 06. 集合 07.…

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

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

AWS Lambdaを利用してpythonでslack通知を実装する

こんにちは。takapy(@takapy0210)です。 本記事は、転職カウントダウンカレンダー 4日目の記事です。リフレッシュを兼ねてDocker以外の記事を挟みます。 www.takapy.work はじめに SlackのWorkspaceにIncoming Webhookを登録 AWS Simple Queue Serviceの作…

Mac環境構築備忘録(Python・Chrome拡張・アプリ)

こんばんは。takapyです。 本記事は、転職カウントダウンカレンダーの1日目の記事です。 www.takapy.work 3月より入社する職場からMacを支給されたので、環境構築がてら手順の備忘をまとめておこうと思います。 python関連 Homebrew pyenv pyenvでpythonをイ…

Python用VSCode拡張機能まとめ

こんばんは。takapyです。 本記事はVSCode拡張機能の備忘です。 python関連 Git関連 その他 python関連 marketplace.visualstudio.com marketplace.visualstudio.com marketplace.visualstudio.com Git関連 marketplace.visualstudio.com marketplace.visual…

pyenvでBUILD FAILED Inspect or clean up the working tree エラーが出た時の対処方法(macOS Mojava 10.14.2)

こんにちは。こんばんは。takapy(@takapy0210)です。 環境構築で少しつまづいたので、備忘です。例のごとく、$で始まる行はコマンドです。 環境 pyenvのインストール python3.6.0のインストールでエラー 解決方法 環境 モデル:Mac book Pro 15インチ OS:…

主成分分析(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…

単語と図で理解する自然言語処理(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 微分の復習 勾配 勾配法 参考サイト ミニバッチ学習 機械学習は、膨大がデータセットがないと行うことはできません。 しか…