これだけは知っておきたい!ビジネス層のためのデータ分析超入門 ② 評価指標

はじめに

エンジニア歴1年目の私が、機械学習について調べたことをまとめていきたいと思います。

今回は、私が分からないなりにも「これだけは覚えておきたい!!」と感じた、データ分析を始める上で欠かせない評価指標についてまとめてみました。

私の理解を深めるためにも、今回はシンプルな(※)二項分類を例に解説していきます。

二項分類...属性によって、2つに分類すること(英語か日本語、大文字か小文字など)

ゴール

今回は以下の評価指標ざっくり解説していきます。

解説用語

  1. TP,TN,FP,FNと混同行列
  2. 適合率と再現率
  3. ROC曲線とAUC

1.TP,TN,FP,FNと混同行列

TP,TN,FP,FNとは、二値分類の種類
混同行列とは、二値分類の結果を可視化したもの

TP,TN,FP,FNは、以下の4つになります。(例として車の画像を判別する例で示します)

  • 真陽性(True Positive)
    例)車の画像(Positive)を正しく(True)車の画像である(Positive)と判別した
  • 真陰性(True Negative)
    例)車以外の画像(Negative)を正しく(True)車以外の画像である(Negative)と判別した
  • 偽陽性(False Positive)
    例)車以外の画像(Negative)を間違えて(False)車の画像である(Positive)と判別した
  • 偽陰性(False Negative)
    例)車の画像(Positive)を間違えて(False)車以外の画像である(Negative)と判別した

これらの情報を一つにまとめ、正解・不正解を整理した表を混同行列(confusion matrix)といいます。

ちなみに上記の例を混同行列で表すと以下になります。

正しくは車 正しくは車ではない
予測が車 無題のプレゼンテーション (8).png 無題のプレゼンテーション (7).png
予測が車ではない 無題のプレゼンテーション (9).png 無題のプレゼンテーション (10).png

2.適合率と再現率

適合率とは、出力した結果の内、本当に見つけたいデータの割合はどの程度あるかの指標
再現率とは、網羅性を測る指標

例を出して説明していきます。

車と電車の写真データ群の中から、車の写真を選び出す検索システムAと検索システムBがあるとします。

結果は図のようになりました。

無題のプレゼンテーション (11).png

システムAでは検索でヒットしたのが60件。車以外の電車などの写真をヒットさせる誤りはなんと0でした。しかし、車の写真の取りこぼしが70件発生してしまったようです。

システムBでは検索でヒットしたのが250件。Aとは反対に電車の写真をヒットさせる誤りが90件発生してしまいました。しかし、車の写真の取りこぼしはありませんでした。

この場合、どちらの検索システムのほうが優秀でしょうか??

それは、検索の目的によって異なります。

上記のケースですと、

システムAは、出力した結果の内、本当に見つけたいデータ(車の写真)の割合が高かったので、「適合率が高い」と言え

反対にシステムBは、正解の検索ヒット数が高い(網羅性が高かった)ので、「再現性が高い」と言えます。

3. ROC曲線とAUC

データ分析の中でも、白黒はっきりしない曖昧な結果が出てくることがあると思います。
そんな時に使用する評価指標が、「ROC曲線とAUC」です。

この評価指標は、医療現場における検査や診断薬の性能などで多く使われるものになりますので、医療での検査を例に解説していきます。

下記は、ウイルスに感染しているかをAIが判断するモデルとします。
笑顔の人は健康な状態、目がバッテンで明らか体調の悪そうな人が病気の状態です。
アイコンの下の数字は陽性率を示します。

陽性率が低い人の中にも体調が悪そうな方がいますね。

このウイルスの感染の有無を2項分類したときに、「病気」とAIが判断する確率を陽性率とすると「真陽性率=AIが陽性と判断した中で本当に病気を患っている人の割合」、「偽陽性率=本当に陰性の人をAIが陽性と判断した割合」と定義できます。

無題のプレゼンテーション (12).png

では、陽性率が0.7以上の人を陽性とします。

無題のプレゼンテーション (13).png

このように赤枠で表示することができます。

ROC曲線とは、真陽性率(TP)を縦軸に、偽陽性率(FP)を横軸にした2次元のグラフのこと

この例であるならば、「AIが陽性と判断した中で本当に病気がある人の割合」が縦軸になり、「本当に陰性の人をAIが陽性と判断した割合」が横軸になり、偽陽性率は1/6、真陽性率は1/3となるわけです。

ROC曲線を実際に作成すると以下になります。

2021-05-06_15h45_57.png

曲線中にできた面積(図中の灰色の部分)がAUCになります。

AUCとは、ROC曲線を作成した時に、グラフの曲線より下の部分の面積をAUC(Area Under the Curve)のこと

AUCは0から1までの値をとり、値が1に近いほど優れた精度で分類ができていると言えます。

さいごに

簡単ではありますが、データ分析に関する評価指標について解説しました。

ぜひ、参考になれば幸いです。


これだけは知っておきたい!ビジネス層のためのデータ分析超入門 ① 基礎用語

はじめに

エンジニア歴1年目の私が、機械学習について調べたことをまとめていきたいと思います。

今回は、私が分からないなりにも「これだけは覚えておきたい!!」と感じた、データ分析の超入門用語を7つピックアップしました。

ゴール

今回は以下の解説用語をざっくり解説していきます。

解説用語

  1. 特徴量
  2. 説明変数と目的変数
  3. データ探索
  4. 可視化
  5. 特徴量エンジニアリング
  6. 学習と推論

1. 特徴量

特徴量とは、対象となるデータの特徴を数値化したもの

