医療職からデータサイエンティストへ

統計学、機械学習に関する記事をまとめています。

確率分布と確率変数ってなに?~森の統計辞典~

確率分布とは? 確率変数とは? 確率分布の特徴 まとめます 確率分布とは 確率変数とは おすすめ参考書など 確率分布とは? 確率分布とは、相対的な物事の起こりやすさを表したものになります。 森にはいろいろな大きさのうさぎがいます。その中で、うさぎの…

機械学習モデルを使って反実仮想を生成する

引用元https://github.com/interpretml/DiCE 近年では、ブラックボックスと呼ばれる機械学習の解釈性に注目が集まっており、予測の結果について説明するための手法がいくつか考案されてます。代表的なものとしては、LIME(Local Surrogate)やSHAP(SHapley Add…

帰無仮説と有意水準ってなに?~森の統計辞典~

帰無仮説とは? 有意水準とは? まとめます 帰無仮説とは? 有意水準とは? おすすめ参考書など 帰無仮説とは? 帰無仮説とは、調べたいことと反対の仮説のことです。 ”森のうさぎの耳はリスより長い”ことを証明します。この仮説を証明するには、森の全てのう…

標準化とは?~森の統計辞典~

標準化とは? 標準化の方法 まとめます 標準化とは おすすめ参考書など 標準化とは? 標準化とは、データの平均を0、分散を1にすることです。標準化をすることで、スケールの違うデータ同士を比較することができます。 森のうさぎとリスの体重を調べて、箱ひ…

ローレンツ曲線、ジニ係数の見方・求め方~森の統計辞典~

ローレンツ曲線とは? ジニ係数とは? まとめます ローレンツ曲線とは ジニ係数とは おすすめ参考書など ローレンツ曲線とは? ローレンツ曲線とは、何割のサンプルが、何割の量を保持しているのかを可視化した曲線です。少しわかりにくいですね。 ある森で、1…

相対度数、累積度数とは?~森の統計辞典~

相対度数とは? 累積度数とは? まとめます 相対度数とは 累積度数とは おすすめ参考書など 相対度数とは? 相対度数とは、全体に対する各度数の割合です。 www.medi-08-data-06.work 森からうさぎ100羽連れてきて、度数を求めます。相対度数は、各度数を全…

度数と階級とは?~森の統計辞典~

度数と階級とは? まとめます 度数とは? 階級とは? 次に読む おすすめ参考書など 度数と階級とは? 度数とは、データを区切ったグループの中にいるデータ数のことです。また、そのグループのことを階級と呼びます。 森のうさぎを100羽連れてきて、体の大き…

箱ひげ図と外れ値~森の統計辞典~

外れ値とは? 箱ひげ図と外れ値 まとめます 外れ値とは? 箱ひげ図と外れ値 おすすめ参考書など 外れ値とは? 外れ値とは、他のデータよりも明らかに外れた値を持つデータのことを指します。 外れ値を判断するための基準はいくつかありますが、四分位数と箱…

箱ひげ図とは?~森の統計辞典~

箱ひげ図とは? 箱ひげ図の見方 まとめます 箱ひげ図とは? 次に読む おすすめ参考書など 箱ひげ図とは? 四分位数を見やすくグラフにしたものです。 www.medi-08-data-06.work 森からうさぎを40羽連れてきて、次のステップで箱ひげ図を作成します。 うさぎ…

四分位数(quantile)とは?~森の統計辞典~

四分位数(quantile)とは? 四分位数の呼び名 まとめます 四分位数とは? 次に読む おすすめ参考書など 四分位数(quantile)とは? 四分位数とは、データを大きさの順に並べて、個数を4等分できる値のことです。 森からうさぎを40羽連れてきて、体の大きさ順…

分散、標準偏差とは?~森の統計辞典~

分散とは? 分散の計算方法 標準偏差とは? まとめます 分散とは 標準偏差とは おすすめ参考書など 分散とは? 分散とはデータのばらつきの(2乗)平均値です。平均値から離れたデータが多いほど、分散は大きくなります。 www.medi-08-data-06.work 森のうさ…

平均値(mean)、中央値(median)、最頻値(mode)とは~森の統計辞典~

平均値とは 中央値とは 最頻値とは まとめます 平均(mean)とは 中央値(median)とは 最頻値(mode)とは 次に読む おすすめ参考書など 平均値とは 全てのデータの値を足して、データの数で割った値のことです。 森に住む10匹のうさぎの体重を測定したとします。…

pythonで層別、グループ別グラフを作成する

データの可視化をする上で、性別ごとのヒストグラムや、年代ごとの折れ線グラフなど、ある特定の層やグループごとに色分けをしてグラフをかくことがあります。今回は、簡単にグループごとの色分けグラフを書くための、2つの方法をご紹介します。 積み上げ棒…

そろそろ覚えるRで縦持ち横持ち変換〜pivlot_loger、pivot_wider〜

R

Rでテーブルを縦持ち、横持ちに変換したい時、以前は、spreadやgatherという関数がありました。(今もあるのですが、)上記2つに代わって新たに上位互換の関数として登場したのがpivot_longer、pivot_widerです。単純に縦持ち、横持ち変換するだけでなく、…

”pd.mearge”はもう遅い、Python"join"で高速データ結合

Pythonである値をkeyにデータを結合をしたいとき、pandasのmergeが使えますが、データの行数が膨大だと実行に時間がかかります。 www.medi-08-data-06.work そんなときには、joinを使うことで、データ結合の処理速度を上げることができます。 joinを使って …

