묻고 답해요
131만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 1 기출문제 2회 3번 문제에서
저는 이렇게 풀었는데 답이 틀리더라구요여기서 묻는 답이 이상치의 합이라고 하면 위와 같이 풀고 선생님 강의 내용 처럼 'age' 컬럼의 합이라고 하면 선생님 처럼 푸는 건거죠 ? 문장을 잘 눈여겨 봐야 겠습니다. ㅠㅠ그리고 선생님께서 cond 에 괄호를 해주셨는데요 이유는 뭘까요 ? 가로를 안 하고 해도 값은 같더라구요.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
key error = ',' 질의
작업형2 기출 5,6회를 풀던 중 동일 에러 발생으로 사유를 알 수 없어 질의드립니다.데이터 불러오고 확인하는 과정에서 train.head() or test.head() 를 쓰면key error = ',' 발생합니다. 저는 명령문에 , 를 사용한 적은 없구요.. # 데이터 불러오기import pandas as pdpd.set_option('display.max_columns',None)pd.set_option('display.float_format','{,:10f}'.format)train = pd.read_csv("train.csv")test = pd.read_csv("test.csv")#train.shape # 3759,9#test.shape # 1617,8#train.info() # model,transmission,fuelType - object#test.info()#train.describe()#test.describe()#train.isnull().sum() # 결측치 없음#test.isnull().sum()# train[''] = train[''].fillna()train.head() -> 여기서부터 에러 발생--------------------------------------------------------------------------- KeyError Traceback (most recent call last) /usr/local/lib/python3.10/dist-packages/IPython/core/formatters.py in __call__(self, obj) 700 type_pprinters=self.type_printers, 701 deferred_pprinters=self.deferred_printers) --> 702 printer.pretty(obj) 703 printer.flush() 704 return stream.getvalue() 16 frames/usr/local/lib/python3.10/dist-packages/pandas/io/formats/format.py in <listcomp>(.0) 1514 formatted = np.array( 1515 [ -> 1516 formatter(val) if not m else na_rep 1517 for val, m in zip(values.ravel(), mask.ravel()) 1518 ] KeyError: ','
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
roc나 mse, F1, 정밀도, 재현율 등 성능수준이 궁금해요
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요roc 성능수준은 높을수록 모델의 성능이 좋은걸로 아는데 그럼 정밀도나 재현율 F1, mse 등등 다른 것들은 모두 낮을 수록 좋은건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
f1 스코어에 관련된 질문입니다.
이진분류 문자에서 f1 사용시 pos_label을 사용하라고 하셨습니다. 예측의 양성이 되는 문자를 구별하기 위함인데 그렇다면 이때도 roc_auc_score와 같이 pred값을 뽑아낼 때 pred[:,1]과 같이 양성 값만을 추출해야되는거 아닌가요?아니면 이 코드는 자동으로 양성값만을 예측하는 것인가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
랜덤포레스트 튜닝 후 평가지표 질문
안녕하세요~랜덤포레스트에서 n_estimators, max_depth 값을 바꾸면서, f1스코어를 뽑으면, 값이 항상 같게 나옵니다.무엇이 문제인지 알 수 있을까요?강의에서는 뎁스값을 달리할 때마다 f1값이 달라지는데,실제 코랩환경에서 제가 뎁스값을 바꾸며 실행해보면, 값이 계속 고정입니다.감사합니다.뎁스설정x뎁스설정o
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
minmaxscaler 사용 문
minmaxscaler 사용에 있어 아래와 같이 코드를 작성했는데 오류가 뜹니다.. 원인 및 해결방법을 알고싶습니다. 키값 길이가 다르다는 것 같은데 잘 모르겠습니다ㅠㅜ에러내용: Columns must be same length as key# Missing keys in columns are represented as -1 c_cols = ['embarked','sex'] X_train[c_cols] = pd.get_dummies(X_train[c_cols]) X_test[c_cols] = pd.get_dummies(X_test[c_cols])
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 drop 질문(inplace =True 써야할까요?)
질문 : drop할 때 inplace=True 써야할까요? train.drop('customerID', axis=1, inplace=True)여기서 inplace는 drop할 때 기존의 데이터프레임인 train을 customerID가 drop된 데이터프레임으로 대체할 것인지 판단하는 것으로 알고 있습니다. 수업 때 종종 inplace가 나오긴 하는데, 어떻게 적절히 사용해야할지 잘 모르겠습니다. 시험이 다가오니 사소해 보이는 것도 확인 받고 싶네요 ㅠㅠ 매번 감사드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 1~3 관련 질문
선생님 안녕하세요! 선생님께서 지금시간 기준으로 지금까지 올려주신 강의를 모두 듣고나서 원래 갖고있던 궁금증이 많이 해소되었습니다!! 감사합니다 ㅎㅎ 그래도 좀더 궁금한것이 있어 여쭤봅니다 😃 만약 작업형1에서 앞에서 몇 프로 데이터 활용이 아닌, 뒤에서 몇 프로 활용이면 어떻게 해야할까요??만약 뒤에서 70%라면, df.iloc[int(len(df) * 0.3):, :]로 하면 될까요?? 그간 앞에서만 나왔는데 뒤에서부터 잘라내는 문제가 나올것을 생각해 여쭤봅니다 기출6 작업형1에서 3번에 연도를 찾는 문제를 만약 datetime형식으로 바꾸게 된다면df['날짜'] = pd.to_datetime(df['날짜'], format='%Y년%m월') 로 해보았는데 에러가 떠서 혹시 date형식으로 바꾸려면 어떻게 해야할지 궁금합니다! 선생님께서 분산분석 때 df.melt() 처리에 대해 말씀해주신 것을 확인했는데요. melt()작업이 필요한 때가 정확히 어떤 경우일까요? 일원분산분석 편처럼 독립,종속변수가 명확히 나와있지 않을 때 하면 될까요?? 분류문제와 회귀문제를 구별하는 것을 지금까지 평가지표로 구별했는데 평가지표가 안나올수도있을까요?? 또는 제출 예시를 보고 0.xxx 등의 확률 등이 아닌 숫자가 크고 다양하게 나온다면 회귀문제로 생각해도 될까요?? 선생님께서 캐글에 올려주신 작업형3을 공부해보고 있는데요! 그중에 포아송분포 관련 질문드립니다!- 하루에 적어도 2명의 고객이 잡지를 구매할 확률 : print(1 - poisson.cdf(1, lambda)) 로 풀이를 적어주셨는데 cdf(1, lambda)인 이유는 적어도 (2명 - 1)을 해서 그런걸까요?? lightgbm을 인코딩 처리 없이 사용할 수 있다고 하셨는데 .astype('category') 사용 없이 인코딩 등의 사전처리를 하고나서 사용하여도 성능에는 문제가 없을까요?? 랜덤포레스트와 해당 모델을 시험에서 사용하고싶어서요! 선생님께서 캐글에 올려주신 작업형1을 풀고 있는데요!result = df['StartTime'].dt.date.value_counts().index[0]print(result.strftime('%Y-%m-%d'))여기서 만약 result값으로 2011-01-01 이라는 답을 알았다면 이제는 이렇게 프린트문으로 하지 않고 바로 답안을 제출해도 될까요?? 그리고 value_counts는 무조건 숫자를 내림차순으로 정렬해서 보여주는지도 여쭤봅니다! 선생님께서 보너스 강의로 작업형3의 C()를 묶는 것에 대해 말씀해주셨는데, 로지스틱회귀와 회귀문제의 경우 문자로된 범주형이거나 숫자로 되어있지만 명시가 되어있거나 누가봐도 범주형인 부분을 묶으라고 하셨는데요! 회귀분석 파트의 범주형 강의에서는 C()를 묶는 등의 과정을 거치지 않고 그냥 적어도 된다고 하신걸로 이해했는데 어떻게 해야 할까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 때 전처리 관련하여 category에 대한 질문
질문 : target값을 .astype(category)는 도움이 될까요? 보통 target값(y_train)의 경우 데이터 형식이 object인 경우가 많더라구요. 또, 보통 피처엔지니어링 할 때, (LabelEncoder나 pd.get_dummies할 때는) target값(y_train)을 두고요.그래서 target값(y_train)의 데이터 타입을 카테고리로 바꾸면(.astype(category))로 하면 모델 정확성에 도움이 될까요? 시험이 다가오면서 사소해 보이는 질문도 확인을 받고 싶더라고요. 매번 감사합니다 ㅠㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
대응표본 검정 μd 사용
대응표본검정 (=쌍체표본검정)에서 처음 설명은 μd = (before – after) 로 안내해서 기초 부분 설명하다가 바로 아래에서는 μd = after - before로 바뀌고, 심화 ~ 샤피로 윌크 검정, 그리고 윌콘슨 검정(비모수 검정)에서도 계속 μd = after - before로 작업이 진행되는데 μd 가 after - before 니까 비포 애프터 순서 바꾸는거보단 저대로 하는게 낫다고 강의 중에 말씀하시더라고요. 그럼 그냥 μd = after - before 로 생각하고 저대로 계속 작업하면 되는거 맞죠? 처음에 μd = before - after 는 그냥 개념 설명하기 위해 이야기한건지, 어떻게 이해하고 넘어가는게 좋은지 궁금합니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
회귀계수, 절편 뜻
회귀계수(coef) 뜻이 독립변수가 종속변수에 미치는 영향의 크기/방향을 의미하고절편(intercept)뜻이 모델이 독립변수들의 영향을 받지 않을 때 예측하는 종속변수의 기본 로즈 오즈라고 알고 있습니다. 각 독립변수들의 coef 값은 이해가 가는데 위의 표에서 intercept의 coef값은 무엇을 의미하는지 궁금합니다! 또 기울기 = 회귀계수 = coef / 절편 = intercept 로 이해하면 되나요!?통계에 대한 기초가 없어서 유형 3이해하는게 어려움이 많습니다ㅠㅠㅠㅠ 감사합니다!!!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
ttest 귀무 가설 관련 문의
ttest에서 밑에 코드의 대립가설이 120보다 작다라는 거는 이해를 했는데귀무 가설은 항상 기준값 여기는 120과 같다인가요? 대립가설이 120보다 작다라면 귀무가설은 120보다 작지 않다가 되어야 하는건 아닌가 궁금해서요
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
datetime변환 관련
안녕하세요. 6회 기출 작업형 1번 관련 질문이 있습니다. 2024년 2월 이런 형태여서, datetime으로 변환하려고 했었는데 안되더라구요제가 사용한 코드는pd.to_datetime(df['연도'), format ='%Y년%m월') 입니다. format으로 datetime으로 변환하려면 연/월/일 모두 데이터가 있어야하는걸까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
코드 질문입니다!
선생님 라벨인코딩과 모델링에서 코딩을 할 때 둘 다 le = LabelEncoder(), le = RandomForestClassifier(random_state=2022)와 같이 le = 으로 받고 le를 활용했는데 결과값에 영향이 있을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
섹션5 작업형2 모의문제2 질문 있습니다.
안녕하세요 섹션5 작업형2 모의문제2 에서 질문이 있습니다. 각 모델링을 통해서 r2 score 값을 구하는 부분에서강의 답안에서는 XGBRegressor에서 설명력이 제일 높았어요 강의 중에 train_test_split 의 random_state = 2022로 했는데이 값을 변경하니, XGBRegressor의 r2 score 값이 심하게 바뀝니다.다른 회귀 모델들은 그렇지 않았는데, 유독 XGBRegressor에서만 변경이 심하더라고요예를 들어서, random_state = 2023으로 하면 가장 낮은 r2 score가 나와서 결론이 완전 바뀝니다.이 부분 설명 부탁드립니다. 그리고 추가 질문입니다.이 부분에 RandomForestRegressor를 이용해서 모델링할 때강의에서는 regressor = RandomForestRegressor() 라고 되어서 모델링이 제대로 되지 않았어요그런데, model = RandomForestRegressor() 로 하면 1분 이상 실행이 되어 버립니다.RandomForestRegressor를 이용한 모델링 방법 요청드립니다.답변 부탁드려요~
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
3-4 피처엔지니어링 민맥스스케일러 질문
선생님이 민맥스스케일러 코드를# 민-맥스 스케일링 MinMaxScaler (모든 값이 0과 1사이) cols = ['age', 'fnlwgt', 'education.num', 'capital.gain', 'capital.loss', 'hours.per.week']n_train, n_test, c_train, c_test = get_nc_data() # 데이터 새로 불러오기from sklearn.preprocessing import MinMaxScalerscaler=MinMaxScaler()n_train[cols]=scaler.fit_transform(n_train[cols])이렇게 작성하신 부분을 제가 라벨인코더 코딩처럼 변경해봤는데요(from sklearn.preprocessing이 똑같은거랑 구조가 비슷해서요)from sklearn.preprocessing import MinMaxScaler for col in cols: sc=MinMaxScaler() X_train.col=sc.fit_transform(X_train[col]) X_test.col=sc.transform(X_test[col]) 이런에러가 떴어요if your data has a single feature or array.reshape(1, -1) if it contains a single sample. 코딩구조가 비슷한거같아서 한번 시도해봤는데 민맥스스케일러는 LabelEncoder() 할때와 코드를 비슷하게 칠순없는건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 3 예시문제(구버전)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요(b)풀 때, 문제에서 정규성에 대한 말이 없는데 정규성 검정을 하지 않고 바로 ttest_rel을 써도 되나요? (c) 답안의 경우 0.0006, 귀무가설을 기각하고, 대립가설을 채택한다. 라고 쓰면 되나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
마지막 csv 결과파일 만들 때 문제점
위에는 다 똑같이 따라했고, 마지막에 저런 오류가 뜨는데 무슨 문제일까요..?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
formula.api logit 범주형변수
안녕하세요. 로지스트회귀분석 formula.api 에서 logit 을 사용할 때,예를들어 성별 F, M 을 C()로 묶어주면 여자성별은 사라지는데, 1.여기서 다른 변수들은 고정되어있고, 여성에 비해 남성의 오즈비를 구하려면 어떻게 해야하나요?2. 예측값을 넣을때model.predict() 를 사용하라고 배웠습니다. 안에는 새로운 데이터를 넣고, 근데 이 새로운 데이터를 기존 주어진 데이터 프레임의 한 행에서 가져와서 넣고, 예측확률을 구하는 것은 어떻게 하나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
T2-1. 타이타닉 문제 질문있습니다.
저는 지금까지 작업형2 모든 유형의 문제를 object컬럼은 라벨인코딩을 했습니다.이번에도 라벨인코딩을 하려고 보니 오류가 나서 이전에 질문을 드렸고,X_train과 X_test의 데이터 수가 달라 있는 오류라고 설명해주셨습니다. 그래서 X_train과 X_test의 object 컬럼에 nuniqe, describe, velue_counts등의 함수를 적용하여 확인해보았습니다.근데 'Embarked'컬럼은 X_train과 X_test내 데이터 종류 수와 종류도 동일한데, 라벨인코딩을 적용하려하니 계속 이런 오류가 뜹니다.Encoders require their input to be uniformly strings or numbers. Got ['float', 'str']오류가 뜨는 원인과 왜 'Embarekd'컬럼을 drop했을 때는 모델이 잘 적용되는지가 궁금합니다.일단 밑에는 제가 'Embakred'컬럼을 drop한 코딩입니다. # EDA # X_train.info() # X_test.info() # drop & pop : PassengerId(pop) # 추가 삭제 : Cabin, Embarked, Ticket, Name # 결측치 : Age-수치형(결측값 중간값으로 채움), Cabin!!-범주형(얘는 원래 최빈값으로 채우려다가.. 값이 너무 많아서 삭제함) # 범주형 : Sex(라벨), Embarked!!(), Ticket!!, Name!!, Cabin!!(얘네 셋은 원래 라벨인코더 하려다가, train과 test의 nunique값이 달라서 삭제함), # 수치형 : Pclass, SibSp, Parch, Fare, Age(로버스터스케일러) # y_train.info() : PassengerId, Survived X_train = X_train.drop(columns = ['Ticket', 'Name', 'PassengerId', 'Cabin', 'Embarked']) X_test = X_test.drop(columns = ['Ticket', 'Name', 'Cabin', 'Embarked']) X_test_id = X_test.pop('PassengerId') y_train = y_train.drop(columns = ['PassengerId']) X_train['Age'] = X_train['Age'].fillna(X_train['Age'].mean()) X_test['Age'] = X_test['Age'].fillna(X_test['Age'].mean()) from sklearn.preprocessing import RobustScaler num = ['Pclass', 'SibSp', 'Parch', 'Fare', 'Age'] scaler = RobustScaler() X_train[num] = scaler.fit_transform(X_train[num]) X_test[num] = scaler.transform(X_test[num]) from sklearn.preprocessing import LabelEncoder cols = ['Sex'] encoder = LabelEncoder() 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, np.ravel(y_tr)) pred = model.predict(X_val) from sklearn.metrics import accuracy_score accuracy_score(y_val, pred) pred = model.predict(X_test) pd.DataFrame({'PassengerId' : X_test_id, 'Survived' : pred}).to_csv('00000.csv', index = False) pd.read_csv('00000.csv') X_train.shape, X_test.shape, y_train.shape