묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출 2 작업형 1 - 문제 1 질문입니다
문제 1 주어진 데이터셋(members.csv)의 'views' 컬럼 상위 10개 데이터를 상위 10번째 값으로 대체한 후 'age'컬럼에서 80 이상인 데이터의 'views' 컬럼 평균값 구하기 처음에는 이렇게 풀었습니다.df["views"].sort_values(ascending=False).head(10) ## 상위 10번째 값은 9690.0 t10 = df["views"].sort_values(ascending=False).iloc[9] ## 9690.0 df["views"] = df["views"].sort_values(ascending=False).reset_index(drop=True) df["views"].iloc[:10] = t10 # df.head(15) cond = df["age"] >= 80 df[cond]["views"].mean() # 4625.380952380952 로 나옴 # # <ipython-input-49-9959c4a1efa3>:13: SettingWithCopyWarning: # # A value is trying to be set on a copy of a slice from a DataFrame # # See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy # # df["views"].iloc[:10] = t10 4625.380952380952 로 나옴 두번째는 이렇게 풀었습니다df = df.sort_values(["views"], ascending= False).reset_index(drop=True) # df.head(10) top10 = df["views"].iloc[9] ## 9690.0 df["views"].iloc[:10] = top10 # df.head(11) cond = df["age"] > 80 df[cond]["views"].mean() # 5660.318181818182 로 나옴 # <ipython-input-65-22f967dbf31d>:10: SettingWithCopyWarning: # A value is trying to be set on a copy of a slice from a DataFrame # See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy # df["views"].iloc[:10] = top105660.318181818182 로 나옴그런데풀이 부분을 보니 답이 5674.04347826087 로 나오더라고요... 첫번째는 df의 "views" 칼럼 소팅해서 기존 칼럼에 대입하는 식으로 한df["views"] = df["views"].sort_values(ascending=False).reset_index(drop=True)부분이 잘못 된거 같아서 두번째 풀 때 df 전체에서 "views"칼럼 지정해서 소팅하는 아래 처럼 했고df = df.sort_values(["views"], ascending= False).reset_index(drop=True)상위 10번째 값 구했고 조건 변수 설정해서 한건데... 왜 풀이랑 결과값이 다를까요....??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2번
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요idmax가 잘 안와닿아서요 ㅠㅠ이렇게 작성해도 정답처리되나요?df['교사1명당학생수'] = df['전체학생수'] / df['교사수'] df = df.sort_values('교사1명당학생수',ascending=False) print(int(df.iloc[0,1]))
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
1번 문제
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요저는 마지막에 iloc를 이용하였는데요가능한지 여쭤봅니다코드는 아래와 같습니다.df['출동시간'] = pd.to_datetime(df['출동시간']) df['도착시간'] = pd.to_datetime(df['도착시간']) # df.info() df['diff'] = df['도착시간'] - df['출동시간'] df['diff'] = df['diff'].dt.total_seconds()/60 result = df.groupby('소방서').mean() result = result.sort_values('diff',ascending=False) print(int(round(result.iloc[0,2],0)))
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
답변에 대한 추가 질문 확인 부탁드립니다
https://www.inflearn.com/questions/1287898 여기서 답변에 대한 추가 확인을 위한 연계 질문 내용도 확인 부탁드립니다 https://www.inflearn.com/questions/1287705pop() 함수는 "train셋에는 존재하고 test셋에는 존재하지 않는 타겟 값 보존을 위해 사용한다" 그리고 피쳐엔지니어링(인코딩, 스케일링) 이후의 컬럼수를 맞추기 위함 이다.그럼 train, test 2셋 문제( pop 사용해 타겟 분리),x_train.y_train,x_test 3셋 문제(타겟은 y_train에 있으니 pop 사용 불필요)로 이해하면 되나요?? 3셋의 경우 타겟은 어차피 y_train에 있는 거니까 거기서 끌어오면 되고 지우면 안되는 거니까요
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
test의 정답데이터도있나요..?
다음 코드를썼더니 점수가 검정 점수가 0.98나오는데 과적합인지 확인하고싶어서요 ㅠㅠ train = pd.read_csv('/content/drive/MyDrive/퇴근후딴짓/archive/energy_train.csv') test = pd.read_csv('/content/drive/MyDrive/퇴근후딴짓/archive/energy_test.csv') X = train.iloc[:,:-1] y = train.iloc[:,-1] display(X.info() , X.head() , X.nunique()) cat_col = X.loc[:,X.nunique() <= 6].columns num_col = X.loc[:,~(X.nunique() <= 6)].columns X[cat_col] = X[cat_col].astype('category') test[cat_col] = test[cat_col].astype('category') X = pd.get_dummies(X,columns=cat_col) test = pd.get_dummies(test,columns=cat_col) #겹치는거 x print(set(X.columns) - set(test.columns)) print( set(test.columns) - set(X.columns)) from sklearn.model_selection import train_test_split X_tr,X_val,y_tr,y_val = train_test_split(X,y,test_size=0.2 , stratify = y, random_state=42) from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier(random_state=42) rf.fit(X_tr,y_tr) pred=rf.predict(X_val) from sklearn.metrics import f1_score f1_score(y_val,pred,average= 'macro')
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
학습 시 데이터 포함
모델 학습 시킬 때 id 컬럼은 빼고 해야 되지 않나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
4-3 문제 7번 문제
'평균보다 큰 값의 수, 평균보다 작은 값의 수' 더하시오. 라고 되어 있는데 저만 그런건지 모르겠지만 수를 구하라는 말은 해당 숫자를 찾으라는 말로 이해되는데 아무래도 "갯수" 를 구하라고 정확한 표기가 되어야 할 거 같습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
검증데이터 분할 할 때 test_size 그리고 머신러닝 분류모델 종류
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요검증데이터 분할 할 때 test_size를 나누는 꿀팁있을까요? 0.1? 0.15? 0.2? 머신러닝 모델을 탁 찝어서 이거써라~하고 문제가 나온적도 있나요? 분류/회귀/분류회귀 둘다 사용가능한 모델들을 한번 정리하고 가는게 좋을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
일원분산분석 질문드립니다
일원 분산 분석에서 만약 levene 검정결과가 등분산이 아닌 경우 이후 검정은 어떻게 진행하면 될까요?
-
미해결
2유형 pet_dummies 사용
x_train = pd.get_dummies(x_train)test = pd.get_dummies(test) x_train, test모두 get_dummies로 처리하고 난 후 train 컬럼 수가 하나 더 늘었습니다.왜 이렇게 되는건지 궁금합니다.get_dummies말고 LabelEncoder를 사용해야 하는 걸까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
표본표준편차 vs 모표준편차
안녕하세요 8회 응시생입니다..표본표준편차와 모표준편차의 차이에 대해서 인지하고있으며 numpy의 기본값 -> 모표준편차pandas의 기본값 -> 표본표준편차 (ddof=1) 인걸로 알고있습니다.기출 2회 유형 문제에선 표본표준편차를 기준으로 구하라고하셨는데요시험에서도 그렇게 나온건가요?따로 그런말이없으면80%를 나누기전(전체데이터셋) -> 모표준편차80프로의 표준편차 -> 표본표준편차 로 구하는게 정석인가요? 답변 미리 감사드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
주구매상품, train test 갯수 다름
train에서 주구매상품은 42종류고 test에서 주구매상품은 41종류입니다 이것을 확인하고 종류갯수가 달라서 라벨 인코딩을 해준것인가요? 지금까지는 확인하지 않고 object형 라벨 인코딩 해주었는데 train이 '소형가전' 이 하나 더 있는데 따로 어떤 처리를 해준 건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
전처리시 컬럼삭제에 따른 성능차이 질문
예를들어 기출6회 작업형2유형 풀이시에 Heat_Load 를 예측하도록 되어있습니다. 예를들어 train 과 test 컬럼에서 nunique 로 값을 확인하고 실제 row수만큼의 빈도수가 발생하는 Cool_Load 값이 있는데요. 이 컬럼은 삭제하는것이 더 효율적인 머신러닝 성능이 나오더라구요. 하여 전처리시 컬럼을 삭제처리하는 기준을 nunique 로 임의로 판단해도 될지 혹시 강사님은 컬럼삭제의 기준을 어떤식으로 잡는지 궁금합니다. 아니면 그대로 진행하는게 더 나을지 판단이 잘 안서서 질문드려 봅니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
get_dummies 와 스케일링, 라벨인코딩 사용법의 차이
작업형 2유형을 풀이하게되면get_dummies 로 한방에 처리하거나민맥스스케일러, 라벨인코더로 처리하는 경우가 있는데요 둘 중 어느것을 써야 더 효율적일지는 상황에 따라 달라지는건지요? 결과값은 같은건지요 ?둘다 머신러닝이 납득할 수 있는 숫자로 인코더 되는 역할로 여겨지는데요. get_dummies 만 사용해서 풀이해도 괜찮을지, 혹은 민맥스 스케일러나 라벨인코더를 사용하는게 나을지 궁금합니다. 그리고 스케일러랑 인코더는 세트로 사용해야 하는지, get_dummies 를 혼용하여 사용하기도 하는지 궁금합니다. 결론적으로 minmaxscaler, labelencoder 는 어떤걸 효율적으로 해주고 성능에 영향을 미치는지 큰 차이가 없으면 get_dummies 로 사용해도 되는지 궁금합니다. 또한 get_dummies 는 숫자형과, 오브젝트형이 포함된 전체 테이블을 넣어서 인코딩 하면 되는지도 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
캐글 T2 - 2 당뇨병
안녕하세요! 캐글 당뇨병 문제에서 Glucose, BloodPressure, SkinThickness, Insulin, BMI에서 이상치가 있는 부분을 처리하셨는데 저는 초보라 시험장에서 describe 만으로 저 데이터에 이상치가 있다는 것을 모를거 같은데 이상치 처리 하지않고 그냥 모델 학습시켜서 제출해도 괜찮을까요? 감점이 클까요? ㅜㅜ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
캐글 T2-1 타이타닉 질문있습니다.
EDA 단계에서 age, cabin에서 결측치가 있다는 것을 알았는데 혹시 이건 따로 처리를 하지 않아도 되는건가요? y = y_train["Survived"]# sex만 원핫인코딩 됨 features = ["Pclass", "Sex", "SibSp", "Parch"]X = pd.get_dummies(X_train[features])test = pd.get_dummies(X_test[features]) -> 이 4개 컬럼을 원핫인코딩 하셨는데 혹시 이 컬럼들을 선택한 기준이 있을까요? object가 아닌 열도 포함되어 있어서요 ! 나머지 cabin이나 embarked 같은 문자 데이터는 인코딩 안해도 되나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2 제출형식
제출된 csv 파일로 평가한다고 나와있는데 체험환경에서 제출을 누르면 코드가 제출되는 것 같은데 그 코드안에 csv 파일이 생성되는 코드가 있으면 거기서 생성된 csv 파일로 채점되는 것인가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
RandomForest 'Classifier', 'Regressor' 차이
질문이 사실 두 개 있어요.제목처럼 RandomForestClassifier, RandomForestRegressor 를 작업형2 에서 구분하여 사용하는 기준은 뭔가요?? 타겟이 수치형, object 형에 따라서도 아닌거 같아요.. 6회 기출유형 작업형2 문제풀이에서 # 최종 제출 파일rf.fit(train, target)pred = rf.predict(test)submit = pd.DataFrame({'pred': pred})submit.to_csv("result.csv", index=False)이렇게 적었는데, rf.fit(train, target)이 아니라 rf.fit(X_tr, y_tr) 아닌가요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
이원분산분석 상호작용 표시 * 로 했을 때 자유도 차이
토마토 예제 이원분산분석에서 상호작용을 * 로 간단하게 표시할 수 있다고 했는데아래 코드 실행하면 상호작용의 자유도는 6으로 나옵니다. 그런데 원래 " :" 식으로 표시하면 자유도가 4입니다. 어떤 차이가 있는가요?model = ols('토마토수 ~ 종자 * C(비료)', data = df).fit()anova_lm(model)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
pvalue=2.2~
유의수준 0.05보다 크므로 기각역이 커서 귀무가설을 기각할 수 있으므로, 귀무가설 채택(정규분포를 따르지 않는다) 아닌가요?숫자가 축약이 되서 저렇게 표시되었다는 말씀같은데 매번 pvalue를 다시 산출하고 하는 과정이 필요하다는 말씀이실까요?이후 검산에서 0.00000000~2 로 나오는게 있던데 시험에서 이런경우 0.05보다 크다 작다가 아니라 기재하신 {}.format 이런 함수를 꼭 작성해봐야 pvalue를 확실하게 알수있는 건지 궁금합니다 작성하신 코드가 어려워서요