nodes[0] = Node(3)->v3,c[Node(5),Node(8)]로 갑자기 되는게 이해가 안됩니다... 질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야 어떤 강좌에서 질문하셨는지 알 수 있습니다. 영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다. 이미 다른 누군가가 질문을 한 이력 이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다. 학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다. 제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다. 시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산) 질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 공부 시간이 많아서 2과목을 강의대로 하면 좋겠지만 시간이 없어서 1.데이터 전처리(결측치 제거 정도) 2.인코딩(데이터 별로 없을 시 원핫 or 많을 때 레이블인코딩) 3.랜덤포레스트 학습 이렇게 제출 했을 경우 보통 몇점 정도 나오는지 혹시 수강생들 후기가 있으신가요..? 30점 정도만 나와도 다행일 것 같긴합니다..
문제 1-2 에서는 소수 둘째짜리까지 구하라고 하여 함수 llf 를 구해서 소주 셋째짜리까지 구한 후, 반올림했는데 문제 2-2에서는 셋째짜리까지 구하라고 했으니, 넷째짜리까지 보고서 답을 적어야 하는데 선생님은 summary() 표에서 나오는 결정계수(소수 셋째짜리) 로 우선 답을 적으셨는데요. (이후에 rsquared 함수로 더 많이 소수자리를 보긴했지만) 문제 2-2에서 결정계수 값이 0.226 인데, 만약 0.2253 이였으면 반올했을때 0.225 가 되잖아요..? 그럼 틀린건가요? 선생님 풀이를 보면 1-2와 2-2의 차이가 분명히 있는데, 1-2 문제에서는 구하라고 하는 소수자리보다 더 많이 구한후 답을 적엇고, 문제 2-2에서는 그냥 표에있는 값으로 답을 적었는데요.. 한가지 방법으로 정리가 필요할듯 합니다.
선생님은 잔차이탈도 계산은 함수를 써서 로그 우드 값을 추출 후 곱하기 -2를 해서 = 286.93267518507366 여기서 반올림해서 286.93이 되고 저는 summary() 로 알게된 로그우드 값에 곱하기 -2를 해서 = 286.94 이 됩니다. 이럴경우 제가 한 답을 작성시 틀리게 되는건가요? summary 에서 -143.47 이렇게 애초에 소수 둘째짜리 까지만 나타내줫는데.. 틀리면 억울할거같은데 답변 부탁드립니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 풀이 코드에는 print(a.sum(axis=1)) 이렇게 작성이 되어있는데 print(a.T.sum()) 이렇게 해도 되나요?
마지막 팁 부분을 먼저 보고 기출 연습을 하고 있는데요, lightgbm을 하는 경우 object 자료형을 category 자료형으로 바꿔주면 인코딩을 따로 할 필요가 없다고 하여 이 방법으로 연습을 진행하고 있습니다. 또, 성능평가를 구하지 않아도 감점되지 않는다고 하여 오류가 나지 않은 한 인코딩과 성능평가 없이 lightgbm으로 푸는 방법으로 연습 중인데, 아래 코드가 제가 작성한 코드입니다. 오류가 나지 않지만, 제출 파일의 내용을 확인한 결과 강사님의 최종 결과와 차이가 있었습니다. (Attrition_Flag 값의 차이) 뭐가 잘 못된 건가요...? import pandas as pd train = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p2/ceredit%20card/train.csv") test = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p2/ceredit%20card/test.csv") # train = pd.read_csv("train.csv") # test = pd.read_csv("test.csv") # #문제 정의 # 평가: ROC-AUC, 정확도(Accuracy), F1, 정밀도(Precision), 재현율(Recall)을 구하시오 # target : Attrition_Flag (1:이탈, 0:유지) # csv파일 생성 : 수험번호.csv # ROC-AUC -> 분류 # eda # print(train.shape, test.shape) # (8101, 21) (2026, 20) # print(train.info()) # print(test.info()) # print(test.head()) # object -> category cols = train.select_dtypes(include='object') for col in cols: train[col] = train[col].astype('category') test[col] = test[col].astype('category') # 검증 데이터 분리 y_train = train.pop('Attrition_Flag') from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train, y_train, test_size=0.2, random_state=0) # lightgbm 학습 및 예측 import lightgbm as lgb model = lgb.LGBMClassifier(random_state=0, verbose=-1) model.fit(X_tr, y_tr) pred = model.predict_proba(X_val) # print(model.classes_) # target : Attrition_Flag (1:이탈, 0:유지) # 결과: [0 1] -> 유지 이탈 (이 순서임) # 성능 평가 # test 예측 및 제출 pred = model.predict_proba(test) # print(pred.shape) # print(test.shape) # print(pred) submit = pd.DataFrame( {'CLIENTNUM':test['CLIENTNUM'], 'Attrition_Flag':pred[:,1]}) submit.to_csv('수험번호.csv', index=False) # 제출 파일 확인 # print(pd.read_csv('수험번호.csv').shape) # (2026, 1) -> test.shape(2026, 20) 위 사진은 제 코드를 실행하여 만든 csv파일의 내용입니다. 다음 사진은 강사님 코드의 실행 결과입니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 스레드를 조인하면 다른 스레드의 작업이 처리될때까지 기다려야한다고 배웠는데, 지금 예시에서는 스레드 수가 여유로워서 괜찮지만 만약 제목대로 임계값을 더 작게 하고, 스레드 수도 줄인다면 처리할 스레드의 수가 부족해져 데드락이 발생할 수도 있는 상황인지 궁금합니다
배치 처리, 시스템 종결의 서막 💀 장에서 중복된 문장 발견. 두 세계의 공존 웹은 실시간 상호작용의 최전선에서 사용자와 연결을 담당한다. 배치는 시스템의 후방에서 대규모 데이터 처리를 책임진다. 둘은 역할이 다르지만, 함께 작동할 때 시스템은 완벽해진다. 함께 작동할 때 시스템은 완벽해진다. 배치가 없다면 시스템의 무게를 견딜 수 없고, 웹이 없다면 사용자와의 연결이 끊어진다. 네가 이 두 세계를 모두 이해하고 다룰 수 있다면, 시스템의 모든 것을 지배할 수 있다.
기출에서는 train, test 모두에 결측치가 없었는데요 혹시 결측치가 있는 데이터가 주어지면 어떻게 해야하는지 궁금합니다. 아래 케이스별로 궁금하고 object 결측치인지 수치형 결측치인지에 따라서도 다르게 해야 할까요? train 에만 결측치가 있는 경우 test 에만 결측치가 있는 경우 train/test 모두에 결측치가 있는 경우
안녕하세요, 우선 데이터 관련 좋은 강의 올려주셔 감사합니다. 수강 중 실습에서 AWS kafka 서버가 어떤 역할인지 헷갈려 질문 드립니다. 위 강의 pdf와 같이 지금까지 producer가 서버에 push하고 consumer가 서버(브로커)에 있는 메시지를 pull 하는 것으로 이해했고, AWS에 만든 3개의 kafka-broker01~03이 서버를 구성하는 3개의 '브로커'라고 이해했는데, 실습을 진행하면서 AWS kafka-broker서버에서 파티션을 만들었으니 브로커는 맞는 것 같으나 동시에 producer, consumer 역할을 하는 것 같아서 원래 브로커가 서버를 구성하는 동시에 클라이언트의 역할도 하는 것인지 이해하는데 어려움을 겪고 있습니다. 만약 그렇다면 kafka02에서 produce하고 kafka01에서 consume한다고 할 때, kafka02도 kafka01와 같은 cluster에 속하니 kafka02의 파티션에도 메시지가 저장되고 있는 것이 맞나요...? 긴 글 읽어주셔서 감사드립니다.
# 최종 제출 파일 (lightGBM) pred = lg.predict(test) submit=pd.DataFrame({'pred':pred}) submit.to_csv("result.csv",index=False) 아래처럼 feature가 맞지 않아서 에러가뜹니다. 강의 그대로 했는데 왜그러는 걸까요?? --------------------------------------------------------------------------- ValueError Traceback (most recent call last) /tmp/ipython-input-50-2529582812.py in <cell line: 0>() 1 # 최종 제출 파일 (lightGBM) ----> 2 pred = lg.predict(test) 3 submit=pd.DataFrame({'pred':pred}) 4 submit.to_csv("result.csv",index=False) 2 frames /usr/local/lib/python3.11/dist-packages/lightgbm/sklearn.py in predict(self, X, raw_score, start_iteration, num_iteration, pred_leaf, pred_contrib, validate_features, **kwargs) 1008 n_features = X.shape[1] 1009 if self._n_features != n_features: -> 1010 raise ValueError( 1011 "Number of features of the model must " 1012 f"match the input. Model n_features_ is {self._n_features} and " ValueError: Number of features of the model must match the input. Model n_features_ is 28 and input n_features is 8
작업형2에서 데이터 전처리할 때 라벨인코딩or원핫인코딩 후 랜포 or lightGBM만 준비해서 가려고 하고 기출 계속 돌려보고 있는데 아직 어떤 경우에 라벨인코딩이 적합하고, 원핫인코딩이 적합한지 구분이 안됩니다 1)어떤 데이터들일때 어떤 인코딩이 적합한건지 궁금합니다! (+현재는 오브젝트타입 라벨인코딩해서 모델 학습한거랑 원핫인코딩해서 모델 학습한거랑 각각 비교해보고 수치 더 좋은걸로 선택했었습니다..!) 2)그리고 항상 데이터 전처리(라벨or원핫인코딩) 전에 target 컬럼 먼저 train에서 복사해서 옮겨놓고 그 후에 데이터전처리를 하는게 맞는걸까요??