見出し画像

ワインの品質分析 〜成分から品質スコアを予測〜

こんにちは。MatrixFlow広報部の中野です!
今回はMatrixFlowを使ってワインに含まれる成分による品質分析をしたいと思います。
早速始めていきましょう!!!

❖データの用意❖

使うデータは、ポルトガルの「ヴィーニョヴェルデ」ワインの赤と白の成分(物理化学的性質)から品質をスコアで表しています。
以下のサイトからcsvデータをダウンロードします。

『Wine Quality Data Set』
https://archive.ics.uci.edu/ml/datasets/wine%20quality


ダウンロードしたファイルのデータ内容を見てみましょう!

1 - fixed acidity(酒石酸濃度)
2 - volatile acidity(酢酸濃度)
3 - citric acid(クエン酸濃度)
4 - residual sugar(残留糖分濃度)
5 - chlorides(塩化ナトリウム濃度)
6 - free sulfur dioxide(遊離亜硫酸濃度)
7 - total sulfur dioxide(総亜硫酸濃度)
8 - density(密度)
9 - pH(ph)
10 - sulphates(硫酸カリウム濃度)
11 - alcohol(アルコール度数)
12 - quality (score between 0 and 10)(品質(0から10の間のスコア))

※ブドウの種類、ワインのブランドなどに関するデータはありません。

今回は、品質(quality)のスコアの推論を実施するため、ダウンロードしたデータを一部別のファイルに移して「quality」の値を消去したファイルを作成しました。(推論用データ)

この段階で、用意したデータファイルは4つとなります。
①赤ワイン学習用データ
②赤ワイン推論用データ
③白ワイン学習用データ
④白ワイン推論用データ

このデータセットを使って、ワインの品質分析AIをつくっていきたいと思います。

では、MatrixFlowにアクセスして、“AI” で分析してみましょう!

◆MatrixFlowの操作◆

<プロジェクト作成>
MatrixFlowにログイン して、はじめに、プロジェクトを作成します。
プロジェクト一覧から「新規プロジェクトを作成する」をクリックします。

ワイン分析プロジェクト作成①

「テンプレートを使用してAIを構築する」または「自分でAIを構築する」のどちらかを選択します。今回は、「自分でAIを構築する」を選択します。

ワイン分析プロジェクト作成②

プロジェクト名とプロジェクトの説明を入れて作成します。

ワイン分析プロジェクト作成③

<データアップロード>
次に、データセットの設定を行います。使用するデータを設定するには、3つの方法がありますが、今回は「ファイルをアップロード」をします。

まずは、赤ワインから分析していきます。
上記で用意した「①赤ワイン学習用データ」の csvを所定の場所にドラッグ&ドロップします。

赤ワインデータアップロード②

データを取り込めたようですね。ファイルの情報が表示されたら、名前と説明を入力して「データセットをアップロードする」をクリックしましょう。

赤ワインデータアップロード③

<予測する列の選択>
データセットをアップロードしたら、予測する列の選択画面に移行します。
ワインの品質を分析したいので、「quality」を選択し、「予測する列を決定する」をクリックします。

赤ワイン予測する列選択

<データ前処理>

前処理のページへ飛びました。
ここでは、学習用データをAIが学習できる形に加工します。その工程を前処理と呼びます。
文字を数値変換したり、欠損値のある項目を特定の値で埋めたり、欠損値を含む行を削除します。
これを行うことで、AIの学習精度が上がります。

ここで、前処理を行う必要があると、エラー(赤字)表示されますが、今回はデータが整っていたので、前処理の必要はありませんでした。
何もせずに、左上の「前処理を完了する」をクリックします。

※前処理が必要な場合の方法については前回の記事で詳しく説明しています。

赤ワイン前処理

<レシピ>
データの準備ができたので、AIの設計図「レシピ」をつくっていきましょう!
レシピ管理のページで、新規作成ボタンをクリックします。

赤ワインレシピ作成①

「ブロックタイプ」からAIで何をするのかを選びます。
今回は自動構築AIのAutoMLから「AutoFlow(オートフロー)」を使います。

※「AutoFlow(オートフロー)」自動で最も精度の良いアルゴリズムの選定とパラメータのチューニングを行います。

赤ワインレシピ作成②

「AutoFlow」を設置エリアにドラッグアンドドロップして、「データ入り口」ブロックと「精度評価」ブロックに繋げます。
ブロックにポインターを合わせるとピンクの丸ポチが出てきますので、繋ぎたいブロックまで引っ張ります。

赤ワインレシピ作成④

次に、AutoFlowのブロックをクリックすると、右側のパラメータが表示されます。種類の項目で「回帰」選択します。「レシピを保存する」をクリックし、「名前」と「説明」を入力して保存します。

※回帰分析は、複数データの関連性を明らかにする統計手法の一つです。ある成果の値変動に別の要素がどのくらい影響を与えているかを分析することができます。

赤ワインレシピ作成⑤_回帰

これでレシピの用意は完了です!

<AIの学習>
AIの学習ページで、学習に使用する列(項目)を選択します。
今回は、全て選択します。「列名」にチェックを入れると全て選択されます。

赤ワイン学習_列設定

「学習を実行する」をクリックすると学習が始まります。

赤ワイン学習中①

10分ほどで結果が表示されました。

