반응형

AI 머신러닝 딥러닝 28

Open CV 기초 공부 일지 1. Open CV 표현방법 (2)

Grayscale 이미지로 출력 cvtColor 함수를 이용하여 그레이 스케일 영상으로 변경할 수 있습니다. import cv2 from matplotlib import pyplot as plt imageFile = './data/lena.jpg' imgGray = cv2.imread(imageFile, cv2.IMREAD_GRAYSCALE) plt.axis('off') plt.imshow(imgGray, cmap ="gray", interpolation = 'bicubic') # 보간(빈곳을 채운다) plt.show() interpolation 설정값은 보간 입니다. 이미지 보간법(interpolation) 영상 변환 작업 시 아무런 정보를 받지 못하는 화소를 홀(hole) 이라고 부릅니다. 이러한 홀..

Open CV 기초 공부 일지 1. Open CV 설치 및 영상의 종류와 표현방법 (1)

이미지 표현 영상의 종류와 표현 방법 영상은 크게 정지영상(image)과 동영상(movie)로 구분할 수 있습니다. 정지영상에는 문자 또는 도형 등을 표현한 2진 영상, 흑백 사진에 해당하는 회색조(grayscale) 영상, 자연색을 표현한 컬러 영상(RGB 색상 코드 등), 멀티스팩트럼 영상 등이 있습니다. 동영상에는 흑백 동영상과 컬러 동영상이 있습니다. 2진 영상 : 검은색과 흰색으로만 표현된 영상 회색조 영상 : 검은색과 흰색 그리고 검은색과 흰색 사이의 단계를 둔 회색으로 표현된 영상 (모토크롬. 검은색과 흰색 사이를 수치로 표현하는 것) 멀티 스팩트럼 영상 : 다중분광영상. 가시광선 외 자외선과 같은 영역의 스팩트럼 정보를 포함한 영상 (ex. X-ray, 열화상, 적외선 카메라 등) 디지털 ..

파이썬 머신러닝 입문 공부일지 18. 사이킷런으로 캐글 타이타닉 생존자 예측하기 (2)

이전까지 전처리 과정과 데이터 탐색을 마쳤으므로 이번에는 데이터 가공을 해보겠습니다. 데이터 가공 1. Survived 속성 별도 분리 후 클래스 결정값 데이터 세트로 설정 (학습 데이터 생성) 원본 CSV 데이터를 다시 로딩한 뒤, 피처 데이터 세트와 레이블 데이터 세트 추출 생성된 데이터 세트에 transform_features() 함수로 일괄 데이터 가공합니다. titanic_df = pd.read_csv('./titanic_train.csv') # 재로딩 y_titanic_df = titanic_df['Survived'] # Survived 값만 별도로 y 값 지정 X_titanic_df= titanic_df.drop('Survived',axis=1) # 기존 칼럼 삭제 후 새 칼럼 생성 X_ti..

파이썬 머신러닝 입문 공부일지 17. 사이킷런으로 캐글 타이타닉 생존자 예측하기 (1)

캐글에서 제공하는 타이타닉 탑승자 명단 데이터를 기반으로 생존자 예측을 해보겠습니다. Titanic 생존자 예측 머신러닝 실습 실습 목적 : 사이킷런 사용 및 데이터 전처리와 학습과정에 대한 연습 실습 내용 : 타이타닉 호 침몰 사건 당시의 사망자와 생존자를 구분하는 요인 분석을 통해 승객의 생존 여부를 예측한다. 전처리 과정 시작 1. https://www.kaggle.com/c/titanic/data 에서 타이타닉 탑승자 데이터 명단 다운로드 후 해당 데이터에 대한 개략적인 설명 확인합니다. PassengerId : 각 승객의 고유 번호 Survived : 생존 여부(종속 변수) 0 = 사망 1 = 생존 Pclass : 객실 등급 - 승객의 사회적, 경제적 지위 1st = Upper 2nd = Mid..

파이썬 머신러닝 입문 공부일지 16. 데이터 전처리 (2) 피처 스케일링 (StandardScaler, MinMaxScaler)

피처 스케일링 데이터 전처리 과정 중 서로 다른 변수의 값 범위를 일정한 수준으로 맞추는 작업을 피처 스케일링 이라고 합니다. 대표적으로는 두 가지가 있습니다. 표준화 Standardization : 데이터 피처의 평균이 0 이고 분산이 1인 가우시안 정규 분포를 가진 값으로 변환하는 것입니다. 가우시안 분포란 자연 현상에서 나타나는 숫자를 확률 모형으로 나타낼 때 사용하는 분포 입니다. 수집된 자료의 분포를 근사하는데 자주 사용되며, 엎어진 종 모양을 가져요. 정규화 Normalization : 일반적인 정규화는 서로 다른 피처의 크기를 통일하기 위해 크기를 변환해주는 개념입니다. 예를 들어 거리를 나타내는 변수의 값이 0~100km 로 주어지고, 금액을 나타내는 값이 0~100,000,000원으로 주..

