묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
교재 크로스벨리데이션, 하이퍼파라미터 관련 질문
1. 교재 작업2 다중분류 약물종류 예측에서크로스벨리데이션으로 평가하는 방법이 나와있는데 제가 이해한게 맞는지 질문드립니다.from sklearn.metrics import f1_score from sklearn.model_selection import cross_val_score from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier(random_state = 0) f1 = cross_val_score(model ,train, target ,cv=3 , scoring="f1_macro")마지막 한줄에서 cross_val_score가 train , target을 3(cv=3)덩어리로 나눈 후각 덩어리?를 model을 통해 학습한 후 나머지 데이터로 평가하여 f1_macro로 각각의 평가지표가 계산되는것이고,이후 앞으로 돌아가 전처리 등을 통해서 평가지표를 향상할 수 있도록 해본 후에최종 제출하기 전에마지막에 model.fit(train,target)을 통해서 전체 train, test로 다시 학습을 시킨 후 제출을 하는 과정이 맞을까요?이 문제에서 총 train 데이터가 100개라 그런지 f1이 1이 나오길래검증 데이터수가 너무 적어서 점수가 높게 나왔다고 생각하여 test_size를 0.3로 변경하고 진행을 하였습니다. 이런식으로 하는 방법은 train 데이터 수가 작아지기 때문에 옳은 방법이 아닌걸까요? 3. 하이퍼파라미터 max_depth , n_estimators 등은 lightgbm, 랜포에서 동일하게 사용하는걸까요? lightgbm에 대한 하이퍼파라미터 튜닝은 다루지 않은것 같아서요(아직 기출 강의는 듣지 않아서 강의에서 다뤘을지도 모르겠습니다..)1)튜닝을 하는 경우에는 데이터셋에 과적합 우려가 있기 때문에 cross_val_score을 사용하는것이 나아보이기도 하고, 2)튜닝값이 분할된 각 데이터셋에 적용되는 것이므로 , 마지막에 전체 데이터로 다시 학습시키는 과정에서 동일한 튜닝값이 적용되면 더 안좋아질 수도 있을 것 같은데 1) 2) 중 어느것이 옳은 생각일까요?train_test_split을 이용하는 경우 전처리 + X_tr, y_tr을 통해 학습한 모델로 검증한 후 마지막에 전체 train, target으로 다시 학습시키는게 더 좋을 것 같은데(데이터 양의 증가), 튜닝을 한 경우에는 X_tr, y_tr로 학습한 모델로 제출을 하는 것이 옳을까요?train_test_split을 했을때 하이퍼 파라미터 튜닝으로 f1이 0.61 ->0.65로 올라갔으나,cross_val_score에서 같은 튜닝값을 적용하니 f1이 0.71 -> 0.69으로 내려갔습니다. 이런 경우 튜닝전후 어떤 값으로 제출하는게 좋을까요? 시험이 며칠 안남기는 했지만 cross_val_score을 익숙하게 쓸 수 있으면 시험에서도 train_test_split 대신 cross_val_score을 사용하는게 좋을까요? 아니면 train_test_split으로만 검증해도 상관없을까요질문이 많아서 죄송합니다.감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2회 기출 작업형2 결과값
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요아직 강의 보기전 혼자 풀어보았을때 결과가 이런식으로 다르게 나온다면 코드에서 잘못된 부분이 있는거겠죠ㅠㅠ?검증데이터로는 roc_auc_score 0.75 나옵니다(오류없이 실행은 되는데 결과 확률이 다르게 나옵니다ㅠ)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요# F1 스코어(F1 Score) *** 숫자 문자 차이 없음 from sklearn.metrics import f1_score f1 = f1_score(y_true, y_pred, average='macro') # average= micro, macro, weighted print("F1 스코어:", f1) f1 = f1_score(y_true_str, y_pred_str, average='macro') print("F1 스코어:", f1) *RMSE(Root Mean Squared Error) *** from sklearn.metrics import mean_squared_error mse = mean_squared_error(y_true, y_pred) rmse = mse ** 0.5 print("RMSE:", rmse)F1 스코어 : f1 = f1_score(y_true, y_pred, average='macro' 여기서 y_true RMSE: mse = mean_squared_error(y_true, y_pred) 여기서 y_true 두 y_ture 모두 y_val 값을 말하는게 맞나요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
검증데이터셋으로 훈련 및 검증 후 다시 훈련(fit) 여부
안녕하세요,6회 기출 유형 작업형2 풀이에서 마지막에 최종 제출 파일에서rf.fit(train, target)으로 다시 훈련한 후에pred = rf.predict(test)로 예측을 하시더라구요, 저는 기존의 강의에서 from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier(random_state=2013) rf.fit(X_tr, y_tr) pred = rf.predict(X_val)이렇게 검증데이터 셋으로 훈련 후에 바로 pred = rf.predict(test)로 예측을 했었거든요,최종 파일 제출할 때는rf.fit(train, target)으로 다시 훈련한 후에pred = rf.predict(test) 예측을해야하는 것일까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출 7 작업형 1 관련 문의입니다.
ValueError: Length of values (1) does not match length of index (33)와 같은 오류가 뜨는 이유를 잘 모르겠습니다. 실행한 코드입니다. import pandas as pd df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p4/7_1/student_assessment.csv") df = df.dropna() df['id_assessment'].value_counts() print(df.head(10)) con = df['id_assessment'] == 12 df = df[con] from sklearn.preprocessing import StandardScaler ss = StandardScaler() df['score'] = ss.fit_transform([df['score']])
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
test 데이터 예측 결과에서 한 값만 튀는데 이럴 수 있는건가요?
3-5 마지막 문제 중 평가 데이터로 예측하는 부분에서 이런 결과가 나왔습니다. 어떤 부분을 놓쳤는지 모르겠지만 강사님의 예측 결과랑 완전 똑같진 않아요. 그래도 첫번째 자리수까지는 똑같은데요.. 문제는 id가 4213인 값이 혼자 튀는데 이런 경우도 있을 수 있나요? 아니면 제가 뭘 잘못한건가요? 정확도 평가는 88% 나왔습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
독립표본검정에서요
두 집단의 분산이 같은지 다른지 여부를 모를때 shapiro 검정을 통해 정규성 만족 여부 확인1-1) 정규성을 만족한다면 levene 검정을 통해 등분산 검정을 한다. 등분산 검정 시 0.05보다 크다면 귀무가설 채택(등분산이다) 0.05보다 작으면 대립가설 채택(등분산이 아니다) 1-2) ttest_ind 진행stats.ttest_ind(a,b,equal_var = True) <- 레빈검정 귀무채택시stats.ttest_ind(a,b,equal_var = False) <- 레빈검정 귀무기각 시 정규성을 만족하지 않는다면stats.manwhitneyu(a,b,alternative = 'less') 진행 문의내용위 순서로 진행하는게 맞는건지 문의드리며만 휘트니 검정할때는 만 휘트니 검정 자체가 정규성 불만족할때의 ttest와 같다고 생각하면 되는건지 문의드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 - 8회 오류
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-32-9c792161035b> in <cell line: 2>() 1 # 최종 제출 파일 ----> 2 pred = rf.predict(test) 3 result = pd.DataFrame({'pred':pred}) 4 result.to_csv('result.csv', index=False) 3 frames/usr/local/lib/python3.10/dist-packages/sklearn/base.py in _check_feature_names(self, X, reset) 533 ) 534 --> 535 raise ValueError(message) 536 537 def _validate_data( ValueError: The feature names should match those that were passed during fit. Feature names unseen at fit time: - customerID_CUST0001 - customerID_CUST0002 - customerID_CUST0006 - customerID_CUST0007 - customerID_CUST0008 - ... Feature names seen at fit time, yet now missing: - customerID_CUST0000 - customerID_CUST0003 - customerID_CUST0004 - customerID_CUST0005 - customerID_CUST0009작업형 2 한가지 방법으로 풀어보기를 그대로 해서 8회를 풀엇는데, 이런 에러가 뜹니다. id 값을 없애는 작업을 해줘야할까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
등분산이 같은지 다른지를 만약 모른다면,
문제에서 만약 안주어진다면, 레빈 검정을 우선 진행해서 pvalue값을 확인 해야하는거겠쬬?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
데이터 찾기
테스트 데이터와 train 데이터 프레임 안의 데이터가 서로 포함하지 못한다면, concat을 사용하여 합쳐서 label이나 one hot 인코딩 진행하라고 하셨는데요, 지금은 내부 데이터 양이 작아서 각 데이터 별로 서로 포함여부를 알 수 있는데 몇천 row가 되는 data들은 서로 포함되는지 어떻게 알 수 있을까요?
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
RMSE 질문
안녕하세요 강사님~RMSE 출력 할 때,from sklearn.metrics import mean_squared_error많이 사용하지만, 이번에 확인 해보니까 from sklearn.metrics import root_mean_squared_error가 있어서 사용 가능 할까요? 시험 체험에서도 dir()를 확인 한 결과 metrics 에 root_mean_squared_error 가 있는 걸 확인 했습니다. 감사합니다~
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
범주형 변수차이 발생시 concat 처리
범주형 변수 차이: train과 test 데이터에 포함된 범주형 변수의 카테고리 수가 다를 수 있습니다. 예를 들어, train에 있는 범주가 test에 없거나 그 반대의 경우입니다.=> train(A), test(B)라 예를 들면set으로 A-B했을 경우 변수가 나올때는 강의영상중 concat없이 인코딩 진행하셨고 B-A 변수 나올때 문제될수 있다고 이해했습니다만,A-B이든 B-A이든 변수차이 있으면 무조건 concat한후 인코딩하고 다시 분리하는게 맞는지요? 어느 강의는 그냥 인코딩하시고, 답변을 검색해보면 A-B변수가 나와도 concat하라는 답변이 나와서 명확한 기준을 모르겠습니다. A-B에 변수차이가 나오는 경우는(train에는 있고 test는 없는 변수 있는 경우) 그냥 인코딩해도 무관한것인가요?생략해도 되는 경우이면 단순하게 가는게 실수도 줄일수 있을듯 하여 문의드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요작업형 2번에서 이진분류와 다중분류를 구별할 수 있는 방법이 궁금합니다. 어떤 데이터를 보고 판단할수있나요?
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
3과목 답안 제출 시 궁금한점이 있어요
안녕하세요, 강의 너무 잘 완독했습니다, 이번주가 드디어 시험이라, 여기서 잘 배운것들로 꼭 합격하고 오겠습니다.질문은, 제가 첫시험이다 보니 3과목 답안제출이 궁금합니다.3과목의 경우 1과목처럼 단순 답만 제출하는 걸까요 아니면 logit 이나 ols를 통해 나혼 print(model.summary()) 값과, 답을 함께 제출하는것일까요?예를 들면, 8회기출유형 (작업형3) 2-1번 문제의 경우 답은 코드 전체 +print(model.summary())를 내는것인지, 마지막 2.343 값만 print로 제출하면 되는건지 궁금합니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
이말은 왜 뜰까요?
XGBoost의 'manylinux2014' 변형을 설치했습니다. GPU 알고리즘이나 연합 학습과 같은 특정 기능은 사용할 수 없습니다. 이러한 기능을 사용하려면 glibc 2.28+의 최신 Linux 디스트로로 업그레이드하고 'manylinux_2_28' 변형을 설치하세요.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예측 정확도 정답 커트라인이 어느정도인가요?
영상과 같이 랜덤포레스트+라벨인코딩 조합으로 예측정확도 0.6나왔습니다. 해당 예측 정확도가 시험에 통과할 정도의 커트라인인지 궁급합니다. 또한 예측정확도가 잘 나오지 않을 경우 랜덤포레스트 이외 xgboost와같은 모델 변경도 시험장에서 크게 고려해야될 사항일까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형3
pred = model.get_prediction(new_data)로 할 때도 있고 pred = model.predict(new_data) 이렇게 할 때도 있나요? 둘의 차이가 뭘까요
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
페이지를 넘어가는 문제 깔끔하게 정리하기
안녕하세요 일코님날씨 많이 추워졌는데 건강 잘 챙기시기 바랍니다 ^^현재 문제가 텍스트로만 이루어졌을 경우 아래와 같이 BreakPage메소드를 통해 페이지에 걸친 문제가 없도록 정리하고 있씁니다.while 찾기("#"): # 샵 "#"표시는 문제의 시작지점입니다. hwp.Run("MoveLineBegin") start_page = hwp.KeyIndicator()[3] start_pos = hwp.GetPos() # hwp.Run("MoveParaEnd") 둘중_빠른것_찾기("#", "<<<") 현재문단블록처리() if 블록내_텍스트_포함_여부("<<<"): hwp.Run("MovePageBegin") hwp.Run("MoveLeft") else: hwp.Run("MoveParaBegin") 위로_찾기_아무거나() # 다음문제로 넘어간뒤, 아무런 텍스트나 위로 찾기 하여 문제의 끝을 특정함 hwp.Run("MoveParaEnd") end_page = hwp.KeyIndicator()[3] endpos = hwp.GetPos() if end_page != start_page: # 문제 시작점과 끝점의 페이지가 다를 경우 BreakPage hwp.SetPos(*start_pos) hwp.Run("BreakPage") hwp.Run("MoveParaEnd") 문제는, 문제의 형식이 표로 되어 있을 때가 있다는 것인데요. 이런식으로 표가 존재하고, 이 표가 넘어갈경우에,, 현재 코드를 적용하면 저 "수정"으로 이동하여 endpos의 위치가 잡히게 되네요..문제가 표로 마무리 될경우에 문제의 끝을 올바르게 특정해서 문제를 깔끔하게 정리할 방법이 없을까요? 감사합니다 !
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
데이터 나누기 질문
from sklearn.model_selection import train_test_splitX_tr, X_val, y_tr, y_val = train_test_split(train.drop('TotalCharges', axis=1),train['TotalCharges'], test_size=0.2, random_state = 2024) X_tr데이터가 train일때랑 train.drop('TotalCharges', axis=1)일때랑 차이가 뭔가요 ??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
마인드맵 오타가 있네요:) 수정부탁드립니다,
spicy -> scipycfQ 혹시 마인드맵은 어떤 것으로 만들었는지 여쭤봐도 될까요?