친절한 설명과 함께 강의자료를 공유해 주셔서 감사합니다. 그런데 현재 강의자료로 올려주신 pdf 외에, 실습에 사용하신 code도 공유해주실 수 있을까요~? 수업 중, 내용흐름을 이해하는데 코드를 별도로 볼 수 있다면 큰 도움이 될 것 같습니다. 현재는 실습 중 사용된 변수가 어디에서 정의되었는지, 다시 확인하려면 강의를 돌려보면서 확인해야하는 애로사항이 있습니다.
영상보다가 처음에 결측치 제거 부분에서 실수로 "value"부분에서 따옴표를 넣어 test의 age컬럼이 object형식으로 저장되었습니다 그래서 이상치 파트에서 문자랑 정수가 섞여 조건문 작성시에 오류가 발생하였는데 다시 원래대로 결측치 있는 부분을 fillna(vlaue)로 저장시키는 방법은 없나요? test파일을 test = test_backup.copy() 이렇게 해놔야 하나요? value = int(train["age"].mean()) print("평균값: ", value) train["age"] = train["age"].fillna(value) test["age"] = test["age"].fillna("value")
train와 test의 데이터가 15개로 동일하지만 train_oh와 test_oh의 데이터는 왜 다른지 궁금합니다.. 제가 정확히 train_oh와 test_oh는 각각 train과 test의 문자데이터를 수치형 데이터로 변환하는것으로 이해했는데 그렇다면 train과 train_oh의 데이터 갯수는 동일해야 하는것이 아닌 의문이 들어 질문남깁니다 ㅠ
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요 다름이 아니라 강의에서 회귀 중 MAPE, RMSE, RMSLE 등은 sklearn.metrics에 없다고 따로 외워야 한다고 하셨는데요 사이킷런 홈페이지 들어가봤는데 다 적혀있기는 해서, 혹시 이제는 metrics 통해 그대로 사용하면 되는 게 맞는지 여쭙습니다! 제가 확인한 사이트도 링크 첨부하였습니다. https://scikit-learn.org/stable/modules/generated/sklearn.metrics.mean_squared_log_error.html
아래와 같이 똑같이 입력했는데 결과값이 아예 다른데 무엇이 문제일까요?ㅠㅠ import pandas as pd df=pd.read_csv("clam.csv") df #데이터분할에서 만들기 train = df.iloc[:210, : ] test=df.iloc[210: , : ] #로지스틱 회귀모델 만들기 #잔차이탈도는 로짓에서 볼수없고 glm에서 볼수있다. from statsmodels.formula.api import glm import statsmodels.api as sm model = glm("gender~ age + length + diameter + height + weight", data=train, familiy=sm.families.Binomial()).fit() print(model.summary())
스케일링도 데이터 프레임별 범위에 따라 fit() 할 프레임을 구분해줘야할까요? train['a'] 컬럼이 1~100 범위이고 test['a'] 컬럼은 1~200 범위라면 B먼저 fit하고 A는 transform 을 해줘야하나요? 아니면 각각 fit_transform 해야할까요? 범주형 컬럼 인코딩의 경우를 생각해보니 문득 위와 같은 상황에서 어떻게 해야하는지 궁금하네요.
# your code import pandas as pd df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p1/members.csv") #1 #print(df.shape) df = df.dropna(subset=['views']) #print(df.shape) #2 df['f3'] = df['f3'].fillna(0) df['f3'] = df['f3'].replace('silver',1) df['f3'] = df['f3'].replace('gold',2) df['f3'] = df['f3'].replace('vip',3) print(int(df['f3'].sum())) 이렇게 작성 후 실행하면 결과가 밑에 처럼 나옵니다. 133 <ipython-input-57-2ecc61ea0b50>:14: FutureWarning: Downcasting behavior in `replace` is deprecated and will be removed in a future version. To retain the old behavior, explicitly call `result.infer_objects(copy=False)`. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` df['f3'] = df['f3'].replace('vip',3) 문제 3번에서 두번째 점과 관련된 질문입니다. 강의에서 알려주신 넘파이를 꼭 사용해야 하나요? 이전 강의에서 넘파이에 대한 내용이 따로 언급이 없으셔서 혼자 문제 풀어볼 때 넘파이 사용하지 않고 풀어본 것인데.. 깔끔하게 133만 나오지 않아서요ㅜㅜ
안녕하세요 :) 현재 문제를 풀었을 땐, sklearn.metrics 에서 문제에서 주어진 모든 평가지표를 제공하고 있는데 시험 때도 동일하게 사용하면 될까요? from sklearn.metrics import r2_score, mean_absolute_error, mean_squared_error, root_mean_squared_error, root_mean_squared_log_error, mean_absolute_percentage_error lightGBM 모델을 사용하면 RMSLE에 대해 마이너스 값에 대한 에러가 발생하는데, 이 경우 해당 모델을 사용하지 않는 게 좋을까요? 문제에 제시된 모든 평가지표들에 대해서 에러가 안 떠야 채점 받을 때 불이익이 없는 건지 궁금합니다..! r-squared 값이 0.18 로 굉장히 작은 편인데.. 결과가 이럴 수도 있나요? 보니까 수업에서 배우지 않은 모델들도 굉장히 많은데 (ex. 릿지, 라쏘, XGBoost) , 분류/회귀 모두 '랜덤포레스트, lightGBM' 모델만 사용해서 문제를 풀어도 괜찮을까요? (여유가 되면 XGBoost 까지)
안녕하세요 :) '문제 2-2'에서 '문제 2-1'에 적합한 모델의 결정계수를 구하라고 돼있는데, 다중회귀분석은 수정결정계수를 봐야 하지 않나요? 다른 분의 같은 질문에 대한 답변을 보니까 '적합한'을 '작업한'으로 이해하면 된다고 하셨는데 '기출 7회 - 작업형3 - 문제 2-2'에서는 다중회귀분석의 적합한 결정계수를 구하는 건 수정결정계수를 구해야 한다고 하셨거든요. '적합한 모델'이든 '적합한 결정계수'든 '적합한'의 위치에 상관 없이 다중회귀분석의 결정계수는 수정결정계수를 봐야 하지 않나요?!