読者です 読者をやめる 読者になる 読者になる

データサイエンティスト(仮)

元素粒子理論屋。いっぱしのデータ分析屋になるために修行中です。

Python

Pythonでデータ分析:機械学習の自動化

導入 何か問題を解決するにあたって機械学習を活用する場合、膨大なアルゴリズム、そのアルゴリズムに付随する多くのハイパーパラメータが存在します。分析の要件が「とにかく精度、中身は問わない」だった場合、何とかして効率的にモデルとパラメータを知り…

複数の棒グラフを表示させるのはpandasが便利

経緯 ある対象に対して、複数のアプローチの結果を可視化したいとき、棒グラフで並べて比較する方法があります。これをmatplotlib.pyplot.bar()で描いていましたが、棒の太さやら目盛の調整が大変でした。matplotlibは柔軟な可視化ができる反面、匠の技が要…

FastBDTの計算時間が速いかを確認してみる

はじめに 最近、ブースティング系のアルゴリズムでXGboostより速いものが実装されているようです。 github.com 論文は以下になります。 [1609.06119] FastBDT: A speed-optimized and cache-friendly implementation of stochastic gradient-boosted decisio…

Pythonでデータ分析:XGboost

導入 前回、アンサンブル学習の方法の一つであるランダムフォレストについて紹介しました。 tekenuko.hatenablog.com 今回は、XGboostと呼ばれる、別の方法がベースになっているモデルを紹介します。 XGboostとは XGboostは、アンサンブル学習がベースになっ…

Pythonでデータ分析:ランダムフォレスト

導入 前回、非線形的な効果を表現することの一例として、決定木回帰を紹介しました。 tekenuko.hatenablog.com決定木は、ざっくりとしたデータの特徴を捉えるのに優れています*1。しかしながら、条件がデータに依存しがちなため、過学習しやすいという欠点も…

Pythonでデータ分析:決定木

導入 前回、線形回帰からの拡張の一つとして、非線形項をモデルに加えることを紹介しました。 tekenuko.hatenablog.com 非線形性を表現する方法は他にも幾つかあり、その一つに、決定木という手法があります。今回は、回帰に決定木を用いた方法を紹介します…

Pythonでデータ分析:非線形効果を導入

導入 前回、ボストン近郊の住宅情報のデータを用いて線形回帰モデルを作りました。 tekenuko.hatenablog.com今回は、モデルの性能を上げる可能性の一つとして、多項式や指数・対数などの非線形効果をモデルに投入した場合の振る舞いを見ようと思います。 参…

Pythonでデータ分析:線形回帰モデル

導入 データ分析にて、最も基本的な回帰分析から始めていきます*1。回帰分析とは、説明したい変数(目的変数)とそれを説明するための変数(説明変数)の間の関係を求める手法です。機械学習の手法の区分としては、教師あり学習(解答に相当する教師データを…

Pythonでデータ分析:導入

背景 最近、業務でPythonを使っているのですが、不慣れな部分もありRレベルで自在に使いこなせていないと感じています*1。そのため、基本的な部分からおさらいをしていこうと考えました。 目標 試してみたいデータがあった場合に、簡単な分析に関してはとっ…