inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

SettingWithCopyWarning 관련 질문

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

기출2회 작업형 1 문제 2번 풀이 중 SettingWithCopyWarning가 같이 출력됩니다 문제 2번 주어진 데이터셋(members.csv)의 앞에서부터 순서대로 80% 데이터만 활용해 'f1'컬럼 결측치를 중앙값으로 채우기 전 후의 표준편차를 구하고, 두 표준편차 차이 계산하기 (단, 표본표준편차 기준, 두 표준편차 차이는 절대값으로 계산) import pandas as pd df = pd.read_csv("members.csv") # print(df.shape) # int(len(df)*0.8) df2= df.iloc[:int(len(df)*0.8),:] # print(df2.shape) std1 = df2["f1"].std() ## 20.574853076621935 print(std1) # print(df2) # print(df2["f1"].median()) # 68.0 df2["f1"] = df2["f1"].fillna(df2["f1"].median()) std2 = df2["f1"].std() ## 17.010788646613268 print(std2) print(std1-std2) 저는 이렇게 풀었고요. 아래처럼 출력되더라고요 20.574853076621935 17.010788646613268 3.564064430008667 <ipython-input-43-d0c995e0379e>:14: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_indexer,col_indexer] = value instead See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy df2["f1"] = df2["f1"].fillna(df2["f1"].median()) 정답은 풀이 내용 출력값과 일치하는데, SettingWithCopyWarning 가 나서 자꾸 신경이쓰이네요. 실제시험에서 혹시 문제가 생길 수 있을까요...?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
빅분기수강생 댓글 2 좋아요 0 조회수 233

기출 2 작업형 1 - 문제 1 질문입니다

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

문제 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] = top10 5660.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번째 값 구했고 조건 변수 설정해서 한건데... 왜 풀이랑 결과값이 다를까요....??

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
빅분기수강생 댓글 2 좋아요 0 조회수 186

2번

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 idmax가 잘 안와닿아서요 ㅠㅠ 이렇게 작성해도 정답처리되나요? df['교사1명당학생수'] = df['전체학생수'] / df['교사수'] df = df.sort_values('교사1명당학생수',ascending=False) print(int(df.iloc[0,1]))

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
joy10780 댓글 1 좋아요 0 조회수 126

1번 문제

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 저는 마지막에 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)))

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
joy10780 댓글 1 좋아요 0 조회수 171

답변에 대한 추가 질문 확인 부탁드립니다

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

https://www.inflearn.com/questions/1287898 여기서 답변에 대한 추가 확인을 위한 연계 질문 내용도 확인 부탁드립니다 https://www.inflearn.com/questions/1287705 pop() 함수는 "train셋에는 존재하고 test셋에는 존재하지 않는 타겟 값 보존을 위해 사용한다" 그리고 피쳐엔지니어링(인코딩, 스케일링) 이후의 컬럼수를 맞추기 위함 이다. 그럼 train, test 2셋 문제( pop 사용해 타겟 분리), x_train.y_train,x_test 3셋 문제(타겟은 y_train에 있으니 pop 사용 불필요) 로 이해하면 되나요?? 3셋의 경우 타겟은 어차피 y_train에 있는 거니까 거기서 끌어오면 되고 지우면 안되는 거니까요

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
빅분기수강생 댓글 1 좋아요 0 조회수 106

test의 정답데이터도있나요..?

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

다음 코드를썼더니 점수가 검정 점수가 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')

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
최우영 댓글 1 좋아요 0 조회수 183

학습 시 데이터 포함

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

모델 학습 시킬 때 id 컬럼은 빼고 해야 되지 않나요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
anko04 댓글 1 좋아요 0 조회수 210

4-3 문제 7번 문제

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

'평균보다 큰 값의 수, 평균보다 작은 값의 수' 더하시오. 라고 되어 있는데 저만 그런건지 모르겠지만 수를 구하라는 말은 해당 숫자를 찾으라는 말로 이해되는데 아무래도 "갯수" 를 구하라고 정확한 표기가 되어야 할 거 같습니다.

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
아라레 댓글 1 좋아요 0 조회수 209

검증데이터 분할 할 때 test_size 그리고 머신러닝 분류모델 종류

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 검증데이터 분할 할 때 test_size를 나누는 꿀팁있을까요? 0.1? 0.15? 0.2? 머신러닝 모델을 탁 찝어서 이거써라~하고 문제가 나온적도 있나요? 분류/회귀/분류회귀 둘다 사용가능한 모델들을 한번 정리하고 가는게 좋을까요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
wanzy123 댓글 2 좋아요 0 조회수 239

일원분산분석 질문드립니다

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

일원 분산 분석에서 만약 levene 검정결과가 등분산이 아닌 경우 이후 검정은 어떻게 진행하면 될까요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
mr.woong0926 댓글 2 좋아요 0 조회수 233

표본표준편차 vs 모표준편차

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

안녕하세요 8회 응시생입니다.. 표본표준편차와 모표준편차의 차이에 대해서 인지하고있으며 numpy의 기본값 -> 모표준편차 pandas의 기본값 -> 표본표준편차 (ddof=1) 인걸로 알고있습니다. 기출 2회 유형 문제에선 표본표준편차를 기준으로 구하라고하셨는데요 시험에서도 그렇게 나온건가요? 따로 그런말이없으면 80%를 나누기전(전체데이터셋) -> 모표준편차 80프로의 표준편차 -> 표본표준편차 로 구하는게 정석인가요? 답변 미리 감사드립니다.

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
최우영 댓글 1 좋아요 0 조회수 368

