inflearn logo
강의

Course

Instructor

[Renewed] Python Machine Learning Bootcamp for Beginners (Easy! Learn by Solving Real Kaggle Problems) [Data Analysis/Science Part2]

하이퍼 파라미터 튜닝 기법 적용하기 실행값이 미묘하게 달라요.

336

jyj97499506

1 asked

1

사소하긴 한데, 궁금해서 질문 남겨요.

위의 코드를 실행하면 svc 실습 동영상에 나온 값과 약간의 차이가 있어서요. 컴퓨터 성능에 따라서 값의 차이가 미묘하게 다를 수 있나요? 통계패키지도 가끔 돌릴때마다 값이 미묘하게 달라지기는 한데, 그 이유를 조금 구체적으로 알고 싶어서요. 참고로 저는 m1 chip mac을 사용중입니다.

 

python 머신러닝 pandas kaggle

Answer 1

0

funcoding

안녕하세요. 답변 도우미입니다.

코드 실행 결과 값에 미묘한 차이가 나타나는 것은 다음과 같이 여러 요소가 영향을 미칠 수 있는데요. 사실 난수처리의 완벽한 통제는 생각보다 매우 어려운 문제이긴 합니다.

  1. 난수 초기값(Random Seed): 코드에서 random_state=1로 설정하고 있지만, 이것은 알고리즘 실행 마다 동일한 난수 시퀀스를 생성하도록 합니다. 그러나, 다른 컴퓨터나 다른 환경에서는 내부적으로 사용하는 난수 발생기의 상태가 달라질 수 있어 결과에 영향을 줄 수 있습니다.

  2. 하드웨어 차이: 사용하시는 M1 칩 맥북과 실습 동영상에서 사용된 컴퓨터의 CPU 가 달라서, CPU의 정밀도, 계산 순서, 최적화 수준 등의 차이가 미묘한 결과의 차이를 야기할 수 있습니다.

  3. 병렬 처리와 부동소수점 연산: n_jobs=-1 설정은 사용 가능한 모든 CPU 코어를 사용하여 연산을 병렬로 수행하도록 합니다. 병렬 처리는 작업의 순서가 매번 다를 수 있으며, 부동소수점 연산은 결합 법칙이 항상 성립하지 않기 때문에, 연산의 순서에 따라 결과가 미묘하게 달라질 수 있습니다.

  4. 소프트웨어 버전: 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