犬を例に説明していきます。

私たち人間は犬を見ると、大きさや顔の特徴、毛並み等から「チワワ」とか「日本の犬」等を判別することができます。

ですが、コンピュータの世界ではそうはいかず、大きさや顔の特徴などを明確に数値化して始めて「犬種」を判断することが可能になります。
これらの大きさや顔の特徴などを数値化したものが「特徴量」に当たります。

無題のプレゼンテーション.png

特徴量の選択は、機械学習を行うさいには最も大事なデータの質や量が求められます。つまり、良質な機械学習を行いたい場合は良質なデータの質と量が大きく影響してくると言っても過言ではありません。

ちなみに、特徴量のデータの数のことを「次元」と言います。私たちが、犬の種類を判別するときに複数の情報から判断するように、機械学習でも複数のデータをコンピュータに学習させ判断させます。

大きさや毛並みの色を特徴量にする場合は2次元、そこに顔の特徴などを加える場合は3次元といった感じですね。

2. 説明変数と目的変数

説明変数とは、予測のポイントとなるデータのこと。特徴量に当たる。
目的変数とは、予測対象の過去のデータのこと

セールスを例に説明していきます。

Aという会社でペンを販売しているとします。
セールスでは売上を管理する際に、「今期はお客様にどれだけ売れるか?」の予測がつくと便利ですよね。

この予測を行うためには、コンピューターに「過去どれくらい売上が立っているか」を学習させる必要がありますので、「過去の売り上げ」が目的変数になります。

そして、この予測の根拠となるデータ(セールスマンの人数、景気、アポイントの数、等)を学習させることによって予測の精度を上げることができます。この「根拠のデータ」にあたるのが、説明変数(特徴量)になります。

無題のプレゼンテーション (3).png

3.データ探索(EDA)

データ探索(EDA)とは、分析初期のフェーズで「データを理解するため」に行う作業のこと

データ探索を行う目的としては、まずはデータに触れてみて、データを可視化したり、データのパターンを探したりすることで、「データを見てからモデルを修正する」必要性があるからです。

少しわかりずらいですね。
図で説明しましょう。

Aさんが売上予測モデルを作ってほしいと依頼されました。
しかし、Aさんは売上のデータは扱ったことがありません。

そこで、まずは営業部から売上のデータを集めて、簡単にグラフを作ってみることにしました!

無題のプレゼンテーション (5).png

するとどうでしょう。構想段階では分からなかった「異常値や欠損値」が発見され、またデータの「トレンド・パターン」を発見することが出来ました。

この実際のデータを集めて、図や表に表してみるという行動が「探索的データ解析」に当たります。

探索的データ解析の成果によってその後の作業効率が変わるため、非常に重要な作業になります。

4.可視化

可視化とは、データを見える形で整理すること

身近な例だと、エクセルで管理している売上データや在庫の数などを表や図に変換することなどが挙げられますね。

例えば、売り上げの数字がエクセルに羅列されているとします。
ぱっと見たときに、数字が大量に並んでいるだけでは「何がどう変わっているか」って分かりづらいと思います。特に大事な意思決定の場では、数字だけ並べられても判断までに時間がかかってしまいます。さらに、そこにデータ量が1000行とかあったらどうでしょう、、、。ぞっとしますよね。

そんなときに必要になるのが可視化です。

無題のプレゼンテーション (4).png

可視化は以下のようなメリットがあります。

・属人的なスキルへの依存解消
・クイックな意思決定

5.特徴量エンジニアリング

特徴量エンジニアリングとは、人為的にAIの予測精度を上げるために用いる技術のこと

データ分析ではあるあるにはなりますが、せっかくデータ分析のモデルを作成したのに、予測精度がいまいちだと利用価値がなくなってしまうことが多々あります。

上記の要因の一つとして、集めた生のデータには不良値や欠損値などが含まれている場合や、そのまま扱えない文字データ・画像データがある場合があり、より利用価値の高いモデルを作るために、人がデータを加工する必要があります。

そのデータを表形式にまとめてパターン認識できるように変換する技術を特徴量エンジニアリングと呼んでいます。

【代表的な特徴量エンジニアリング】

Label encoding

例えば、好きな色…青なら3、白なら1 といった感じで、好きな色を言語ではなく数値に変換する技術です。

2021-04-30_19h00_50.png

Count Encoding

例えば、好きな色を集計したデータが1000件あるとして、その中から
好きな色…青は300件、白は200件…と、そのまま集計した好きな色のデータ件数を数値に変換する技術です。

無題のプレゼンテーション (6).png

まだまだ他にもデータ分析のモデルの予測精度を上げるための特徴量エンジニアリングはたくさんありますが、
長くなるので割愛します。

6.学習と推論

そもそも、機械学習とは、大量の学習データをコンピュータに読み込ませ、そのデータを分析することで分類や識別のルールを作ろうというプログラムのことを指しています。

機械学習をするためのプロセスは、学習 と 推論 の2つに分けられます。

学習とは、大量の学習データの統計的分布から、特徴の組み合せパターンを作り出すプロセス

例えば、学習データである「イチゴ」「レモン」「スイカ」の画像から、コンピュータがそれぞれの画像から見つけた典型的な特徴の組み合わせパターン(=推論モデル)を作ります。

推論とは、分類や識別をしたいデータを、学習で生成しておいた推論モデルに当てはめて、その結果を導くプロセスで

例えば、未知の画像から、画像の特徴を抽出し、「イチゴ」「レモン」「スイカ」を識別する推論モデルに抽出した特徴を照合します。

