数理コンサルタントの備忘録

あなたの悩みを数理で解決する

ベイズの定理とモンティ・ホール問題

昨今、一部界隈では「ベイズの定理」を知っているか否かで、データサイエンティストがホンモノかを見極めているらしい。 ここでは公式の確認と問題例とともに「ベイズの定理」を復習しようと思う。 まずベイズの定理とは、 事象A, 事象Bが発生する確率をそれ…

plotlyによる可視化

バブルチャートによる可視化 import plotly.express as px fig = px.scatter(bub_data, x="Reporting_Airline", y="Flights", size="Flights", hover_name="Reporting_Airline", title='Reporting Airline vs Number of Flights', size_max=60) fig.show() …

pythonクラスの備忘録

pythonクラスにおいて、クラス変数とインスタンス変数の違いについて説明する。 まず、以下のようなクラスを定義する。 class ClassVal: x = "ClassVal" class InstanceVal: def __init__(self): self.x = "InstanceVal" cls_Val = ClassVal() ins_Val = Ins…

Regrssion Plots

今回の記事では、散布図とその近似曲線及び領域を描画する。 まず、下記のようなdfを作成する。 df_tot seabornのregplotを用いると、簡単に回帰直線を描ける。 import seaborn as sns plt.figure(figsize=(15, 10)) sns.set(font_scale=1.5) ax = sns.regpl…

箱ひげ図の基本

箱ひげ図はデータの分布を簡単に確認でき、分布同士を比較する場合に非常に便利である。 ○箱ひげ図で確認するポイント 箱ひげ図の全長から分かるばらつき 中央値と平均値のズレ 外れ値からの外れ具合 ○外れ値が発生する確率 データが正規分布に従うと仮定し…

「棒グラフ」と「円グラフ」の使い分け

入社してすぐの研修で、データサイエンティストの3大ご法度として「円グラフの利用」が上げられていた。 今回は、なぜ円グラフが問題視されるかを深掘っていく。 ○円グラフの課題 割合の変化が微小である時、その変化を捉えにくい。 円グラフ 棒グラフ 上の…

matplotlibの基礎知識

matplotlibは次の3層で構成される 1.Scripting Layer pyplot df.plot() 2.Artist Layer ax = df.plot() グラフに表示されるものは全てArtist Artist 3.Backend Layer backend_bases matplotlibの階層構造を簡潔に表した図。 階層構造 この図から読み取れるこ…

画像認識コンペまとめ

ILSVRC:画像認識コンペ ImageNet(1400万枚)を使った一般物体認識のコンペ AlexNet 2012 優勝 初めて深層学習の概念を取り入れたモデル GoogLeNet 2014 優勝 Inceptionモジュールという小さなネットワークを積み上げた構造 Inceptionモジュールは、3つの異な…

linuxコマンドメモ

# コマンドの標準エラー出力を標準出力に入れる $ python hoge.py > log 2>&1 # 1G以上のデータを検索 $ find ./ -size +1G

python実行系メモ

*処理時間がかかる行を特定する python -m cProfile *notebookをpythonファイル化する jupyter nbconvert --to python hoge.ipynb

VirtualBox 上で のDocker環境構築vol.1

macユーザーだが、Docker for Mac が遅いらしい(参考)ので、VM上でdocker環境を構築していく。 まずはVMをインストールする インストール後、MacのVirtualbBoxでホストアダプターが作成できない問題を解決する (参考) システム環境設定→セキュリティとプライ…

Jupyterlabの行数をデフォルトで表示させる

Jupyterlab起動後、Settings→Notebook→User Preferencesで下記を記述。 { "codeCellConfig": { "lineNumbers": true } }

CNNを用いたpython画像処理入門①

今回は、画像認識に有効なCNNを用いた簡単な画像認識タスクをpythonで実施する。 まずはtensorflowで用意されているデータセットのFasion MNISTを読み込む。 import tensorflow as tf fashion_mnist = tf.keras.datasets.fashion_mnist (x_train, y_train), …

pythonでの並列処理

pythonの処理速度が遅い場合、並列処理が有効である。ここでは、実務でも役立つ並列処理のサンプルコードを紹介する。 pythonの標準ライブラリであるmultiprocessingを利用する。 from multiprocessing import Pool # ジョブを送り込めるワーカープロセスの…

python classの書き方例

