여러분들을 도와드릴 튜터입니다.
20년 넘는 현업 경험과 강의 경력의 데이터 분석가 과정 튜터
SQL200제 책의 저자 - 정보문화사
예제가 가득한 파이썬 길라잡이의 저자 - 정보문화사
유튜브 코딩 대한민국 판다스 100제 유튜버
사랑하는 19기 데이터 분석반 학생들의 밝은 미래를 진심으로 응원합니다.
강의
수강평
- [2025년 최신 기출 반영] 빅데이터 분석 기사 실기 시험 100% 합격 ! 기출 문제의 패턴이 보인다 !
- [2025년 최신 기출 반영] 빅데이터 분석 기사 실기 시험 100% 합격 ! 기출 문제의 패턴이 보인다 !
- [2025년 최신 기출 반영] 빅데이터 분석 기사 실기 시험 100% 합격 ! 기출 문제의 패턴이 보인다 !
- [2025년 최신 기출 반영] 빅데이터 분석 기사 실기 시험 100% 합격 ! 기출 문제의 패턴이 보인다 !
- [2025년 최신 기출 반영] 빅데이터 분석 기사 실기 시험 100% 합격 ! 기출 문제의 패턴이 보인다 !
게시글
질문&답변
유형2 질문!!
random_state 는 필수는 아닙니다. 하지만 매번 수행될때 마다 결과가 다르게 나오므로 일관된 결과를 위해서는 써주시는게 좋습니다.
- 0
- 2
- 33
질문&답변
인코딩 질문!!
네 이 에러는 훈련시에는 없었던 새로운 카테고리가 테스트 할때 포함되서 나오는 오류 입니다. 이 에러가 나면 훈련시 컬럼과 테스트 컬럼을 비교해보셔야합니다. 아마도 문자를 숫자로 변환하는 과정에서 훈련과 테스트간에 데이터 불일치가 있어보입니다. 전체 코드가 어떻게 되죠?
- 0
- 1
- 36
질문&답변
작업형 유형 2에서,,, train, test, split 시 성능
네 ~ 답변드립니다. 데이터를 분할 했을때 성능이 낮게 나온 이유는 과적합 때문입니다.2번 방법이 성능이 더 좋은 이유는 훈련할때 다 공부한 데이터로 그대로 시험을 보았기 때문에 더 좋은 결과가 나온거구요. 1번은 공부할때 한번도 보지못한 문제를 봐서 성능이 낮게 나온겁니다
- 0
- 2
- 61
질문&답변
항상 모델학습하실때 train_test_split일부러 안하시는 이유가 있는건가요?
네 맞습니다. 훈련 데이터를 train_test_split 로 훈련과 검증으로 나누고 모델을 학습시켜야 모델의 성능을 미리 확인할 수 있어 말씀 하신대로 오버피팅 여부를 알 수 있습니다. 뒤쪽에 최근 기출문제는 train_test_split 로 나눠서 풀이하였으니 꼭 나눈걸로 연습해가시기 바랍니다. 랜덤 포레스트가 워낙 성능이 좋아서 굳이 안나눠도 합격하는데는 문제가 없어서 제가 뺐었거든요. 그런데 질문 주신게 맞습니다.훈련과 테스트로 분리하지 않은 풀이는 제가 나눈 스크립트를 추가해놓겠습니다. 감사합니다
- 0
- 2
- 58
질문&답변
Label Encoding 관련 질문
네 ~ 답변드립니다. 시험때 나오는 어떤 문자형 변수(범주형 변수)가 데이터의 종류가 많다면 예를 들어 class_type 이라는 변수가 있는데 이게 값의 종류가 a,b,c,d,e,f,g,h, .... (10개이상) 10개 이상이면 label encoder 를 쓰시구요. 범주의 갯수가 적을때 5개 이하면 get_dummies 를 쓰세요.일단 1가지로만 확실히 외워가세요. ^^
- 0
- 3
- 59
질문&답변
help, dir 사용법
네 ~ 제가 help 로 예제 찾아서 ttest_ind 의 예제 찾는것을 찾아보고 영상 업로드 해드리겠습니다.업로드 하고 다시 답변 남기겠습니다.감사합니다.
- 0
- 2
- 40
질문&답변
빅분기 실기 시험 6회 기출 유형, 작업형3
정확한 지적입니다!주어진 문제는 적합도 검정이므로 scipy.stats.chisquare를 사용해야 합니다.chi2_contingency: 독립성 검정용 (두 변수 간의 관계 검정)chisquare: 적합도 검정용 (단일 변수의 관찰값 vs 기댓값)카이제곱 검정에는 빈도가 필요합니다. 그러므로 다음과 같이chi2_contingency → chisquare: 적합도 검정에 맞는 함수를 사용해야합니다.영상은 내일 수정해놓도록 하겠습니다. 감사합니다.수정된 답안은 다음과 같습니다. import numpy as npfrom scipy.stats import chisquare# 관찰된 값 (진통제 데이터)o = [4, 4, 3, 4, 1, 4, 4, 1, 4, 4, 2, 1, 4, 2, 3, 2, 2, 4, 4, 4]# 관찰된 빈도 계산 (1:두통, 2:메스꺼움, 3:어지러움, 4:무증상)observed_freq = [o.count(i) for i in range(1, 5)]# 기대 빈도 계산 (항히스타민제 기준: 10%, 5%, 15%, 70%)expected_freq = [len(o) * p for p in [0.1, 0.05, 0.15, 0.7]]# 카이제곱 적합도 검정, p = chisquare(observedfreq, expected_freq)print(p)
- 1
- 3
- 62
질문&답변
정규화 질문
네, 답변드립니다.첫 번째 방법은 데이터 누수 문제가 있습니다.fit_transform(x_train)과 fit_transform(x_test)를 각각 실행하면 훈련 데이터와 테스트 데이터가 서로 다른 스케일링 기준으로 변환됩니다. 이는 모델 성능을 부정확하게 평가하게 만듭니다.두 번째 방법이 올바른 방법입니다:오직 훈련 데이터로만 스케일링 기준을 학습합니다 (fit)같은 기준으로 훈련 데이터와 테스트 데이터를 모두 변환합니다 (transform)반드시 두 번째 방법을 사용하세요. 훈련 데이터로만 스케일러를 학습하고, 같은 스케일러로 모든 데이터를 변환해야 합니다.
- 0
- 2
- 43
질문&답변
최근에 업데이트하신 7회 작업형3 문제1 영상 수정이 잘못 수정된 것 같습니다!
앗 ! 감사합니다. 바로 수정하겠습니다.
- 0
- 2
- 31
질문&답변
랜덤포레스트 성능평가 건
네 ~ 답변드립니다 Train-test split과 F1 점수는서로다른목적으로함께사용됩니다 Train-test split은데이터를나누는방법입니다. 훈련용데이터로모델을학습시키고, 테스트용데이터로성능을평가해서과적합을방지합니다. F1 점수는성능을측정하는지표입니다. 정밀도와재현율의조화평균으로, 불균형데이터에서특히유용합니다. 그래서 f1스코어를사용할때만train_test_split을사용하는건 아니고 기계학습을 위해서 모두 필요한 방법입니다
- 0
- 2
- 50