하이퍼 파라미터 튜닝 기법 적용하기 실행값이 미묘하게 달라요.
336
1 asked
사소하긴 한데, 궁금해서 질문 남겨요.
위의 코드를 실행하면 svc 실습 동영상에 나온 값과 약간의 차이가 있어서요. 컴퓨터 성능에 따라서 값의 차이가 미묘하게 다를 수 있나요? 통계패키지도 가끔 돌릴때마다 값이 미묘하게 달라지기는 한데, 그 이유를 조금 구체적으로 알고 싶어서요. 참고로 저는 m1 chip mac을 사용중입니다.
Answer 1
0
안녕하세요. 답변 도우미입니다.
코드 실행 결과 값에 미묘한 차이가 나타나는 것은 다음과 같이 여러 요소가 영향을 미칠 수 있는데요. 사실 난수처리의 완벽한 통제는 생각보다 매우 어려운 문제이긴 합니다.
난수 초기값(Random Seed): 코드에서
random_state=1로 설정하고 있지만, 이것은 알고리즘 실행 마다 동일한 난수 시퀀스를 생성하도록 합니다. 그러나, 다른 컴퓨터나 다른 환경에서는 내부적으로 사용하는 난수 발생기의 상태가 달라질 수 있어 결과에 영향을 줄 수 있습니다.하드웨어 차이: 사용하시는 M1 칩 맥북과 실습 동영상에서 사용된 컴퓨터의 CPU 가 달라서, CPU의 정밀도, 계산 순서, 최적화 수준 등의 차이가 미묘한 결과의 차이를 야기할 수 있습니다.
병렬 처리와 부동소수점 연산:
n_jobs=-1설정은 사용 가능한 모든 CPU 코어를 사용하여 연산을 병렬로 수행하도록 합니다. 병렬 처리는 작업의 순서가 매번 다를 수 있으며, 부동소수점 연산은 결합 법칙이 항상 성립하지 않기 때문에, 연산의 순서에 따라 결과가 미묘하게 달라질 수 있습니다.소프트웨어 버전: scikit-learn과 관련 라이브러리의 버전 차이 또한 결과에 영향을 줄 수 있습니다. 최적화 방법, 알고리즘의 내부 구현 변경 등이 있을 수 있습니다.
이러한 이유로, 머신러닝 실험에서 재현성을 확보하기 위해서는 가능한 많은 요소를 고정하는 것이 좋습니다. 예를 들어, 난수 생성기의 시드값을 고정하고, 소프트웨어 버전을 명시하며, 가능한 한 동일한 하드웨어 환경을 사용하는 것입니다. 그러나, 실제로는 이 모든 것을 완벽히 통제하기 어려울 수 있으며, 이로 인해 미묘한 결과 차이가 발생할 수 있습니다.
감사합니다.
자료 공유 질문
0
52
1
Ascii 에러 관련하여 질문드립니다
0
73
1
고차원 데이터 질문
0
46
0
test / train 데이터 나누기
0
93
1
세션4 범주형 데이터 분석 패턴 강의 질문
0
197
2
pandas 2.2.2, xgboost 2.1.3 에러 해결 방법
0
209
1
sklearn v1.5.1
0
166
1
머신러닝 적용을 위한 Feature Engineering 작업1
0
174
2
missingno 대체
0
163
1
scikit-learn 1.5.1 matplotlib 3.9.2
0
127
1
환불문의
0
259
1
자료공유를 받으려고 하는데 에러가 납니다.
0
154
1
iplot에서 항상 에러나는 분 안계신가용?
0
219
1
사망 여부 영향 가능성
0
139
1
섹션4_인코딩 이해하고 적용해보기(원핫인코딩) 질문
0
184
1
df.corr(numeric_only=True).iplot() 에러 해결 어떻게 해야되나요?
0
275
1
주피터 노트북 201_REGRESSION_BIKE_SHARING_MODELS 중 질문
0
242
1
3강 강의 자료 코드 관련 질문입니다
1
334
1
맥 사용자 mkdir .kaggle 했는데 파일이 안만들어집니다.
0
410
1
Bayesian Optimization에서 optimizer.maximize()함수를 더이상 지원 안한다고 합니다.
0
873
2
Bayesian Optimization LightGBM 적용
0
451
2
중복된 코드 수정 요청 - 자전거 공유 문제 이해와 EDA3
0
211
1
강의 중 에러 질문
0
736
1
cross_val_score 에러
0
455
1

