묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 하이퍼파라미터튜닝
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요하이퍼 파라미터 튜닝을 하는데 그리드서치를 써서 해도 되나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
현재 체험환경에 있는 작업형 2번 문제 데이터는 concat해서 풀어도 되나요?
물론 범주형 카테고리가 다른것도 확인은 했지만 그래도 concat하고 분할해도 무방한가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
이진분류에서 양성이 0일 때, roc_auc_score 적용..
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요 평가지표 중 roc_auc_score 학습 중에 궁금한 사항이 있어서 질문드립니다. 강의나 시나공, 기출 다 이진분류 0, 1 중 1을 양성으로 예측하는 문제가 있어서 반대로 0일 확률을 예측하고 평가하는 경우 어떻게 처리해야하는지 궁금해서요..!! rf = RandomForestClassifier(random_state = 0)rf.fit(X_tr, y_tr) 그리고 rf.classes_ 로 확인해보면 [0, 1] 일 때,y_pred_rf = rf.predict_proba(X_val) 그리고 roc_auc_score에서roc_auc_score(y_val, y_pred_rf[:, 0]) 이렇게 첫 번째 클래스(0일 확률)를 입력하면 자동으로 0을 양성으로 계산해서 모형평가가 이루어지는 건가요?아니면 pos_label = 0 이라고 지정을 하거나, 별도의 방법이 필요한가요?! 그리고 분류 클래스가 문자형(A, B)인 경우에는(rf.classes_도 [A, B])roc_auc_score(y_val, y_pred[: , 1]) 이렇게 하면 자동으로 B를 양성으로 인식하는 게 맞는지 궁금합니다 !! (이경우에도 A 확률을 평가하려면y_pred[:, 0]으로 하고 pos_label = 'A'라고 해야하는지도 ㅠㅜ) 감사합니다 :)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
피벗테이블은 필수로 알아야하나요?
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요피벗테이블은 필수로 알아놔야할까요? 뭔가 더헷갈려서요... 언스택만 알아도 충분할지 문의드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형1 모의고사
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요문제 아래쪽에 있는 코드를 모두 복사하라는데 그게 어딨나요..?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
클래스 불균형 질문드립니다.
기출 9회 작업2유형 풀이 코드입니다.# print(train.shape,test.shape) # (4000, 9) (1000, 8) # print(train.info(), test.info()) # float64(3), int64(2), object(4), float64(3), int64(1), object(4) # print(train.nunique(), test.nunique()) # 농업면적 4000, 비료사용량 3997, 비료잔여량 4000 # print(train.head(30)) # train = train.drop(columns = '농업면적') # test = test.drop(columns = '농업면적') # train = train.drop(columns = '비료사용량') # test = test.drop(columns = '비료사용량') # train = train.drop(columns = '비료잔여량') # test = test.drop(columns = '비료잔여량') # target = train.pop('농약검출여부') from sklearn.preprocessing import LabelEncoder le = LabelEncoder() cols = train.select_dtypes(include = 'O').columns for col in cols: train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size =0.2, random_state = 0) from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier(random_state = 0, max_depth = 11, n_estimators = 200, class_weight = 'balanced') rf.fit(X_tr, y_tr) pred = rf.predict(X_val) from sklearn.metrics import f1_score, accuracy_score, recall_score print('f1 : ', round(f1_score(y_val, pred, average = 'macro'), 3)) print('acc : ', round(accuracy_score(y_val, pred), 3)) print('recall : ', round(recall_score(y_val, pred, average = 'macro'), 3))처음 학습을 진행할 때 랜덤포레스트에 class_weight 하이퍼파라미터는 적용하지 않은 상태에서 학습을 진행했고, f1 : 0.887 acc : 0.97 recall : 0.848이라는 높은 수치가 나왔습니다.GPT 확인해보니 accuracy_score 점수가 f1_score 점수보다 높으면 과적합 문제가 있을 수도 있다고해서확인을 해보니 과적합 문제는 아닌 것 같았습니다. 이후에 train['농약검출여부'].value_counts()를 해보니 클래스 불균형으로 판단을 했습니다.(농약검출여부 = (2 : 1989, 0 : 1758, 1 : 253)) 확인 후에 class_weight 하이퍼 파라미터를 추가했는데도 수치가 크게 달라지지 않더라구요.f1 : 0.856 acc : 0.945 recall : 0.887이런 경우에는 그냥 제출하는게 맞을까요 ? 지난 9회차 시험에 평가지표 수치가 높게 나오긴 했는데 만점은 받았거든요..그래도 수치가 높으면 좀 불안하네요..
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
5회 기출문제 수업질문입니다
질문 여기다 드리면 되나요 샘 코드 한번만 봐주세요 오늘 강의 들어왔어요 ㅠㅠ 진작했어야했는데요 에러는 안났느데 답 수치가 달라서요import pandas as pdtrain=pd.read_csv("train.csv")test=pd.read_csv("test.csv")# print(train.info())# print(test.info()) from sklearn.preprocessing import LabelEncoderle= LabelEncoder()cols= ("model", "transmission", "fuelType")for col in cols:le.fit(train[col])train[col]= le.transform(train[col])test[col]= le.transform(test[col])from sklearn.model_selection import train_test_splitX=train.drop(columns=["fuelType", "price"])y=train["price"]X_train, X_test, y_train, y_test=train_test_split(X, y, test_size=0.2, random_state=20)print(train.shape)print(test.shape)from sklearn.ensemble import RandomForestRegressorrfr=RandomForestRegressor(n_estimators=400, max_depth=30, random_state=20)rfr.fit(X_train, y_train)pred1=rfr.predict(X_test)print(pred1)from sklearn.metrics import root_mean_squared_errorrmse= root_mean_squared_error(y_test, pred1)print("rmse:", rmse)test_X=test.drop(columns=["fuelType"])pred2=rfr.predict(test_X)pd.DataFrame({"pred":pred2}).to_csv("result.csv", index=False)print(pd.read_csv("result.csv"))
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
labelencoder 질문
target = train.pop('Heat_Load') cols = ['Roof','Height','Orient', 'Heat_Load'] from sklearn.preprocessing import LabelEncoder for col in cols: le = LabelEncoder() train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) 영상처럼 원핫인코딩을 진행하면 오류가 없는데 라벨인코딩 진행시 오류가 납니다 ㅠㅠ KeyError: 'Heat_Load' 이렇게 뜨는데 어떻게 해결해야 하나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형1 기출
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요작업형1의 기출을 풀고 있습니다. 저는 주로 '~~기준 ~~번째로 큰 데이터의 ~~을 구하시오'라는 문제를 풀 때 그 값을 기준으로 sort_values를 하고 그에 따라 맞는 행과 컬럼을 iloc로 답을 구하고 있습니다. 강사님과 답은 똑같은데 제 방식대로 계속 하면 될까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
제2유형 전처리작업
제2유형 전처리 작업할 때, 결측치 - 중앙값 또는 0 처리 / 환불금액의 경우 상식적으로 환불을 안하는 사람이 있으니 0 처리가 맞을듯 범주형(문자열) - drop 진행 안하고 그대로 원핫인코딩만 진행하려고합니다. 상관 없을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 1 문제 1-2
소비량이 5번째로 많은 국가를 하는데, 3번째로 많은 국가가 2곳입니다.그러면 3번째를 공동 3위로 처리해서 1,2,3,3,5 이렇게 보는 걸까요?? 문제의 말로만 따지면 5번째로 많은 국가니까 313 다음 국가를 써야하나 싶어서 질문드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2 유형 한가지 풀이 질문
안녕하세요 선생님, 9회차에서 50점으로 아쉽게 떨어지고 재수강중인 학생입니다다름이 아니라 작년 시험에서 기억이 잘 안나는데 제가 작업형 2 유형을원핫인코딩 - 랜덤포레스트 한가지로 통일해서 연습해서 9회차 시험에서도 그렇게 했던 기억이 있는데요물론 그 때 작업형 2 유형을 40점을 맞았지만뭔가 불안해서 한 번 이렇게 여쭤보게 되었습니다.작업형 2 유형은 그냥 원핫인코딩 - 랜덤포레스트 기준으로 평가지표에 맞게만 하면 되겠죠...? 스케일링이나 하이퍼 파라미터 사용 없이? 😥😥
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
실전에서 스켈링&파라미터 안쓰는게 낫나요?
안녕하세요 시험에서, 스케일링과 모델에있어 하이퍼파라미터 튜닝을 할 수 있다면 하는게 더 좋나 여쭤보려합니다 랜덤포레스트에서 max_depth, n_estimators같은 것들을 변경했을 때, 제가 보는 평가지표상에서는 더 좋아질지언정 과대학습으로 오히려 시험점수가 낮게나올수도 있다고 하더라고요. 하이퍼파라미터는 해서 평가지표가 더 좋아지면 하고 내는게 좋나요? 또한 후기를 찾아보니 수치형데이터들이 엄청 크게 나온다는데 이경우 스케일링을 하는게 더 효과적일까요
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2유형 최종 제출 질문(read_csv)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요2유형 최종제출할 때 read_csv도 주석 처리하고 제출해야 하나요? (print는 당연히 주석 처리해야 하는 걸로 알고 있습니다)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
target pop 관련
만약에 target 값이 object라면 데이터 전처리(인코딩)를 하기 전에 pop을 적용하는 것이 맞고, int형이면 데이터 전처리 후에 해도 되는 것인가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
mse 평가 관련 질문
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요MSE 불러와서 RMSE 함수를 시험장에서 생각 못할경우 그냥 print 안에서 **0.5 를 해도 될까요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
sklearn에 rmse 지원하는지?
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요rmse 쓸때 그냥 아래처럼 쓰면되나요?1.4v이상부터 된다는데, 시험장 환경을 몰라서요..from sklearn.metrics import root_mean_squared_error root_mean_squared_error(y_val,pred)추가로, mse로 변환할때,def rmse(y_true,y_pred)에서 y_true랑 y_pred 는 어디서 가져오는 값인가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
시험을 볼 때 이면지를 사용할 수 있나요?
작업형1, 3 에서는 따로 답안 제출을 해야 되는데, 답안 제출란으로 넘어가면 메모장이 보이지 않습니다. 그래서 혹시나 하는 입력 실수를 방지하고자 이면지에 작성하고 답안 제출을 하고 싶은데... 이게 가능한지 궁금합니다.감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
6회 기출 작업형2 오류 파악
import pandas as pd train = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p4/6_2/energy_train.csv") test = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p4/6_2/energy_test.csv") X_train = train.drop(['Heat_Load'], axis = 1) y_train = train['Heat_Load'] X_test = test from sklearn.preprocessing import LabelEncoder encoder = LabelEncoder() X_train['Roof'] = encoder.fit_transform(X_train['Roof']) X_test['Roof'] = encoder.transform(X_test['Roof']) X_train['Height'] = encoder.fit_transform(X_train['Height']) X_test['Height'] = encoder.transform(X_test['Height']) X_train['Orient'] = encoder.fit_transform(X_train['Orient']) X_test['Orient'] = encoder.transform(X_test['Orient']) num_columns = X_train.select_dtypes(exclude = 'object').columns from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() X_train[num_columns] = scaler.fit_transform(X_train[num_columns]) X_test[num_columns] = scaler.transform(X_test[num_columns]) from sklearn.model_selection import train_test_split X_train, X_val, y_train, y_val = train_test_split(X_train, y_train, test_size =0.2, random_state=2025) print(X_train.shape, X_val.shape, y_train.shape, y_val.shape) from sklearn.ensemble import RandomForestRegressor model = RandomForestRegressor() model.fit(X_train, y_train) y_val_pred = model.predict(X_val) ValueError: could not convert string to float: 'High'위와 같이 작성하였는데 해당오류가 뜹니다. 라벨인코딩은 진행하였는데 왜 오류가 발생할까요??.. 원핫인코딩을 진행해야하나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
마인드맵 업데이트 된 것이 어디에 올라와있을까요?
마인드맵 업데이트 된 것이 어디에 올라와있을까요?