투영
Coddy Machine Learning 여정의 비지도 학습 섹션에 포함된 레슨. 51개 중 25번째.
투영은 그림자처럼 각 점을 직선 위에 곧바로 떨어뜨립니다. Too Many Features에서 평균을 중심으로 한 와인 쌍을 두 직선 위에 나타내면 다음과 같습니다:
클라우드 전반에서 그림자가 분산의 대부분을 유지하므로, 와인당 숫자 하나만으로도 두 개를 사용했을 때와 거의 같은 정보를 전달합니다.
방향은 제곱한 두 수의 합이 1인 두 수입니다. 예를 들면 (0.6, 0.8)과 같습니다. 그림자는 가중합입니다:
centered = X - X.mean(axis=0)
shadow = centered[:, 0] * 0.6 + centered[:, 1] * 0.8
print(round(shadow.std(), 3))이렇게 하면 1.136이 출력됩니다. 가장 좋은 방향은 가장 넓게 퍼지는 방향입니다.
챌린지
중급산림 관리자는 솔방울마다 길이와 너비 대신 숫자 하나를 원합니다. 두 방향 중 어느 방향이 솔방울의 퍼짐을 더 많이 유지할까요? 프로그램은 방향 두 개를 읽으며, 각 방향은 숫자 두 개로 이루어집니다.
spread_along(direction)을 작성하세요. 해당 방향으로 투영한 솔방울 그림자의 표준편차를 구합니다.- 두 퍼짐 값을 소수점 이하 3자리까지 출력하세요.
- 유지할 방향을 출력하세요.
다른 솔방울의 경우:
Along [0.6, 0.8]: spread 2.104
Along [0.8, -0.6]: spread 0.412
Keep [0.6, 0.8]직접 해보기
import numpy as np
import pandas as pd
# 산림 관리인이 솔방울 70개의 길이와 너비를 cm 단위로 측정했습니다
cones = pd.read_csv("cones.csv")
X = np.column_stack([cones["length_cm"], cones["width_cm"]])
first = [float(input()), float(input())]
second = [float(input()), float(input())]
# 아래에 코드를 작성하세요
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
비지도 학습의 모든 레슨
직접 연습해 보세요: 온라인 Python 컴파일러