묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기사 (2회): 기출유형-작업형2 풀이 오류 해석
안녕하세요.강의 잘 듣고 있습니다. 매번 질문에 답해주셔서 감사합니다.아래와 같이 코드를 짰는데데이터 프레임 만들기 submit = 에서 오류가 발생해서요.해당 오류가... 무슨 뜻인지 알려주세요.앞에서 test_id삭제하고 .pop을 빼먹었는데... 이것 땜에 발생했을까요?<오류내역>ValueError Traceback (most recent call last)<ipython-input-30-13b5884e1ac8> in <cell line: 63>()6162 # 데이터 내보내기---> 63 submit = pd.DataFrame(64 {65 'ID': X_test['ID'],/usr/local/lib/python3.10/dist-packages/pandas/core/internals/construction.py in extractindex(data)678 f"length {len(index)}"679 )--> 680 raise ValueError(msg)681 else:682 index = default_index(lengths[0])ValueError: array length 1760 does not match index length 2200<코드># 라이브러리 및 데이터 불러오기 import pandas as pd X_train = pd.read_csv("X_train.csv") y_train = pd.read_csv("y_train.csv") X_test = pd.read_csv("X_test.csv") # EDA print(X_train.head()) print(X_test.head()) print(y_train.head()) pd.set_option('display.max_columns', None) print(X_train.shape, X_test.shape, y_train.shape) # (8799, 11) (2200, 11) (8799, 2) print(X_train.info) print(X_train.describe()) print(X_train.describe(include = 'object')) # Warehouse_block, Mode_of_Shipment, Product_importance, Gender print(X_train.isnull().sum()) # 결측치 없음 print(y_train.value_counts('Reached.on.Time_Y.N')) #1 5236, 0 3563 # 데이터 전처리 # 피처엔지니어링 # 라벨 인코딩 from sklearn.preprocessing import LabelEncoder cols = ['Warehouse_block', 'Mode_of_Shipment', 'Product_importance', 'Gender'] cols1 = X_train.select_dtypes(include = 'object').columns for col in cols: la = LabelEncoder() X_train[col] = la.fit_transform(X_train[col]) X_test[col] = la.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['Reached.on.Time_Y.N'],test_size = 0.2, random_state = 2023) print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape) #(7039, 11) (1760, 11) (7039,) (1760,) # 모델링 #분류(랜덤포레스트) from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier(random_state = 2023) model.fit(X_tr, y_tr) predict = model.predict_proba(X_val) print(predict) print(predict[:,1]) # 평가(ROC_AUC_SCORE) from sklearn.metrics import roc_auc_score pred=roc_auc_score(y_val, predict[:,1]) print(pred) # 랜덤포레스트 분류: 0.7340529818205483 # 예측 result = model.predict_proba(X_test) # 데이터 내보내기 submit = pd.DataFrame( { 'ID': X_test['ID'], 'Reached.on.Time_Y.N' : predict[:,1] } ) submit.to_csv("1111.csv", index = False)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
독립성 검정 관련 질문
독립성검정 관련하여 코랩에서는 선생님이 하신대로 문제없이 실행되었습니다.그런데, 시험환경 체험하기에서 실행을 하다 보니 코랩에서 처럼 결과값(Chi2ContingencyResult(statistic=0.5552884615384607, pvalue=0.4561648467028253, dof=1, expected_freq=array([[47.14285714, 62.85714286], [27.85714286, 37.14285714]]))이 안나오고결과값들이 어떤 값인지 표시가 없는 상태((0.5552884615384607, 0.4561648467028253, 1, array([[47.14285714, 62.85714286], [27.85714286, 37.14285714]])) 로 나왔습니다.이렇게 나오는 이유와 개선 방법인 있는지요?하단에 시험환경에 코딩한 결과입니다.
-
미해결캐글 Advanced 머신러닝 실전 박치기
손실함수에 대한 질문
안녕하세요 선생님,공부를 하다가 손실함수 부분에 대해서 질문이 있어서 이렇게 문의드립니다 다름이 아니고 시계열 자료를 분석하고 있는데, 정상성을 확보하기 위해서 차분을 하고 LIGHT GBM과 RANDOM FOREST로 회귀분석을 했는데 실제값은 0.1 ~ 0.8으로 많이 움직이지만, 예측값은 그냥 평균값이 0.4로 고정을 해서 오차에 대한 값이 그렇게 크게 나오지 않습니다. 이럴 경우는 어떻게 해야할까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
데이터 전처리 IQR 이렇게 해도 되나요?
cols = list(X_train.columns[X_train.dtypes != object]) cols for col in cols: Q1 = X_train[col].quantile(.25) Q3 = X_train[col].quantile(.75) IQR = Q3-Q1 min_iqr = Q1 - 1.5*IQR max_iqr = Q3 + 1.5*IQR cnt_before = sum((X_train[col] < min_iqr) | (X_train[col] > max_iqr)) # (X_train[col] < min_iqr) | (X_train[col] > max_iqr), 주어진 조건 둘 중 하나라도 만족, 이상치를 나타내는 값을 선택하는 조건 print(f'{col}의 이상치 처리 전 이상치 개수: {cnt_before}개 입니다.') # f 접두사를 사용하여 문자열 안에서 중괄호 {} 안에 변수나 표현식을 넣을 수 있음 X_train = X_train[(X_train[col] >= min_iqr) & (X_train[col] <= max_iqr)] # (X_train[col] >= min_iqr) & (X_train[col] <= max_iqr), 주어진 조건 둘 다 만족, 이상치를 제외한 정상 범위의 데이터를 선택하는 조건 cnt_after = sum((X_train[col] < min_iqr) | (X_train[col] > max_iqr)) print(f'{col}의 이상치 처리 후 이상치 개수: {cnt_after}개 입니다.')
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형2
데이터 전처리할 때 왜 id를 삭제하나요?학습할 때 필요할 지테스트의 id값이 최종적으로 필요할 지 어떻게 아나요?
-
해결됨[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
수강 중 질문 있습니다.
이전 강의 영상에 작성한 질문에 이어 질문 드립니다.일단 이중 객체 검출을 수행 해보려 하는데 힘든 부분이 있습니다. 이전 질문에 대해 말씀드리면 먼저 모델로 큰 이미지를 찾고 같은 모델을 사용하여 작은 이미지를 찾는 것 입니다.1. 이 강의 영상 포함하여 dataset이나 yaml파일을 선생님의 깃허브에서 불러오시는데 제가 자체 제작한 dataset은 제 컴퓨터의 로컬에 있습니다.(ex 바탕화면의 image폴더) 이를 불러오려고 구글링 하여 아래 코드를 사용했습니다.folder_path = r"C:\Users\user\Desktop\image"# 폴더 내의 모든 파일을 가져옴file_list = os.listdir(folder_path)위 코드를 사용하면 없는 폴더라고 에러가 뜨더군요.. 혹시 로컬에서 코랩으로 개인 데이터를 가져오는 방법이 있는지 궁금합니다.2. yaml파일이 잘 이해가 되지 않습니다. 일단 이해한 바로는 설정 파일이나 데이터 구조를 표현하기 위해 사용하는 파일 같은데 이전에 yolo inference 강의 영상에선 못 본 것 같아(있는데 못 봤을 수도 있습니다..) 왜 Ultralytics Yolo에는 사용하는지 궁금합니다.위에 말씀드린 것처럼 개인 dataset을 cvat로 200장 정도 만들어 뒀습니다.. 이미지는 블랙박스 이미지로 도로위 번호판을 annotation하여 로컬에 저장했습니다. (class는 '번호판' 하나)이를 위한 yaml파일을 로컬에서 생성하고 업로드 하는 방법이 궁금합니다.원래 yolo v3로 이중 객체 검출을 만들려고 했습니다. 구상한 모델은 일단 yolo inference 강의의 코드로 pre-training된 yolo에 저의 이미지를 업로드 하여 결과 값의 자동차 부분만 crop하여 자동차 부분의 이미지를 폴더에 저장하고 싶습니다.3. 저의 이미지로 모델을 돌리면 사람 자동차 등 80개의 class에 대해 bbox가 나오는데 이 중 특정 class에 대해서만 보고 싶다면 어떻게 해야 할까요?4. yolo의 수행 결과로 bbox가 나오는데 이 bbox의 좌표값으로 원본 이미지를 crop하는 것이 궁금합니다.5. 제가 구상한 모델의 특성 상 test하기가 애매합니다.자동차 부분을 crop하고 번호판을 찾는 것이라 crop한 이미지에 대한 label을 붙이기도 힘들 것 같습니다.따라서 저의 Custom dataset으로 yolo를 학습시켜 inference한 경우와(1), pre-training yolo v3에서 자동차 부분을 찾아(3~4번 질문) 추출된 이미지를 Custom dataset으로 학습 된 yolo(2)의 성능 비교를 하고 싶다면 어떤 방법이 있을까요?마지막으로 yolo v3모델로 하려고 했는데 Custom dataset의 사용과 학습 시키는 것은 Ultralytics Yolo에서 설명 해주셔서 yolo v3모델로의 Custom dataset학습은 힘든가 궁금하기도 합니다.두서 없이 궁금한 부분을 적어 봤는데 긴 질문에 대해 죄송합니다. object detection에 관심이 생겨서 하나하나 공부하고 있는데 하면 할수록 어렵네요 ㅠㅠ...
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
스케일링
안녕하세요. 자료에 따라 스케일링을 다르게 쓰시는 것 같은데요.일단 실기시험을 준비하는 입장에서는 어느 경우에 스탠다드, 민맥스, 로버스트 등을 쓰는지 잘 이해가 가지 않네요. 강사님게서 쓰시니까 그런가보다,, 하고 쓰긴 하는데 시험에서는 민맥스 스케일링 하나만 이해하고 사용해도 문제가 없을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
[예시문제 작업형2] EDA 중 이상치 처리
안녕하세요.강의 잘 듣고 있습니다.예시문제 작업형2 풀면서X_train.describe() 기초통계량 볼 때(3:56)총 구매액, 최대 구매액의 최소값이 음수여서...이상치로 판단하고 금액이 <0인 행은 drop..처리하고 했는데 괜찮은 걸까요?괜찮다면 결측치처리를 X_train, y_train 동시에 해주는 것처럼 결측치도 두 데이터에 모두 해줘야하는거죠?
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
조기중단기능(early stopping) 질문
안녕하세요. 좋은 강의 덕분에 많이 배우고 있습니다. XGBoost를 이용한 위스콘신 유방암 예측 강의에서 early stopping 기능에 대해서 설명 주셨고, 이는 검증 데이터를 기반으로 중단 할지 말지 판단한다고 이해했습니다.또한, 아래와 같이 학습 데이터, 검증 데이터 loss 값을 출력하여 확인해보면서, 검증 데이터가 더이상 감소하지 않는 구간이 있고설정한 early stopping 값만큼 감소하지 않는다면 중단한하고 이해했습니다.예제를 보면 train-logloss는 계속해서 감소하고 eval-logloss는 감소하지 않는 구간이 있는데똑같은 데이터를 나눈 것인데 차이가 발생하는 이유가 궁금합니다![0] train-logloss:0.65016 eval-logloss:0.66183 [1] train-logloss:0.61131 eval-logloss:0.63609 [2] train-logloss:0.57563 eval-logloss:0.61144 [3] train-logloss:0.54310 eval-logloss:0.59204강의에서 설명 주실때 학습 데이터는 계속해서 loss가 감소해서 오버피팅의 위험이 있기 때문에 early stopping은 검증 데이터로 진행해야 한다고 하셔서 이부분이 궁금합니다. 감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
from scipy import stats 와 import scipy.stats as stats
from scipy import stats 와 import scipy.stats as stats 차이가 있나요?어떨땐 전자로 어떨땐 후자로 코딩이 되어 있는데차이가 있나 궁금합니다.
-
해결됨[입문자를 위한] 캐글로 시작하는 머신러닝 • 딥러닝 분석
[해결] '모형별 비교'강의 sqrt함수 미정의 오류 수정
from sklearn.metrics import mean_squared_errordef RMSE(y_test, y_predict):return np,sqrt(mean_squared_error(y_test, y_predict))print("RNN RMSE:", RMSE(test, rnn))코드의 경우, NameError: name 'sqrt' is not defined가 뜹니다. 이것은 에러 메시지를 보면 sqrt 함수가 정의되지 않았다는 것을 나타내고 있습니다. sqrt 함수는 numpy 모듈이 아닌 math 모듈에 속해 있습니다. 따라서 코드를 수정하여 sqrt 함수를 math.sqrt로 호출해야 합니다. 또한 np와 sqrt 사이에 있는 ,도 제거해야 합니다.수정된 코드는 다음과 같습니다.import mathdef RMSE(y_test, y_predict): return math.sqrt(mean_squared_error(y_test, y_predict))print("RNN RMSE:", RMSE(test, rnn)) 저 같은 경우 아래의 값이 나오네요.RNN RMSE: 162.4618184423233
-
해결됨[입문자를 위한] 캐글로 시작하는 머신러닝 • 딥러닝 분석
[해결] GRU모형 keras 불러오기 오류 수정
전 강의에서 고쳤던 부분과 마찬가지로 최신 버전의 Keras에서는 keras.layers.recurrent 모듈이 폐기되었으며, 대신 keras.layers에서 직접 GRU 레이어를 가져와야 합니다.from keras.layers.recurrent import GRU는from keras.models import Sequentialfrom keras.layers import GRU, Dense로 수정해주시면 쾌적하게 코드가 돌아가시는 걸 경험하실수 있습니다.
-
해결됨[입문자를 위한] 캐글로 시작하는 머신러닝 • 딥러닝 분석
[해결] LSTM모형 케라스 recurrent 모듈 도입 에러 수정
from keras.layers.recurrent import LSTM로 작성할 경우 ModuleNotFoundError: No module named 'keras.layers.recurrent' 라는 오류가 뜹니다. 이것은 최근 버전의 Keras (Keras 2.4.0 이상)에서는 recurrent 모듈이 폐기되었기 때문입니다.대신에, keras.layers에서 직접 LSTM 레이어를 가져올 수 있습니다. 다음은 수정된 코드입니다.from keras.models import Sequentialfrom keras.layers import LSTM, Denselstm = Sequential()lstm.add(LSTM(units=6, activation='relu', input_shape=(1,1)))lstm.add(Dense(units=1, activation='linear'))
-
해결됨[입문자를 위한] 캐글로 시작하는 머신러닝 • 딥러닝 분석
[해결] 시계열 차수 추정하기 코드 에러 수정
from statsmodels.graphics.tsaplots import plot_pacf plot_pacf(pacf, lags=20, method='ols', title='pa').showValueError: Can only compute partial correlations for lags up to 50% of the sample size. The requested nlags 20 must be < 10.이런 에러가 떠서 좀 헤맸네요. 결론적으로 선생님 코드from statsmodels.tsa.stattools import pacfpacf = pacf(df['cnt'], nlags=20, method='ols')print(pacf)from statsmodels.graphics.tsaplots import plot_pacfplot_pacf(pacf, lags=20, method='ols', title='pa').show는from statsmodels.tsa.stattools import pacfpacf_values = pacf(df['cnt'], nlags=20, method='ols')print(pacf_values)from statsmodels.graphics.tsaplots import plot_pacfplot_pacf(df['cnt'], lags=20, method='ols', title='pa').show 로 바꿔주시면 에러 없이 차트 표출이 됩니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
Opencv DNN을 이용한 Inference 수행 절차 시 Faster-RCNN 적용 시점
안녕하세요, OpenCV의 DNN을 이용한 Object Detection 구현 개요 및 관련 실습에서 질문이 있습니다. cv2.dnn.readNetFromTensorflow 라이브러리에서 Faster-RCNN ResNet-50 가중치 모델 파일과 환경 설정 파일을 통해 inference 네트웍 모델을 생성한다고 설명해주셨습니다. 또한, cvNet.forward()를 통해 생성한 inference 네트웍 모델에서 output을 추출, 그리고 추출한 output에서 detect 정보를 시각화 합니다. 제 질문은, Pretrained된 가중치 모델 파일은 구체적으로 무엇이며, 또한 Faster-RCNN 수업에서 설명해주신 RPN은 언제 수행하는지 궁금합니다. 제가 이해하지 못하는 부분은 다음과 같습니다.제가 이해하기로는, cvNet.forward를 통해 inference 네트웍에서 output을 추출하여, 추출한 output으로 부터 object detect를 할 수 있는데, 이때 object detect를 할 때 사용되는 알고리즘이 Faster-RCNN이라고 이해하였습니다. 그러나, Pretrained된 가중치 모델 파일은 Faster-RCNN, MobileNet, Mask-RCNN 등의 모델을 지원합니다. 가중치 모델 파일은 pretrained 된 것으로서, 이미 coco 데이터 세트 (80개의 object) 를 모두 학습해 놓은 모델이며, 즉 coco 데이터 세트를 학습할 때 Faster-RCNN 알고리즘으로 수행된 모델이라고 이해하면 될까요? 즉, Pretrained된 가중치 모델 파일이 Faster-RCNN을 지원한다는 것이 어떤 의미를 가지는지 궁금합니다.해당 pretrained된 가중치 모델 파일과 환경 설정을 통해 생성한 inference 네트웍을 통해 object detection 수행 시에 RPN을 기반으로 객체 탐지를 하는 것인지 궁금합니다. 감사합니다.
-
해결됨[입문자를 위한] 캐글로 시작하는 머신러닝 • 딥러닝 분석
[해결] 그래프를 통한 기초 데이터 분석 "ValueError: `orient` must start with 'v' or 'h' or be None, but `'V'` was passed."
def plot_bar(data, feature): fig = plt.figure(figsize=(12,3)) sns.barplot(x=feature, y='cnt', data=data, palette='Set3', orient='V') plot_bar(df, 'hour')선생님이 작성하신대로 치면ValueError: orient must start with 'v' or 'h' or be None, but 'V' was passed. 가 나옵니다. def plot_bar(data, feature): fig = plt.figure(figsize=(12,3)) sns.barplot(x=feature, y='cnt', data=data, palette='Set3', orient='v')로 소문자 v로 orient를 잡아야 정상적으로 표가 표출됩니다.
-
해결됨[입문자를 위한] 캐글로 시작하는 머신러닝 • 딥러닝 분석
[해결] 그래프를 통한 기초 데이터 분석 boxplot 에러 코드 수정
a, b = plt.subplots(1,1, figsize=(10, 5))sns.boxplot(df['year'], df['cnt'])을 작성시 TypeError: boxplot() takes from 0 to 1 positional arguments but 2 were given 이라고 나오네요. sns.boxplot(x=df['year'], y=df['cnt'])으로 해야 강의영상 그래프처럼 표시가 됩니다.
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
Fly.io 만들시 도커 파일이 있어야 하나요?(error)
다른 수강생분들에게도 문제 해결에 도움을 줄 수 있도록 좋은 질문을 남겨봅시다 :) 1. 질문은 문제 상황을 최대한 표현해주세요.fly launch 을 하고나서 선생님처럼 docker 파일들이 생기지 않았고 , DataBase 관련 된 질문에 No 를 하고 나서 Error: open Dockerfile : The system cannot find the file specified. 라는 에러가 발생하였습니다. 2. 구체적이고 최대한 맥락을 알려줄 수 있도록 질문을 남겨 주실수록 좋습니다. 그렇지 않으면 답변을 얻는데 시간이 오래걸릴 수 있습니다 ㅠㅠex) A라는 상황에서 B라는 문제가 있었고 이에 C라는 시도를 해봤는데 되지 않았다!3. 먼저 유사한 질문이 있었는지 꼭 검색해주세요!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
회귀 실습 중 rmse 결과값 질문
안녕하세요 선생님현재 모델링 및 평가(회귀)부분을 학습하고 있습니다.코드를 따라가면서 실습을 진행하고 있는데, rmse 값이 선생님과 달라 질문 드립니다.제가 알기로는 모델링을 하는 과정에서 예측한 값이 달라질 수 있고, 이에 따라 평가지표인 rmse 값이 다를 수 있다...라고 알고 있습니다.그런데 값의 차이 뿐만이 아니라 baseline과 scaler 적용 결과가 좋은지 나쁜지가 달라 질문드립니다.예를 들어, 선생님께서 하셨을때는 RandomForestRegressor의 baseline이 rmse값이 가장 좋았고(작았고), scaler를 적용했을 때 rmse가 커져서 scaler 적용은 하지 않는게 좋다~라는 내용의 실습이었는데제가 했을 때는 baseline의 rmse보다 scaler를 적용했을 때의 rmse가 작아 scaler를 적용하는 것이 좋다..는 결론이 나옵니다. 질문을 정리하자면,모델링을 하는 과정에서 선생님과 제가 실습한 예측값과 rmse가 다른게 맞는지다른게 맞다 해도 scaler 적용여부 등을 바꿀 수 있을 정도로 예측값과 rmse가 달라질 수 있는지(추가질문)달라지더라도 선생님 실습값 : 4728.xx 제 실습값 6025.174022213681 이정도로 달라질 수 있는지...(추가질문) 모델링 및 평가(회귀) 24:56에서 수험자는 알 수 없는 영역>y_test로 rmse로 구하시고 결과값이 17909.xx로 나왔는데 여기에서도 charges에 로그변환 한 이후기 떄문에 원래는 np.exp(pred)로 rmse를 구했어야 하는지일 것 같습니다. 감사합니다.
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
node가 제대로 실행되지 않습니다
nodejs의 파일 위치가 cmd와 동일하고 node.js 다운도 모두 끝마쳤는데 cmd에서 파일을 불러올 수 없고 터미널에서도 오류가 납니다 어떤 부분이 문제인 걸까요?