kaekenのData Science探究ブログ

主にData Science、機械学習、深層学習、統計学、Python、数学、ビッグデータに関する知見をポストします。

2019.04沖縄合宿で参加した勉強会一覧

花粉症から逃れるため、 自主的に2019.04沖縄合宿を実施しておりました。 1ヶ月弱滞在し、非常に有意義な合宿でした。 クラウド、サーバレスの盛り上がりを体感し、 今後は、クラウド・サーバレス関連も重点的にウォッチしていきます。 また、AI/機械学習/Py…

R言語でWebページの総合ランキングを作る方法

概要 Webページを評価する切り口は、さまざまな種類があります。 表示回数 クリック数 直帰率 平均滞在時間 CV数 各種ソーシャルいいね数 ... もし各切り口の単位がバラバラで、ボリュームも異なり、優劣がつけられない場合、 総合的に判断することが難しく…

JupyterNotebookで対話的インターフェイスipywidgetsを使う方法

概要 JupyterNotebookは、セル単位でプログラムを実行できるインターフェイスがあります。 ただ、変数の値を少し変更したり、 設定条件を変えたい場合は、 セルの中身のプログラムを変更する必要があります。 もう少し、マウス操作や、直感的に数値変更でき…

JupyterNotebookでRを使う方法

概要 データ分析など、ブラウザ上で対話的にPythonコマンドを実行できる、 Jupyter Notebookでは、R言語やRubyといった他の言語のカーネルを インストールすることで、他言語も使うことができます。 以下導入方法です。 Rカーネルの導入 パッケージインスト…

RによるRFM分析

