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

元素粒子論博士。今はデータサイエンティスト(仮)。

2016-09-01から1ヶ月間の記事一覧

トポロジカルデータアナリシス:データと図形を結びつける

導入 不定期でトポロジカルデータアナリシス(TDA)に関する紹介をします。今回の内容は、データから図形を見立てる方法と、TDAにて登場する単体的複体の紹介をします。 データを図形に読み替える 以下の図の左側のような点の集まりを、データの集まりだとしま…

トポロジカルデータアナリシス : 単体的複体

導入 不定期でトポロジカルデータアナリシス(TDA)に関する紹介をします。今回は、私たちが普段から何気なく慣れ親しんできた図形に関する話題です。ここでは、単体的複体をいう対象を考えます。 参考 このブログでは、数式を交えた説明は基本的にしません。…

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

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

アソシエーション分析のちょい復習

動機 最近こんな本を購入しました。 www.shoeisha.co.jp 第I部の「データアナリティクスの基礎」は、データ分析のプロジェクトの全体像に触れていて、データ分析のプロジェクトをどう進めていくかについて整理するのには良いのかな、と思いました*1。後半部…

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。そのため、基本的な部分からおさらいをしていこうと考えました。 目標 試してみたいデータがあった場合に、簡単な分析に関してはとっ…

Rで粒子フィルタ:RcppSMCのテスト

経緯 Rで粒子フィルタ(逐次モンテカルロ)ってできるんだっけ、とふと思ったので少し調べてみました。すると、Rのパッケージでは、例えば https://cran.r-project.org/web/packages/SMC/SMC.pdf : {SMC} https://cran.r-project.org/web/packages/RcppSMC/R…