Menu
CoddyTech

ワインの化学

CoddyのMachine Learningジャーニー「機械学習のための統計」セクションの一部。レッスン 63/64。

あるワイン輸入業者が、3種類のブドウ品種から作られた178種類のワインについて、それぞれ13項目の化学測定値を検査しました。load_wine。モデルが品種を学習する前に、研究所では測定器の誤差を探します。

1つの軸に3種類のワインの未加工測定値を示す箱ひげ図:マグネシウムは約70から162まで広がる一方、約13のアルコール度数と約1の色調は下部の平らな線に押しつぶされている

各測定値は尺度が大きく異なるため、すべてに当てはまる単一の外れ値ルールはありません。標準化すると、各測定値は平均からの標準偏差の数で表されます。

そのものさしでは、どちら側でも3を超えて離れているものは、もう一度確認する価値があります。品種ごとの箱ひげ図を見ると、それぞれが通常どの位置にあるかがわかります。

challenge icon

チャレンジ

難しい

プログラムは特徴量の名前を読み取ります。

  1. pandas の .std() を使って、zスコアを df["z"] に格納します。
  2. どちらの側でも3を超えるワインの数を出力し、続けて各ワインを表の順に、インデックス、測定値、zの順で出力します。
  3. 各品種の平均zを出力します。
  4. 品種ごとにzスコアの箱ひげ図を1つ描き、wine.target_names を使って名前を付け、特徴量をタイトルに、z-score をy軸ラベルにします。

小数点以下2桁に丸めます。color_intensity の場合、次のように出力されます。

Outliers in color_intensity: 1
Wine 158: 13.0 (z = 3.43)
class_0: 0.2
class_1: -0.85
class_2: 1.01

そして、次の図を描きます。

color_intensity のzスコアの箱ひげ図3つ。タイトルは color_intensity。class_0 は約0.15、class_1 は約-0.9と低く、その上にいくつかの点があり、class_2 は約1.1と高く、ひげは3.43まで伸びている

その後、Coddyが箱ひげ図について説明します。

自分で試してみよう

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_wine

feature = input()
wine = load_wine(as_frame=True)
df = wine.frame

# 以下にコードを書いてください
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

機械学習のための統計のすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