分析が進むと、python classを記述する必要がある。 compute_KNN_featuresのソースコードを参考にして、KNNのクラス概要をまとめた。 class NearestNeighborsFeats(BaseEstimator, ClassifierMixin): ''' This class should implement KNN features extracti…

Numpy備忘録

仕事ではpandasのデータフレームをよく利用するが、計算速度を向上させるためにはdf.valuesでNumpy配列にして計算させることが多い。 ここでは、numpyの基本的な使い方の備忘録を記録する。(numpy公式ドキュメント) まずはお決まりのimport import numpy as …

ブログ再開

今日から長らく止めていたブログを再開しようと思います。 主にpythonコードの備忘録や簡単なケース問題とその数理的解法を記述していく予定です。

MySQLの事始め

SQL

[起動方法] $ mysql.server start --skip-grant-tables & $ mysql -u root $ mysql.server stop 参考サイト ①MySQL 入門 - Qiita ②【MySQL】ERROR 1045 の対処法 - Qiita

Jupyter notebookのリモート操作

リモートでjupyterにアクセスするためのメモを残す. 以下, jupyter notebookはインストールされているものとして進める. 参考サイト:https://qiita.com/Miggy/items/5466a2c1e968602f3ebe notebook_config.pyを編集する際の注意点 「# 以下は追加で記述」は…

macの起動音を消す方法

mac

ターミナルで [消す時] sudo nvram SystemAudioVolume=%80 [戻す時] sudo nvram -d SystemAudioVolume [音量の確認] nvram -p | grep SystemAudioVolume

pythonの軸を日本語化する手順

意外にハマったので、手順を示す. 基本は以下に従う. 【Seaborn】日本語を表示する (フォントを変更する) - Qiita ポイントは, matplotlibの設定ファイルの場所を探してフォントを追加 import matplotlib as mpl print(mpl.matplotlib_fname()) seabornの設…

pythonで機械学習する環境まとめ

複数のPCにpython環境構築す度にググるの面倒なのでここで備忘録つけます. 環境 macOs Sierra 10.12.6 1. pyenvをインストール インストール pyenvとは, pythonのバージョンを簡単に切り替えられるツールです. gitからインストールする場合は $ git clone gi…

デスクトップの整理

mac

デスクトップからファイルにアクセスすることがないので 全て非表示にした. defaults write com.apple.finder CreateDesktop -boolean false killAll Finder 元に戻したい時は defaults write com.apple.finder CreateDesktop -boolean true killAll Finder

SSHコマンド

SSH(Secure Shell)プロトコル(クライアントとリモートマシン間の通信を暗号化)を利用するので、安全にコマンドを実行することができる。また、sshコマンドは秘密鍵・公開鍵を利用した鍵認証が利用できるので、これらを利用すればさらに安全性が高まる。 …

GAMS事始め

授業でGAMSを使うことになったので, macに実装環境を整える方法を記載する. まずはホームページでmacOSのGAMSをインストール. GAMS - Download インストールが完了したら, アプリケーションに入れる. ライセンスファイルgamslice.txtを/Applications/GAMS24.…

MPI事始め

MPIとは MPI(Message Passing Interface)は、並列コンピューティング利用するための標準化された規格. 並列処理には共有メモリ型と分散メモリ型の2通りの処理形態があるが, MPIは分散メモリ型の並列処理を行う. コンパイル方法は $ mpicc hoge.c 実行方法は …

Gitコマンド

git

gitを使用する事の宣言 git init 過去のバージョンに戻る git reset --hard (commit number) リセットしたバージョンに戻る git reset --hard ORIG_HEAD 直前にしたコミットを修正 git commit --amend

使用例と共に覚えるLinuxコマンド

file1をfile2というファイルとして複製 $ cp file1 file2 hoge1ディレクトリの内容をすべてhoge2にコピー $ cp -r hoge1 hoge2 test.txtを/Dropboxへコピー $ cp test.txt /Dropbox test.txtを/Dropboxへ異動 $ mv test.txt /Dropbox ディレクトリ/hogeを再…

LubuntuへのGuestAdditions導入

Lubuntuのターミナル上で以下を打てば瞬殺だった。 $ sudo apt-get update $ sudo apt-get install build-essential module-assistant $ sudo m-a prepare $ sudo apt-get install virtualbox-guest-dkms

brewの使い方

brewコマンドをまとめる。 brew list #一覧表示 怒られた事書く。 Error: /usr/local is not writable. You should change the ownership and permissions of /usr/local back to your user account: sudo chown -R $(whoami) /usr/local