묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
object 데이터 인코딩 관련 질문
안녕하세요 선생님공부중인데 질문이 생겨서 글 적습니다.object 타입의 컬럼들을 cols라는 변수에 담고, 각각의 범주의 개수에 따라 라벨인코딩, 원핫을 진행하는 것으로 이해하고 있습니다. 보통 cols로 일괄적으로 처리했습니다. 그런데 범주의 개수가 많거나 적은 경우에 따라 일부는 라벨 인코딩, 일부는 원핫인코딩으로 처리하는 방식이 가능한가요? 아니면 항상 일괄적으로 처리해야 할까요?object 타입을 인코딩 하지 않고 그대로 머신러닝 할 수 없는 것으로 알려 주셨는데(인코딩을 하지 않으면 drop 후 모델 훈련을 시켜야 된다고 하셨던 것으로 기억합니다), 제가 기억하고 있는 바가 맞는지, 맞다면 그 이유가 궁금합니다.작업형3 관련 강의 업로드 일정이 궁금합니다. 강의 다 듣고 캐글가서 연습하려구요..
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2
안녕하세요 강사님.작업형2 확률 데이터를 구하는 문제에서문제 예시와 직접 출력한 데이터의 소수점 자릿수 차이가 많이 나는데 이대로 제출해도 상관이 없을까요?그리고 소수점 자릿수가 많이 출력 되는 이유는 무엇인가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 최종 타겟 데이터 관련 질문
안녕하세요. 질 좋은 강의 덕에 이제 작업형2를 나름 능숙하게 잘 수행하고 있습니다.다만 최종 데이터를 선택하는 방법이 헷갈리네요. 최종 예측결과가 2개의 컬럼으로 표현될 때그냥 하던대로 pred[ : , 1]로 roc_auc_score를 확인하고 있는데요. 첫번째 컬럼으로 제출해야되는 상황이 문제에 따라 생길 것 같은데문제에서 설명해주는 내용이 조금 난해합니다 ㅠㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
T1-9 코드
import pandas as pd import numpy as np df = pd.read_csv('../input/bigdatacertificationkr/basic1.csv') mean = df['f5'].mean() std = df['f5'].std() standard = (df['f5'] - mean) / std print(standard.median()) 강사님 위와같이 Z정규화 공식을 직접 만들어 대입했는데 풀이의 정답과는 유사하지만 소수점이 살짝 다르게 나옵니다. 제 공식이 잘못된걸까요?제 풀이의 정답: 0.2593132572746011풀이 정답: 0.260619629559015
-
해결됨[핵집] 2024 빅데이터 분석기사(필기)_과목 1~2
강의 자료 문의드립니다.
안녕하세요.수강생 정종민 입니다. 통합교재 공유받을수 있는지 문의드립니다. 가능하다면 jasper2236@naver.com으로 공유 부탁드립니다. 가입 e-mail : originaljong@lgcns.com 받고 싶은 e-mail : jasper2236@naver.com 감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
dir(), help(), __all__
기존 강의에서 dir(), help(), all 사용법을 알려주셨는데요작업형2에서는 유용히 사용할 수 있을것 같은데작업형1에서는 어떻게 사용 가능할까요? 제가 1-3문제를 푸는도중 to_datetime 함수가 생각나지않아 dir(), help(), all 방식을 사용하여 찾아보려했는데 계속 오류가 떠서요. 혹시 작업형1에서 위와 같은 함수가 생각이 안날때 dir(), help(), all를 쓰는 방법을 알 수 있을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형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 총 구매액 -로 되어 있는건..데이터 오류라고 봐야죠??
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
RMSE 값은 작을수록 좋나요?
안녕하세요? 우선 강의 정말 감사드립니다. 제가 초보 질문을 하고자 합니다 ㅠㅠ 모델링할 때 어떤 값은 클수록 좋았는데, RMSE 값은 오차같은거라 작을수록 좋은건가요? 다른 모델링은 클수록 좋은가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
select_dtypes 관련
안녕하세요cols = X_train.select_dtypes(include='object').columns 수치형을 선택하려면 include 값을 어떻게 넣어야할까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형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