묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
피처엔지니어링 질문드립니다
아직 모든 강의를 다 들은 것은 아니여서, 혹시 뒤에 있는 강의 내용 중에 제 질문에 대한 답이 있을 지는 모르겠지만 우선 질문 드립니다.피처엔지니어링 방법을 바꿔가면서 모델링 평가지표가 좋게 나오는 방향으로 선택해야한다는 것은 이해하였습니다.제가 아직 공부를 많이하지는 않았지만 categorical 에는 (1) 적용안함 (2) 전부drop (3) 라벨인코딩, (4) 원핫인코딩 , numerical 에는 (1) 적용안함 (2) 민맥스 (3) 스탠다드 (4) 로버스트 스케일러가 있는 것으로 알고 있는데요.[질문 1][질문 1-1] 데이터 타입 별로 그냥 한가지 피쳐엔지니어링 방법을 적용한다고 해도, 4 x 4 = 16 가지 조합이 나오는 것 같은데요, 시험 중에 16가지 조합을 전부 시도해보시는지 궁금합니다. 적용안하는 선택지를 제외하면 9가지 인데, 9가지 조합을 다 해봐야할까요? [질문 1-2 ] 아니면 그냥 스케일러 같은 경우는 무조건 로버스트를 쓴다고 생각해버려도 될런지도 궁금합니다. [질문 2]필드 별 다르게 적용해야하는 문제도 나온적이 있나요? 예를 들어 A 컬럼도 numerical 이고 B 컬럼도 numerical 일 때, A 컬럼엔 민맥스 적용 B 컬럼엔 로버스트 적용 하는게 정답인 케이스 같은게 있나 해서요. 잘 몰라서 드리는 질문일수도 있습니다 ㅠ 이렇게까지 해야하는 문제는 안나온다고 생각해도 될까요? [질문 3]describe() 결과를 보고 어느 피쳐엔지니어링을 사용하면 좋겠다는 판단이 올수있을까요? 혹시 몇가지 판단요소나 꿀팁같은게 있는지 궁금합니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 시험장에서 제출할떄
안녕하세요실제 시험장에서 작업형2를 풀때 관련 질문인데요pd.DataFrame({'index': test.index, 'target': pred}).to_csv('003000000.csv', index=False)이와 같이 to_csv 이후에 read_csv도 포함한 코드를 제출해야하나요? 아님 read_csv는 눈으로만 확인해보고 실제 제출할때는 지워서 제출하면될까요? 작업형 2를 풀때 문제에 써져있는 평가지표있잖아요이런거---->> (제출한 모델의 성능은 F1평가지표에 따라 채점)이런식으로 나와있으면 ## 평가from sklearn.metrics import f1_scoref1_score(y_val, pred) 이렇게 꼭 포함시켜야 하나요? 그리고 포함시켜야한다면 이를print(f1_score(y_val, pred))로 출력도 해야하나요? 코랩에서 연습할때는 전부 성능평가까지 코드짜면서 연습해봤는데 실제 시험장에서는 어디까지 코드를 짜야할지가 헷갈려서요!좋은 강의 감사드립니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 모의문제2 오타 질문
안녕하세요 선생님,첫번째 질문작업형2 모의문제2를 수강하고 있습니다.regressor = RandomForestRegressor()로 정의했다면,밑에서 fit하는 것도 regressor.fit(X_tr, y_tr)로 정의하는게 맞는지 질문드리려고 합니다.현재 노트에는 model로 정의가 되어 있습니다.두번째 질문수강하다가 보면 선생님께서 강의중에(아마 분류문제) 이정도 정확도?가 나왔으면 추가적으로 피처 엔지니어링이 필요 없이 그냥 제출해도 될 것 같다~ 라고 말씀을 하실 때가 있는데, 이 기준이 궁금합니다. 어느 정도여야 점수를 충분히 받는지,예측에 있어서도 지표로 이런 판단이 가능한지 궁금합니다. 3.세 번째 질문작업형2 모의문제 3을 듣고 있습니다.xgboost 하이퍼파라미터 에 대해서 설명을 듣고 있는데, xgbclassifier의 max_depth의 디폴트는 3이라고 max_depth=3을 설정했을 때와 설정하지 않았을 때 값이 같음을 비교해주셨습니다.그런데 제가 작성했을 때는 max_depth=3을 넣고, 안넣고 했을 떄 값이 다르게 나오는데, 혹시 왜 그런지 아실까요..?(검색했을 때도 xgboost 디폴트 max_depth=3이라고 나와서 말씀해주신게 맞을 것 같은데..) 감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2유형 스케일링 등 필수로 해야 하나요?
안녕하세요, 덕분에 큰 도움 받고 있습니다.분류나 회귀를 하다보면 간혹 인코딩/스케일링을 진행하지 않은 경우에서 결과값이 더 좋을 때가 있는데요. 실제 시험(작업형 2유형)에서 이런 경우라면, 인코딩/스케일링을 하지 않는다고 감점요인이 될 수 있을까요?결과값만 좋으면 인코딩/스케일링을 진행하든 하지 않든 큰 문제 없을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
유형 3 제출 포멧 질문
작업형3은 귀무가설을 기준으로 검정의 결과를 (채택/기각) 합니다.이 말이 귀무가설을 채택하는지, 기각하는지 적어야 하는 건가요? ttest 의 경우 p value가 유의수준 0.05 보다 작게 나와서 대립가설이 채택되는 경우정답은 귀무가설을 기각한다. 라고 해야하는건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
원핫 인코딩 차이점
kaggel T2-1 풀이 중 궁금한 사항이 있어 문의 드립니다. 0 PassengerId 712 non-null int64 1 Pclass 712 non-null int64 2 Name 712 non-null object 3 Sex 712 non-null object 4 Age 575 non-null float64 5 SibSp 712 non-null int64 6 Parch 712 non-null int64 7 Ticket 712 non-null object 8 Fare 712 non-null float64 9 Cabin 170 non-null object 10 Embarked 711 non-null object 작성한 풀이train = pd.get_dummies(X_train, columns=features)test = pd.get_dummies(X_test, columns=features)train.shape, test.shape #((712, 26), (179, 25))해설지 풀이features = ["Pclass", "Sex", "SibSp", "Parch"]X = pd.get_dummies(X_train[features])test = pd.get_dummies(X_test[features])X.shape, test.shape ##((712, 5), (179, 5)) 제 풀이는 원핫인코딩처럼 안된 이유가 무엇일까요..?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 모의문제3 풀이 중
안녕하세요.강의 잘 듣고 있습니다.해당 문제 풀면서.... 이미 라벨인코딩이 되어있다는 것을 확인을 못하고describe해 보고 std가 가장 높은 'choi'변수만 민맥스 스케일링을 하려고 했는데.. 오류가 발생해서요... 왜 발생하는건지 궁금합니다.그리고 시험 때, 피처엔지니어링에서 오류 발생시 해당 절차를 건너뛰고 전처리만 하고 데이터 분할 -> 모델링으로 넘어가도 되는지.요... 성능은 떨어지겠지만 ㅠ...<코드># 라이브러리 및 데이터 불러오기 import pandas as pd x_train = pd.read_csv("X_train.csv") x_test = pd.read_csv("X_test.csv") y_train = pd.read_csv("y_train.csv") pd.set_option('display.max_columns', None) # EDA print(x_train.shape, x_test.shape, y_train.shape) #(242, 14) (61, 14) (242, 2) print(x_train.head()) print(x_test.head()) print(y_train.head()) # target: output print(x_train.info()) print(x_train.describe()) # print(x_train.describe(include = 'object')) 범주형 없음 print(x_train.value_counts()) print(x_train.isnull().sum()) # 데이터 전처리(결측치, 필요없는 칼럼, ID처리) x_train = x_train.drop('id', axis = 1) test_id = x_test.pop('id') # 피처엔지니어링(수치형: minmax) from sklearn.preprocessing import MinMaxScaler Scaler = MinMaxScaler() x_train['chol'] = Scaler.fit_transform(x_train['chol']) x_test['chol'] = Scaler.tranasform(x_test['chol'])<오류>---------------------------------------------------------------------------ValueError Traceback (most recent call last)<ipython-input-39-3a5ef0b0d508> in <cell line: 31>() 29 30 Scaler = MinMaxScaler()---> 31 x_train['chol'] = Scaler.fit_transform(x_train['chol']) 32 x_test['chol'] = Scaler.tranasform(x_test['chol'])5 frames/usr/local/lib/python3.10/dist-packages/sklearn/utils/validation.py in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator, input_name) 900 # If input is 1D raise error 901 if array.ndim == 1:--> 902 raise ValueError( 903 "Expected 2D array, got 1D array instead:\narray={}.\n" 904 "Reshape your data either using array.reshape(-1, 1) if "ValueError: Expected 2D array, got 1D array instead:array=[216. 199. 269. 205. 149. 196. 211. 131. 203. 126. 263. 248. 169. 261. 236. 229. 241. 254. 315. 221. 177. 232. 219. 160. 233. 341. 298. 229. 188. 212. 250. 326. 205. 293. 309. 212. 199. 255. 210. 239. 193. 274. 268. 264. 247. 222. 288. 564. 197. 303. 264. 276. 243. 187. 208. 233. 198. 177. 247. 246. 307. 220. 268. 295. 240. 302. 243. 303. 245. 256. 230. 141. 340. 149. 213. 223. 289. 354. 270. 342. 277. 231. 335. 206. 325. 201. 233. 209. 220. 353. 253. 330. 239. 212. 249. 201. 177. 266. 207. 224. 252. 166. 282. 243. 253. 222. 246. 157. 207. 213. 164. 306. 204. 281. 198. 244. 211. 227. 260. 266. 229. 258. 308. 249. 231. 313. 254. 209. 240. 269. 278. 335. 258. 289. 223. 240. 228. 286. 298. 261. 327. 216. 206. 249. 283. 223. 234. 360. 197. 257. 236. 394. 305. 172. 230. 286. 330. 318. 269. 265. 256. 167. 220. 217. 186. 184. 255. 211. 269. 319. 212. 215. 282. 234. 271. 236. 174. 271. 197. 288. 226. 219. 234. 225. 242. 294. 248. 304. 256. 221. 234. 309. 274. 299. 197. 265. 275. 244. 243. 300. 175. 274. 263. 218. 226. 275. 308. 254. 318. 290. 239. 175. 262. 302. 409. 197. 203. 225. 322. 192. 303. 177. 197. 234. 203. 185. 309. 200. 269. 270. 273. 258. 195. 267. 227. 233. 192. 321. 254. 196. 260. 214.].Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 모의문제1 에서 오류가 발생하는데 원인을 모르겠습니다
import pandas as pd train = pd.read_csv("train.csv") test = pd.read_csv("test.csv") y_test = pd.read_csv("y_test.csv") from sklearn.preprocessing import LabelEncoder cols = train.select_dtypes(include = 'object').columns for col in cols: le = LabelEncoder() train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) train = train.drop('CLIENTNUM',axis=1) test_id = test.pop('CLIENTNUM') from sklearn.model_selection import train_test_split X_tr,X_val,y_tr,y_val = train_test_split(train, train['Attrition_Flag'], test_size = 0.2, random_state = 2022) from xgboost import XGBClassifier from sklearn.metrics import roc_auc_score,accuracy_score,f1_score,precision_score, recall_score model = XGBClassifier(random_state=2022) model.fit(X_tr,y_tr) pred = model.predict(X_val) pred print(accuracy_score(y_val,pred)) print(f1_score(y_val,pred)) print(precision_score(y_val,pred)) print(recall_score(y_val,pred)) pred = model.predict(X_val) pred pred = model.predict_proba(test) pred (여기 과정에서 오류가 생깁니다 ㅠ) ValueError: Feature shape mismatch, expected: 20, got 19 이렇게 오류가 생기는데 뭐가 잘못된걸까요?ㅠㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 제3유형 강의 중 ttest_rel 질문
ttest_rel의 alternative 부분 scipy 공식문서를 보면Defines the alternative hypothesis. The following options are available (default is ‘two-sided’):‘two-sided’: the means of the distributions underlying the samples are unequal.‘less’: the mean of the distribution underlying the first sample is less than the mean of the distribution underlying the second sample.‘greater’: the mean of the distribution underlying the first sample is greater than the mean of the distribution underlying the second sample.이렇게 되어 있는데요.a와 b에 넣는 위치에 따라 달라진다고 이해하면 될까요? 이게 무조건 고정은 아닌 것 같아서요.. 예를 들어 a에 before, b에 after을 넣게 되면a에 있는 before 혈압이 더 크니까 'greater'를 써주고 a에 after, b에 before을 넣게 되면a에 있는 after 혈압이 더 작으니까 'less'를 써주는 게 맞는건가요?강의에서는 대립가설을 기준으로 뭐 하라고 설명 해주셨는데 잘 이해가 안 가서요.. 자세하게 설명해주실 수 있을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형2 총 구매액 -로 되어 있는건..데이터 오류라고 봐야죠??
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
mmdetection/customdataset
안녕하세요 강사님 수업중 질문이 생겨서 글을 남깁니다.mmdetection github에 들어가서 customdataset을 확인하려고 하는데 따로 dataset에 customdataset이 없습니다 ㅠㅠ
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
KittyTinyDataset(CustomDataset) 상속받을 때 super 질문
안녕하세요 선생님혹시 KittyTinyDataset(CustomDataset) 에서def load_annotations(self,ann_file) 할때 super는 따로 안하는 이유가 있을까여?상속받을때 변수를 쓰려면 super를 써야한다고 알고있어서 질문드렸습니다.감사합니다
-
해결됨딥러닝 CNN 완벽 가이드 - TFKeras 버전
안녕하세요 교수님. 배치정규화 가중치 개수에 대해 질문있습니다.
혹시 배치정규화의 가중치 개수는 어떻게 구하는지 알수있을까요?chat gpt와 블로그를 봤는데도 설명이 나와있지 않아서 여쭤봅니다 !
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
RMSE 값은 작을수록 좋나요?
안녕하세요? 우선 강의 정말 감사드립니다. 제가 초보 질문을 하고자 합니다 ㅠㅠ 모델링할 때 어떤 값은 클수록 좋았는데, RMSE 값은 오차같은거라 작을수록 좋은건가요? 다른 모델링은 클수록 좋은가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
select_dtypes 관련
안녕하세요cols = X_train.select_dtypes(include='object').columns 수치형을 선택하려면 include 값을 어떻게 넣어야할까요?
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
테스트 데이터 적용시 BN에 대해서 질문있습니다.
학습된 모델을 이용해서 1개의 test data를 추론하는 과정에서 BN이 적용이 안되기 때문에,학습데이터를 통해 구해진 평균과 표준편차를 이용해서 1개의 test data를 BN시켜주는것이 맞나요??(지수가중평균이동을 이용해서)r(scaling)과 b(shift)는 학습 데이터에서 최적화 된 값을 이용하는것이고요!!제가 정확히 이해한건지 확인차 질문드립니다!!
-
해결됨[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지
14강 데이터 불균형 RandomRotation
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. tr.RandomRotation(10, resample=PIL.Image.BILINEAR),이 부분에서 RandomRotation.__init__() got an unexpected keyword argument 'resample'이런 TypeError 가 발생을 하는데 원인을 잘 모르겠습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
3회 기출유형(작업형2) 강의 관련 질문 있습니다!
안녕하세요! 강의 잘 듣고 있습니다!i. 3회 기출유형(작업형2)의 <데이터 전처리 및 피처엔지니어링 - 스케일링> 부분에서ii. 2회 기출 강의에서는 for col in cols: i_train[cols] = scaler.fit_transform(i_train[cols]) i_test[cols] = scaler.transform(i_test[cols]) i_train.head() 요렇게 for문을 쓰셔서 transform을 하셨는데요iii. 3회 기출에서는i_train[cols] = scaler.fit_transform(i_train[cols]) i_test[cols] = scaler.transform(i_test[cols]) i_train.head()요렇게 for문을 안쓰셨더라구요. iiii. 혹시 for문을 써야하는 조건과 쓰지 않아도 되는 조건이 따로 있는건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 모의문제2
import pandas as pd train = pd.read_csv("train.csv") test = pd.read_csv("test.csv") #print(train.shape) cols = ['name','host_name', 'last_review', 'host_id'] for col in cols: train = train.drop(col, axis =1) test = test.drop(col, axis = 1) #print(train.shape) train = train.drop('id', axis = 1) test_id = test.pop('id') train['reviews_per_month'] = train['reviews_per_month'].fillna(0) test['reviews_per_month'] = test['reviews_per_month'].fillna(0) from sklearn.preprocessing import LabelEncoder le = LabelEncoder() cols = ['neighbourhood_group', 'neighbourhood','room_type'] for col in cols: le = LabelEncoder() train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split( train.drop('price', axis =1), train['price'], test_size = 0.15, random_state = 2022 ) import numpy as np from sklearn.metrics import r2_score, mean_absolute_error, mean_squared_error from sklearn.ensemble import RandomForestRegressor model = RandomForestRegressor(random_state = 2023) model.fit(X_tr, y_tr) pred = model.predict(X_val) print("r2 :", r2_score(y_val,pred)) print("MAE :",mean_absolute_error(y_val, pred)) print("MSE :", mean_squared_error(y_val, pred)) pred = model.predict(test) print(pred) submit = pd.DataFrame({ 'id': test_id, 'price': pred }) submit.to_csv("0000.csv", index = False) pd.read_csv("0000.csv") y_test = pd.read_csv("y_test.csv") print(r2_score(y_test, pred))위와 같이 직접 코딩하였는데 정상적으로 코드실행은 되나 값이 아래와 같이 나옵니다. 맨아래 평가 부분에서 r2-score가 너무 낮게 나와 하이퍼파라미터 튜닝 등의 작업을 진행해도 값이 눈에띄게 높아지지 않습니다. 만약 시험장에서 저정도의 값이 나오게 되어도 문제가 없는지...만약 문제가 있다면 randomforest 모델 사용시 어떻게 코드를 수정해야 좋을까요?항상 좋은 강의와 질의응답 감사합니다. 덕분에 많이 배우고 있습니다. r2 : 0.24135176879686082MAE : 66.06702993637809MSE : 37136.57052394958[434.45 145.45 165.35 ... 138.18 162.28 205.64]0.05889849774689748
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
주피터 노트북에서 mmdetection
안녕하세요 강사님 좋은 강의 너무 감사드립니다. colab환경에서 하신 code들 바탕으로 주피터노트북 환경에서 연습하고 있었습니다. 그런 중 잘 안되는 부분이 생겨 질문드립니다. 먼저 mmdetecion 설치를 한 제 코드입니다.오류 메세지는 다음과 같습니다pycocotools 다운 받고 런타임 재시작부터 다 해봤습니다ㅠ 파일도 다운 받아있는데 왜 import가 안될까요? 감사합니다