ysaz (ImanazaS) blog

最近はデータ分析や機械学習が中心。たまに音楽や書評。

python

機械学習モデルによる予測結果の解釈(Shap値の使い方)

なぜ予測結果の解釈が必要か 機械学習というか広義のAIは、予測や認識を高い精度で実施することは得意です。 しかし、その演算過程がブラックボックスになりがちで、人間がその結果の背景にある根拠や判断理由を理解することが困難という課題が存在します。…

機械学習モデルのBlendingに対する重みの最適化手法について

アンサンブル学習 Blendingに対する重みの最適化事例 様々な最適化手法 まとめ Kaggleなどの機械学習コンペにおいて、複数のモデルを平均等により組み合わせることで、新たな推論結果を作る手法(blendingと呼ばれる)があります。 平均を取る際にモデルの重…

Dive Into Deep Learning

UCバークレーの講義から派生したプロジェクトとして、「Dive Into Deep Learning(通称 D2L)」の執筆が進められているようです。d2l.aiちらっと覗いてみましたが、数式だけでなく、コードや図を使ってわかりやすいものに仕上げていくという姿勢が感じられま…

Jupyter NotebookからJupyterLabへの移行

Jupyter Notebookにはその前身のIpython Notebook時代からお世話になっています。 そのJupyter Notebookの後継と言われるJupyterLabを今更ながらインストールし、少し試してみました。 JupyterLabとはなんぞや では、なぜ今なのか 使ってみた感想 IDEとして…

Pythonで実行した処理の終了を通知してくれるツール

大規模データの処理やら機械学習やらで、演算に時間がかかるときがあります。 放ったらかしにしつつも、都度パソコンの前まで行って進捗を確認するのが面倒で、なんとかできないかと思っていたところ、以下の記事を見つけました。 時間のかかるデータ処理や…

(続)Pandasでのデータ集計

以前に以下の記事でPythonのPandasライブラリを使った集計方法をまとめていた。 nami3373.hatenablog.com今になって、これよりもシンプルなやり方に気づいたのでメモ。 import pandas as pd # データフレームを適当に作成 df = pd.DataFrame(data=[('2016-04…

カテゴリカル変数のEncoding手法について

Structured Data(構造化データ)の下処理をおこなう際に避けて通れないのがFeature Engineering(特徴量エンジニアリング)。 特に悩ましいのがカテゴリ変数の扱いで、どのように扱えば良いか困ることが多く、また、使った手法もすぐに忘れてしまいがちなの…

Floydhubのセットアップから基本的な使い方まで

前回の投稿で、FloydHubというクラウドサービスへたどり着き、GPUを試すようになるまでの過程を綴ってみた。nami3373.hatenablog.com今回は、FloydHubの利用方法について、簡単にまとめてみた。 セットアップの流れ ローカル上でのプロジェクトソースコード…

Deep LearningとGPU環境

ちょっと前からfast.aiの提供するディープラーニングのオンラインコース、「Practical Deep Learning For Coders」に取り組んでいる。course.fast.aiこのコースでは定番の犬猫分類などを扱ったりするのだが、私は手持ちのMacBook Pro上でプログラムを走らせ…

プログラミングを学ぶ上で心がけるべきこと

多少入門書を読んだり、CourseraをはじめとするMOOC (Massive Open Online Course) を履修したりして学んではきたが、ここでは、プログラミング(python)初心者として読んでよかった本・受講してよかったコースの紹介ではなく、僕が重要だと感じた心構えや…

30才から向き合うプログラミング

プログラミングを学ぶことを通じて論理的思考が鍛えられたり、問題解決力が身についたりと、現代社会において、プログラミングは英語と並ぶくらい有用なスキルとして注目されている。当然早くからスタートするほうがより定着するだろうということで、プログ…

Pythonを使ったRFM分析

今回はこれまでと趣向を変えて、サンプルデータを使った分析手法(RFM分析)について取り上げる。RFM分析は、Recency(直近)、Frequency(頻度)、Monetary(購入額)の略であり、マーケティングの分野において、顧客をグループ化した上で優良顧客を抽出し…

Pandasを使った行列のセレクティングについて

pandasでのiloc[行, 列]を使った操作に関する備忘録。 特定のデータを行あるいは列から抜き出して表示したり、違う数値へ置き換えたりする方法について記す。 import numpy as np import pandas as pd # データフレームの作成 df = pd.DataFrame(data= [('20…

Pandasでの複数ファイル読み込み

指定したフォルダ内に格納されている複数のファイルを読み込み、データフレームを作成する方法についての備忘録。 # 必要なパッケージの読み込み import pandas as pd import numpy as np from datetime import date, datetime, timedelta import time impor…

Pandasでのデータ集計

pandasを使ったデータフレームの成形について。meltやpivot_tableの使い方に関する備忘録。例: 都市ID毎の日別気温、湿度データが与えられているが、各列にデータがまとめられている(例えば、気温の列に全ての都市IDに紐づくデータが一纏めになっている)…

Pandasでの時系列操作

python、主にpandasの基本的な使い方について、備忘録として記述していく。 まずはタイトルの通り、時系列操作について。例1 あるデータフレームに年(Year)列と月(Month)列データが入っているとき、 この2つを年月として合わせて、データフレームのイ…