주구매상품, train test 갯수 다름

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

train에서 주구매상품은 42종류고 test에서 주구매상품은 41종류입니다 이것을 확인하고 종류갯수가 달라서 라벨 인코딩을 해준것인가요? 지금까지는 확인하지 않고 object형 라벨 인코딩 해주었는데 train이 '소형가전' 이 하나 더 있는데 따로 어떤 처리를 해준 건가요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
이민규 댓글 2 좋아요 0 조회수 209

전처리시 컬럼삭제에 따른 성능차이 질문

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

예를들어 기출6회 작업형2유형 풀이시에 Heat_Load 를 예측하도록 되어있습니다. 예를들어 train 과 test 컬럼에서 nunique 로 값을 확인하고 실제 row수만큼의 빈도수가 발생하는 Cool_Load 값이 있는데요. 이 컬럼은 삭제하는것이 더 효율적인 머신러닝 성능이 나오더라구요. 하여 전처리시 컬럼을 삭제처리하는 기준을 nunique 로 임의로 판단해도 될지 혹시 강사님은 컬럼삭제의 기준을 어떤식으로 잡는지 궁금합니다. 아니면 그대로 진행하는게 더 나을지 판단이 잘 안서서 질문드려 봅니다.

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
momgrp24 댓글 1 좋아요 0 조회수 186

get_dummies 와 스케일링, 라벨인코딩 사용법의 차이

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

작업형 2유형을 풀이하게되면 get_dummies 로 한방에 처리하거나 민맥스스케일러, 라벨인코더로 처리하는 경우가 있는데요 둘 중 어느것을 써야 더 효율적일지는 상황에 따라 달라지는건지요? 결과값은 같은건지요 ? 둘다 머신러닝이 납득할 수 있는 숫자로 인코더 되는 역할로 여겨지는데요. get_dummies 만 사용해서 풀이해도 괜찮을지, 혹은 민맥스 스케일러나 라벨인코더를 사용하는게 나을지 궁금합니다. 그리고 스케일러랑 인코더는 세트로 사용해야 하는지, get_dummies 를 혼용하여 사용하기도 하는지 궁금합니다. 결론적으로 minmaxscaler, labelencoder 는 어떤걸 효율적으로 해주고 성능에 영향을 미치는지 큰 차이가 없으면 get_dummies 로 사용해도 되는지 궁금합니다. 또한 get_dummies 는 숫자형과, 오브젝트형이 포함된 전체 테이블을 넣어서 인코딩 하면 되는지도 궁금합니다.

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
momgrp24 댓글 2 좋아요 0 조회수 543

캐글 T2 - 2 당뇨병

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

안녕하세요! 캐글 당뇨병 문제에서 Glucose, BloodPressure, SkinThickness, Insulin, BMI에서 이상치가 있는 부분을 처리하셨는데 저는 초보라 시험장에서 describe 만으로 저 데이터에 이상치가 있다는 것을 모를거 같은데 이상치 처리 하지않고 그냥 모델 학습시켜서 제출해도 괜찮을까요? 감점이 클까요? ㅜㅜ

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
박나현 댓글 1 좋아요 0 조회수 160

캐글 T2-1 타이타닉 질문있습니다.

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

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 같은 문자 데이터는 인코딩 안해도 되나요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
박나현 댓글 1 좋아요 0 조회수 150

작업형 2 제출형식

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

제출된 csv 파일로 평가한다고 나와있는데 체험환경에서 제출을 누르면 코드가 제출되는 것 같은데 그 코드안에 csv 파일이 생성되는 코드가 있으면 거기서 생성된 csv 파일로 채점되는 것인가요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
이민규 댓글 1 좋아요 0 조회수 137

RandomForest 'Classifier', 'Regressor' 차이

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

질문이 사실 두 개 있어요. 제목처럼 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) 아닌가요??

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
ha-219 댓글 2 좋아요 0 조회수 660

이원분산분석 상호작용 표시 * 로 했을 때 자유도 차이

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

토마토 예제 이원분산분석에서 상호작용을 * 로 간단하게 표시할 수 있다고 했는데아래 코드 실행하면 상호작용의 자유도는 6으로 나옵니다. 그런데 원래 " :" 식으로 표시하면 자유도가 4입니다. 어떤 차이가 있는가요?model = ols('토마토수 ~ 종자 * C(비료)', data = df).fit()anova_lm(model)

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
cactuary 댓글 1 좋아요 0 조회수 243

pvalue=2.2~

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

유의수준 0.05보다 크므로 기각역이 커서 귀무가설을 기각할 수 있으므로, 귀무가설 채택(정규분포를 따르지 않는다) 아닌가요? 숫자가 축약이 되서 저렇게 표시되었다는 말씀같은데 매번 pvalue를 다시 산출하고 하는 과정이 필요하다는 말씀이실까요? 이후 검산에서 0.00000000~2 로 나오는게 있던데 시험에서 이런경우 0.05보다 크다 작다가 아니라 기재하신 {}.format 이런 함수를 꼭 작성해봐야 pvalue를 확실하게 알수있는 건지 궁금합니다 작성하신 코드가 어려워서요

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
FU 댓글 1 좋아요 0 조회수 169

인기 태그

인프런 TOP Writers

주간 인기글