본문 바로가기

전체 글141

22. Python - 다중 분류 안녕하세요. 오늘은 다중 분류에 대해 알아보도록 하겠습니다.이전에 이진 분류기를 통해 5, 5아님을 구분했다면, 이제 5이상을 감지하는 것을 다중분류라 할 수 있는데요.앞서서 다중 분류기란 무엇인지 알아보겠습니다. 다중 분류기(multiclass classifier) 또는 다항 분류기(multinomial clssifier)는 둘 이상의 클래스 구별하는 데 사용합니다.랜덤 포레스트 분류기나 나이브 베이즈 분류기 같은 일부 알고리즘은 여러 개의 클래스 직접 처리가 가능하지만,서포트벡터머신 분류기나 선형 분류기는 이진분류만 가능합니다. 하지만 이진 분류기를 여러 개 사용하여 다중 클래스를 분류하는 기법도 많습니다. 예를 들어 특정 숫자 하나만 구분하는 숫자별 이진 분류기(0~9까지 10개)를 훈련시켜 클래스.. 2018. 11. 30.
21. Python - MNIST를 이용한 분류 기초와 성능 평가 지표 안녕하세요. 이번에는 3장 분류에 대해 알아보고자 합니다.2장에서는 주택 가격을 예측하는 회귀 작업을 보면서, 선형 회귀, 결정 트리, 랜덤 포레스트 알고리즘을 보았습니다. 이번 장에서는 분류 시스템을 집중적으로 다룹니다.이 장에서 다룰 데이터셋은, 유명한 MNIST 인데요. 바로 고등학생과 미국 인구조사국 직원들이 손으로 쓴 70,000개의 작은 숫자 이미지를 모은 데이터입니다.각 이미지에는 어떤 숫자를 나타내는지 레이블되어 있습니다. 이 데이터셋은 학습용으로 아주 많이 사용되기 때문에 머신러닝 분야의 'Hello World'라고도 불리곤 한다고 합니다.새로운 분류 알고리즘이 나올 때마다 MNIST 데이터셋에서 얼마나 잘 작동하는지 본다고 하네요. (하지만 삼성SDS 테크토닉에서는 MNIST 데이터셋은.. 2018. 11. 28.
20. Python - 그리드 탐색을 이용하여 준비 단계의 옵션 자동 탐색하기 이번엔 그리드 탐색을 이용한 준비 단계의 옵션을 자동 탐색하는 방법을 알아보겠습니다. param_grid = [('preparation__num_pipeline__imputer__strategy' : ['mean', 'median', 'most_frequent'],'feature_selection__k' : list(range(1,len(feature_importances) + 1 ))}] grid_search_prep=GridSearchCV(prepare_select_and_predict_pipeline,param_grid, cv=5, scoring='neg_mean_squared_error', verbose=2, n_jobs=1) grid_search_prep.fit(housing, housing_l.. 2018. 11. 28.
19. Python - 전체 데이터 준비와 예측을 하나의 파이프라인으로 만들기 안녕하세요. 이번엔 전체 데이터 준비과정과 예측을 하나의 파이프라인으로 만들어보겠습니다. 이전에 했던 것들이 있기 때문에 간단히 만들 수 있는데요. prepare_select_and_predict_pipeline이란 이름으로 파이프라인을 만듭니다.preparation은 full_pipeline을 사용하고, feature_selection은 저번에 만들었던 TopFeatureSelector를 넣습니다.svm_reg는 랜덤탐색으로 지지도벡터회귀한 값의 best_param_을 통해 만들고 확인해보면성능이 그다지 좋지 않은 결과를 볼 수 있습니다.하지만 제대로 만들어서, 일련의 파이프라인으로 자동화한다면 편리하게 느껴질 것 같습니다! 블로그 출처 이 글의 상당 부분은 [핸즈온 머신러닝, 한빛미디어/오렐리앙 제롱.. 2018. 11. 28.