そして、イチゴの特徴の組み合わせパターンから作られた推論モデルが最も抽出した特徴に近いと判断すれば、「イチゴ」という推論をコンピュータが出力してくれます。

MicrosoftTeams-image (2).png

さいごに

簡単ではありますが、データ分析に関する基礎用語について解説しました。
一つ一つをじっくり説明すると長くなってしまいますので、色々割愛させていただきましたが、調べていく中でデータ分析の奥深さと難しさを改めて感じました。

ぜひ、参考になれば幸いです。


Databricks と AWS の VPC ピアリング接続設定

はじめに

今回は異なる AWS アカウント上に立てた RDS と Databricks を、ピアリング接続する方法について紹介したいと思います。
Databricks の下記のドキュメントを参考にしておりますので、詳細については下記リンク先を参照。

■リンク
VPC peering

前提条件

ピアリング接続を実施するにあたり、確認すべき項目があります。
少なくとも下記の2つは満たしていないと、VPC の構築からやり直す必要があるので気をつけましょう。

■ピアリング接続の条件
・接続する VPC は互いに異なる CIDR 範囲であること
・接続する VPC は同じリージョンにあること

今回ピアリング接続を実施する環境の情報は以下となります。

AWSアカウント情報 Databricks RDS CIDR範囲 リージョン
AWSアカウントA あり なし AWSアカウントBと異なる 東京リージョン
AWSアカウントB なし あり(Oracle RDS) AWSアカウントAと異なる 東京リージョン

手順1

AWSアカウントA

①Databricks 側のVPCコンソール画面で、左にある「ピアリング接続」をクリック
②「ピアリング接続の作成」をクリック
③必要情報を入力して作成。無事に作成できたら、「ピアリング接続の承認待ち」というステータスになるので、AWSアカウントB側で承認されるのを待つ

image.png

AWSアカウントB

①VPCコンソールの「ピアリング接続」タブを確認
②AWSアカウントAよりピアリング接続の承認依頼が来ているので(直ぐに表示されない場合があるので、まだ表示されてなかったら更新などして待つ)、表示されているピアリング接続をクリックし、「アクション」→「承認」と選択
③AWSアカウントAよりピアリング接続の承認依頼が来たのを確認したら、表示されているピアリング接続をクリックし「アクション」→「承認」と選択

手順2

AWSアカウントA

①VPCダッシュボードの「ピアリング接続」を選択
②承認されたピアリング接続を選択したら、「アクション」→「DNS編集」を選択
③「DNS解決を有効」にして保存

AWSアカウントB

①VPC ダッシュボードの「ピアリング接続」を選択
②承認したピアリング接続を選択したら、「アクション」→「DNS編集」を選択
③「DNS 解決を有効」にして保存

手順3

AWSアカウントA

①VPC ダッシュボードにある「ルートテーブル」を選択し、該当 VPC のルートテーブルを検索
②ルートテーブルの「編集」を選択し、ピアリング接続している AWS アカウントB の VPC の CIDR 範囲を「送信先」に入力し、「ターゲット」に作成したピアリングを選択して保存

AWSアカウントB

①VPC ダッシュボードにある「ルートテーブル」を選択し、該当 VPC のルートテーブルを検索
②ルートテーブルの「編集」を選択し、ピアリング接続している AWS アカウントA の VPC の CIDR 範囲を「送信先」に入力し、「ターゲット」に作成したピアリングを選択して保存

image.png

手順4

AWSアカウントA

①VPCダッシュボードで「セキュリティグループ」を選択し、Databricks と連携している VPC の ID で検索をかける
②検索をかけた際、セキュリティグループの説明の部分に「Unmanaged security group 」と記載があるセキュリティグループのIDをコピーして、アカウントB側に情報を提供する

image.png

AWSアカウントB

①VPCダッシュボードで「セキュリティグループ」を選択し、RDSを構築している VPC の ID で検索をかける
②検索して出てきたセキュリティグループを選択し、「編集」を選択し、「ルールの追加」を選択
③「タイプ」には「Oracle-RDS」 を選択し、AWSアカウントA側で提供された「Unmanaged security group」の ID を「ソース」に入れて保存

image.png

手順5

AWSアカウントA

①Databricks 側でクラスターを用意
②notebook で下記のコマンドを入力して、疎通を確認

[crayon-633199fea81aa139907092/]

・hostname:RDS のエンドポイント
・port:ポート番号(Oracle の場合は1521)

おわりに

これで、異なる AWS アカウントにある Databricks と RDS ピアリング接続することが可能となりました。


Amazon Lookout for Visionで異常検出 その2(Python3.6)

はじめに

Amazon AI by ナレコム アドベントカレンダー 2020の20日目の記事です。

前回のAmazon Lookout for Visionで異常検出 その1では、AWSコンソール上でAmazon Lookout for Visionの異常検出プロジェクトを作成し、学習とトライアル検出を行いました。
今回は、boto3を用いて作成したモデルをホスティングし、推論を行ってみましょう。

開発環境

  • AWS CLI 2.1.13
  • boto3 1.16.40
  • Python 3.6
  • Windows PC

導入

IAMユーザーの作成、AWS CLI & SDKs の設定、AmazonLookoutVisionFullAccessのアクセス権限を与えます。AmazonLookoutVisionFullAccessポリシーが見つからなかったので、作成しました。

image.png

AWS CLIとboto3を更新しておきましょう。

Windows での AWS CLI バージョン 2 のインストール、更新、アンインストール

[crayon-633199fea8d27410801518/]

Start

作成したモデルを開始します。プロジェクト名(test)とモデルのバージョン(1)を指定します。

