앞선 강의(softmax regression)에서는 train_data = train_data.repeat().shuffle(60000).batch(batch_size) 형태로 구현됐었는데 이후 강의(ann, autoencoder...)에서는 train_data = train_data.shuffle(60000).batch(batch_size) 형태로 구현돼 있습니다. repeat()의 유무는 중요하지 않은건가요?
슬라이싱 연습에서 마지막 앞 단어 찾는거에서 listbox[-2:-1] listbox[7:8] listbox[7:-1] 와 같이 범위형식으로 풀이를 주셨는데, 단순하게 listbox[-2]로만 출력하는것과 차이가 있나요? 실제로 코딩하거나 실무에서 사용할 때 차이가 있나 궁금해요.
범주형 데이터 인코딩을 하는데, 강사님이 사용하신 for문을 사용하지 않고, 수치형 데이터 스케일링 하는 방법과 같이 코딩을 하였는데 에러가 발생했습니다. 원인과 수정 방법이 무엇인가요? 코딩 : from sklearn.preprocessing import LabelEncoder le = LabelEncoder() display(c_train.head(2)) c_train[cols] = le.fit_transform(c_train[cols]) c_test[cols] = le.transform(c_test[cols]) display(c_train.head(2)) 에러메시지 : ValueError: y should be a 1d array, got an array of shape (29304, 8) instead.
안녕하세요, 강사님! 항상 친절한 답변 덕에 하나씩 하나씩 잘 헤쳐나가고 있는 중입니다. 지금은 mm_mask_rcnn_train_balloon 코드를 기반으로 커스텀 데이터셋을 계속해서 연습해보고 있는 중입니다. 직접 폴리곤을 그려서 클래스 2개까지는 잘 성공을 했다가 클래스 3개로 늘려서 연습해보고 있는 중인데 아래와 같은 문제가 계속해서 발생하는데 해결을 못하고 있습니다.
'KDE(Kernel Density Estimation)의 이해와 사이킷런을 이용한 MeanShift 군집화 실습' 수강중 12:00 즈음 '최적의 bandwidth 값을 estimate_bandwidth()로 계산 한 뒤에 다시 군집화 수행' 차례입니다. 첨부 사진상 ln [16] 아래서 세번째 meanshift= MeanShift(best_bandwidth)를 제거하면 오류없이 강의와 같은 결과 [0 1 2]를 출력하기는 합니다. 그런데 이게 meanshift= MeanShift(bandwidth=best_bandwidth)를 삭제 했기 때문에 그 전에 실행한 meanshift= MeanShift(bandwidth=1) 때문에 나온 결과인 것 같습니다. 즉, bandwidth=1.689가 아닌 bandwidth=1로 적용된 것 같습니다. 이 때문인지 이후 시행되는 '군집별 중심 시각화'에서도 meanshift_label이 0과 1이 switch 되었습니다. 또한 meanshift_label 2의 데이터 하나가 0 쪽으로 클러스터링 되기도 했습니다. print(clusterDF.groupby('target')['meanshift_label'].value_counts())의 결과입니다. (target 2의 meanshift_label이 65+1=66이 아닌 66임) target meanshift_label 0 0 67 1 2 67 2 1 66 Name: meanshift_label, dtype: int64 오류 없이 meanshift= MeanShift(bandwidth=best_bandwidth)를 제대로 적용하려면 어떻게 해야 할까요? 설치할 때 기억은 잘 안나지만 version을 통일하라 강조하신 것 외 다른 설치 파일은 2023년 4월 설치했기 때문에 version이 다를 수 있습니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
K-Fold 교차 검증에 대하여 수업을 들었습니다. K-Fold의 목적, 특징, 수행 방법에 대해서는 설명이 이해가 다 되었는데요, 그렇게 해서 최종적으로 어떤 모델을 선택하는지에 대하여서는 전혀 설명이 되어있지 않아서 질문드립니다. N개의 Fold로 데이터를 나누어서 N번의 교차 검증을 하면, N번의 fitting 결과와 각 Iteration에서의 accuracy가 나오게 됩니다. N번의 fitting을 수행하기 때문에 각 iteration에서는 결과적으로 다른 모델이 생성이 될 것입니다. 강의에서는 N번의 Iteration의 개별 accuracy를 모아서 평균을 내고, 이 평균값으로 모델의 성능을 평가하라고만 되어있습니다. 그럼 최종적으로 N번의 Iteration에서 나온 N개의 모델 중에 어떤 것을 실제 최적화된 모델로 사용하면 되는 것입니까? GridSearchCV를 통한 하이퍼파라미터 튜닝에서는 수행의 결과로 best_estimator_를 리턴해주기 때문에 이것을 쓰면 되는 것을 알겠습니다만, 일반적인 K-Fold나 cross_val_score() 함수를 통한 교차 검증의 결과로는 best estimator를 얻는 방법을 설명해주지 않고 있습니다. 이 부분에 대한 답변 부탁드립니다.
안녕하세요, 강의를 듣다가 너무 오랫 동안 안 들어서 다시 듣고 있습니다 ㅠ ㅠ.. 데이터 분석을 위한 파이썬 기초2 listbox = [2, 4, 6, 8, 10] listbox[::2] 를 하면, 한 칸 건너뛰면서 [2, 6, 10] 이렇게 출력이 되는데요. 문득 궁금해져서(이게 중요한 게 아닌데!) listbox[:5:2] 이 경우에도 [2, 6, 10] 이렇게 출력이 됩니다. 그런데 listbox[:-1:2]를 하면 [2, 6] 이렇게 나옵니다. 이 차이를 알 수 있을까요? -1은 분명히 마지막 값을 가리키니까 2, 6, 10이 나와야할 거 같은데 이상하더라고요. 제가 뭔가 잘못 생각하고 있는 걸까요? (이래서 독학이 위험하긴 합니다..)
안녕하세요! 강의 잘 듣고 있습니다. 부트스트래핑 샘플링에서 1차원 데이터로 여러 서브 세트를 만든 부분은 이해가 되었습니다. 그런데 생각해보니 랜덤 포레스트 입력으로 들어가는 데이터셋의 형태는 2차원 dataframe입니다. 이러한 2차원 dataframe은 어떻게 부트스트래핑 샘플링이 되는지 여쭤보고 싶습니다. 1차원에선 개별 데이터가 중첩되는 식이라면, 2차원에선 개별 행이 중첩되는 방식인가요? 감사합니다.^^
여러 트리 계열 파라미터 중 max_features는 최적의 분할을 고려하여 피처의 개수를 선정한다고 했습니다. 이것의 작동 방식이 궁금합니다. 피처의 개수를 선정한다고 했는데, 전체 피처 중 트리계열 학습기를 적용하기 전, 일부만 추출(일부 피쳐 선택)을 하고 적용하는 것인가요? (예시로, max_features= 'sqrt', iris데이터 피처의 개수: 120라고 가정하면, 아이리스 데이터 120개중 랜덤으로 루트120개를 뽑고, 뽑힌 피처들로 알고리즘을 수행) 하는 것인가요? 실제로 Graphviz모듈로 max_features='sqrt'로 실행해보니, 첫번째 노드의 samples 데이터가 120개로 원본 데이터와 같아서 질문드립니다. 제가 잘못 이해한 부분이 어디 일까요..
학습을 하다가 궁금한 점이 생겼습니다. 보팅 계열의 알고리즘은 전체 데이터에서 여러가지 학습기를 순차적으로 적용한 것이고, 배깅은 하나의 학습기를 부트스트래핑 방식으로 여러가지 샘플 데이터를 만든 다음 적용하는 것으로 이해했습니다. 그렇다면 부스팅은 이 두 가지 방식을 혼합한것인가요? 즉, 하나의 학습기마다 부트 스트래핑 방식으로 서브 샘플들을 뽑은 다음 각각의 서로 다른 학습기들로 학습을 하는 것인가요? 아니면 보팅의 개념을 빌려 전체 데이터에서 가중치를 적용하면서 약한 학습기를 적용하는 것인가요? 학습하다가 궁금한점이 생겨 질문드립니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 강사님! 첨부해주신 첨부 자료로 수치형 컬럼과 범주형 컬럼 데이터 나누기 코딩 중 다음과 같은 에러가 발생했는데 어떻게 해결해야 하나요 에러 메시지 : AttributeError: 'DataFrame' object has no attribute 'select_dtype'