LoginSignup
8
3

More than 3 years have passed since last update.

非ElasticsearchユーザーにもおススメなKibanaで地味に便利な機能を紹介したい

Last updated at Posted at 2019-12-15

この記事はZOZOテクノロジーズ #1 Advent Calendar 201916日目の記事です。

昨日は@r-tezukaさんの国内アパレル製造業向けCADフォーマットTIIPの仕様について調査してみたでした。

本記事では普段Elasticsearchを利用していない方にも便利でぜひ使っていただきたいKibanaの機能を紹介します。

Kibanaとは

image.png

Kibanaとは、Elasticsearch上にあるデータを可視化するためのツールですが、その可視化だけの役割を超えて様々な機能が搭載されています。
Elasticsearchと同様にOSSの為、自由にインストールして利用することが可能です。(一部機能は有料ライセンスが必要ですが…)
また、各OS向けのインストーラがElastic社から公開されている為、簡単にローカルPCにインストールし試すことも可能です。

今回はElasticCloudの無料1週間トライアルを用いて紹介します。
なお、この際の注意点として、今回紹介しているML機能を利用するためにはデフォルトではOffになっているMLノードを設定からオンにする必要があります。

実行環境

バージョン
Elasticsearch 7.5.0
Kibana 7.5.0

非Elasticsearchユーザ向けにもおススメしたい機能紹介

File Data Visualizer機能

KibanaはElasticsearch上にあるデータを可視化するためのツールですが、GUI経由でElasticsearch上にデータを取り込む方法としてFile Data Visualizerが6.5より提供されています。
サポートされている形式は以下の通りです。

"区切り"を含むファイル(例:CSV)やNDJSON、準構造化テキスト(例:ログファイル)

これを持ちいたデータの取り込みにはML機能が用いられているそうで、同時にElastsearchへのデータ取り込みとmappingの提案まで行ってくれる優れものです。

Data Frame機能

DataFrame機能はML機能の中の一部として搭載されている機能ですが、かなり高機能で個人的にはすごく好きな機能です。
CSVのような構造化されたテキストの中で、それぞれの要素について分析を行い可視化まで行ってくれます。

ためししてみる

試しに、Kaggleのhttps://www.kaggle.com/c/titanic/overview のデータをサンプルにこの機能をやってみます。

データの取り込み

Kibanaを開き、右側のMachine Learningを開きます。
image.png

Data Visualizerを開き、データを画面上にドラッグ&ドロップで移動させます。
image.png

するとデータの内容を解析し、可視化してくれます。
左下のimportをクリックします。
image.png

インデックス名の設定は、今回はtitanic号のデータだったのでtitanicにしました。
image.png

すると、下記のようにデータの内容を可視化してくれます。右上のfilterからデータを絞り込むと任意のデータのみを分析することも可能です。
image.png

また、文字列カラムに関しては下記のようにどのようなデータがどのような割合で含まれているのかを可視化してくれます。
image.png

普段の業務ではこの機能を用いてログにどのような属性のデータが多いのか、どこに対してアプローチすれば値が改善されるのかを見ています。


以下の機能は7.5から出た機能だったので、試しに使用してみました。

Analyzeしてみる(outlier detection)

上のData Frame Analyticsを押し、右側のCreate Analytics Jobを押します。
image.png

設定は以下の通りです。

名前 設定
Job type outlier detection
Source index titanic
Destination index titanic-analyzed

そのままジョブをCreateしStartすると、画面上に以下のような表示が出てくるので、Viewを押します。
image.png

すると、下記のように分析結果が出ます。
image.png

このような形で、どのデータが外れ値で、どのカラムが起因しているかを可視化された状態で見ることができます。

Analyzeしてみる(regression)

先ほどと同様にData Frame Analyticsから新規ジョブを発行します。
titanicデータセットでは定番の生存の予測を行ってみます。
設定は以下の通りです。

名前 設定
Job type regression
Source index titanic
Destination index titanic-regression
Dependent variable Survived

すると下記の通り、ジョブが実行され結果が表示されます。
image.png

という想定だったのですが、先ほどと違いViewボタンがグレーアウトされています…Dev Tools上から直接インデックスの中身を覗くことは可能でしたが、可視化はもう少し先なのかもしれません。

最後に

以上Kibanaの最近のリリースで追加されたMLのData Frame Analitics機能と、普段から使用しているFile Data Visualizer機能を紹介してみました。

明日は@AmatsukiKuさんです!お楽しみに!

8
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3