分析結果は・・・?
品質においてアルコール成分がとても重要なんですね(fmfm)
続いて、硫酸カリウム濃度、酢酸濃度、総亜硫酸濃度、、、と続きます。
(ここでは結果は深掘りせず、分析の手順を最後まで説明しますね。
また、精度向上の方法に関しては続編の記事でご紹介します!)

赤ワイン学習結果

この学習結果を保存します。
左上の「学習済みAIを保存する」をクリックして「名前」と「説明」を入力し、保存します。

赤ワイン学習データ保存

学習済みAIの保存が完了すると、「このAIを使って推論をする」または「引き続き学習する」の選択肢が出てきます。「このAIを使って推論をする」を選択します。
では、この学習データを元に、成分の値データから品質のスコアを予測してみましょう!

赤ワイン学習→推論

<推論>
推論の画面にとびますので、用意しておいた「②赤ワイン推論用データ(予測したいデータ)」をアップロードします。

赤ワイン推論データアップロード

すると、画面が切り替わりますので、「推論を実行する」をクリックします。

赤ワイン推論画面

わずか数秒で推論結果が表示されました。(めちゃくちゃ早い!!^ ^)
「quality(品質スコア)」が入ってますね!

赤ワイン推論結果①

結果の一つの詳細を見てみましょう!中でもスコアの高いものを開いてみます。
推論結果に影響を与えた重要度が表示されています。右側に表示されている学習済みAIの重要度と合っていますね。

赤ワイン推論結果③

この結果は、左上の「推論結果をダウンロード」をクリックすると、csvファイルでダウンロードすることができます。
「quality(品質スコア)」はこのように表示されます。この結果は、左上の「推論結果をダウンロード」をクリックすると、csvファイルでダウンロードすることができます。
「quality(品質スコア)」はこのように表示されます。

赤ワイン推論結果Excel①

右にスクロールすると、推論結果に影響を与えた重要度の値も見ることができます。

赤ワイン推論結果Excel②

「quality(品質スコア)」の予測の流れはこのようになりますので、白ワインも同じように予測してみましょう!

<AIの学習結果を見てみる>
赤ワイン、白ワインの分析が完了しましたので結果をみてみましょう!
「quality」に対するそれぞれの重要度はどのようになっているのでしょうか?????

赤ワインも白ワインも「quality」を決める上で、『アルコール』が最も重要度が高いんですねー。
2つ目以降は全く違っていますね。

赤ワイン:
アルコール
sulphates(硫酸カリウム濃度)
volatile acidity(酢酸濃度)
total sulfur dioxide(総亜硫酸濃度)
chlorides(塩化ナトリウム濃度)

白ワイン:
アルコール
volatile acidity(酢酸濃度)
free sulfur dioxide(遊離亜硫酸濃度)
density(密度)
residual sugar(残留糖分濃度)

どちらも重要度の上位に入っている「volatile acidity(酢酸濃度)」ですが、酢酸濃度の存在が苦味、酸味のある余韻に起因しているようです。確かに、ワインを飲んだ時を考えると酢酸はワインに必要な存在といえそうですね。

亜硫酸には、酸化の防止、有害な微生物の殺菌や繁殖の防止、 など様々な効果があることから、その種類や濃度によって発酵の進み方が違ってくることで色や匂い、味などに影響するのではないでしょうか。

白ワインにある「residual sugar(残留糖分濃度)」は、果汁の香りを抽出するために、発酵温度を低めに設定することで発酵が止まりやすく、甘口のワインが生まれやすいとのこと。そのため、糖度の重要度が高くなるんですね。

赤ワイン学習結果(※上記画像と同じ)

赤ワイン学習結果

白ワイン学習結果

白ワイン学習結果

このように、成分の量により赤 / 白 ワインの違いはもちろん、それぞれの中でも微妙な組み合わせの違いで品質が変わってくるんですね。

今回は用意したデータでそのままAIを作ってみました。
次回はより高い精度のAIを作成するための方法に関して、ご紹介します!


<まとめ>
このように、データがあればMatrixFrowでの操作は簡単です。
今回のように、品質の要因分析〜品質の予測というデータが出せれば、例えば、新商品の開発や販売価格の決定など幅広く使えるデータとなるのではないでしょうか。


MatrixFlowでは一緒に世界を変えるAIプラットフォームを作る仲間を募集しています!!

【会社概要】
株式会社MatrixFlowは、「テクノロジーで世界をつくる」をミッションとするAIベンチャーです。大人から子供、ビジネスマンから学生、デザイナーからサイエンティストに至るまで、様々な人々がAIを活用し、素晴らしい着想を得たり、あっと言わせるクールな活動をすることを支援したいと考えています。その実現に向けた第一歩として、プログラミング不要のクラウド型AI構築プラットフォーム「MatrixFlow」を開発しております。また、様々な会社でのAI活用を推進するためにAIの受託開発・コンサルティング事業も行っております。
【会社情報】
設立 :2018年10月
本社 :東京都台東区
URL:https://www.matrixflow.net/
事業内容:ビジネスのためのAI活用プラットフォーム「MatrixFlow」の運営、および、AIの受託開発・コンサルティング
【お問い合わせ先】
E-mail:support@matrixflow.jp
窓口:MatrixFlowカスタマーサポート

この記事が気に入ったらサポートをしてみませんか?