[crayon-633199fea8d2e150676409/]

状態が「STARTING_HOSTING」となります。

[crayon-633199fea8d30642318724/]

Describe

モデルを開始したら、状態を確認しましょう。

[crayon-633199fea8d32304864968/]

状態が「STARTING_HOSTING」となっています。

[crayon-633199fea8d36655300087/]

「HOSTED」になれば使用可能です。

[crayon-633199fea8d38460095454/]

もしモデルが停止していた場合は、「TRAINED」となっています。

[crayon-633199fea8d3b731897536/]

Detect

モデルの状態が「HOSTED」になったら、推論してみましょう。これらの画像をテストしました。

異常(capsule/test/squeeze/001.png) 正常(capsule/test/good/022.png)
000.png 022.png
[crayon-633199fea8d3e988053652/]

正しい予測結果が出ています。

[crayon-633199fea8d40907412449/]
[crayon-633199fea8d42979538536/]

モデルが「STARTING_HOSTING」の状態のときに推論した場合、以下のようなエラーが出ます。

[crayon-633199fea8d44448626069/]

また、AWSコンソールのLookout for Visionのダッシュボードで検出結果を見ることができます。

最初に異常画像を推論した結果です。

image.png

次に正常画像を推論した結果です。ダッシュボードはすぐに更新されます。

image.png

Stop

モデルを停止します。停止するまで料金かかるので注意しましょう。

[crayon-633199fea8d47787041150/]
[crayon-633199fea8d49121538123/]

まとめ

前回作ったモデルをboto3を用いてホスティングし、推論してみました。これで運用できそうです。

参考


Amazon Lookout for Visionで異常検出 その1

はじめに

Amazon AI by ナレコム アドベントカレンダー 2020の13日目の記事です。
Amazon Lookout for Visionは、画像から欠陥のある製品を検出する新しいMLサービスになります。
早速使ってみましょう!

導入

1.MVTEC ANOMALY DETECTION DATASETを用います。Capsule (385 MB)をダウンロードしてください。

2.AWS Consoleを開き、「Amazon Lookout for Vision」を検索し、開始方法をクリックします。
image.png

3.初回セットアップでは、S3にバケットを作成します。
image.png

4.ダッシュボードを開いたら、プロジェクトを作成します。
image.png

5.プロジェクト名を適当に入力し、プロジェクトを作成します。
image.png

6.まずは、データセットを作成しましょう。
image.png

7.「1つのデータセットを作成する」を選択、
image.png

8.「コンピュータからイメージをアップロードする」を選択し、データセットを作成します。
image.png

9.イメージを追加します。最低でも10枚の異常イメージと、20枚の正常イメージが必要みたいです。
image.png

10.30個まで一度にアップロードできます。
image.png

11.画像を確認したらアップロードしましょう。capsule\train\goodから欠陥のない画像を30枚アップロードしました。
image.png

12.アップロードしたら、ラベルを追加します。
image.png

13.画像を選んで、Normal(正常)かAnomaly(異常)に分類します。30枚はすべて正常に分類します。
image.png

14.右上のアクションからトレーニングデータセットにイメージを追加していきます。
image.png

15.capsule\test\scratchフォルダから欠陥のある画像を11枚アップロードしました。
image.png

16.11枚を異常に分類します。
image.png

17.30枚の正常な画像と11枚の異常な画像のトレーニングデータが集まったので、モデルをトレーニングします。
image.png

18.モデルをトレーニングします。
image.png

19.確認事項が表示されますが、モデルをトレーニングします。
image.png

20.トレーニングが進行しています。
image.png

21.40分ほどでトレーニングが完了しました。スコアは90.9%となっています。
image.png

22.約半数(21枚)テストされ、11枚正常と予測したもののうち1枚が不正解、10枚異常として予測したもののうち1枚が不正解となりました。
image.png

image.png image.png image.png image.png

23.トライアル検出では、作ったモデルのテストを行うことができます。
image.png

24.タスク名を入力し、「モデル1」を選択、「コンピュータからイメージをアップロードする」を選択、
image.png

25.「異常を検出」をクリックします。
image.png

26.確認事項が表示されるので、「トライアル検出を実行」をクリックします。
image.png

27.30個まで画像をアップロードします。capsule\test\crackから10枚アップロードしました。すべて異常となる必要があります。(crackは学習していないため期待はできません。)
image.png

28.8割異常と予測されました。なかなか優秀ではないでしょうか。
image.png

image.png image.png
image.png image.png

29.「マシン予測を検証」から結果が正しいか誤りかを教えてあげましょう。今回はすべて異常でないといけません。
image.png

30.検証済みイメージをデータセットに追加します。
image.png

31.データセットに移動したら、検証済みイメージが追加されているので、再学習することができます。
image.png

まとめ

Amazon Lookout for Visionを用いて、カプセルの欠陥検出を行いました。このサービスを利用することで、簡単に学習・評価・改善のサイクルをまわせますね。
作ったモデルは、AWS SDKまたはCLIから使えるようです。これはまた次回ご紹介したいと思います。
お疲れ様でした。

参考


【導入事例を大紹介!】ナレッジコミュニケーションのdatabricks導入支援について

はじめに

d4474-22-282332-0.png
ナレッジコミュニケーションではdatabricksのソリューションパートナーとして、
これまで数多くのお客様に導入支援を実施させていただきました。
今回は代表的な導入事例や導入に伴う費用感についてご紹介させていただきます。

 

databricksとは?

