해결된 질문
작성
·
121
1
part1의 실습 - 선형회귀모델 - 당뇨병진행률 예측
에서 질문 있습니다!
diabetes_X를 정의할 때 reshape해주는 게 매트릭스를 만들기 위해서라고 해주셨는데요!
혹시 그럼 Test 셋을 정의할 때에는 그럴 필요가 없는 건가요?
(??,)인 걸 (??,1)로 만들어주는 RESHAPE를 diabetes_X할 때는 했는데, diabetes.target은 그냥 (??,) 형태인데도 따로 그 과정을 안 거치는 지 궁금합니다!
답변 1
0
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차원 배열로 처리됩니다.
감사합니다!! 강의 너무 잘 듣고 있습니다 :)