kaggleで使えるツールVARISTAの機能まとめ

#VARISTAって🤔？
クラウド上で機械学習を行えるSaaSサービスです。
https://www.varista.ai/
![スクリーンショット 2020-05-25 22.17.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620435/1bd4909a-ffa6-5e53-097b-4fe96c2d70c1.png)
DataRobotやGCPのAutoML Tableのかっこいい版といった感じです。
しかも基本無料で使えるため、誰でもすぐに利用可能です。

#さっそく⭐️
Kaggle、Signateなどのデータサイエンスコンペサイトでは通常、
カーネルやjupyter、自前のpythonコードなどを利用して参加していると思います。

そこで今回はそれらのコンペに参加する上でVARISTAをつかうことで、どんなことができるのかを試してみました。
データは住宅価格予測（回帰）とタイタニック（分類）を利用して確認します。

#1. データの確認💡
VARISTAでは、ドラッグアンドドロップでデータをアップロードするだけで
データの自動解析が行われ、ある程度の情報を一瞬で確認することができます。
<img width="847" alt="スクリーンショット 2020-05-25 22.16.12.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620435/6130e019-5fea-58fb-3ce0-8db1cbecce1f.png">
アップロードが完了すると、データの情報が表示されます。
<img width="1256" alt="スクリーンショット 2020-05-25 22.20.45.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620435/3fb85030-cef3-2bd1-b6e9-ab0d307204b0.png">
ここでチェックするのは、各列の欠損数や、列のタイプくらいですかね。
IDなどの学習に利用しない列はトグルでOFFにしておきます。

また、となりのタブにある「集計情報」からは、各列の統計情報を確認することができます。
pandas. describe()の結果をGUIで確認できる感じです。
ちょっとデータを確認したいだけなのに、わざわざ数行のスクリプト用意するのめんどくさいとき結構ありますよね。
<img width="1318" alt="スクリーンショット 2020-05-25 22.22.57.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620435/2b978435-3c7e-9b53-057e-684e285fc889.png">

#2. データの可視化👀
KaggleなどでVARISTAを利用する上で最も重宝するのが、このビジュアライズ機能です！
pythonライブラリでもmatplotlibやseabornなど、データを可視化するライブラリはいろいろあると思います。
それらと比較して、何がいいか。
それは**勝手にクールなグラフを生成してくれる**ことです！
これからVARISTAが自動生成してくれる、各グラフをご紹介します。

####まずはヒストグラム
<img width="1248" alt="スクリーンショット 2020-05-25 22.32.37.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620435/44e04cd2-1c66-f1f2-f67a-e4bdd2ec7631.png">
こんな感じで各列ごとのヒストグラムを確認することができます。
もう一度言いますが、全自動です。なにもしてません。

####つぎに相関図
<img width="1298" alt="スクリーンショット 2020-05-25 22.34.20.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620435/02354a99-1fa2-5413-64c4-f74ad3fb9755.png">
各列と予測する列との相関関係が一眼でわかります。
数値列の場合、近似一時式の直線が表示されていたり、相関度が顔文字で表現されていたりします。
カテゴリ列の場合、最大、最小などのボックスチャートとなり表示されています。
自動でこれらの表示を分けて生成してくれるのがすばらしいですね。

また、これらのグラフは回帰データのもので分類問題だと以下のように表示が変わります。
<img width="1464" alt="スクリーンショット 2020-05-25 22.40.30.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620435/d57b7aaf-5378-7ddc-ba5f-3ab10d13e183.png">
タイタニックのデータでは、各数値、カテゴリごとの生存率が可視化されています。
これにより、*「年齢が若ければ若いほど生存率が高い」*などが一目瞭然です。
未知のデータに対しても、この機能だけでわかるインサイトは結構あるとおもいます。

####ヒートマップ
おなじみのヒートマップです。
<img width="1391" alt="スクリーンショット 2020-05-25 22.43.32.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620435/0c5eafa7-7f7b-2e4e-4f0c-f30c54770282.png">
正直あまりみないですが、とりあえず可視化しますよね（自分だけか）

#3. オート学習機能🚀
VARISTAはAutoMLツールなので、もちろん学習も可能です。
ですが、Kagglerの皆さんはもちろん精度を求めて、自分なりのパイプラインで学習を行うと思います。
だからといってVARISTAの学習は無駄か？というとそういうわけでもありません。
学習結果から得られるインサイトが結構あるのです。

学習が完了すると、このような結果画面が確認できます。
右側にあるFeature Importanceをみれば重要な変数が確認できます。
<img width="1286" alt="スクリーンショット 2020-05-25 22.47.45.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620435/ffe73e86-5811-8858-f470-c56d28ee9e5b.png">

また、詳細タブを開くとより細かい学習結果が確認可能です。
VARISTAでは欠損値の補完も自動的に探索するのですが、その結果が一覧で表示されています。
データの欠損値補完を悩んでる場合は、ここを参考にしてもいいと思います。
<img width="1269" alt="スクリーンショット 2020-05-25 22.48.58.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620435/1ba85c7c-8b00-a653-7401-c4be9f00d22c.png">

さらにVARISTAではアンサンブル学習に対応しているため、いくつかのアルゴリズムで学習させた結果も残っています。
これを確認することで、どのアルゴリズムで最もスコアが出たのかを確認することができます。
<img width="1204" alt="スクリーンショット 2020-05-25 22.49.10.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620435/082f68a0-7469-cfdd-9e85-d746a893b545.png">

#おわり👍
VARISTAではこれらの機能が無料で利用可能です。
スクリプトを書いてもいいけど、とりあえずデータを確認したいってときに使えるツールであることがわかるかと思います。
みなさんも是非お試しください🤪

https://www.varista.ai/