묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
a = df.copy()
작업형 들어가기 전에원데이터를 카피해서 a데이터프레임을 만들어서a로 계산해도 될까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
원핫인코딩/라벨인코딩 방법 선택
선생님 안녕하세요, 원핫인코딩과 라벨인코딩 중에서 어떤 것으로 인코딩을 수행할지에 대한 기준이 헷갈려, 질문을 남깁니다. 원핫인코딩 시에, train = pd.get_dummies(train) 과 같이 int/float형 데이터와 모두 합쳐서 인코딩을 진행해도 문제가 없나요??라벨인코딩처럼 object형 컬럼만 추출해서 원핫인코딩을 진행하려고하니 오류가 발생하여 혹시 어떤 문제가 있는건지 궁금합니다! # object 컬럼 원핫/라벨인코딩 cols = train.select_dtypes(include='object').columns # print(cols) for col in cols: train[col] = pd.get_dummies(train[col]) test[col] = pd.get_dummies(test[col])위와 같은 코드를 추가하여 실행하였을 때 아래와 같은 오류가 발생합니다. --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-38-cba2437473af> in <cell line: 23>() 22 # print(cols) 23 for col in cols: ---> 24 train[col] = pd.get_dummies(train[col]) 25 test[col] = pd.get_dummies(test[col]) 26 /usr/local/lib/python3.10/dist-packages/pandas/core/frame.py in _set_item_frame_value(self, key, value) 4098 len_cols = 1 if is_scalar(cols) else len(cols) 4099 if len_cols != len(value.columns): -> 4100 raise ValueError("Columns must be same length as key") 4101 4102 # align right-hand-side columns if self.columns ValueError: Columns must be same length as key
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
test 데이터의 결측치 처리
안녕하세요 선생님, 결측치 처리 관련하여 궁금한 점이 있어 이렇게 질문 남기게 되었습니다.결측치가 있는 경우, 이를 삭제하거나 대체하는 방법이 있을텐데요.저는 결측치가 있을 경우, 평균값, 중앙값이나 0으로 대체할 계획입니다. 근데 train 데이터와 마찬가지로 test데이터의 결측치도 동일하게 대체하거나 제거해줘야 하는 것이 맞는 건가요? test 데이터는 원본 데이터와 달라지면 안된다거나, 삭제되면 안된다는 언급이 보여 혼동이 되어 질문드립니다. test데이터에서 결측치를 다른 값으로 채워주는건 괜찮으나, 삭제만 안하면 되는건가요?이와 유사하게, 컬럼에서 ID나 모델명과 같은 컬럼을 삭제하고 예측하려고 할 때, 시험환경에서 train, test에서 둘다 drop이나 pop으로 삭제를 진행해도 문제가 없는지 궁금합니다. 2. 추가로, unique로 object 데이터의 가짓수를 확인하고 가짓수가 적으면(2~5이내) 원핫인코딩, 많으면 라벨인코딩을 하고있는데 맞는 접근 방식인지도 궁금합니다. 이렇게 인사드릴 수 있게되어 영광입니다! 좋은 강의 올려주셔서 감사드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
T2-1
안녕하세요 캐글 T2-1을 푸는 도중 도저히 에러를 해결할 수 없어 질문드립니다!ㅠㅠ코드는 가장 아래에 있습니다데이터가 3개 주어지고 결측치가 있는 경우 제가 짠 코드와 같이 결측치를 채우면 될까요?에러는 아래와 같이 나타납니다. test 데이터에 ‘Ali', 'Mr Ahmed'가 없다는 뜻같은데 무엇이 문제이고 어떻게 해결해야 좋을까요?ㅠㅠ에러메시지, 코드:KeyError Traceback (most recent call last) /opt/conda/lib/python3.7/site-packages/sklearn/preprocessing/_label.py in _encode_python(values, uniques, encode) 65 try: ---> 66 encoded = np.array([table[v] for v in values]) 67 except KeyError as e: /opt/conda/lib/python3.7/site-packages/sklearn/preprocessing/_label.py in <listcomp>(.0) 65 try: ---> 66 encoded = np.array([table[v] for v in values]) 67 except KeyError as e: KeyError: 'Ali, Mr. Ahmed' During handling of the above exception, another exception occurred: ValueError Traceback (most recent call last) /tmp/ipykernel_20/403961971.py in <module> 53 le = LabelEncoder() 54 X_train[col] = le.fit_transform(X_train[col]) ---> 55 X_test[col] = le.transform(X_test[col]) /opt/conda/lib/python3.7/site-packages/sklearn/preprocessing/_label.py in transform(self, y) 275 return np.array([]) 276 --> 277 _, y = _encode(y, uniques=self.classes_, encode=True) 278 return y 279 /opt/conda/lib/python3.7/site-packages/sklearn/preprocessing/_label.py in _encode(values, uniques, encode, check_unknown) 111 if values.dtype == object: 112 try: --> 113 res = _encode_python(values, uniques, encode) 114 except TypeError: 115 types = sorted(t.__qualname__ /opt/conda/lib/python3.7/site-packages/sklearn/preprocessing/_label.py in _encode_python(values, uniques, encode) 67 except KeyError as e: 68 raise ValueError("y contains previously unseen labels: %s" ---> 69 % str(e)) 70 return uniques, encoded 71 else: ValueError: y contains previously unseen labels: 'Ali, Mr. Ahmed'# 시험환경 세팅 (코드 변경 X) import pandas as pd import numpy as np from sklearn.model_selection import train_test_split def 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 import pandas as pd df = pd.concat([X_train,y_train['Survived']], axis = 1) df['Age'] = df['Age'].fillna(df['Age'].median()) X_test['Age'] = X_test['Age'].fillna(df['Age'].median()) df['Cabin'] = df['Cabin'].fillna('N') X_test['Cabin'] = X_test['Cabin'].fillna('N') df['Embarked'] = df['Embarked'].fillna('S') X_test['Embarked'] = X_test['Embarked'].fillna('S') #print(df.isnull().sum()) #print(X_test.isnull().sum()) print(df.info()) print(X_test) cols = ['Name','Sex', 'Ticket', 'Cabin', 'Embarked'] from sklearn.preprocessing import LabelEncoder for col in cols: le = LabelEncoder() X_train[col] = le.fit_transform(X_train[col]) X_test[col] = le.transform(X_test[col])
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
f1_score값 관련
lgb를 썼을 때 f1_score가 1.0이 나오는데 뭐가 문제일까요?from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train.drop('target', axis=1), train['target'], test_size=0.15, random_state=2023) X_tr.shape, X_val.shape, y_tr.shape, y_val.shape from sklearn.ensemble import RandomForestClassifier import lightgbm as lgb from sklearn.metrics import f1_score model = lgb.LGBMClassifier(random_state=2023, max_depth=11) model.fit(X_tr, y_tr) pred = model.predict(X_val) print(f1_score(y_val, pred))
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
자주 활용되는 판다스 예제 quiz 관련 질문
안녕하세요 코딩 입문자입니다. 가격이 5000 이상인 데이터의 수를 구할때 코딩을result=len(df['가격']>=5000) print(result)이렇게 구성하면 안되는 건가요?con=df['가격']>=5000len(df[con])값이랑 다르게 나와서요ㅣ.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
DATAQ 체험문제 제2유형 관련 질문드립니다
https://dataq.goorm.io/exam/116674/%EC%B2%B4%ED%97%98%ED%95%98%EA%B8%B0/quiz/2관련 질문 입니다 에러메시지는 이렇게 나오는데요 /goorm/Main.out:68: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().model.fit(X_tr,y_tr)model.fit(X_tr,y_tr['gender']) 이라고 수정해주면 에러메시지가 사라집니다.그런데 저는 위에서 이미 y_train=y_train.drop('cust_id',axis=1) 이라고 해주었는데도 gender 컬럼을 지정해주어야 에러메시지가 안나오는 이유가 궁금합니다 ㅠㅠ 제가 작성한 전체 코드는 아래에 첨부드립니다... 질문이 좀 번거로워서 죄송합니다그리고 번외로, train 과 test 를 합친 all_data 에 라벨인코딩을 적용할때는 encoder.fit_transform 으로만 적어주면 되는거 같은데 이게 맞는지도 한번 여쭤보고 싶습니다 # 출력을 원하실 경우 print() 함수 활용 # 예시) print(df.head()) # getcwd(), chdir() 등 작업 폴더 설정 불필요 # 파일 경로 상 내부 드라이브 경로(C: 등) 접근 불가 # 데이터 파일 읽기 예제 import pandas as pd X_test = pd.read_csv("data/X_test.csv") X_train = pd.read_csv("data/X_train.csv") y_train = pd.read_csv("data/y_train.csv") # 사용자 코딩 X_train=X_train.drop('cust_id',axis=1) y_train=y_train.drop('cust_id',axis=1) test_id=X_test.pop('cust_id') # 1.결측치 X_test['환불금액']=X_test['환불금액'].fillna(0) X_train['환불금액']=X_train['환불금액'].fillna(0) # 스케일링 from sklearn.preprocessing import (RobustScaler,MinMaxScaler) scaler = MinMaxScaler() cols = X_train.select_dtypes(exclude=object).columns # print(X_test.head()) X_train[cols]=scaler.fit_transform(X_train[cols]) X_test[cols]=scaler.transform(X_test[cols]) # print(X_train.head()) # 라벨인코딩 from sklearn.preprocessing import LabelEncoder encoder = LabelEncoder() # print(X_train.select_dtypes(include=object)) cols = ['주구매상품','주구매지점'] # print('train') # print(X_train[cols].nunique()) # 주구매상품 42 # 주구매지점 24 로 동일 # print('test') # print(X_test[cols].nunique()) # 주구매상품 41 # 합쳐야함 all_data = pd.concat([X_train,X_test]) # print(X_train.shape, X_test.shape, all_data.shape ) # (3500, 10) (2482, 10) (5982, 10) # 라벨인코딩 진행함 # print(all_data[cols].head()) for col in cols: all_data[col] = encoder.fit_transform(all_data[col]) # print(all_data[cols].head()) #라벨인코딩 확인완료 # 다시 나눠야함 X_train = all_data.iloc[:X_train.shape[0],:] X_test = all_data.iloc[X_train.shape[0]:,:] # print(X_train.shape, X_test.shape, all_data.shape ) # # (3500, 10) (2482, 10) (5982, 10) # 확인완료 # .iloc 주의할것 # validation dataset 분리 from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(X_train,y_train,random_state=2023,test_size=0.15) # print(X_tr.shape,X_val.shape,y_tr.shape,y_val.shape) #(2975, 9) (525, 9) (2975, 1) (525, 1) # 모델링, 평가지표 from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import roc_auc_score model = RandomForestClassifier(random_state=2023,max_depth=7,n_estimators=400) model.fit(X_tr,y_tr['gender']) pred=model.predict_proba(X_val) print(roc_auc_score(y_val ,pred[:,1])) # 남자일 확률 (0:여자,1:남자) # 답안 제출 참고 # 아래 코드 예측변수와 수험번호를 개인별로 변경하여 활용 pred=model.predict_proba(X_test) pd.DataFrame({'custid': test_id, 'gender': pred[:,1]}).to_csv('20230615.csv', index=False) submit = pd.read_csv('20230615.csv') print(submit.head())
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
피처 엔지니어링 코드 이래도 될까욧!?
# 피처 엔지니어링 cols1 = list(X_train.columns[X_train.dtypes == object]) # 범주형 cols2 = list(X_train.columns[X_train.dtypes != object]) # 수치형 Xc_train = X_train[cols1] # 범주형 Xc_test = X_test[cols1] Xn_train = X_train[cols2] # 수치형 Xn_test = X_test[cols2] Xc_train = pd.get_dummies(X_train[cols1]) Xc_test = pd.get_dummies(X_test[cols1]) from sklearn.preprocessing import RobustScaler Ro = RobustScaler() X_train[cols2] = Ro.fit_transform(X_train[cols2]) X_test[cols2] = Ro.transform(X_test[cols2]) Xn_train = X_train[cols2] # 수치형 Xn_test = X_test[cols2] X_train = pd.concat([Xc_train, Xn_train], axis = 1) X_test = pd.concat([Xc_test, Xn_test], axis = 1) print(X_train) print(X_test) 늘 빠른 답변 감사드려용
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형2 코드 질문
import pandas as pd test = pd.read_csv("data/X_test.csv") train = pd.read_csv("data/X_train.csv") y_train = pd.read_csv("data/y_train.csv") pd.set_option('display.max_columns', None) # 사용자 코딩 test['환불금액'] = test['환불금액'].fillna(0) train['환불금액'] = train['환불금액'].fillna(0) from sklearn.preprocessing import LabelEncoder cols = train.select_dtypes(include='object').columns # print(cols) le = LabelEncoder() for col in cols: train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) train = train.drop('cust_id', axis = 1) test_id = test.pop('cust_id') # print(train.head()) # print(train.head(3)) from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train, y_train['gender'], test_size=0.2, random_state = 0) from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier(random_state = 0) rf.fit(X_tr, y_tr) pred = rf.predict_proba(X_val) # print(pred) from sklearn.metrics import roc_auc_score # print(roc_auc_score(y_val, pred[:, 1])) pred_res = rf.predict_proba(test) pd.DataFrame({'custid': test_id, 'gender': pred_res[:,1]}).to_csv('950326.csv', index=False) # print(pd.read_csv('950326.csv'))안녕하세요, 딴짓님제가 강의 안 보고 혼자 작성한 내용인데요..혹시 해당 내용처럼 작성하면 올바르게 작성한 건지 혼자서 판단이 안 돼서요ㅠRandomForest 모델 + 소개해주신 lightGBM정도만 준비해가면 될는지요..
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
kaggle 질문
타이타닉 code에서 새로운 노트북만들기를 했는데 계속 Editor Loding만 뜨고 강사님처럼 이런 화면이 안뜨는데 왜그럴까요..?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
완강이 된건가요?
안녕하세요, 강사님 지금 강의실에 보면섹션8에 작업형3, 가설검정 콘텐츠 제작중입니다 라고 뜨고섹션 10.에 5회 기출유형(작업형1) 강의가 업로드 되지 않았습니다.계속 강의가 업데이트 중 인가요?감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
cond1 | cond2 와 cond1 & cond2의 차이
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요cond1 = df['age'] < low cond2 = df['age'] > high sum(df[cond1|cond2]['age']) | 와 &의 차이가 궁금합니다...
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
모의고사 풀어보기1 작업형 1-1 질문
안녕하세요 선생님,모의고사 풀어보기1 작업형 1-1을 수강하고 있습니다.문제가 앞에서 부터 50%의 데이터와 'target'컬럼이 0 값을 가진 데이터만 활용해 'proline'컬럼의 평균을 구하시오 (소수점 절사(버림), 정수형 출력)였기에,저는 앞에서 부터 50%의 데이터 + 'target'컬럼이 0값을 가진 데이터 를 활용해서 평균을 구하라는 것이라고 생각해서 cond1 = df.index <= int(len(df)*0.5) cond2 = df['target']==0 print(int(df[cond1 | cond2]['proline'].mean()))라고 작성을 하였습니다.선생님 강의를 듣고, 50%의 데이터를 걸러내고, 그 다음에 target 조건을 주는 문제였다는 것을 알았습니다.질문은요, 위와 같이 시험장에서 질문이 헷갈리면 어떤 방향으로 해석해야 할까요? 풀기 쉬운 방향 일까요? 50%의 데이터라고 할 때, loc나 iloc를 활용할 때 마지막 행 이 들어가고 말고를 유의해야 할까요? 답이 맞지 않으면 감점이나 아예 오답의 요인이 큰 지 궁금합니다. 그리고 숫자가 딱 떨어지지 않을 때에는 그냥 int()를 활용해서 할 계획입니다. 그런데 점수를 어떻게 주는 지 궁금합니다. 예를 들어 80%까지 활용해서 >> 80%가 173.75라고 하면 int()를 쓰면 173이 될텐데, 이 경우 174로 하면 감점이 오답인지 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
Kaggle T-23
import pandas as pd df = pd.read_csv('../input/bigdatacertificationkr/basic1.csv') df = df.sort_values('f1', ascending = False) f1_10 = df.iloc[9, 3] print(f1_10) df['f1'] = df['f1'].fillna(f1_10) print(df.shape) median1 = df['f1'].median() df = df.drop_duplicates(subset = ['age']) print(df.shape) median2 = df['f1'].median() print(median1) print(median2) print(abs(median2 - median1))위와 같이 코드 작성시 결과가88.0 (100, 8) (71, 8) 77.5 75.0 2.5로 나옵니다. 원래 풀이에는 중복값제거 중앙값이 77로 나와있는데 저는 코드를 수정해봐도 어디에 문제가 있는지 잘 모르겠습니다! 혹시 제 코드 어디에 문제가 있는걸까요?
-
미해결비트코인 선물거래 자동매매 시스템(저자직강)
binance open api 관련 질문
##### 초기설정from binance_f import RequestClientfrom binance_f.model.constant import *import comm.config as confg_api_key = conf.G_API_KEY # binance API keyg_secret_key = conf.G_SECRET_KEY # binance secret keycoin_name = 'BTCUSDT'request_client = RequestClient(api_key=g_api_key, secret_key=g_secret_key)============================위 코드에서 다음과 같은 에러가 생깁니다.ModuleNotFoundError Traceback (most recent call last) ~\AppData\Local\Temp\ipykernel_11680\3056222166.py in <module> 1 ##### 초기설정 2 ----> 3 from binance_f import requestclient 4 from binance_f.model.constant import * 5 import comm.config as conf C:\evan_future_bit\evan\binance_f\__init__.py in <module> 1 from binance_f.requestclient import RequestClient ----> 2 from binance_f.subscriptionclient import SubscriptionClient C:\evan_future_bit\evan\binance_f\subscriptionclient.py in <module> 4 from binance_f.impl.websocketrequestimpl import WebsocketRequestImpl 5 from binance_f.impl.websocketconnection import WebsocketConnection ----> 6 from binance_f.impl.websocketwatchdog import WebSocketWatchDog 7 from binance_f.impl.restapirequestimpl import RestApiRequestImpl 8 from binance_f.model import * C:\evan_future_bit\evan\binance_f\impl\websocketwatchdog.py in <module> 1 import threading 2 import logging ----> 3 from apscheduler.schedulers.blocking import BlockingScheduler 4 from binance_f.impl.websocketconnection import ConnectionState 5 from binance_f.impl.utils.timeservice import get_current_timestamp c:\python377\lib\site-packages\apscheduler-4.0.0a2-py3.7.egg\apscheduler\__init__.py in <module> 51 from ._context import current_job, current_scheduler, current_worker 52 from ._enums import CoalescePolicy, ConflictPolicy, JobOutcome, RunState ---> 53 from ._events import ( 54 DataStoreEvent, 55 Event, c:\python377\lib\site-packages\apscheduler-4.0.0a2-py3.7.egg\apscheduler\_events.py in <module> 13 from ._converters import as_aware_datetime, as_enum, as_uuid 14 from ._enums import JobOutcome ---> 15 from ._structures import JobResult 16 from ._utils import qualified_name 17 c:\python377\lib\site-packages\apscheduler-4.0.0a2-py3.7.egg\apscheduler\_structures.py in <module> 8 9 import attrs ---> 10 import tenacity.stop 11 import tenacity.wait 12 from attrs.validators import instance_of ModuleNotFoundError: No module named 'tenacity'
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
sum함수 작성법의 차이
작업형1 모의문제1에서print(df['f3'].sum())print(sum(df['f3]))위와 아래 코드의 차이가 무엇인가요 1번은 왜 sum함수가 뒤에 있는데도 계산이 되나요? 둘다 오류없이 작동은 합니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
이상치 IQR 처리
cols = list(X_train.columns[X_train.dtypes != object]) print(cols) for col in cols: Q1 = X_train[col].quantile(0.25) Q3 = X_train[col].quantile(0.75) IQR = Q3 - Q1 min_iqr = Q1 - 1.5*IQR max_iqr = Q3 + 1.5*IQR X_train.loc[X_train[col]<min, col] = min_iqr X_train.loc[X_train[col]>max, col] = max_iqr print(X_train)이렇게 하고 X_test도 똑같이 해도 될까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
언제 subset을 사용하는지 모르겠습니다
작업형 1 모의문제1(2번문제)1.df['f1'] = df['f1'].dropna(subset=['f1'])2.df['f3'] = df['f3'].fillna(df['f3'].mode()[0])1번은 f1컬럼의 데이터를 삭제할때 subset을 사용하고2번은 f3컬럼의 최빈값으로 추가할때는 왜subset을 사용하지 않나요?1번,2번의 차이가 궁금합니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2에 대한 질문입니다.
안녕하세요, 정성스레 만들어주신 강의 완강하고 다회차 복습중입니다.이곳에 질문올려도 되는 것인지 모르겠는데 맨땅으로 시작하다 보니 복습하면서 작업형2 내용에 대한 전반적으로 자잘하게 궁금한 점이 있어 문의드립니다.1. 기출 회차별로 최초 데이터가 3개가 주어지는 경우, 2개가 주어지는 경우가 있는데요.3개가 주어지는 상황에서 X_train, X_test 값의 고유값- unique() 개수가 다른 경우 데이터를 합친 뒤 작업을 진행해야 한다고 말씀주셨는데요. - 이 경우 데이터를 합치는 작업(concat)은 원핫인코딩/라벨인코딩의 오류를 막기 위한 것 같은데 맞게 이해한 것일까요? - 인코딩 작업을 하지 않느다면 데이터 합치는 작업을 건너뛰어도 되는 것일까요? 혹은 반드시 데이터를 합쳐서 작업해야 하는 경우가 또 있을까요? 2. 원핫인코딩과 라벨인코딩을 각각 어떤 상황에 사용해야 하는지 감이 잡히질 않아서요.cols = train.select_dtypes(include='O').columns위와 같이 범주형 데이터를 단순히 통으로 묶어서 작업을 해도 되는 것인지몇몇 강의에서처럼 일부 범주형 컬럼들만 선택해서 사용을 해야 하는 것인지(이때 컬럼 선택 기준이 있을지)궁금합니다.3. 강의에서는 데이터 전처리 과정 결측치 처리 외 이상치 처리에 대한 내용은 비교적 간단히 설명해주시고 넘어가 주셨는데요. (IQR 이나 '나이' 컬럼이 음수인 경우 정도)- 캐글을 통해 추가적인 방법론을 익혀두어야 할까요?- 분류든 회귀든 예측한 결과값의 평가점수가 꼭 높지 않아도 전체적인 절차가 문제 없었다면 넘어가도 무방할까요?4. 문제에서 요구하는 값에 따라 모델링 작업에서 model=randomforestClassifier()pred = model.predict(test) 또는 pred = model.predict_proba(test) 위와 같이 predict를 사용하는지 predict_proba를 사용하는지 달라지던데요.(분류문제일 경우) 검증 방법에서 roc_auc_score는 predict_proba를accuracy_score, precision_score, recall_score, f1_scoe 는모두 predict 결과를 사용하시더라고요.predict 값을 요구하는 문제라면 검증방법도 predict를 사용하는 것인지이와 별개로 roc_auc_score와 그 외 검증 방법은 predict/predict_proba 사용방법이 고정된 것인지 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
빅분기 실기시험에서 숫자형태의 범주형데이터에 원핫인코딩
숫자형태의 범주형데이터에 원핫인코딩은 필수로 해줘야 하는지 궁금합니다. 숫자형태로 되어있는 데이터이지만 사실상 범주형 데이터라고 판단할수 있는 nunique() 결과값의 범위가 있을지 궁금합니다