Menu
CoddyTech

StandardScaler

Coddy Machine Learning 여정의 머신러닝을 위한 통계 섹션에 포함된 레슨. 64개 중 50번째.

모델은 새로운 모든 샘플을 학습 데이터에 적용한 것과 정확히 동일한 방식으로 스케일링해야 합니다. scikit-learn의 StandardScaler는 표준화하고 그 방법을 기억합니다:

도표: 창문 청소부의 과거 작업 4건인 X_train이 fit을 거쳐 mean_ 8과 22, scale_ 4.47과 9.72를 기억하는 스케일러로 들어갑니다. 새로운 작업인 8과 30은 transform을 거치며, 이 숫자들을 사용해 0.00과 0.82로 나옵니다

코드에서 각 작업은 청소한 창문 수와 소요 시간(분)으로 나타냅니다:

from sklearn.preprocessing import StandardScaler

X_train = np.array([[2, 8], [10, 25], [6, 20], [14, 35]])
scaler = StandardScaler()
scaler.fit(X_train)
X_new = np.array([[8, 30]])  # 샘플 하나: 행이 하나인 표
print(np.round(scaler.transform(X_new), 2))

다음이 출력됩니다:

[[0.   0.82]]

fit은 각 열의 평균과 표준편차를 학습하고(np.std처럼 n으로 나눔), 이를 scaler.mean_과 scaler.scale_에 저장합니다. transform은 이를 적용합니다.

새 데이터에는 절대 fit하지 마세요. 작업의 평균이 자기 자신이 되어 [[0. 0.]]이 됩니다. 학습 데이터에서는 fit_transform이 한 번의 호출로 두 작업을 모두 수행합니다.

challenge icon

챌린지

중급

분류기는 X_train에 있는 아보카도의 무게, 단단한 정도, 수확 후 경과 일수를 학습했습니다. 프로그램은 새로운 아보카도를 한 행짜리 표 new_avocado에 읽어 들이지만, 시작 코드의 스케일링은 모든 아보카도에 대해 [[0. 0. 0.]]을 출력합니다.

  1. 문제를 해결하세요. 학습 데이터의 평균과 표준편차를 사용해 새로운 아보카도의 스케일을 조정하세요.
  2. 측정값 중 학습 데이터의 평균에서 어느 쪽으로든 표준편차 2보다 더 벗어난 값의 개수를 세고, 아래와 같이 출력하세요.

다른 배치의 경우:

New avocado: [[2.98 0.   0.09]]
1 of 3 measurements are more than 2 std from the training avocados

직접 해보기

import numpy as np
from sklearn.preprocessing import StandardScaler

# 훈련용 아보카도, 한 행에 하나씩: 무게(그램), 단단함(1부터 10까지), 수확 후 경과 일수
X_train = np.array([[210, 8, 2],
                    [185, 5, 6],
                    [240, 7, 3],
                    [170, 3, 9],
                    [225, 6, 5],
                    [195, 4, 7]])
# 벨트 위의 새 아보카도
weight = float(input())
firmness = float(input())
days = float(input())
new_avocado = np.array([[weight, firmness, days]])

# 모든 아보카도에 대해 [[0. 0. 0.]]이 출력됩니다: 이를 수정하세요
scaler = StandardScaler()
scaled = scaler.fit_transform(new_avocado)
print("New avocado:", np.round(scaled, 2))

# 아래에 코드를 작성하세요
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

머신러닝을 위한 통계의 모든 레슨

직접 연습해 보세요: 온라인 Python 컴파일러