databricks とはdatabricks社が開発したApache Spark をベースにした統合データ分析プラットフォームです。
米国ではデータ活用のプラットフォームとして databricks が第一の選択肢に上がるようになっており、Gartner社が選ぶデータサイエンスおよび機械学習プラットフォームの2020マジッククアドラントでリーダーに位置しています。
主な特徴として以下が挙げられます。
・クイックにデータ統合・分析環境の立ち上げが可能
・自動スケール、自動停止が可能
・複数のデータサイエンティストの生産性向上が見込める

 

 

トヨタ情報システム愛知様との事例

d4474-11-747650-1.png
テラバイト級のデータに対する処理機構としてdatabricksをご採用いただき、
30倍の処理速度向上と8割以上の運用コスト圧縮を実現しました。
【参考URL】
https://prtimes.jp/main/html/rd/p/000000011.000004474.html

 

 

電通デジタル様との事例

20201204.jpg
データサイエンティストチームの分析環境の統合基盤として databricks を採用していただきました。
分析の知見を社内で共有することが可能となり、顧客からの分析オーダーに対して導入前の2倍以上の速度でアウトプットが出来るようになりました。
【参考URL】
https://prtimes.jp/main/html/rd/p/000000023.000004474.html

 

 

某教育業界のお客様との事例

取り扱いに注意が必要なデータを扱う分析環境の導入をパブリッククラウドのアーキテクチャ設計も含めてご支援しました。
AWS、Azure といったクラウドと同様の第三者認証セキュリティを持つ databricks を採用することで、セキュアでありながらビッグデータ分析にも対応した分析環境を実装しました。

 

ナレッジコミュニケーションでの導入支援プラン

2021-02-26_09h50_56.png

ナレッジコミュニケーションではdatabricks の導入から、その後の運用までご支援可能です。
以下のホームページからお問い合わせが可能でございますので、ぜひご検討くださいませ。
【お問い合わせHP】
https://www.knowledgecommunication.jp/product/databricks.html

 

 

参考ランニングコスト

databricks のランニングコストは状況によってまちまちですが、
参考までに過去の利用ケースを基に、月額費用例を算出させていただきます。

■稼働状況
・データサイエンティスト4人が業務時間中フル稼働で利用​
・1人あたり1ヶ月約230時間分の仮想マシンを稼働
■分析対象データ
・60GB (契約データ、WEBマーケデータ、契約情報などのCRMデータ)​

2021-02-25_20h00_41.png

終わりに

近年データ分析を実施する際に
データの増大による処理時間の遅延や
エンジニア同士の共同作業の難しさから発生するタイムロス

が発生するケースが増えてきております。

もしお客様が上記のような問題を抱えているなら、
databricks の導入はその高性能処理能力や複数人での使いやすさから非常に有効なソリューションとなりうるのではないでしょうか。
ぜひ導入をご検討くださいませ。


Amazon Monitronがすごいので紹介してみる

はじめに

製造業で働いていると、機器トラブルで休みの日にも関わらず仕事に呼びだされる、、、
そんなことがこれまであったのではないでしょうか?
Amazon Monitronは機械学習(ML)を使用して産業機械の異常な動作を検出するサービスで、予知保全によって計画外のダウンタイムを削減することができます。
what-is-alarm.png
※異常検知時の画面サンプル

活用フロー

2020-12-25_11h21_22.png
1.モーター、ギアボックス、ファン、ポンプなどの回転機器にワイヤレスAmazon Monitron Sensorsを取り付け、振動と温度を測定

2.センサーデータは、Amazon MonitronGatewayを使用して自動的かつ安全にAWSに転送

3.センサーデータは、機械学習(ML)を使用して自動的に分析され、メンテナンスが必要な可能性のある異常な機器を検出

4.異常が検出されたときにモバイルアプリから端末にプッシュ通知を送信

利点

  • 従来のセンサーに比べてハードウェアへの先行投資額が少ない
  • 取得データから自動で分析できるため開発作業やMLの知識が必要ない
  • 故障前に異常を検知できる
  • 保存中および転送中のセンサーデータを暗号化することでセキュリティ強化できる
  • モバイルアプリを操作することで継続的なモデル改善ができる

センサーの取り付け対象機器

2020-12-25_11h36_15.png
上記の機器などからセンサーデータを入手できます。

センサーの取り付けについて

  • 温度と振動を効果的に測定できる全ての場所に取り付けてください(1機器あたり最大20個取り付け可能)
  • センサーを機器のハウジングに直接取り付けてください
  • センサーは3年周期で取り替えてください
  • 板金カバーなど、固有振動数により振動する可能性のある場所にセンサーを取り付けないでください
  • センサーを取り付けるには、工業用接着剤をご使用ください
  • 接触領域が少なくとも30 x 25mmである必要があります

初期費用

2020-12-25_11h52_05.png
サービス利用開始にあたりAmazon Monitron SensorsとAmazon Monitron Gatewayを購入していただく必要があります。

項目 価格
Amazon Monitron Sensors(5個入り) 575USD
Amazon Monitron Gateway(単品) 140USD

それぞれの料金は上記の通りです。

項目 価格
Amazon Monitronスターターキット 715USD

またお得なAmazon Monitronスターターキットもご用意されています。
(取り付けキット、5 個のセンサー、ゲートウェイのセット)

運用費用

Amazon Monitronはセンサー1つあたり年間50USDのランニングコストがかかります。

費用例

■要件
5つのモーターを監視する必要がある。
上記を実現するためにAmazon Monitronスターターキットを購入し、
モーターごとに1つのセンサーを取り付け3年間使用した。
■試算結果
スターターキット購入費用(715USD)+ センサー年間利用費用×5(250USD)×3年分 = 1465USD(3年間利用費用)

