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

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

Python

FastAPI+AWSlambdaでサーバレスな機械学習推論APIを作成する

機械学習モデルの予測結果を返す簡単なAPIサーバーを作成する機会があったので、勉強も兼ねてPythonのFastAPIと、AWSのlambdaを使ってサーバレスな推論APIを作成してみました。 今回のコードはこちらになります。 GitHub - kojiro0208/ml-api-lambda ディレ…

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

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

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

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

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

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

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つは統計学、機械学習の学習には欠かせない知識となりますが、概念自体は難しく無いので、しっかりと理解したいところです。目的は以…

第1回:RとPythonで学ぶデータサイエンス数学~平均・分散を文字で表す~

統計学や機械学習を知る上で必ず必要になるのが算数・数学の知識です。しかし、中学や高校で数学を習ってはいるものの、いざ学び始めてみると数式や記号に圧倒されてしまう人も多いのではないでしょうか?? 今回から複数記事にまたがり、統計学や機械学習を…

SHAPを使って機械学習モデルと対話する

機械学習モデルは、統計モデルよりも予測に長けた手法であり、皆様もご存知の通り様々な場面で用いられています。一方で、結果の解釈の面ではブラックボックスになりやすいため、モデルの作成時のみならず、機械学習に覚えのない方々とコミュニュケーション…

Pythonによるデータ前処理手法の網羅的まとめ

データ解析をする上で、もっとも重要な工程であるデータの前処理、今回はそんな前処理をPythonで行うための様々な方法をまとめました。もし、こんな処理も追加してほしいというご要望があれば、お気軽にコメントください(^^) Rユーザの方にはこちらを www.me…

k-meansとk-means++を視覚的に理解する~Pythonにてスクラッチから~

k-means(k平均法)は教師なし学習の中でもとても有名なアルゴリズムの一つです。例えば、顧客のデータから顧客を購買傾向によってグループ分けしたり、商品の特性からいくつかのグループに分けたりと使用法は様々です。 そんなk-measですが、実は中学生でも知…

R vs Python:統計するならどっちいいの?

データ解析をする上で、Rを使うべきかPythonを使うべきか、この議論は多くの人が色々な意見を持っています。最近はPythonユーザーが増えていますが、Rをメインで使う人が少なからずいるのもまた事実です。 今回は統計解析をするならどっち?という観点からR…

PythonとRで学ぶ一番シンプルなディープラーニング

ディープラーニングは言わずもがな、機械学習の世界では名実ともにエースと呼んでいいほど有名なアルゴリズムです。人間の脳を模倣していると聞くと、なんだかSFの世界を想像しますが、実は案外簡単なアルゴリズムで成り立っています。 今回は、そんなディー…

初歩からの機械学習:ロジスティック回帰~PythonとRでスクラッチから~

前回は機械学習において最も基本的なアルゴリズムである最急降下法を使って、重回帰モデルを作成しました。 www.medi-08-data-06.work 今回は、最急降下法とロジスティック回帰モデルを使って機械学習の醍醐味である分類問題を扱っていきたいを思います。 前…

初歩からの機械学習:最急降下法による重回帰モデル~PythonとRでスクラッチから~

機械学習の教師あり学習の中でも、重回帰モデルはとても有名です。統計学でも有名なこのモデルですが、機械学習では、最急降下法というもっとも基本的かつ、重要なアルゴリズムを使ってパラメーターを求めることができます。 今回は、最急降下法を使って重回…

RとPythonによる主成分分析〜忙しい人のための完全食を探す〜

主成分分析は、データの変数が多い時に、出来るだけ情報を減らさずに、次元を圧縮するテクニックとして用いられます。マーケティングにおいても、何かの商品に対する評価項目が複数ある場合に、それを少数の評価項目に圧縮し、総合力のような観点で評価する…

集団全体への介入効果を推定するStandardizationとIPWの実力〜RとPythonにて〜

前回は因果推論の王道テクニックである傾向スコアを使った回帰分析とマッチングについて紹介しました。今回も傾向スコアを使った解析手法の一つであるIPWと、傾向スコアは使いませんが理論的には同じになるStandardzationの紹介をしていきます。 www.medi-08…

因果推論の王道テクニック”傾向スコア”を丁寧に考えてみる~RとPythonにて~

世の中の事象における真の因果関係は神のみぞが知り、それに抗うために多くの因果推論テクニックが作られてきました。その中でも傾向スコアというのは、ランダム化検証ができない事象でも、データをゴニョゴニョすることで、理論上ランダム化に等しいことが…

以外に奥深いR,Pythonでの相関行列の計算方法

RやPythonで変数間の相関を見るために、何気なく使う相関行列 実はとても奥深いことを知りました。 今回はRとPythonの算出方法の違いについても触れていきます。(pythonを使ったのはいつぶりだろうか...) データセットの作成 まずはデータセットを作成しま…