inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 무료 강의 (활용편7) - 머신러닝

K-평균 (실습 #2)

K-평균(실습#2) 의 fit, fit_transform 질문입니다.

474

따숩게

작성한 질문수 5

0

StandardScaler()

KMeans()

객체 생성 후 fit_transform(), fit() 으로 학습데이터 만들기 하는데, 모두 훈련데이터니까...

둘다 fit(), 또는 fit_transform()으로 구분없이 사용해도 되는건가요?

아니면... 구분지어야 하는 이유가 있는건지 궁금합니다.

 

python 머신러닝 anaconda scikit-learn

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.
따숩게님, 질문 주셔서 감사합니다.

StandardScaler()와 KMeans()와 같은 사이킷런 라이브러리에서 제공하는 메서드를 사용할 때 fit과 fit_transform의 차이를 이해하는 것이 중요합니다.

fit 메서드는 데이터에 대한 학습만을 수행합니다. 즉, 데이터를 바탕으로 필요한 통계치(예를 들어, 평균과 표준편차 등)를 계산하고 모델을 학습시키는데 사용됩니다.
fit_transform 메서드는 학습을 수행하는 동시에, 학습된 파라미터로 데이터를 변환하는 작업도 거칩니다. 예를 들어, StandardScaler의 경우 학습 데이터를 표준화하는 과정으로, 각 특성의 평균을 0, 표준편차를 1로 만드는 변환을 수행합니다.

KMeans 알고리즘의 경우,
- fit은 클러스터 중심을 계산하고 데이터를 클러스터에 할당하는 과정을 거칩니다.
- fit_transform은 fit을 수행하고, 추가로 각 데이터 포인트를 클러스터 중심으로부터의 거리로 변환하는 과정을 포함합니다.

따라서 fit과 fit_transform을 사용할 때에는, 만약 변환된 데이터를 바로 사용하고 싶다면 fit_transform을, 단순히 모델을 학습시키기만 하고 싶다면 fit을 사용하면 됩니다. 다만, fit_transform은 일반적으로 학습 데이터에만 적용하고, 테스트 데이터는 따로 transform 메서드를 통해 변환하는 것이 일반적입니다. 이는 데이터의 정보 누설을 막고 모델의 일반화 능력을 평가하는 데 도움이 되기 때문입니다.

질문에 대한 답이 되었길 바라며, 더 궁금한 점이 있으시면 언제든지 문의해주시기 바랍니다.

모의고사 1회 계산문제 2개 맞았는데

0

7

1

기존 미국주식 자동매매 프로그램과 같은 AWS 서버에서 돌리려고 할때

0

7

0

안녕하세요? 강사님 질문있습니다.(인코딩관련)

0

14

1

강의자료 문의

0

18

1

업캐스팅 문제 예시 4번 부모 호출

0

17

1

강의자료 링크 열리지 않음.

0

18

2

이진분류에서 양성 클래스가 0일 때 평가 방법

0

17

2

모의고사 자료 해설이 너무 불친절하네요.

0

41

2

부모의 생성자 출력 관련

0

17

2

이론파트 재탕문제

0

20

0

누락코드

0

21

1

다차원 배열 포인터 질문있습니다

0

33

3

원핫인코딩 전 train과 test 병합여부

0

31

2

수강기간 연장

0

36

2

자동화시트에 이미지를 제가 원하는 사진을 다운 받아서 시트에 입력할수 있을까요?

0

26

1

이론 파트 재탕

0

36

1

모의고사 5회

0

32

1

12분 10초 func(values, 0, 1)을 넣을 때

0

38

1

Spark 3.5에서 pandas의 NaN이 NULL로 바뀌지 않을 때

0

34

1

머신러닝 - surprise 모듈 설치 오류

0

410

1

K-평균(실습#3) 결과 값이 왜 다르게 나올까요?

0

289

1

다항회귀(실습#2)

0

308

1

선형 회귀

0

440

0

협업(리뷰 기반)필터링#1 질문

0

941

1