Spark 예제를 실습중 깨달은 사실

Updated on

기본적으로 모든 빅데이터 스케일링 과정 중 정규화는 필수적이다.
그런데, 이 정규화라는것을 왜 하는지 너무 당연하게 넘어 가고 있어서..
궁금했던 찰나, 문득 조금은 깨우치게 됬다.

데이터를 k-means 알고리즘을 쓸 수 있도록 포맷에 맞게 변화해주고,
정규화 과정을 진행하는 코드 중 일부이다.

해당 데이터는 x레이로 찍은 알맹이들의 입자별 수치이다. printshema()를 통해 type을 파악하고 head()를 통해 관측값 하나를 조회해보면, 다 연속형 숫자고 단위가 제 각각 다르다. 어떤건 밀리미터, 어떤건 제곱미터? 이 단위가 다른데 과연 정상적인 비교가 될까?

이 데이터를 비교할 수 있도록 해줘야 한다. 그게 스케일링 과정이다.
0~1 사이로 스케일링을 해주면 데이터간의 비교가 가능하다.

본인의 사전 글 중 특징량 엔지니어링 글의 범주에 해당한다.

아래는 스케일링된 수치(scaledFeatures)를 보여준다.