인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

태보미님의 프로필 이미지
태보미

작성한 질문수

파이썬을 활용한 머신러닝 딥러닝 입문

매트릭스로 만들어주는 것

해결된 질문

작성

·

121

1

스크린샷 2024-04-02 오후 4.14.20.pngpart1의 실습 - 선형회귀모델 - 당뇨병진행률 예측

에서 질문 있습니다!

 

diabetes_X를 정의할 때 reshape해주는 게 매트릭스를 만들기 위해서라고 해주셨는데요!

혹시 그럼 Test 셋을 정의할 때에는 그럴 필요가 없는 건가요?

(??,)인 걸 (??,1)로 만들어주는 RESHAPE를 diabetes_X할 때는 했는데, diabetes.target은 그냥 (??,) 형태인데도 따로 그 과정을 안 거치는 지 궁금합니다!

답변 1

0

YoungJea Oh님의 프로필 이미지
YoungJea Oh
지식공유자

reshape하는 이유는 머신러닝 라이브러리에서 요구하는 shape에 맞추어 주기 위해 reshape을 합니다.

diabetes_X와 같은 특성 데이터(feature data)를 (??,1) 형태로 reshape하는 것은 라이브러리의 함수를 만든 사람이 2차원 배열 형태의 입력을 하도록 요구했기 때문입니다. 대부분의 머신러닝 모델은 입력 데이터가 2차원 배열(예: 샘플 수 x 특성 수) 형태인 것을 기대합니다. 단일 특성을 사용할 때도 이 형식을 맞추기 위해 (??,1)과 같이 reshape하여 샘플 수 x 1 형태의 2차원 배열로 만듭니다.

반면에 diabetes.target과 같은 타겟 데이터(target data)는 대부분의 경우에 1차원 배열로 처리됩니다. 이는 타겟 데이터가 각 샘플에 대한 레이블이나 값을 담고 있으며, 대부분의 머신러닝 모델이 타겟 데이터로 1차원 배열을 허용하기 때문입니다. 이 역시 라이브러리의 함수를 만든 사람이 그렇게 만들었기 때문에 우리는 함수의 입력 사양에 맞추어 사용할 뿐 입니다.

결론적으로, 특성 데이터는 모델에 따라 2차원 배열 형태로 제공해야 할 필요가 있지만, 타겟 데이터는 일반적으로 1차원 배열로 충분합니다. 그래서 특성 데이터를 reshape하는 과정이 필요한 반면, 타겟 데이터에 대해서는 그럴 필요가 없는 것입니다.

테스트 세트를 정의할 때도 이 원칙은 동일하게 적용됩니다. 테스트 세트의 특성 데이터도 모델의 입력 요구 사항에 맞추어 적절히 reshape해야 하며, 타겟 데이터는 대개 1차원 배열로 처리됩니다.

태보미님의 프로필 이미지
태보미
질문자

감사합니다!! 강의 너무 잘 듣고 있습니다 :)

태보미님의 프로필 이미지
태보미

작성한 질문수

질문하기