안녕하세요, 코딩팡 장업형2 베이스 라인에서 원-핫 인코딩만 사용하셨는데 인코딩 부분에 아래와 같이 추가해서 레이블 인코딩과 원-핫 인코딩 결과를 비교하는 식으로 해도 상관없나요? 원핫 인코딩만 사용하신 이유가 있을까요?? 1번 문제 import pandas as pd # 1) 데이터 불러오기 train = pd.read_csv('data/car_train.csv') test = pd.read_csv('data/car_test.csv') # 2) 범주형 변수 원-핫 인코딩 target = train.pop('target') print(train.shape, test.shape) train = pd.get_dummies(train) test = pd.get_dummies(test) print(train.shape, test.shape) # 레이블 인코딩 from sklearn.preprocessing import LabelEncoder cols = train.select_dtypes(include = 'object').columns for col in cols: le = LabelEncoder() train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) # 3) 검증용 분리 (제출 전 성능 비교) 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, stratify=target) # 4) 세 가지 모델 학습 from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier(random_state=0) rf.fit(X_tr, y_tr) pred = rf.predict(X_val) from sklearn.metrics import f1_score print(f1_score(y_val, pred, average='macro')) from lightgbm import LGBMClassifier lgb = LGBMClassifier(random_state=0, verbose=-1) lgb.fit(X_tr, y_tr) pred = lgb.predict(X_val) print(f1_score(y_val, pred, average='macro')) from xgboost import XGBClassifier xgb = XGBClassifier(random_state=0, verbosity=0) xgb.fit(X_tr, y_tr) pred = xgb.predict(X_val) print(f1_score(y_val, pred, average='macro')) # 5) 선택한 모델을 전체 train으로 다시 학습 후 test 예측 (선택) # lgb.fit(train, target) # pred = lgb.predict(test) # 6) 제출 파일 저장 (pred 컬럼 1개만, index 제거) result = pd.DataFrame({'pred': pred}) result.to_csv('result.csv', index=False) # 제출파일 확인 print("\n ===== 제출파일 (샘플) =====") print(pd.read_csv("result.csv").head()) print("\n ===== 제출파일 (크기 확인) =====") print(pd.read_csv("result.csv").shape)
강사님 uv setting 대로 실습을 진행하는 도중에 아카이브 tool 호출 시 아래의 에러가 발생했습니다. AttributeError: 'Search' object has no attribute 'results' uv add "arxiv<2.4.1" 로 다운그레이드 해서 해결했습니다. 혹시나 동일한 에러가 나시는 분들을 위해 남겨둡니다.
안녕하세요 강사님! 강의 잘 듣고 있습니다. 다차원 배열이랑 가변 배열 파트를 복습하다가 인덱스 해석 순서랑 반복문 매칭이 헷갈리는 부분이 생겨서 질문 남깁니다. 강의에서 3차원 배열을 순회할 때 가장 안쪽 루프가 '높이'에 해당한다고 설명해 주셨는데, 제가 직접 코드를 짜서 출력해 보니까 조금 헷갈리는 부분이 있습니다. 제가 테스트해 본 전체 코드는 다음과 같습니다. public class ArrayTest { public static void main(String[] args) { int[][][] sheet = new int[2][3][4]; int count = 1; for (int i = 0; i < sheet.length; i++) { for (int j = 0; j < sheet[i].length; j++) { for (int k = 0; k < sheet[i][j].length; k++) { sheet[i][j][k] = count++; } } } for (int i = 0; i < sheet.length; i++) { System.out.println("=== [시트 " + i + "] ==="); for (int j = 0; j < sheet[i].length; j++) { for (int k = 0; k < sheet[i][j].length; k++) { System.out.print(sheet[i][j][k] + "\t"); } System.out.println(); } System.out.println(); } } } 이 코드를 실행해 보면 가장 안쪽 루프인 k가 돌 때 숫자가 위로 쌓이는 게 아니라, 왼쪽에서 오른쪽으로 평평하게 가로 줄(열)을 그리면서 출력이 되더라고요. 그리고 가장 바깥쪽 루프인 i가 바뀔 때 시트가 전환되는 것을 확인했습니다. 특히 같이 알려주신 가변 배열(Jagged Array) 개념을 여기에 대입해 보니까 더 헷갈리는데요. 자바는 new int[2][][]; 처럼 각 행마다 열의 크기를 다르게 지정할 수 있는 구조인데, 행마다 방 개수가 제각각인 상황에서 가장 안쪽 루프를 '높이'라고 생각하면 가변 배열의 형태가 머릿속으로 잘 매칭이 안 되어서요. 자바 메모리 구조상 공간적인 높이라는 비유보단, 엑셀로 따지면 처음 게 시트고 두 번째가 행, 마지막이 열이라고 생각하는 게 코드상으로나 가변 배열 구조상으로나 더 자연스러워 보이는데 제가 놓친 디테일이 있을까요? 제가 자바의 다차원 배열 메커니즘을 오해하고 있는 부분이 있는 건지, 아니면 세로-가로-높이 비유를 코드에 대입할 때 제가 놓친 디테일이 있는지 궁금합니다. 확인해 주시면 감사하겠습니다!
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 기출 풀어보면 C를 안 붙이고, object도 자연스럽게 변환된다고 하셨는데, 연습할 때 gender에 C를 붙였던 경험이 있습니다. 혹시 언제 붙이고 언제 안 붙이는지 알 수 있을까욤..?
빅데이터분석기사 실기체험에서 작업형 제2유형을 회귀 실습해보고 있는데. 에러가 나는데 이유를 전혀모르겠어요. import pandas as pd train = pd.read _csv("data/customer_train.csv") test = pd.read _csv("data/customer_test.csv") target = train.pop('총구매액') train = pd.get_dummies(train) test = pd.get_dummies(test) from sklearn.ensemble import RandomForestRegressor model = RandomForestRegressor() model.fit (train, target) p = model.predict(test) submit = pd.DataFrame({'pred':p}) submit.to _csv("result.csv", index=False) print(submit.head()) 에러) Makefile:6: recipe for target 'py3_run' failed make: *** [py3_run] Error 1 Traceback (most recent call last): File "/goorm/Main.out", line 38, in <module> p = model.predict(test) ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/sklearn/ensemble/_ forest.py ", line 1063, in predict X = self._validate_X_predict(X) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/sklearn/ensemble/_ forest.py ", line 641, in validate X_predict X = self._validate_data( ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/sklearn/ base.py ", line 608, in validate data self._check_feature_names(X, reset=reset) File "/usr/local/lib/python3.12/site-packages/sklearn/ base.py ", line 535, in check feature_names raise ValueError(message) ValueError: The feature names should match those that were passed during fit. Feature names seen at fit time, yet now missing: - 주구매상품_소형가전
안녕하세요. 좋은 강의 잘 들었습니다. 몇가지 문의 드립니다. aevaluate 이 정상적이지 않아서 evaluate를 사용하는데, evaluate를 사용할때 wrapper 를 안쓰면 최종결과를 얻지 못할수 있어서 wrapper 를 사용한다고 하셨는데요. evaluate 의 첫번째 파라미터는 함수를 넘겨야 하니 run_agent_to_completion 를 자연스럽게 만들게 되지 않나요? run_agent_to_completion 를 안쓴다면 어떤식으로 evaluate 코드를 작성하게 되는지 궁금합니다. agent 에 따라, 질문에 대해 바로 답을 주는게 아니라 HITL 을 발생시키고, 사용자의 추가 정보에 따라 최종 답변을 주는 agent 가 있을수 있습니다. 이 경우 어떤식으로 평가를 하면 좋을까요? 강의에 사용하셨던 영상에서 몇몇 부분 링크를 참고하라고 하셨는데, 링크 정보를 어디서 얻을수 있을까요? 예를들면 아래와 같은 부분 입니다. (강의소개에 적어주신 노션과 깃헙에서는 못찾아서 여쭤봅니다.) 2강 - 4분 10초 경 Amazon 링크 4강 - 1분 8초 경 세일즈포스트 링크 " '운영에 배포할만한 가치가 있는 agent 인가?'를 평가한다 "는 말이 기억에 남습니다. 감사합니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 실기시험 응시 가이드를 보면 제2유형은 pred 컬럼 하나만 생성한다고 적혀있는데, 이러면 다중분류의 roc-auc 문제는 나올 확률이 거의 없다고 봐도 될까요?
안녕하세요 작업형 2에서 분류 문제 시, 범주끼리 수 차이가 크면 stratify나 class_weight를 설정하는데 분류문제에서는 무조건 설정하는 것이 좋을까요?? 아니면 다른 하이퍼파라미터 튜닝도 제외해야 할지 고민입니다.. 저번 시험 후기를 보니 오히려 아무것도 설정하지 않은 상태가 더 점수가 높게 나왔다고 하여 고민입니다 ㅜㅜ