반응형

AI 머신러닝 딥러닝/파이썬 머신러닝 입문 공부일지 19

파이썬 머신러닝 입문 공부일지 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 입니다. 주어진 입력 벡터가 어떤 종류인지를 구분하는 것을 분류이고, 훈련 데이터를 통해 유추된 함수 중 연속적인 값을 출력하는 것이 회귀입니다. 분류는..

파이썬 머신러닝 입문 공부일지 10. 첫 번째 머신러닝 만들기 - 붓꽃 품종 예측하기 (2)

지난 번 포스팅에 이어서 붓꽃 품종 예측을 시작해봅니다. 이전에 공부했던 것을 간단하게 리뷰해봅니다. 사이킷런의 특징 파이썬 친화적인 API 머신러닝 알고리즘을 손쉽게 사용할 수 있는 API 레거시(레거시 시스템은 낡은 기술이나 방법론, 컴퓨터 시스템, 소프트웨어 등을 뜻한다.)가 강력한 API. 오랫동안 쓰여 왔기에 신뢰도가 높다 사이킷런 없을 때 설치 절차 아나콘다 프롬프트를 연다. conda env list 명령어로 가상 환경 목록 확인 conda activate 로 가상환경을 변경 pip install scikit-learn==1.0.2 명령어로 설치 붓꽃 품종 예측하기 예제 붓꽃 데이터 세트로 품종 예측하기 피처로는 꽃잎의 길이와 너비, 꽃받침의 길이와 너비가 주어진다. 피처란, 학습을 위해 주..

파이썬 머신러닝 입문 공부일지 9. 사이킷런 기초 시작하기 (사이킷런 설치하기, 첫 번째 머신러닝 만들기 - 붓꽃 품종 예측하기) (1)

사이킷런 sklearn 사이킷런은 파이썬 머신러닝 중 가장 보편적으로 쓰이는 라이브러리 입니다. 텐서플로가 딥러닝을 위한 라이브러리 라고 한다면, 사이킷런은 머신러닝과 관련된 기술들을 쉽고 통일된 인터페이스로 사용할 수 있게 해줍니다. 사이킷런은 머신러닝을 위한 다양한 알고리즘과 개발을 위해 편리한 API, 프레임워크를 제공합니다. 실전 환경에서 오랜 기간 검증된 라이브러리로 텐서플로, 케라스 등 딥러닝 라이브러리가 강세로 등장한 현재까지도 매우 많은 환경에서 사용되고 있는 라이브러리 입니다. 주피터 환경을 사용하기 위한 Anaconda 를 설치하면 기본적으로 사이킷런까지 설치가 완료됩니다. 앞서 아나콘다를 ai 인공지능 수학을 공부하면서 아나콘다 설치에 대해서 정리한 것이 있으니 이곳을 활용해주세요. ..

반응형