앞에서부터 70% 데이터 중 views 컬럼의 3사분위 수에서 1사분위 수를 뺀 값을 아래와 같이 풀이했는데, 코드가 실행되지 않는 이유가 궁금합니다. df = df[:int(len(df) * 0.7)] cond3 = df['views'].quantile(0.75) - df['views'].quantile(0.25) df[cond3]
여유 없으면 랜덤포레스트 모델 하나만 해도 크게 지장없는 걸로 알고 있습니다. 근데 모델 구성 중에 max_depth 이나 random_state에 따라 점수가 차이가 날 수 있는 건 당연한데, 이 차이가 많이 날 수 있나요...? 저번 시험에서 max_depth 설정한 사람과 안한 사람 차이 점수가 10점 이상 난 걸로 알고 있어서...ㅠ 그리고 예를들어 모델 검증으로 max_depth=7이 max_depth=5가 더 좋은 평가지표가 나왔는데, 실제 test랑 비교했을 때 max_depth=5가 더 좋을 수 있는 것 아닌가요...?
T1-21 문제 풀어보고 있는데요, 캐글에서 올려주신 코드로 작성한 결과와 제가 작성한 코드의 결과가 달라 질문 드립니다. (*제가 작성한 전체 코드는 맨 아래에 있습니다.) 바로 아래 코드에 대한 출력값은 90, 30, 30, 30 입니다. (답은 167.0 으로 출력됩니다.) 이를 통해 이상값 처리와 데이터 분할 모두 옳게 했다고 볼 수 있는데, 답은 165가 아닌 167이 나와서 도대체 어디서 잘못된건지 모르겠습니다. 답변 주시면 감사하겠습니다! # print(len(df['age'])) # print(len(df['age'].iloc[:30])) # print(len(df['age'].iloc[30:60])) # print(len(df['age'].iloc[60:90])) import pandas as pd import numpy as np df = pd.read_csv('../input/bigdatacertificationkr/basic1.csv') # print(df.head()) # print(df.info()) cond1 = df['age'] > 0 cond2 = df['age'] == round(df['age'], 0) df = df[cond1 & cond2] # print(df.head()) # print(len(df['age'])) # print(len(df['age'].iloc[:30])) # print(len(df['age'].iloc[30:60])) # print(len(df['age'].iloc[60:90])) median1 = df['age'].iloc[:30].median() median2 = df['age'].iloc[30:60].median() median3 = df['age'].iloc[60:90].median() print(median1+median2+median3)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요 작업형 2 한 가지 방법으로 풀기를 봤는데요 지금까지는 결측치나 이상치가 없었던 것으로 알고있는데요 1.만약 8회차에 결측치나 이상치가 존재한다면 여기서 EDA이후 결측치나 이상치를 제거하고 인코딩으로 넘어가면 되는거죠?? 2.그리고 영상에서는 target빼고 원핫 인코딩으로 다 진행 하던데 혹시나 조금 더 꼼꼼하게 진행할려면 target데이터 제외후 범주형은 원핫 인코딩 수치형은 스케일링 돌린후 검증 데이터 나누고 randforest로 학습 및 평가 후 제출 하면 되는 걸 까요??
캐글에 올려주신 자료 중 T1-23 문제를 다시 풀어보고 있는데 선생님 답과 다른 답이 나와서 질문 드립니다. 선생님 풀이와 다른 부분은 10번째 값을 찾는 부분만 다른 코드로 했는데요 10번째 값은 88으로 같은데 중복값 제거 후 f1 중앙값이 75로 선생님 풀이의 값 77과는 다르게 나옵니다. 이유가 뭔지 알 수 있을까요? # f1 결측치를 f1을 내림차순으로 소팅했을 때 10번째 인덱스에 위치한 값으로 채움 df=df.sort_values('f1', ascending=False) df=df.reset_index() # print(df.head(10)) a=df.loc[9,'f1'] print(a) # print(df.isnull().sum()) df['f1']=df['f1'].fillna(a) # print(df.isnull().sum()) # age컬럼의 중복 제거 전 f1중앙값 m1=df['f1'].median() print(m1) # age컬럼의 중복 제거 후 f1중앙값 print(df.shape) df=df.drop_duplicates(subset=['age']) print(df.shape) m2=df['f1'].median() print(m2) print(abs(m1-m2))
상위 10번째 값으로 대체하는 부분에서 df.iloc[:10,-1] = min_value 이렇게 하셨는데 df['views'].iloc[:10]= min_value 이렇게 풀어도 상관없을까요? 만약 2번째 풀이도 상관 없다면 첫번째 풀이로 진행하신 이유가 있을까요? 취향차이일까요?
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 정규성을 만족하지 않을 때 단일 표본과 대응 표본에서 윌콕슨을 사용하려고 합니다. 이때 단일 표본 stats.wilcoxon(df['관측치명']-평균값, alternative=) 라 했을 때 차이로(df['관측치명']-평균값) 계산하였고 대응표본은 차이로 계산이 가능하지만, 더 쉬운 방법인 df['before'], df['after'], alternative= 를 사용하였습니다. 그렇다면 단일표본에서도 df['관측치명'], 평균값으로 계산해서 될까요? 만일 안된다면, 윌콕슨은 차이 값를 기반으로 검정 통계량을 계산하는 것인데 대응표본은 두가지로 가능하면서 단일표본은 무조건 왜 -(차이)를 사용해야 하는지 궁금합니다!
안녕하세요 선생님! 작업형 2유형 확률 문제를 풀다가 결과값 관련해서 문의드립니다 문제에 제시된 pred 예시형태는 소수점 형태인데 제가 코딩해서 제출한 csv 파일을 확인해보면 거의 매번 0 혹은 1로 나옵니다 스케일링은 안하고 object 인코딩만 해주고 있는데 제가 코딩을 잘못 하고 있는 것인지, 채점 관련해서 상관없을지 궁금해서 여쭤봅니다! (roc_auc score는 0.7616337491337491 나왔습니다)