
from Scratch
163
component = first
_
principal
_
component(data)
components.append(component)
data = remove
_
projection(data, component)
return components
계산된 성분을 사용하면 주어진 데이터를 저차원 공간에서 생성시킬 수 있다.
def transform
_
vector(v: Vector, components: List[Vector]) -> Vector:
return [dot(v, w) for w in components]
def transform(data: List[Vector], components: List[Vector]) -> List[Vector]:
return [transform
_
vector(v, components) for v in data]
차원 축소는 다음과 같은 이유 때문에 중요하다. 첫째, 잡음에 해당되는 차원을
제거해 주고 밀접하게 연관된 차원을 합쳐 주면서 데이터를 정제해 준다.
둘째, 저차원으로 축소시킨 데이터에서는 고차원 데이터에서 사용할 수 없었
던 다양한 기법을 사용할 수 있게 된다. 앞으로 이러한 방법의 예시를 더 자세히
살펴볼 것이다.
한편, 차원 축소를 통해 더 좋은 성능의 모형을 만들 ...