おわりに

これまで製造現場でIoTによる異常検知を導入する際には以下のボトルネックがあったかと思います。

  • センサーの取り付け費用が高く、費用対効果が見込めない
  • センサーからどんなデータが実際に取得できるかわからない
  • データからAIモデルを作成するノウハウがない
  • 頻繁に故障するわけではないので異常値のデータが少ない

Amazon Monitronは安価に導入ができ、分析も自動でしてくれるので、上記のような問題の有効な解決策になりそうです。
ぜひ導入をご検討ください!
※現状Amazon Monitronはバージニアリージョンにしか対応していません。


【AI入門】Amazon SageMaker Data Wranglerを使ってみた

はじめに

今回は、Amazon SageMaker Studio の追加機能の一つの可視化サービス、SageMaker Data Wrangler を触ってみようと思います。

  • データのインポート
  • データフローの作成
  • データの可視化、前処理、追加、結合などを行う
  • 作成したデータフローのエクスポート

の流れで SageMaker Data Wrangler を使っていきます。
SageMaker Data Wrangler を使いこなして、Amazon Sagemaker Studio をもっと便利に使えるようにしてみましょう!

SageMaker Data Wrangler の概要

AWS の各種サービスからデータをインポートし、データの可視化(リアルタイムで!)や変換の処理を GUI 上で行えるサービスです。
実際に行った処理をノートブックとしてエクスポートすることもできるので手元で処理して可視化して、処理して可視化して、、、という縦長ノートブックとのにらめっこからオサラバできそうですね。
名前が似ている AWS Data Wrangler というオープンソースの Python ライブラリがありますが、こちらとは別物のようです。
今回紹介されている Amazon SageMaker Data Wrangler はあくまでも SageMaker Studio の追加機能、という位置づけのようです。

SageMaker Data Wrangler の機能

SageMaker Data Wrangler は SageMaker Studio の追加機能であり、

  • ETL 処理をグラフィカルに記述する flow ファイルの作成
  • インポートするデータの選択
  • データの変換および分析の記述
  • 記述した処理をエクスポート

という流れで ETL 処理をサポートする機能であるといえます。

実際に触ってみる

今回は kaggle にある COVID-19 Dataset を用いて実際に Data Wrangler を使ってみました。
まずは Amazon SageMaker Studio に入ります。
2020-12-03_16h02_38.png

データのインポート

Data Wrangler を使うには最初に flow ファイルを作成します。最初のランチャー画面にある「New data flow」の+ボタンをクリックするか、画面上部の「File」→「New」→「Flow」としてファイルを作成します。
図1.png

図2.png

flow ファイルを作成すると「untitled.flow」というデータが生成されます。(名前の変更もできます。)インポートできるデータソースとしては Amazon S3 と Amazon Athena が選択できます。「Add data source」をクリックしてみると Redshift が選択できるようになっていました。

2020-12-03_16h15_16.png

flow ファイルには4種類のタブがあり、それぞれ

  • Import → データのインポート設定を行う
  • Prepare → グラフィカルにデータ変換・分析のフローを記述する
  • Analyze → 分析結果の表示
  • Export → エクスポートするコンポーネントを選択し、エクスポートする

ということが行えます。
S3 に事前にアップロードしておいたファイルをインポートしていきます。「Amazon S3」を選択すると、バケット選択画面になります。

図3.png

バケットを選択して、アップロードするファイルを選択します。S3 からのアップロードは CSV または Parquet が対応しています。

図4.png

ファイルを選択すると画面下部にプレビュー画面が表示されます。拡張子がついていないファイルは画面右の「File Type」から CSV か Parquet を選択する必要があります。「Enable sampling」が有効になっている場合、インポートされるファイルが最大100MBに制限されます。設定が終わったら「Import dataset」をクリックします。

image01.png

データフローの作成

インポートが完了すると、Prepare タブに遷移し、今回作成するデータフローがグラフィカルに表示されます。
image02.png

Data Wrangler はインポートされたデータのデータ型を自動で推測し、データフレームを作成します。表示されている「Data types」というコンポーネントが自動生成されるデータフレームになります。
生成されるコンポーネントはドラッグすることで動かすこともできます。

image03.png

「Data types」の横にある+ボタンをクリックすると後続の処理を追加できます。

image04.png

後続処理として追加できるコンポーネントには次のものがあります。

edit-data-types

データインポート時に自動生成されたデータフレームの各カラムのデータ型の変更が行えます。「Type」のプルダウンから選択できます。
変更する型を指定したら「Preview」で変更後のデータフレームが表示され、よければ「Apply」します。

スクリーンショット 2020-12-04 9.50.37.png

add-transform

読み込み時にデータフレームの変換処理を記述します。

image05.png

変換できる処理は次のようになっています。

  • Custom Transform

Python(Pandas, Pyspark)または SQL(Spark SQL) で変換処理を記述します。

  • Custom formula

新しいカラムを Spark SQL でクエリ書いて追加します。

  • Encode categorical

カテゴリのカラムをプルダウンで指定して One-hot encode または Ordinal encode します。欠損値の処理も Skip, Error, Keep, Replace with NaN から選択することができます。

  • Featurize date/time

date/time の型のデータを数値やベクトル表現に変換できます。

  • Featurize text

自然言語のカラムを Character statistics, vector に変換できます。Character statistics には単語数や文字数などがあり、新しい出力カラムが生成されます。

  • Format string

文字列のフォーマット(大文字、小文字、右寄せ、左寄せなど)を指定して変換してくれます。

  • Handle missing

