[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 영한님 궁금증이 생겨서 질문을 드립니다. 만약의 경우이지만, 자바 버전이 31까지 업데이트가 된다면 새로운 기능(어떤 것들이 나올지 모르지만.)에 대해서 강의를 낼 생각이 있는지 궁금합니다. 답변 부탁 드립니다.
안녕하세요. 질문이 있습니다. 기출 7회 작업형 1-3 문제에서 저는 강사님처럼 gender 컬럼을 pop하지 않고 그냥 바로 test 데이터를 넣어 예측하였습니다. 강사님이랑 결과는 동일하게 나오는데 혹시 gender 컬럼을 꼭 분리해야 할까요? 사실 test 안에는 weight 말고도 다른 독립변수들이 같이 있잖아요. 근데 모델이 독립변수로 weight을 사용하여 종속변수 gender를 예측하는 모델이니까 자동으로 test 안의 weight 변수만 사용한다고 생각하고 있는데 틀린 생각인가요? from statsmodels.formula.api import logit # 1) 로지스틱 회귀모델 적합 model = logit('gender ~ weight', data = train).fit() # 2) test 데이터의 gender 예측 (남자로 분류되는 기준을 0.5로 임의 설정) pred = model.predict(test) > 0.5 # print(sum(pred)) # 3) error rate 구하기 from sklearn.metrics import accuracy_score acc = accuracy_score(test['gender'], pred) er = 1 - acc print(round(er, 3)) # 0.478
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 모두에 결측치가 있는 경우
# 최종 제출 파일 (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