파이썬 머신러닝 입문 공부일지 15. 데이터 전처리 (1) 결손값 처리, 문자열 인코딩

우리는 어떤 일을 하기 전에 준비과정이 필요합니다. 본격적으로 운동을 하기 위해서는 스트레칭 과정이 필요하고, 건물을 짓기 위해서는 땅을 고르게 펴는 토목공사의 작업이 필요해요. 어떤 프로젝트를 시작할 때에는 청사진을 그리면서 필요한 준비물과 인력들을 모으죠. 머신러닝도 마찬가지입니다. 머신러닝의 알고리즘만큼 중요한 것이 바로 데이터의 전처리 입니다. 머신러닝 알고리즘은 데이터에 기반하여 학습을 하는 것이기 때문에 어떤 데이터를 입력값으로 가지느냐에 따라 결과도 크게 달라질 수 있습니다. 이번에는 데이터 전처리 과정 중 인코딩 과정에 대해서 알아볼게요. 데이터 전처리 (1) 결손값 NaN 머신러닝에서 NuN, Null 값은 허용되지 않습니다. 따라서 Null 값은 고정된 다른 값으로 변환해야 합니다. N..

파이썬 머신러닝 입문 공부일지 14. 교차 검증 (3) cross_val_score(), GridSearchCV

지난 번에 교차 검증의 KFold 에 대해서 예제까지 들며 하나씩 살펴보았습니다. 이번에는 이 일련의 교차 검증 과정을 보다 간편하게 처리할 수 있는 API 를 소개합니다! cross_val_score() cross_val_score 의 주요 파라미터는 다음과 같습니다. cross_val_score(estimator, X, y, scoring=평가지표, cv=교차 검증 폴드 수) estimator : 사이킷런의 분류 알고리즘 중 Classfier 또는 회귀 알고리즘 중 Regressor X : 피처 데이터 세트 y : 레이블 데이터 세트 scoring : 예측 평가 지표 cv : 교차 검증 폴드 수 cross_val_score() 의 수행 후 반환 값은 scoring 파라미터로 지정된 성능 지표 측정값을..

파이썬 머신러닝 입문 공부일지 13. 교차 검증 (2) Stratified K 클래스

이전에 교차 검증에 대해서 공부하던 것에 이어서 Stratified K 폴드에 대해서 공부해볼게요. https://blue-dot.tistory.com/201 파이썬 머신러닝 입문 공부일지 12. train_test_split(), 교차 검증 (1) KFold 클래스 사이킷런의 Model Selection 모듈은 학습 데이터와 테스트 데이터 세트를 분리하거나 교차 검증 분할 및 평가, 그리고 Estimator 의 하이퍼 파라미터 튜닝을 위한 함수와 클래스 등을 제공합니다. 우선 blue-dot.tistory.com Stratified K 폴드 Stratified K 폴드는 불균형한 분포도를 가진 레이블(결정 클래스) 데이터 집합을 위한 폴드 방식 입니다. 복권 당첨 데이터 예측을 예로 들 수 있습니다. ..

파이썬 머신러닝 입문 공부일지 12. train_test_split(), 교차 검증 (1) KFold 클래스

사이킷런의 Model Selection 모듈은 학습 데이터와 테스트 데이터 세트를 분리하거나 교차 검증 분할 및 평가, 그리고 Estimator 의 하이퍼 파라미터 튜닝을 위한 함수와 클래스 등을 제공합니다. 우선 그동안 학습/테스트 데이터 세트를 분리할 때 썼던 train_test_split() 함수부터 알아보겠습니다. train_test_split() train_test_split() 함수를 통해 원본 데이터 세트에서 학습 및 테스트 세트를 쉽게 분리할 수 있습니다. 우선 sklearn.model_selection 모듈에서 train_test_split 을 import 합니다. train_test_split() 은 첫 번째 파라미터로 피처 데이터 세트, 두 번째 파라미터로 레이블 데이터 세트를 입력 ..

파이썬 머신러닝 입문 공부일지 11. 지도학습, 비지도학습, 사이킷런 주요 모듈

사이킷런은 모델학습을 위해 다양한 알고리즘 구현 프레임워크를 제공합니다. 그 중 이번에는 지도학습과 사이킷런 주요 모듈에 대해서 알아볼게요. 지도학습 지도 학습이란 데이터에서 반복적으로 학습하는 알고리즘을 사용해서 컴퓨터가 어디를 봐야 하는지를 명시적으로 프로그래밍을 하지 않고도 숨겨진 통찰력을 찾을 수 있도록 하는 데이터 분석 방법입니다. 지도 학습은 알려진 문제를 해결하고, 레이블이 지정된 데이터 세트를 사용해서 특정 작업을 수행할 수 있도록 알고리즘을 훈련시킵니다. 지도학습의 중요 두 축은 분류 Calssfication 과 회귀 Regression 입니다. 주어진 입력 벡터가 어떤 종류인지를 구분하는 것을 분류이고, 훈련 데이터를 통해 유추된 함수 중 연속적인 값을 출력하는 것이 회귀입니다. 분류는..

반응형