欠損値の処理を指定します。変換の方法を impute, drop missing などから指定してそれぞれの方法に対して詳細な設定ができます。(impute ならカラムの型がなんであり、中央値か平均を代入する、など)

  • Handle outliers

外れ値の処理をかけます。標準偏差や quantile などを指定してどのように処理するか設定します。

  • Manage columns

カラムの移動、削除、複製、リネームなどを行います。

  • Manage rows

ソートやシャッフルをすることができます。

  • Manage vectors

数値データ列とベクトル列を Assemble や Flatten で処理できます。

  • Parse column as type

データ型を指定してキャストします。

  • Process numeric

標準化を行ったりロバストスケーラーや最大値最小値の範囲でスケーリングします。処理には Spark が使われているようです。

  • Search and edit

データの検索と、検索した値の編集ができます。置換や区切り文字で分割もできます。

  • Validate string

カラムに対して条件を指定して True または False で表現されるカラムを生成します。
追加した変換処理を Apply するとコンポーネントが追加されます。

image06.png

add-analysis

変換処理などを行ったデータを可視化できます。「Configure」タブではヒストグラムや散布図などを指定して表示させることができます。「Code」タブでは Pandas で記述できます。「Create」ボタンで描画した図を保存することができます。

image07.png

保存された図は flow ファイルの「Analyze」タブに保存されています。この画面からも「Create new analysis」から新しい図を描画できます。

image09.png

join

2つのデータセットの結合が行えます。データセットが複数必要になるには「Import」タブから最初にデータをインポートした時と同じ手順で実施します。
「Join」をクリックしたデータフレームが左側として指定されます。

image10.png

右側にのデータフレームを指定すると結合後のフローが現れるので「Configure」すると、

image11.png

プレビュー画面が表示され、どのように結合を行うのかを指定します。設定したら「Apply」して「Add」します。

image12.png

生成したデータフレームがコンポーネントとして追加されました。

image13.png

concatenate

データの連結を行えます。手順としては Join の操作に準じています。

image14.png

指定したら「Apply」して「Add」します。

image15.png

データフローのエクスポート

作成したデータフローをエクスポートします。まず「Export」タブに移動します。エクスポートしたいコンポーネントをクリックして「Export step」をクリックします。
image16.png

エクスポートの方法は現在4種類用意されています。

  • Data Wrangler Job
  • Pipeline
  • Python Code
  • Feature Store

Python Code では.py の拡張子を持つファイルとして生成されます。他の3つは SageMaker に統合されたノーブック形式でエクスポートします。
違いとしては、

  • Data Wrangler Job

作成したデータフローを丸ごとコード化

  • Pipeline

作成したデータフローのコード + Pipeline という機能への統合するためのコードが追記

  • Feature Store

作成したデータフローのコード + Feature Store という機能へ統合するためのコードが追記されます。とりあえず Data Wrangler Job としてエクスポートしてみます。

image17.png

無事エクスポートできました!

image18.png

おわりに

データの様々な前処理が GUI 上でできるのは本当に便利だと思います。今後はこの機能を使い倒していきたいと思います。他にも機械学習が便利になるサービスがあったら紹介していきたいと思います!


12/04(金)デジタル活用で経営革新を目指す!~事例から紐解く、人工知能(AI)と機械学習(ML)との向き合い方~

セミナー内容

各業界においてデジタル変革(DX)がビジネス構造や競争の原理を変える時代となりました。
しかしながら、多くの企業では、実証実験までは進めているものの、実際にビジネス変革につながっていないというのが現状です。
本ウェビナーでは、機械学習やクラウドを活用したDXの成功例を事例を交えてご紹介します。

 

対象となるお客様

経営企画、経営戦略、イノベーション、情報システム(IT)やデジタル変革・推進部門を中心とした各事業部門の管理職の方。

 

日時/場所/費用

開催日時:12 月 4 日(金)15:00 ~ 17:15
開催場所:オンライン
参加費用:無料

 

参加方法

https://www.knowledgecommunication.jp/news/219.html
上記URLよりご参加登録をお願いいたします。
申し込み後にウェビナーのプラットフォーム「Gotowebinar」のシステムより、お申し込み完了メールが届きますのでご確認くださいませ。

 

アジェンダ

当日のアジェンダは以下の予定です。

オープニングセッション

アマゾン ウェブ サービス ジャパン株式会社​
パートナーアライアンス統括本部​
テクノロジーパートナー本部​
セグメントリード(機械学習・IoT)小澤 剛様

事例セッション1​

株式会社ABEJA​
代表取締役社長CEO 岡田 陽介様

【タイトル】
ABEJAのデジタルトランスフォーメーション ~ AI+HIが実現するプロセス革命 ~

【セッション内容】
COVID-19の影響から、あらゆる企業でDXの必要性が叫ばれ、業務のデジタル化が急速に進んでいます。
DXを単なるデジタル化で終わらせないために鍵となるのがAIですが、肝心なAI活用については多くの企業がPoC止まりなのが実情です。
私達ABEJAは顧客のAIの本番運用、AI活用の内製化を前提とした支援を行っています。
そのために鍵となるのは、人とAIを融合させたオペレーション構築だと考えています。
この講演では、これからのDXのあり方とともに、人とAIを融合したAIの運用方法について解説します。

事例セッション2

​ブレインズテクノロジー株式会社​
取締役/業務執行責任者 榎並 利晃様​

【タイトル】
ここまできている!現場のDXを加速させる最新AI/ML活用事例

