묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
wilcoxon 검정에 대한 질문입니다!
이전 단일 표본 검정에서 정규성 검증을 진행할 때 willcoxon 코드를 알려주실 때stats.wilcoxon(df[’무게‘]-120, alternative=’less’)와 같이 알려주셨는데 이번 대응표본 검정에서 정규성 검증을 진행할 때 willcoxon는 stats.wilcoxon(df[‘after’] ,df[‘before’], alternative = ‘greater’)와 같이 알려주셨습니다.또한 강의에서도 after와 before의 값을 빼서 넣은 값인 df['diff']를 그대로 사용해도 된다고 말씀하셨습니다.그래서 아래 사진과 같이 임의로 df[‘after’] - df[‘before’]를 넣어서 실행해봤는데 결과값이 똑같이 나왔습니다. 그럼 단일 표본 검정에서 알려주신대로 df[’무게‘]-120와 같이 df[‘after’] - df[‘before’]로 생각하고 넣어줘도 무방한 것인가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
minmax
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요from sklearn.preprocessing import MinMaxScaler cls = train.select_dtypes(exclude='O') min = MinMaxScaler() train[cls] = min.fit_transform(train[cls]) test[cls] = min.transform(test[cls])ValueError: Boolean array expected for the condition, not int64 어디가 틀렸을까요...?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
슬라이싱 질문드립니다.
#9개 print(len(df[:9])) #10개 print(len(df.loc[:9])) #9개 print(len(df.iloc[:9])) ㅠㅠㅠㅠㅠㅠㅠ 셋 구분하기가 너무 어렵습니다 시험이 다가오니 사소한 것도 확인받아야 마음이 놓일 것 같습니다 ㅠㅠ 매번 감사합니다 ㅠㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
캐글 T2-1 타이타닉 데이터 관련 문제질의
T2-1. 타이타닉(Titanic) Simple Baseline | Kaggle위 문제에서 풀이를 하던 중에 범주형 데이터 인코딩 중에 에러가 계속 발생하여 확인했더니최초 풀이과정에 수치형 데이터(int)를 레이블인코딩 하신 부분을 발견했습니다.통상 과정에서 범주형 데이터를 인코딩하는 것을 접하다보니 궁금증이 생겼습니다.(1) 수치형 데이터를 레이블인코딩 해도 큰 문제가 없는지, 이 때 주의해야 할 부분이 있는지 궁금합니다.(2) 위 데이터에서 범주형 데이터를 레이블인코딩 했을 때 발생하는 에러가 어떤 이유인지 궁금합니다.ValueError: y contains previously unseen labels: 'SOTON/O.Q. 3101311'
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
시험 환경 체험 예시 문제 score가 너무 낮습니다
시험 환경 체험할 때 모의문제 2번에서 환불금액 결측치 채우고 object 컬럼들 label encoding 마친 후 randomforest와 xgbclassifier 이용해서 train test split하고 모델학습하고 roc auc score를 확인해봤는데 하이퍼파라미터 튜닝을 이것저것 해봐도 최대로 나오는 값이 0.688 정도 입니다.이 정도면 시험에서 문제 없는 score인가요?하이퍼파라미터 튜닝 안 하면 60 초반 정도로 밖에 안 나와서요.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2 질문있습니다.
기출 6 작업형 2import pandas as pdtrain = pd.read_csv("energy_train.csv")test = pd.read_csv("energy_test.csv")# train.shape,test.shape# print(train.head())# print(test.head())# print(train.isnull().sum())# print(test.isnull().sum())target = train.pop('Heat_Load')# print(train.describe(include='object'))train = pd.get_dummies(train)test = pd.get_dummies(test)# train.head()from sklearn.model_selection import train_test_splitX_tr,X_val,y_tr,y_val = train_test_split(train,target,test_size=0.2,random_state=2023)from sklearn.ensemble import RandomForestClassifiermodel = RandomForestClassifier(random_state=2023)model.fit(X_tr,y_tr)pred = model.predict(X_val)# predfrom sklearn.metrics import f1_scoreprint(f1_score(y_val,pred,average='macro'))pred = model.predict(test)pd.DataFrame({'pred':pred}).to_csv("result.csv",index=False)pd.read_csv("result.csv") 최근 인코딩 영상을 봤는데 범주형 인코딩 과정에서 train과 test unique 값이 같은지 다 비교해본 후에 진행해야 되나요? 지금은 nunique 값이 동일하면 바로 원핫인코딩이나 라벨인코딩 사용하고 있습니다. 만약 다른 값이 들어가 있으면 인코딩 할 때 오류가 발생하나요? randomforest만 이용해서 분류일 때랑 회귀일 때 나눠서 풀고 있는데 위의 코드처럼 작성하면 문제되는 점은 없을까요?randomforest에서 분류든 회귀든 max_depth와 n_estimators를 추가해서 검증 값이 높게 나오는 정도만 하면 될까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
표준화와 로버스트 스케일링 오류
민맥스에서는 문제없이 돌아가는데 표준화와 로버스트 스케일링 에서는 TransformerMixin.fit_transform() missing 1 required positional argument: 'X' 라는 오류가 나옵니다!n_train[cols] = scaler.fit_transform(n_train[cols]) 이부분에서 에러가 나는 거 같은데 어떤 문제일까요? copy() 부분은 계속 실행하고 돌리고 있습니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
캐글 T1-19 질문
if 다음에 return이 없는 이유를 알 수 있을까요..?왜 맨밑에만 return이 있나요 ㅠㅠ?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
모의고사 풀어보기1 마지막 문제 질문입니다!
해당 문제에서 선생님은 print(df.sort_values(ascending=False).index[0])으로 바로 인덱스 첫번째 값을 뽑으셨습니다.제가 풀어 볼때는 iloc를 활용해서 풀어보고자 아래와 같은 코드를 사용했는데 오류가 났습니다. 이유가 뭘까요? ㅠㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
캐글에 있는 타이타닉 생존률 문제
https://www.kaggle.com/code/agileteam/t2-1-titanic-simple-baseline/notebook 캐글에 있는 타이타닉 생존률 문제입니다.2-3. 범주형 라벨인코딩에서 이런 오류가 나네요..ValueError: y contains previously unseen labels: 'SOTON/O.Q. 3101311'아래는 제가 작성한 코딩입니다.. ㅠㅠ# 2. 전처리 # 2-1. drop X_train = X_train.drop(columns = ['PassengerId', 'Name']) X_test = X_test.drop(columns = ['Name']) X_test_id = X_test.pop('PassengerId') y_train = y_train.drop(columns = ['PassengerId']) # 2-2. 결측치처리 # 캐빈 drop, 에이지 mean X_train = X_train.drop(columns = ['Cabin']) X_test = X_test.drop(columns = ['Cabin']) X_train['Age'] = X_train['Age'].fillna(X_train['Age'].mean()) X_test['Age'] = X_test['Age'].fillna(X_test['Age'].mean()) # 2-3. 범주형 라벨인코딩 from sklearn.preprocessing import LabelEncoder encoder = LabelEncoder() cols = ['Sex', 'Ticket', 'Embarked'] for col in cols : X_train[col] = encoder.fit_transform(X_train[col]) X_test[col] = encoder.transform(X_test[col]) # 분리 from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(X_train, y_train, test_size = 0.2, random_state = 2022) # 학습 from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier() model.fit(X_tr, y_tr) pred = model.predict(X_val)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
4-2 type 1 4 번 문제
형별로 합하기 위해 df = df.T 를 쓰셨는데 print(sum(df.sum(axis=1) > 3000)) 를 쓰면 안 될까요 ?해보니 답은 동일 했습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
데이터 합치고 분리하는 경우 질문입니다!
영상에는 원핫 인코딩만 데이터 수가 안맞는 경우 데이터를 합치고 분리하는 실습을 보여주셨습니다.라벨 인코딩의 경우도 데이터 수가 안맞는 경우 합쳤다가 라벨 인코딩 진행후 분리시키면 되는건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
test에서 결측치가 발생할 경우
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요질문 : test에서 결측치가 발생할 경우엔 행을 삭제 못하나요? test 파일의 경우 저희가 시험장에서 볼 수 있는 것은 X_test 파일이고, y_test는 저희가 볼 수 없는 파일이잖아요. 그럼 X_test의 행을 삭제하면 오류가 뜨나요? 예를 들어 X_test에서 행이 50개인데 행을 3개 삭제하면, y_test는 50개이니까 평가가 불가능하지 않을까 싶습니다. 즉, test에는 결측치가 발생하면 X_test.fillna()를 통해 대체를 할 수 있지, X_test.dropna()처럼 행을 삭제할 수 없나요? 강의 때 올려주신 예시문제나 기출문제 해설을 봐도 작업형2에는 모두 결측치가 없어서, 이렇게 질문으로 올립니다. 시험이 다가오니 사소해 보이는 질문도 확인을 받고 싶네요 ㅠㅠ 항상 감사합니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출 6회 작업형2 질문입니다
모델들을 예측하고(랜덤 포레스트, 라이트bgm 등..) 둘 중에 랜덤 포레스트로 하겠다 라고 결정하면 라이트bgm 부분을 주석터리하면 자동적으로 pred가 랜덤포레스트 값으로 들어가는걸까요..?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2에서 object 처리에 관련하여
작업형 2를 공부하던 중 분류, 회귀 상관없이 어떤 문제에선 object를 아예 drop 한 채로 문제를 풀거나, 어떤 문제에선 object를 원핫인코딩을 하던데 이런 기준이 따로 있나요,,,? 아예 drop 하지 않고 원핫인코딩 하는 것은 안 되나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형1 하드코딩 관련
체험환경 링크에 들어가보면, 답안을 직접 타이핑해서 제출하도록 되어있습니다. Q1. 제1유형(풀이용)에서 하드코딩을 해도, 코드를 제출하는 것이 아니니, 감점은 따로 없을까요? Q2. 구버전에서는 제1유형도 코드를 제출하는 것으로 되어있던데, 이번에 바뀐건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2회 작업형 2번 pred 질문 입니다.
from sklearn.tree import DecisionTreeClassifier model = DecisionTreeClassifier(random_state = 2023) model.fit(X_tr, y_tr) pred = model.predict_proba(X_val) roc_auc_score(y_val, pred[:,1])안녕하세요? 마지막 pred 에서 슬라이싱할때.. 조금 헷갈리는데요..! pred[:,1]로 하는 이유가 예측(시간에 맞춰 도착하지 않을 확률) 때문인거 같은데..!혹시 pred[:,0]을 할지 pred[:,1] 로 할지는 어떤 것을 보고 정할 수 있는지 여쭈어볼 수 있을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
람다 관련 질문이요 ㅠ
데이터마님에 전처리100문제 훑어보고 있어요람다식이 있어서 시험환경 문제1의 데이터로 응용해서 해보려니 안되네요 ㅠㅠ그냥 딕셔너리 형태를 넣으면 되구요...help에서는 딕셔너리 아니면 시리즈를 넣으라고 되어있는데 그래서 안되는건지... a.cyl = a.cyl.astype('object')dic = { '4' : 'N', '6' : 'a', '8' : 'b'}a['newcyl'] =a.cyl.map(dic)print(a.cyl) a['newcyl'] =a.cyl.map(lambda x: dic[x]) > Makefile:6: recipe for target 'py3_run' failedmake: *** [py3_run] Error 1Traceback (most recent call last): File "/goorm/Main.out", line 18, in <module> a['newcyl'] =a.cyl.map(lambda x: dic[x]) File "/usr/local/lib/python3.9/dist-packages/pandas/core/series.py", line 4237, in map new_values = self._map_values(arg, na_action=na_action) File "/usr/local/lib/python3.9/dist-packages/pandas/core/base.py", line 880, in mapvalues new_values = map_f(values, mapper) File "pandas/_libs/lib.pyx", line 2870, in pandas._libs.lib.map_infer File "/goorm/Main.out", line 18, in <lambda> a['newcyl'] =a.cyl.map(lambda x: dic[x])KeyError: 6 help map(arg, na_action=None) -> 'Series' method of pandas.core.series.Series instance Map values of Series according to an input mapping or function. Used for substituting each value in a Series with another value, that may be derived from a function, a ``dict`` or a :class:`Series`. Parameters ---------- arg : function, collections.abc.Mapping subclass or Series Mapping correspondence. na_action : {None, 'ignore'}, default None If 'ignore', propagate NaN values, without passing them to the mapping correspondence.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형2(신버전) 풀이 질문입니다.
train_test_split한 다음에 랜덤포레스트 모델학습에서 아래와 같이 코드 설명해주셨는데요.model.fit(X_tr[cols], y_tr) pred = model.predict_proba(X_val[cols])train_test_split에서 이미 train[cols]로 train 범위가 한정되었는데 모델학습에서 X_tr과 X_val를 [cols]로 또 한정해줘야 할까요?저는 아래와 같이 모델학습에서 [cols]를 빼고 코드를 작성했는데 오류는 나지 않지만 강의와 결과값이 조금 다릅니다.from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train[cols], target, test_size=0.2, random_state=0) # 모델학습 from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier(random_state=2023) model.fit(X_tr, y_tr) pred = model.predict_proba(X_val)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
실행결과 복사 질문
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요 다름이 아니라, 체험환경에 실행결과 창에서는 Ctrl+C가 안 되어서 마우스 오른쪽-복사로 진행했었는데, 영상을 시청하다, 실행결과 창에서 단축키를 사용해서 붙여넣기를 하시더라고요..! 혹시 수업 내용과 관련된 답은 아니지만, 알려주실 수 있을까요? 시간 단축에 도움을 받고 싶습니다 ㅠㅠ