概要 RによるRFM分析をご紹介します。 RFM分析 とは、顧客を以下の3つの側面から分析する手法です。 R(Recency, 最近購買しているかどうか, 購買日付) F(Frequency, 頻繁に購買しているかどうか, 購買頻度) M(Monetary, 高額に購買しているかどうか, 購買金…

Rによるデシル分析

概要 Rによるデシル分析についてご紹介します。 デシル分析とは、売上など特定の数値で顧客データを並び替えたあとに、10等分する分析です。 上位に集中する特徴を捉えて、次の施策を考案するために活用します。 準備 データ まず、1カスタマー1データで売上…

Rによる共分散・相関係数・ファイ係数の算出

概要 Rによる共分散・相関係数・ファイ係数の算出方法をご紹介します。 関数 2つの異なるデータ群の共分散を cov() で算出できます。 ただし、単位に依存するので、例えば、身長がm単位なのかcm単位なのかで共分散の値が異なります。 cov() : 共分散 共分散:…

Rによる分散・標準偏差・Z得点・偏差値の算出

概要 Rによる分散・標準偏差・Z得点・偏差値の算出方法をご紹介します。 関数 var(): 不偏分散 不偏分散を算出するには、var()を使います。 x <- c(10, 13, 8, 15, 8) x # [1] 10 13 8 15 8 # 不偏分散 var(x) # [1] 9.7 sd(): 標準偏差 標準偏差を算出する…

Rによるバスケット分析まとめ

概要 Rによるバスケット分析方法をまとめました。 Rのバスケット分析パッケージを使えば、 すぐに詳細なバスケット分析ができます。 書籍『リテールデータ分析入門』のデータを使って、実際に分析してみます。 準備 データの準備 まず、商品カテゴリ(例:お…

レコメンデーションに用いられる3つの指標まとめ

概要 購買データから、同時に購入される商品の傾向を分析することを、 マーケットバスケット分析(ショッピングバスケット分析とも呼ばれる。以下バスケット分析) と呼びます。アソシエーション分析の一種です。 バスケット分析では、 「商品Aを買うときは、…

『リテールデータ分析入門』書誌情報

顧客の購買行動を測定したデータをリテールデータと呼びますが、 大規模なリテールデータに特化したRによる分析ノウハウが記載されている書籍です。 書誌情報 リテールデータ分析入門 上田隆穂/編著 田島博和/編著 奥瀬喜之/編著 斉藤嘉一/編著 出版社名…

『Rによるやさしい統計学』書誌情報

R言語による統計学入門として、『Rによるやさしい統計学』が名著です。 その書誌情報です。 概要 Rによるやさしい統計学 | Ohmsha 著者山田 剛史 杉澤 武俊 村井 潤一郎 共著 定価2,916 円(本体2,700 円+税) A5 420頁 2008/01発行 ISBN978-4-274-06710-5 …

1章 ニューラルネットワークの復習 / 1.1 数学とPythonの復習 |『ゼロから作るDeep Learning2自然言語処理編』

1章 ニューラルネットワークの復習 まずはニューラルネットワークを復習する章なので、復習がてらコード部分を写経。 1.1 数学とPythonの復習 1.1.1 ベクトルと行列 >>> import numpy as np # numpyインポート >>> x = np.array([1,2,3]) # np.array()メソッ…

『ゼロから作るDeep Learning2自然言語処理編』学習開始

『ゼロから作るDeep Learning2自然言語処理編』学習開始。 『ゼロから作るDeep Learning』の続編で、自然言語処理・時系列データがメインテーマ。 機械学習・深層学習の分野は、2年前に『ゼロから作るDeep Learning』を学習したときから比べて、ものすごい…

(2018-02-04)気になるAI/ML/DL/DSネタ:2018年度前期東大AI講座、脳内イメージ映像化、GoogleドライブOCR、など

実データで学ぶ人工知能講座(AIデータフロンティアコース)平成30年度前期募集のご案内 講座について – 2018年度前期講座 – Learn.AI 東京大学では、大阪大学とともに、国立研究開発法人新エネルギー・産業技術総合開発機構(NEDO)の委託を受け、人工知能…

Python/scikit-learn/分類精度の評価指標について

前回は、機械学習のクラス分類精度を評価するために、まず混同行列 (Confusion matrix)についてまとめました。 Python/scikit-learn/分類精度を評価する際に使われる混同行列 (Confusion matrix)について - データサイエンティストへの修行日記 今回は、混同…

(2018-02-03)気になるML/DL/DSネタ:教えない先生、Custom Vision Service、『仕事ではじめる機械学習』著者座談会

未来を変える技術20 - AI活用で「教えない先生」が登場、1800億円に膨らむ教育×IT市場:ITpro 同社は2014年から東京大学の松尾豊特任准教授と共同で、生徒が動画のどこで躓いたかやコンテンツ間の関連性を分析。先に何を学べば躓かないのかや何を復習すれば…

Python/scikit-learn/分類精度を評価する際に使われる混同行列 (Confusion matrix)について

機械学習のクラス分類精度を評価するために、混同行列 (Confusion matrix)が用いられます。 Confusion matrix - Wikipedia In the field of machine learning and specifically the problem of statistical classification, a confusion matrix, also known …

(2018-02-02)気になるAI/ML/DSニュース・記事・サービスなど

米国500社の財務諸表ビッグデータ分析で見えた7つの事実 - データで見る世界 バイアスを取り除く方法はただ一つ。データ分析です。データは嘘をつきません。賢そうな人の意見を鵜呑みにするのではなく、自分で生のデータを分析すれば、事実にたどり着けます…

Python/pandas公式チートシート解説:前処理のゴールとなるTidy Dataとは

pandas githubのドキュメントに公式のチートシートがアップされています。 github.com このpandasチートシートには、重要な概念やコマンド実行方法が整理されていますので、項目をひとつずつ解説していきます。 なお、このチートシートは、もともとR言語のチ…

Python/pandas エンコードされたone-hotデータをデコードする方法

機械学習の学習用データでよく使われるone-hotエンコーディングされたデータがあります。 one-hotエンコーディング処理は、さまざまなライブラリで実装されています。 sklearn.preprocessing.OneHotEncoder — scikit-learn 0.19.1 documentation http://scik…

気になったAI/ML/DSニュース・サービスなど(2018-02-01)

Google、オープンソース機械学習ライブラリの最新版「TensorFlow 1.5」を発表:使い勝手やモバイル対応、GPUサポートが向上 - @IT http://www.atmarkit.co.jp/ait/articles/1801/30/news038.html 24研究室と1日で会える!人工知能・IoT・ビッグデータ分野で…

Python/pandasでグルーピングした複数行をカンマ区切りの一行にする方法

Python/pandasを使って、以下のようにグルーピングした複数行を一行にする方法について解説します。 before col1 col2 0 1 hoge 1 2 fuga 2 3 piyo 3 1 foo 4 2 bar 5 3 baz after:col1でグルーピングした上で、col2を一行に集約 col1 1 hoge,foo 2 fuga,ba…

『ゼロから作るDeep Learning』数学用語一覧

『ゼロから作るDeep Learning』に出てくる数学用語について調べていく。 ただ、定義だけ追っていても意味が分からないので、 実際の使われ方については、高校レベルの数学を別途復習が必要。 では、以下数学用語を列挙していく。 線形とは https://ja.wikipe…

『Pythonからはじめる数学入門』7章(後半) 初等解析問題を解く / 高階微分および積分

『Pythonからはじめる数学入門』7章(後半) 初等解析問題を解く の解説です。 7.5 高階微分と極大極小の計算 Derivativeクラスを使った微分オブジェクトのデフォルトは、 1階微分です。 高階微分をおこなうには、階数を第三引数に渡します。 ここでは、関数…

『Pythonからはじめる数学入門』7章(前半) 初等解析問題を解く

『Pythonからはじめる数学入門』7章(前半) 初等解析問題を解く に関する解説です。 7.1 関数とは何か 7.1.1 関数の定義域と値域 数学そのものの説明は省略しますが、用語を記しておきます。 写像mapping 定義域domain 値域range 7.1.2 よく使われる数学関…

『Pythonからはじめる数学入門』5章 集合と確率を操作する

『Pythonからはじめる数学入門』 5章 集合と確率を操作する の解説です。 5.1 集合とは何か 集合(set)、要素(element)といったキーワードの意味は、高校数学で出てきていますのでここでは省略します。 以下、Pythonで集合の演算方法をみていきます。 5.1.1 …

『Pythonからはじめる数学入門』4章 SymPyで代数と式を計算する

『Pythonからはじめる数学入門』 4章 SymPyで代数と式を計算する の解説です。 いままでは、数値計算でしたが、 xやyといった代数においては、 式の計算(symbolic math)が必要です。 Pythonでは、SymPyを使って式の計算をおこないます。 以下は、SymPyのリフ…

『Pythonからはじめる数学入門』3章 データを統計量で記述する

『Pythonからはじめる数学入門』 3章 データを統計量で記述する の解説です。 機械学習では、 統計がよく出てくるので、 ここでは、統計の基本をPythonで学びます。 3.1 平均を求める まずは、平均値を求める関数です。 def calculate_mean(numbers): s = su…

『Pythonからはじめる数学入門』2章 データをグラフで可視化する

『Pythonからはじめる数学入門』 2章 データをグラフで可視化する の解説です。 www.oreilly.co.jp 機械学習で数値データを提示する際には、 グラフを用いることが多いです。 今回は、 Pythonでグラフを使う方法についてご説明します。 2章 データをグラフで…