特徴量とラベル
CoddyのMachine Learningジャーニー「データとプロット」セクションの一部。レッスン 53/60。
モデルは入力から答えを学習するので、2つのものを渡します。特徴量のXと、各サンプルに1つずつ対応するラベルのyです。
as_frame=Trueで読み込まれたデータセットには、両方が用意されています:
iris = load_iris(as_frame=True)
X = iris.data
y = iris.target
print(X.shape, y.shape)これは次のように出力されます:
(150, 4) (150,)Xの行iは1つの花で、y[i]はその種を表します。ラベルはXには含めません。答えを読めるモデルでは何も学習できないからです。
次に、y.value_counts()でクラスを数えます。irisは各クラスが50個ずつある、バランスの取れたデータセットです。
チャレンジ
中級scikit-learn の手書き数字は 8 × 8 の画像で、それぞれが 64 個のピクセル値(特徴量)として保存され、画像に表示されている数字のラベルが付けられています。
チームメイトのデータ分割では X: (1797, 65) と表示されます。つまり、X にはまだ正解ラベルが含まれています。
Xに 64 個のピクセル特徴量だけが含まれるように修正してください。- 準備済みの行の下に、プログラムが読み取る数字
dを示すサンプル数を表示してください。
入力が 3 の場合:
X: (1797, 64)
y: (1797,)
Samples of digit 3: 183自分で試してみよう
from sklearn.datasets import load_digits
digits = load_digits(as_frame=True)
d = int(input())
# 特徴量とラベル
X = digits.frame
y = digits.target
# 以下の行は変更しないでください
print(f"X: {X.shape}")
print(f"y: {y.shape}")
# 以下にコードを書いてください
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
データとプロットのすべてのレッスン
自分で練習してみよう: Pythonオンラインコンパイラ