Menu
CoddyTech

特徴量が多すぎる

CoddyのMachine Learningジャーニー「教師なし学習」セクションの一部。レッスン 24/51。

この章では、少ない内容に多くの機能を詰め込みます。最後には、13個のワインの測定値が1つの地図になります。

178種類のワインを1つの地図に表示。横軸と縦軸には2つの新しい特徴量:3つのグループ、右側に品種1、中央下に品種2、左側に品種3

なぜ圧縮するのでしょうか?多くの特徴量はプロットしにくく、適合に時間がかかり、互いに重複していることもよくあります。たとえば、次の2つです。

178種類のワインにおける総フェノール量とフラボノイド量:点は左下から右上へ一緒に上昇しており、r = 0.86

双子は1つのアイデアを2回持っています。相関行列でそれらを見つけることができ、rは1または-1に近くなります:

wine = load_wine(as_frame=True).frame
corr = wine.corr()
print(round(corr.loc["flavanoids", "total_phenols"], 2))

これは 0.86 を出力します。各ペアから1つずつ残すか、統合します。この章では統合の方法を学びます。

challenge icon

チャレンジ

中級

石けん工房では石けんの各バッチについて10項目を測定するため、レポートが長くなります。双子を見つけましょう。プログラムはしきい値を読み込み、スターターコードでcorrを作成します。

  1. 異なる列の各ペアを1回ずつ調べます。
  2. 符号にかかわらず、絶対値がしきい値以上のrを持つ各ペアを、rを小数点以下2桁で表示します。
  3. 見つかったペアの数を表示します。

別の工房で、しきい値が0.85の場合:

lye_g and oil_g: 0.91
cure_days and water_left_pct: -0.88
Twin pairs: 2

自分で試してみよう

import pandas as pd

# 石けん工房:60個の石けんのバッチそれぞれについて10回測定
batches = pd.read_csv("soaps.csv")
limit = float(input())
corr = batches.corr()
cols = corr.columns

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

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

教師なし学習のすべてのレッスン

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