묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출7 작업형1 3번문제
1. 코드 import pandas as pd df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p4/7_1/air_quality.csv") # Q1,Q3,IQR 구하기 Q1 = df['CO2'].quantile(0.25) Q3 = df['CO2'].quantile(0.75) # print(df.describe()) # print(Q1,Q3) IQR = Q3 - Q1 # 상하한선 구하기 up = Q3 + 1.5 * IQR down = Q1 - 1.5 * IQR # 이상치 수 찾기 cond = (df['CO2'] > up) | (df['CO2']<down) cond.isnull().sum() 2. 결과값 np.int64(0) 3. 질문 제가 마지막에 cond.isnull().sum()로 썻더니 결과가 0이 나오고, df[cond]로 쓰면 선생님 영상처럼 답이 잘 처리됩니다. 제가 최초에 한 코드가 왜 답이 0이 나오는지 모르겟습니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
drop 함수 사용시 재실행 오류
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요 기출 8회차 작업형 2문제인데요, 시험환경과 같이 한 곳에다가 코드를 입력하려고 연습을 하는 중이지만, drop 함수를 사용하고 재실행하면 오류가 발생하여 코드를 나눠서 작성하게 됩니다. 처음 데이터를 재실행하는 것 외에 해결방법이 없을까요? 시험환경에서는 코드를 한곳에 모두 작성해야되어서 걱정이 됩니다..
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
어떻게 data가 listbox의 값을 불러오는 건가요?
19:25 여기서 listbox라는 이름에 값을 넣었는데, 함수 정의할 때 data라는 이름으로 정의된 것이 없는데도 어떻게 data가 listbox의 값을 불러오는 건가요? 이렇게 함수를 정의해도 되는거 아닌가요?def min_max(listbox): mi = min(listbox) ma = max(listbox) return mi, ma
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2_모의문제2
#1. 문제탐색 # 회귀모델 csv id,price # target : price # R-Squared, MAE, MSE, RMSE, RMSLE, MAPE # 2. 데이터불러오기 import pandas as pd import numpy as np train = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p2/ab_nyc/train.csv") test = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p2/ab_nyc/test.csv") # train = pd.read_csv("train.csv") # test = pd.read_csv("test.csv") #3 데이터 탐색 #print(train.shape, test.shape) #print(train.head(3), test.head(3)) #print(train.isnull().sum(), test.isnull().sum()) #print(train.info(), test.info()) #4. 데이터 전처리 #print(train.shape, test.shape) cols = ['name', 'host_name', 'host_id'] train = train.drop(cols, axis =1 ) test = test.drop(cols, axis =1 ) #print(train.shape, test.shape) train['last_review'] = train['last_review'].mode(0) test['last_review'] = test['last_review'].mode(0) train['reviews_per_month'] = train['reviews_per_month'].fillna(0) test['reviews_per_month'] = test['reviews_per_month'].fillna(0) #변수부여 target = train.pop('price') train = train.drop('id', axis=1) id = test.pop('id') cols = train.select_dtypes(include = 'object').columns #print(train.shape, test.shape) #레이블인코딩 from sklearn.preprocessing import LabelEncoder 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, target, test_size = 0.2, random_state = 2) #6.모델 학습 및 평가 from sklearn.ensemble import RandomForestRegressor rf = RandomForestRegressor(random_state = 2) rf.fit(X_tr, y_tr) pred = rf.predict(X_val) from sklearn.metrics import r2_score, mean_absolute_error, mean_squared_error, mean_absolute_percentage_error mae = mean_absolute_error(y_val, pred) mse = mean_squared_error(y_val, pred) mape = mean_absolute_percentage_error(y_val, pred) rmse = np.sqrt(mean_squared_error(y_val, pred)) print(f"mae: {mean_absolute_error(y_val, pred)}") print(f"mse: {mean_squared_error(y_val, pred)}") print(f"mape: {mean_absolute_percentage_error(y_val, pred)}") pred = rf.predict(test) submit = pd.DataFrame({'id' : id, 'price' : pred}) submit.to_csv("0516.csv", index = False) pd.read_csv("0516.csv") 안녕하세요 모의문제 2-2번 레이블 인코딩으로 작성했는데 피드백주실 사항 있으실까요?이 문제도 원핫인코딩으로 진행해야할까요?
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형_2모의문제1번_피드백
#1. 문제파악 # 분류모델 / ROC-AUC, 정확도(Accuracy), F1, 정밀도(Precision), 재현율(Recall) #TARGET : Attrition_Flag # CSV("CLIENTNUM,Attrition_Flag) , 수험번호.CSV #2. 데이터불러오기 import pandas as pd train = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p2/ceredit%20card/train.csv") test = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p2/ceredit%20card/test.csv") # train = pd.read_csv("train.csv") # test = pd.read_csv("test.csv") #없을 경우 -> 원핫인코딩 / 있으면 레이블인코딩 #3. EDA #print(train.shape, test.shape) #print(train.info(), test.info()) #print(train.isnull().sum(), test.isnull().sum()) #print("test에만 있는 컬럼:", test_cols - train_cols) #train_cols = set(train.columns) #test_cols = set(test.columns) #4. 데이터 전처리 #공통 print(train.shape, test.shape) target = train.pop('Attrition_Flag') train =train.drop('CLIENTNUM', axis=1) id = test.pop('CLIENTNUM') print(train.shape, test.shape) #레이블 인코딩 cols = train.select_dtypes(include = 'object').columns from sklearn.preprocessing import LabelEncoder for col in cols : le = LabelEncoder() train[col] = le.fit_transform(train[col]) test[col]= le.transform(test[col]) #5. 데이터 분할 from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size=0.2, random_state=2) #6. 모델 학습 및 평가 from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier(random_state=2) rf.fit(X_tr,y_tr) pred = rf.predict(X_val) pred1 = rf.predict_proba(X_val) from sklearn.metrics import roc_auc_score, f1_score, recall_score, accuracy_score, precision_score roc = roc_auc_score(y_val, pred1[:,1]) f1 = f1_score(y_val, pred) recall = recall_score(y_val, pred) acc = accuracy_score(y_val, pred) pre = precision_score(y_val, pred) #7 평가 pred_test = rf.predict(test) pred1 = rf.predict_proba(test) #print(pred1) submit = pd.DataFrame({'CLIENTNUM' : id, 'Attrition_Flag' : pred1[:,1]}) submit.to_csv("0000.csv", index = False) pd.read_csv("0000.csv") 안녕하세요~이번엔 레이블인코딩으로 데이터전처리해서 풀어봤습니다 혹시 피드백해주실 부분이 있으실까요~?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형1 - 모의 3 문제 8번
안녕하세요. 문제 8번 원본 데이터가 변경된 것 같습니다.불러오는 주소가 잘못 되었거나.. 데이터가 바뀐 것 같습니다.
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2문제에서 컬럼을 삭제하는 기준?
작업형 2 문제를 풀때 컬럼을 삭제하는 기준에서ID와 같은것은 무조건 삭제하는것이 좋을까요? 아래와 같은 예시에서는 비행편 컬럼을 삭제하고 시작하셨는데...카테고리수가 다르다고 함부로 삭제하는건 또 아닐거같은데 기준을 어떻게 정하면 좋을까요?저는 비행편 컬럼을 삭제하지 않고 회귀모델을 만들었는데 rmse가 더 적게 나오긴했고요..=print("\n ===== 카테고리 비교 =====") cols = train.select_dtypes(include='object').columns for col in cols: set_train = set(train[col]) set_test= set(test[col]) same = (set_train == set_test) if same: print(col, "\t카테고리 동일함") else: print(col, "\t카테고리 동일하지 않음") train = train.drop('flight', axis=1) test = test.drop(
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
value_counts()
df.sort_values('id_assessment',ascending=False) 를 할때와df['id_assessment'].value_counts()를 할때와 값이 다르게 나오는데 왜 인가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
1- 3 소문제 질문있습니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요logit 으로 테스트 데이터 학습 시킬때 data = test가 아닌 train으로 학습시키는건가요??문제에 예측하라그래서 test 를 데이터셋으로 넣는줄 알았는데 아니어서 여쭤봅니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2_모의문제1(답안피드백)
#1. 문제파악 # 분류모델 / ROC-AUC, 정확도(Accuracy), F1, 정밀도(Precision), 재현율(Recall) #TARGET : Attrition_Flag # CSV("CLIENTNUM,Attrition_Flag) , 수험번호.CSV #2. 데이터불러오기 import pandas as pd train = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p2/ceredit%20card/train.csv") test = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p2/ceredit%20card/test.csv") # train = pd.read_csv("train.csv") # test = pd.read_csv("test.csv") #3. EDA #print(train.shape, test.shape) #print(train.info(), test.info()) #print(train.isnull().sum(), test.isnull().sum()) #4. 데이터 전처리 #print(train.shape, test.shape) target = train.pop('Attrition_Flag') train =train.drop('CLIENTNUM', axis=1) id = test.pop('CLIENTNUM') train = pd.get_dummies(train) test = pd.get_dummies(test) #print(train.shape, test.shape) #5. 데이터 분할 from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size=0.2, random_state=2) #6. 모델 학습 및 평가 from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier(random_state=2) rf.fit(X_tr,y_tr) pred = rf.predict(X_val) pred1 = rf.predict_proba(X_val) from sklearn.metrics import roc_auc_score, f1_score, recall_score, accuracy_score, precision_score roc = roc_auc_score(y_val, pred1[:,1]) f1 = f1_score(y_val, pred, average = 'macro') recall = recall_score(y_val, pred) acc = accuracy_score(y_val, pred) pre = precision_score(y_val, pred) #7 평가 pred = rf.predict(test) pred1 = rf.predict_proba(test) #print(pred1) submit = pd.DataFrame({'CLIENTNUM' : id, 'Attrition_Flag' : pred1[:,1]}) submit.to_csv("0000.csv", index = False) pd.read_csv("0000.csv")작업형 2 모의문제1로 이렇게 작성했는데,피드백 주실 부분이 있으실까요? ㅠㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
자료형 변환시에(datatime)
# # 자료형 변환# df['subscribed'] = pd.to_datetime(df['subscribed']) # # df['subscribed'] = pd.to_datetime(df['subscribed'], format="%Y-%m-%d") # format 사용 위 두개 중에 저는 항상 맨 위로만 코드를 작성했는데 오늘 문제풀이를 하다보니 두번째로도 알려주시는데..첫번째 코드로만 외우면 나중에 오류가 생길까요?
-
미해결[2024년 개정]이것이 진짜 한글자동화다[기본편]
한글 스타일 자동 적용 문서에 대해?
혹시 이런 질문 드려도 될 지 모르겠네요. 제가 학원에서 국어 강의를 하고 있는 국어선생인데요. 주로 한글 문서를 사용해 문서를 편집하거든요. 제가 알고 싶은 것은 스타일이 적용 안된 한글 문서를 스타일 적용된(예를 들어 지문파일 스타일, 문제스타일, 보기스타일, 선택지스타일, 정답및 해설스타일 등)문서로 일괄 자동 변환 아니면 반자동 되게 하는 프로그램을 만들고 싶거든요. 이거 제가 강의 들으면 문과인 기계에 문외한인 저도 만들 수 있나요? 아니면 의뢰를 해야 하나요? 의뢰해도 만들 수 있다면 하고 싶어요. 사실 시간이 없거든요. 여기 게시판에 맞는 질문인지 모르겠네요.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
체험환경 신유형 2번 문제 강의 요청
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요안녕하세요 강사님 오늘 방금 시간으로 RMSE 내용이랑 test.csv 예측칼럼 삭제 확인했는데 혹시 강의 업로드 가능하신지 문의드립니다~
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
원핫인코딩에 대해 질문 드립니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요. 2유형 문제에서 원-핫 인코딩을 진행할 때, 기존에는 train과 test 데이터를 먼저 합친 뒤 pd.get_dummies()를 적용하고, 이후 다시 분리하는 방식으로 학습했었습니다. 그런데 최근 기출문제 풀이를 보면, train과 test를 따로 인코딩하는 경우도 종종 보이더라고요. 혹시 범주의 유니크 값 개수가 동일하다면, 굳이 합치지 않아도 인코딩을 개별적으로 진행해도 무방한 건지 궁금합니다. 인코딩 처리 방식에 대해 혼동이 있어 문의드립니다. 감사합니다.
-
미해결직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
[응용] 엑셀문서 값을 필드에 입력하기 질
# 모듈 임포트 import win32com.client as win32 # 한/글 열기 hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject") hwp.XHwpWindows.Item(0).Visible = True hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule") hwp.Open(r"C:\Users\smj02\Desktop\누름틀필드.hwp") # 엑셀 열기 excel = win32.gencache.EnsureDispatch("Excel.Application") excel.Visible = True wb = excel.Workbooks.Open(r"C:\Users\smj02\Desktop\취미.xlsx") ws = wb.Worksheets(1) # 필드삽입 함수 정의 def 필드삽입(index, value): field_list = ["이름", "성별", "생일", "취미"] for idx, field in enumerate(field_list): hwp.PutFieldText(f"{field}{{{{{index}}}}}", value[idx]) # 첫 쪽 복사 hwp.Run("CopyPage") # while문 실행 row = 2 while True: if not ws.Cells(row, 1).Value: hwp.Run("DeletePage") break else: data = list( ws.Range(ws.Cells(row,1), ws.Cells(row, 4)).Value[0] ) data[2] = data[2].strftime("%Y년 %#m월 %#d일") 필드삽입(row-2, data) hwp.Run("PastePage") row += 1위 코드를 실행 시켰을때 한글 첫페이지만 아래처럼 생성되고 다음 페이지(빌, 일론 등)가 생성이 안됩니다. 이름 : 마크성별 : 남생일 : 1984년 5월 14일취미 : VR 그대로 복붙해서 했는데 안되서 질문 남깁니다ㅠ첫 쪽 복사와 붙여넣기가 안먹는거 같은데 이상하네요
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출 6회 작업형 3
12:58 2번 문제에서앞의 부분, 데이터에서 'solar'와 'o3'를 고정한 상태에서 'wind'의 세기가 증가함에 따라~~이 부분은 무시해도 되는건가요?? wind의 p-val 값은 구할 수 있는데 풀이 당시 앞부분의 의미를 몰라서 무엇을 구해야 할지 몰랐었습니다..
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
평가지표 질문!
성능을 평가할 때 root_mean_squared_error 코드를 시험환경에서는 못쓰는건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
6회 기출 2번
from sklearn.ensemble import RandomForestClassifiermodel = RandomForestClassifier(random_state=0)model.fit(X_tr,y_tr)pred = model.predict(X_val)f1_socre = f1_score(y_val,pred,average='macro')print(f1_score) 로 작성했더니 <function f1_score at 0x7cb537c5f6a0>로 출력이 되는데 이건 무슨 값일까요? 어떻게 해야 선생님처럼 값이 나올까요>
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
rmse 사용시
안녕하세요 3유형에서 rmse로 성능측정시 원래는 mse**0.5해서 계산하고 있었는데퇴근후딴짓님 어떤 영상에서는새로 패키지가 추가됬다며 from sklearn.metrics import root_mean_squared_error해서 root_mean_squared_error(y_val, pred)이렇게 사용하더라구요 실제 시험환경에서 위와같이 사용해도 되나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
roc_auc_score 문의
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요7. 머신러닝 학습 및 평가(분류) 11분19초 부분입니다.안녕하세요.roc_auc_score로 pred와 y_val간 비교를 통해 roc-auc 스코어를 내는 부분에 질문이 있습니다. roc_auc = roc_auc_score(y_val, pred[:,1])여기서 y_val의 경우에 프린트해보면 각 항에 <=50K 혹은 >50K 라는 값으로 이루어져 있습니다.pred는 array의 집합 [0.1 , 0.9] 등으로 이루어져 있는데 pred[:, 1]을 통해서 '>50K' 부분만 따로 추출해내는 점은 이해가 됩니다. 제가 궁금한것 여기서 y_val의 값, 즉 <=50K 혹은 >50K이 '<=50K'는 0 '>50K'는 1으로 정의가 되어있는 건지요? 특별히 정의를 한것 같지는 않습니다. (물론 문제에서는 50만불 이상이 양성이라고 언급은되어있습니다만..) 혹시 rf.classes_ 에서 출력되는 ['<=50K' '>50K'] 값의 의미가dataset의 y값 전체가 '<=50K'= 0, '>50K'= 1 라는 의미로 이해를 하면되는 것일까요? (전체y(타겟)의 넘버가 rf클래스의 인덱스 값에 따르는 것인지?)