강의자료 · 머신러닝의 이해

NumPy

행과 열을 혼동하지 않고 표본별·특징별 집계를 계산하는 연습입니다.

실습 전에

01 axis=0과 axis=1은 무엇을 모을까요?

설명

2차원 배열에서 각각 행 방향과 열 방향으로 값을 줄여 집계합니다.

02 값이 모두 같은 열을 Standardization하면 어떤 문제가 생길까요?

설명

표준편차가 0이므로 나눗셈 규칙을 별도로 정해야 합니다.

실습

실습용 노트북 미리보기실습용 노트북 다운로드

1. 축별 집계

시작 조건

X=[246135024357]X=\begin{bmatrix}2&4&6\\1&3&5\\0&2&4\\3&5&7\end{bmatrix}이며 행은 표본, 열은 특징입니다.

진행 방법

  1. axis=0과 axis=1의 평균을 예상하고 NumPy로 확인하세요.
  2. 첫 두 행·마지막 열·값이 4 이상인 원소를 각각 선택하세요.

남길 결과

기록 항목과 확인할 점
연산
예상 shape
실제 shape
결과

확인할 점

  • 행과 특징의 의미를 바꾸어 해석하지 않았는가?

2. 스케일이 다른 특징

시작 조건

마지막 열만 100배 한 자료를 만들고, 열별 Standardization 전후 평균·표준편차를 비교합니다.

진행 방법

  1. X는 보존하고 복사본 X2의 마지막 열만 100배 하세요. 변경 전후의 열별 평균·표준편차를 기록하세요.
  2. X2의 각 열에서 그 열의 평균을 빼고 표준편차로 나누세요. NumPy 기본값과 같은 ddof=0을 사용합니다.
  3. 열별 Standardization 전후 평균·표준편차를 나란히 적고, 100배 한 열이 다른 열과 같은 척도가 되었는지 두 통계량으로 설명하세요.

남길 결과

기록 항목과 확인할 점
자료·열
변경 전후 평균
변경 전후 표준편차
Standardization 결과

확인할 점

  • Standardization에 해당 열의 평균·표준편차를 사용했는가?

3. 다른 입력에서도 확인하기

시작 조건

상수인 특징 열을 하나 추가했을 때 Standardization 분모가 0인 경우를 처리합니다.

진행 방법

  1. 모든 행에서 같은 값을 갖는 열 하나를 X에 붙이고 그 값과 열 위치를 적으세요. 예를 들어 값 1인 열을 붙일 수 있습니다.
  2. 열별 평균과 표준편차를 구하고, 표준편차가 0인 열을 표시하세요. 그 열을 나누는 데 사용할 처리 규칙을 코드에 넣으세요. 예를 들어 해당 분모만 1로 둘 수 있습니다.
  3. 상수 열의 변환 결과와 전체 결과의 np.isfinite(...).all()을 기록하세요. 상수 열에서 표준편차를 그대로 나누면 무엇이 달라지는지 설명하세요.

남길 결과

기록 항목과 확인할 점
상수 열 위치·값
평균·표준편차
분모 0 처리 규칙
변환한 열·유한값 판정

확인할 점

  • 표준편차가 0인 열의 처리와 실제 출력을 기록했는가?