【セッション内容】
本セッションでは、製造業・建設業・ITのお客様を中心に、100社、12,000を超える機械学習モデル運用を支える「Impulse」を介して見えてきた、お客さまのAI/MLに対するニーズの変化及び活用事例と自社でデータ分析から機械学習の運用(MLOps)まで実施する上での課題とソリューションについてご紹介いたします。

事例セッション3​

合同会社 dotData Japan​
主席データサイエンティスト 博士(工学)
​山本 康高様​

【タイトル】
BI&AIの融合でデータドリブン型DXを実現するdotDataのテクノロジー

【セッション内容】
dotDataは、独自のAI技術を活用し、機械学習にとどまらずその前段となる特徴量設計をも自動化する、データサイエンス自動化プラットフォームを世界で初めて開発しました。
dotDataがもたらす過去のデータからの洞察、未来への予見といったインテリジェンスは、AIがデータドリブンで与えてくれる意思決定の材料となります。
デジタルトランスフォーメーションにおいても、AIによるデータドリブン型の業務/経営判断は核となる一方、AIの業務適用を成功させるためのプロセスが確立されておらず、現在の業務からの急激な切り替えが難しいという意見が多くあります。
本セッションでは、現在の業務で使われている「BIによる可視化」をdotDataによるインテリジェンスで拡張・拡大し、DXの第一歩を踏み出すためのステップを事例やデモを交えてご説明します。

事例セッション4​

株式会社ナレッジコミュニケーション
​代表取締役 奥沢 明​

【タイトル】
デジタルトランスフォーメーションを推進する企業のAI活用方法とは?

【セッション内容】
民間企業においてもDXによる合理化や新たな価値の創造は、企業が存続するために避けられない課題となりつつあります。
PoC、単発で終わらせないデジタル変革を推進するための環境づくりからデータ活用法まで、変化が大きい世の中でビジネスで使うAI/MLのススメ方についてご紹介します。

 

 

 

株式会社ナレッジコミュニケーションについてのご紹介

ナレッジコミュニケーションではAmazon Web Services、Microsoft Azure等のクラウドサービスを企業に導入する事業を行っております。
お客様の課題に対してクラウドを使って課題解決のご支援をさせていただいております。

実績掲載

1.ブックリスタ様 事例

https://aws.amazon.com/jp/solutions/case-studies/booklista-knowledgecommunication/

2.全国保証様 事例

https://prtimes.jp/main/html/rd/p/000000014.000004474.html


11/12(木)ビジネスパーソンにAI活用を。ナレコムAI使い方セミナー

セミナー内容

withコロナでDXの推進が急務になっている中、データをうまく使った新しい価値提供や、生産性向上のための取り組みを多くの企業が課題としております。
その中でも成功している企業では、「できることから小さくはじめる」、「トライ&エラー、PoCを繰り返し実施」、「体制、プロジェクト人選」等の工夫を行っております。

今回のセミナーでは上記の背景があるなか、専門スキルを必要とせずに数クリックで機械学習のモデルを自動的に構築/予測分析でき、クイックにビジネスに活用できるプラットフォーム「ナレコムAI」についてご紹介致します。

ナレコムAIが必要となる背景やユースケースについての解説のみならず、実際の画面を見ながらのデモンストレーションも実施させていただきます。

※ナレコムAIのWEBサイト: https://narekomu-ai.com/

対象となるお客様

  • 機械学習を自業務の活用を検討している方
  • データをお持ちで業務の効率化を模索している方
  • AIツールの導入を検討、調査されている方

本セミナーのゴール

  • ナレコムAIがどういったものかを知ることができます
  • ナレコムAIを使って、いますぐデータ分析を開始する

ナレコムAIとは?

AI(人工知能)・機械学習といった高度な技術を簡単に利用することが出来るクラウド型サービスです。
高いスキルを持った専門家なしには利用することが難しかった技術を、専門家不要で利用でき、データ分析の敷居を下げるためデータサイエンティストが担う 「機械学習のモデル構築・テスト・活用」をカバーするソリューションとなっております。
2020-11-05_11h25_29.png

アジェンダ

  • DX推進における課題と工夫している企業が取り組んでいること
  • ナレコムAIの概要紹介
  • ユースケース
  • デモ
  • QA

タイムテーブル(予定)

時間 内容
12時55分 受付開始
13時~ 開会のご挨拶
~13時15分 セミナー
~13時40分 デモ
~13時55分 QA
14時 閉会の挨拶

日時:2020年 11月12日(木) 13時~14時
場所:オンライン(Microsoft Teams)
参加費:無料

参加方法

当日のウェビナーはteamsを使用して開催します。 こちらよりお申し込みいただいた後に、登録完了メールがお手元に届きます。 そちらのメールに当日の参加用 URLが掲載されておりますので、ご確認をお願いします。

下記「プライバシーポリシー」をご確認・ご了承いただいた上で、お申し込みの際はお名前等のご記入をお願いします。 ご協力いただけない場合は当日参加をお断りさせていただく場合がございますので、予めご了承ください。
プライバシーポリシー / 個人情報の取り扱いについて

株式会社ナレッジコミュニケーションについてのご紹介

ナレッジコミュニケーションではAmazon Web Services、Microsoft Azure等のクラウドサービスを企業に導入する事業を行っております。
お客様の課題に対してクラウドを使って課題解決のご支援をさせていただいております。

実績掲載

1.ブックリスタ様 事例

https://aws.amazon.com/jp/solutions/case-studies/booklista-knowledgecommunication/

2.全国保証様 事例

https://prtimes.jp/main/html/rd/p/000000014.000004474.html