kaggle-apiの使い方〜コンペのデータセットダウンロードから提出まで〜

通常kaggleコンペでは、データセットのダウンロードから、結果の提出までを、kaggleサイト上で行います。しかし、kaggle-apiを使うことで、データセットのダウンロード、コンペ一覧表示、submission、leaderboardの確認など、ほとんど全ての作業をコマンドラ…

新時代の新卒データサイエンティスト研修の全貌

ブレインパッドという受託分析企業に入社してから、気づけば5ヶ月が経ちました。優秀な同期や、聡明な先輩などに恵まれ、日々多くのことを学びながら毎日を過ごしています。 そんな中で今回は、ブレインパッドの新卒研修の全貌を振り返りとともに書いていき…

Pythonで割合棒グラフ、積み上げ棒グラフを一瞬で作成する。

縦軸が割合になっている棒グラフを作成したい!という方、今回は一瞬で割合棒グラフ作成する方法をご紹介します。これより簡単にかけるぜ!って方がいらっしゃったら是非コメントいただけると幸いです。 A,B,Cの数を割合で表したい。 今回は、A、B、 Cの文字…

Rでwebアプリを作る~初めてのshinyとshinydashbord~

R

Rでの実行結果や分析結果をインタラクティブなwebアプリにできたら、、そんな風に思ったことはありませんか?今回は、そんな願いを叶えるべくshiniyとshinydashbordを使って簡単にwebアプリを作ってみたいと思います。なお、今回の内容は入門編ですので、よ…

Rmecabに最新辞書(NEologd) を設定する

以前の記事で、Rmecabを用いたテキストマイニング をご紹介しました。 www.medi-08-data-06.work Rmecabの内部で動くmecabですが、web上の最新のキーワードなどにも対応したNEologdを辞書に使用することができます。ちなみに毎週更新されているようです(す…

Pythonで前処理〜Pandasによる文字列処理まとめ〜

Pandasで前処理を行う際に、文字列の処理に戸惑うことがよくあります。今回は、よく使いそうな文字列処理の方法をまとめていきます。ちなみに前処理全般については過去にまとめましたので、よろしければご覧ください。 www.medi-08-data-06.work また、Rユー…

Pythonが遅いと感じたら!見直すべき高速化のポイント

Pythonはrに比べると処理速度が速いと言われています。しかし、Julia、C/C++などに比べると”うわ、私の処理、遅すぎ、、?”と感じるかもしれません。今回は、Pyhonで処理速度が遅いと感じたら見直すべきいくつかのポイントをご紹介します。 Point1:if xx in…

ニューラルネットワークによる手書き文字画像の異常検知~CNNとCAEの比較~

機械学習を用いた画像データの異常検知は、様々な分野で用いられ始めています。例えば、工場現場であれば、流れてくる製品から自動的に不良品をはじくといったことにもできますし、医療現場であれば、画像診断にも応用できるでしょう。異常検知の課題は、そ…

第6回:RとPythonで学ぶデータサイエンス数学~ベクトル、行列の微分~

前回までで、微分、偏微分、最小二乗法、ベクトル、行列までを書いてきました。 www.medi-08-data-06.work www.medi-08-data-06.work www.medi-08-data-06.work www.medi-08-data-06.work 今回は、今までの知識を総動員し、ベクトルと行列による微分について…

初心者のPython環境構築とバージョン管理~pyenvとpyenv-virtualenvを使って~

Pythonの環境構築を行うには、様々なツールがあり、用途、好み、思想、宗教によってベストなものが異なるようです。 pythonの環境構築戦争にイラストで終止符をどうやら打てない - Qiita そして、この多様性が私のような環境構築弱者にとってのハードルとな…

第7回:RとPythonで1から学ぶデータサイエンス数学~確率分布・確率変数と積分~

確率分布と積分は、統計学を知る上では欠かせない数学知識です。今回は確率分布と確率変数の基本と、積分の関係性についてご説明していきます。 今回の目的は以下になります。 確率分布、確率変数とは何かを理解する。 確率質量関数、確率密度関数の違いを理…

第5回:RとPythonで学ぶデータサイエンス数学~行列基礎~

前回はベクトルの基礎を扱いました。今回は、ベクトルの進化系である行列について書いていきます。行列までを学んでしまえば、数学嫌いな方でも、データサイエンスの様々な参考書を読み進めることができるでしょう! 今回の目的は以下になります。 行列の性…

第4回:RとPythonで学ぶデータサイエンス数学~ベクトル基礎~

ベクトルと行列は、データサイエンスの中でも頻出であり、とてもとても便利な概念です。今回からは、今まで学んだ平均や分散、微分、最小二乗法などを使って、ベクトルや行列の概念にふれていきます。 www.medi-08-data-06.work www.medi-08-data-06.work ww…

第3回:RとPythonで学ぶデータサイエンス数学~線形回帰と最小二乗法~

前回までで、平均や分散、微分、偏微分の基本的なところを扱ってきました。 www.medi-08-data-06.work www.medi-08-data-06.work 第3回となる今回は、今までの知識を使って統計、機械学習で最も基本的で、最も頻出の線形回帰と最小二乗法についてご紹介しま…

第2回:RとPythonで学ぶデータサイエンス数学~関数と微分・偏微分~

RとPythonで学ぶデータサイエンス数学の第2回となる今回は、関数と微分を扱っていきます。 www.medi-08-data-06.work この2つは統計学、機械学習の学習には欠かせない知識となりますが、概念自体は難しく無いので、しっかりと理解したいところです。目的は以…