묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 결측치에 대해
만약 결측치가 있는 데이터가 문제로 나오게 된다면범주형 데이터는 최빈값으로 채우고수치형 데이터는 중앙값으로 채우려는데 괜찮을까요?(중앙값이 이상치에 덜 민감하다고해서 평균말고 중앙값으로 대체하려고 합니다.) 아니면 제거하는게 좋을까요? 그리고 경우에 따라 다르겠지만 보통 대체하는 쪽이 성능이 더 좋은가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2번 test 데이터 행 삭제에 관해 문의드립니다.
작업형 2번을 풀 때, test 데이터의 행은 절대 삭제하면 안되고, 삭제할 경우 0점 처리를 맞는다고 알고 있습니다. 제가 말의 뜻을 정확하게 이해를 못해서 그런데, 혹시 제가 이해한 것이 맞는지 한 번만 확인해주시면 감사하겠습니다. [제가 이해한 뜻]1번 상황)예를들어 처음에 train, test 데이터가 주어졌습니다. train.shape, test.shape으로 찍었을 때, (10000,10), (2000,9)가 나왔습니다. 전처리를 통해서, train과 test의 불필요한 컬럼, 결측치가 너무 많은 컬럼을 삭제하였습니다. 그 이후 train.shape, test.shape을 찍었을 때, (10000,8), (2000,7) 이 나왔습니다. 2번 상황)전처리 하기 전 train.shape이 (2000,9) 가 전처리 후 train.shape이 (1800,7) 이 나왔습니다. 제가 이해하기로, 1번 상황처럼 train과 test의 동일한 컬럼을 삭제하는 것은 상관 없는데, 2번 상황처럼, test의 행 데이터가 손실되는 것은 안되는 걸로 이해했습니다. 혹시 제가 이해한 것이 맞는지 봐주시면 정말 감사하겠습니다..!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
캐글 t1-12 질문
df2 = df.groupby('country').max() #시간에 따라 접종률이 점점 올라감df2 = df2.sort_values(by='ratio', ascending = False)여기서 df.groupby('country')['ratio'].max() 를 하지 않고 그냥 max()를 한 이유가 뭔가요? 접종률 상위 10개국, 하위 10개국을 찾는게 아닌가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
3유형 풀때...
선생님 대부분 3유형에서는from scipy import stats 불러오구 stats.levene~ , stats.wilcoxn 이렇게 등등 다 불러오던데f_oneway만 import scipy.stats as stats 이렇게 불러오는거로 가르쳐 주시던데 from scipy import statsstats.f_oneway(그룹A,B,C) 이렇게 해도 분석이 되는거 같은데 이렇게 불러두 되나요? 어떤건 from scipy.stats as stats이고어떤건 from scipy import stats 여서 좀 헷갈리더라구요 ㅠㅠ 또 카이제곱은 from scipy.stats import Chisquare 이런형태구...from scipy import Chisquarestats.Chisquare(df['a'],df['b']) 이렇게 해두 되나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
유형2번 코드 작성해보았는데...
# 시험환경 세팅 (코드 변경 X)import pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_splitdef exam_data_load(df, target, id_name="", null_name=""): if id_name == "": df = df.reset_index().rename(columns={"index": "id"}) id_name = 'id' else: id_name = id_name if null_name != "": df[df == null_name] = np.nan X_train, X_test = train_test_split(df, test_size=0.2, random_state=2021) y_train = X_train[[id_name, target]] X_train = X_train.drop(columns=[target]) y_test = X_test[[id_name, target]] X_test = X_test.drop(columns=[target]) return X_train, X_test, y_train, y_test df = pd.read_csv("../input/titanic/train.csv")X_train, X_test, y_train, y_test = exam_data_load(df, target='Survived', id_name='PassengerId')X_train.shape, X_test.shape, y_train.shape, y_test.shape#Survived예측print(X_test.shape)target=y_train['Survived']test_id=X_test['PassengerId'].copy()test=X_testtrain=X_trainprint(train.shape, test.shape)train=train.drop('PassengerId', axis=1)test=test.drop('PassengerId', axis=1)train=train.drop('Name', axis=1)test=test.drop('Name', axis=1)print(train.shape, test.shape)#합치기df=pd.concat([train, test]) df['Age']=df['Age'].fillna(df['Age'].mean())df['Cabin']=df['Cabin'].fillna(df['Cabin'].mode()[0])df['Embarked']=df['Embarked'].fillna(df['Embarked'].mode()[0])#인코딩from sklearn.preprocessing import LabelEncodercols=df.select_dtypes(include='O').columnsfor col in cols: le=LabelEncoder() df[col]=le.fit_transform(df[col])#쪼개기(712, 179)train=df[:712]test=df[712:]print(train.shape, test.shape)print(target.shape)from sklearn.model_selection import train_test_splitx_tr, x_val, y_tr, y_val=train_test_split(train, target, test_size=.2, random_state=2022)from sklearn.ensemble import RandomForestClassifierrf=RandomForestClassifier(random_state=2022)rf.fit(x_tr, y_tr)pred=rf.predict(test)print(pred)print(pred.shape)print(len(test_id))submit=pd.DataFrame({ 'PassengerId': test_id, 'Survived': pred})submit.to_csv('수험번호.csv', index=False)print(submit.shape) 캐글 타이타닉 보고 이렇게 작성해보았는데, 혹시 0점 될만한 요인이 있을까요??ㅠㅠ test데이터 행 수 하고 pred수 하고 동일한거 확인했습니다! 그리고 제출할때는 split로 안쪼개고 바로 fit(train, target)해서 predict(test)해도 되는 부분일까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 기출 2회
기출 한 가지 방법 풀기에는 수치형, 범주형 분리 & 로버스트 스케일 작업이 없고 바로 get_dummies가 나오는데, 실전에서 바로 get_dummies를 사용해도 상관없는지 궁금합니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
EDA 카테고리 비교 질문
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요안녕하세요! 기출(작업형2) 한가지 방법으로 풀기 13분쯤에print("\n ===== 카테고리 비교 =====") print(train.describe(include='O')) print(test.describe(include='O'))이 코드가 있는데 이 코드는 회귀인 경우에만 사용하는 건가요? EDA라서 생략을 해도 되는 것 같긴 한데, 어떤 때 사용하는지 그리고 목적이 무엇인지 궁금합니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
target, 즉 우리가 예측하려는 값이 범주형인 경우
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요target 값은 절대로 절대로 인코딩해서는 안되나요? ? 그냥 아묻따 전처리 때 분리하는 것이 가장 좋겠죠??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출 6회- 작업형 1 2번문제
안녕하세요 선생님! 2번문제에서 1~6학년까지의 학생수 합을 구하고 그걸 교사수로 나누는 부분에서 이렇게 강의와 똑같이 코딩을 하였는데 sum() 아래의 식이 출력되면서 실행할 때마다 전체학생수가 계속 늘어나더라구요,, 이건 왜 그런걸까요? sum식을 한번 써주고 주석처리해야하는걸까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
시계열데이터 변환시 (to_datetime) format을 형식 질문
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요시계열데이터 변환시 (to_datetime) format을 형식 질문드립니다년도, 월, 일 을 나눈는 기준이 %인거같고 사이사이 형식(월,-,/)과같은걸 어디에 넣는지와와 순서가 헷갈려서요강의시 데이터중 data5컬럼은 변환시 바로 잘바뀌었는데만약을위해 format을 쓴다면df['Date4'] = pd.to_datetime(df['Date4'],format = '%d-%m-%Y') 오류가 납니다.같은 방식으로 DateTime3, DateTime4 도 format을 사용시 어떻게 사용해야할지?? 머가 문제인건지?? 해결 방법을 여쭙니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예측 임계값
임계값 관련해서 헷갈리는 점이 있어 문의 남깁니다.예를들어 예측에 대한 임계값이 0.5라고 한다면(pred >= 0.5).astype(int)로 봐야할지 (pred > 0.5).astype(int)로 봐야할지 궁금합니다.임계값 자체를 포함해서 봐야하는걸까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2유형 오류
2차원 형태로 해야 출력이 되고,그냥 평상시처럼 열만 뽑으면 이런 에러가 뜹니다.. 4회 기출에서만 이런 현상이 생기네요.. 원인이 뭘까요..
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2유형 답안제출시
답안제출시 자기 수험번호를 파일명으로해서 제출하는건가요? 아니면 result.csv라는 파일명으로 제출하는건가요? result.csv로 제출하면 누가 제출했는지 알수 없을텐데, 이게 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
7회 기출문제 작업형3에서..
1-2번) model = glm(formula, data=train, family=sm.families.Binomial()).fit() 를 실행하면 TypeError: 'module' object is not callable이런 에러가 나오는데 원인이 뭘까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
시험 답 제출 질문
문제에서 정수로 출력하라는 조건이 적혀있지 않다는 가정 하에, 답이 460이면 460.0으로 제출할 경우 정답일가요?
-
미해결평생 써먹는 데이터 기반 투자법 with 파이썬 퀀트 투자
강의 자료 다운로드
안녕하세요. 파이썬/판다스 입문 관련 자료 이외에 본 강의 자료는 어떻게 다운로드 받을 수 있는지 궁금합니다. 강의에서 사용하신 파일이 따로 있는 것 같은데 어디서 다운로드 해야 할지 찾을 수가 없어서요 ㅜㅜ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
6회기출 작업형 2 submit 작성관련
안녕하세요, 아래와 같이 코드 작성중submit을 넣고 실행을 누르면 아래와 같은 typeerror가 발생하게 됩니다. 원인이 무엇인가요?TypeError Traceback (most recent call last) <ipython-input-47-f9877fb2effc> in <cell line: 71>() 69 70 pred = rf.predict(test) ---> 71 submit = pd.DataFrame({ 72 'pred' : pred 73 }) TypeError: 'dict' object is not callable # 머신러닝 학습 및 평가 - 랜덤포레스트 from sklearn.metrics import f1_score from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier(random_state=2022) rf.fit(X_tr, y_tr) pred = rf.predict(X_val) # f1 score 예측 시 클래스로 나누기 확정된 값들을 원함, predict로 예측 f1_score(y_val, pred, average='macro') # 실제값 y_val // 다중분류에서는 average='macro' 변수 넣어줘야함 # 0.9067668646482205 # print('===================') # LightGBM # import lightgbm as lgb # lg = lgb.LGBMClassifier(random_state=0, verbose=-1) # lg.fit(X_tr, y_tr) # pred = lg.predict(X_val) # f1_score(y_val, pred, average='macro') # # 0.9319703995747777 # # 예측, 결과파일 생성 # # test 예측 - pred에서 pred = rf.predict(test) submit = pd.DataFrame({ 'pred' : pred })
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
모델에 test 데이터 넣었을 때 오류가 나요
일단 위에 코드까지 작성했을 때는 오류가 나지 않고 결과가 잘 나옵니다. 그런데 테스트 데이터를 넣으니까 이렇게 오류가 뜨는데, 어떻게 해야할까요,,
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출6회 작업형 3 1번
항암약 환자 중 무증상의 비율을 구하는데len(df['항암약'] == 4) / len(df['항암약']) 이렇게 구하면 답이 안나오는 이유가 뭔가요,, ? ㅜㅜ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
모델링 및 평가(분류)
from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier() rf.fit(X_tr[cols], y_tr) pred = rf.predict_proba(X_test[cols])여기에서 마지막 csv 파일 만들때 X_val에서 X_test로 변경한게 잘 이해가 안됩니다..! 예측 및 평가는 X_val로 하고 파일을 만들때는 X_test로 해야되는걸까요..?