ML (6) 썸네일형 리스트형 [Machine Learning][3] 분류 (2) 4. 다중 분류이진 분류기는 두 개의 클래스를 구별하지만 다중 분류기는 둘 이상의 클래스를 구별할 수 있다. 이진 분류기를 여러 개를 사용해 다중 클래스로 분류하는 기법도 있다.데이터를 분류할 때 각 분류기의 결정 점수 중에서 가장 높은 것을 클래스로 선택하면서 진행한다.이것을 OvR 전략 또는 OvA라고 한다. 또 다른 전략은 각 데이터의 조합마다 이진 분류기를 훈련시킨다. 예를 들어 0과 1 구별, 0과 2 구별 등으로 훈련시킨다.이를 OvO 전략이라고 한다.OvO 전략의 장점은 각 분류기의 훈련에 구별할 두 클래스에 해당하는 샘플만 있으면 된다는 것이다.서포트 벡터 머신 같은 알고리즘은 훈련 세트 크기에 예민해 OvO를 선호한다.from sklearn.svm import SVCsvm_clf = SV.. [Machine Learning][3] 분류 (1) 1. MNISTMNIST 데이터셋 각 이미지에는 어떤 숫자를 나타내는지 레이블 되어 있다.from sklearn.datasets import fetch_openml# 사이킷런 1.2에서 추가된 parser 매개변수 기본값이 1.4 버전에서 'liac-arff'에서 'auto'로 바뀝니다.# 'auto'일 경우 희소한 ARFF 포맷일 때는 'liac-arff', 그렇지 않을 때는 'pandas'가 됩니다.# 이에 대한 경고를 피하려면 parser='auto'로 지정하세요.mnist = fetch_openml('mnist_784', as_frame=False) sklearn.datasets 패키지에는 세 가지 함수가 있다.- fetch_openml() : 실전 데이터셋 다운로드- load_* : 소규모 데이.. [Machine Laerning][2] 머신러닝 주요 단계 (3) 6. 모델 선택과 훈련1. 훈련 세트에서 훈련, 평가 - 선형 회귀 모델from sklearn.linear_model import LinearRegressionlin_reg = make_pipeline(preprocessing, LinearRegression())lin_reg.fit(housing, housing_labels)housing_predictions = lin_reg.predict(housing)housing_predictions[:5].round(-2) # -2 = 십의 자리에서 반올림>>> array([242800., 375900., 127500., 99400., 324600.])housing_labels.iloc[:5].values>>> array([458300., 483800., 1.. [Machine Laerning][2] 머신러닝 주요 단계 (2) 5. 데이터 준비데이터를 변환할 때는 자동화하는 함수를 만들어 진행한다.새로운 데이터셋을 불러와도 데이터 변환을 하기에 유용하고 여러 가지 데이터 변환으로 어떤 조합이 가장 최적한지 확인할 수 있다. 1. 데이터 정제머신러닝은 누락된 특성을 다루지 못하므로 이를 처리할 수 있는 함수를 만들 것이다.housing.dropna(subset=["total_bedrooms"], inplace=True) # 옵션 1housing.drop("total_bedrooms", axis=1) # 옵션 2median = housing["total_bedrooms"].median() # 옵션 3housing["total_bedrooms"].fillna(med.. [Machine Learning][2] 머신러닝 주요 단계 (1) 1. 데이터 찾기2. 큰 그림 보기- 문제 정의1. 비즈니스의 목적이 무엇인지 알아야 한다. 목적을 아는 것은 문제 구성, 어떤 알고리즘을 선택할 것인지, 성능 지표, 모델 튜닝 등에 얼마 만큼을 투자할지 결정해주기 때문에 매우 중요하다. 2. 현재 솔루션은 어떻게 구성되어 있는지 알아야 한다. 문제 해결 방법 뿐만 아니라 참고 성능을 사용할 수 있다. 3. 모델 훈련에 어떤 지도 방식이 필요한지 결정한다. - 성능 측정 지표 선택회귀 문제의 전형적인 성능 지표는 평균 제곱근 오차(RMSE)이다. 오차가 커질 수록 이 값은 커지므로 예측에 얼마나 많은 오차가 있는지 알려주는 역할을 한다.m : 샘플 수 / x(i) : i번째 샘플의 전체 특성값의 벡터 / y(i) : x의 해당 레이블/ X : 샘플의 .. [Machine Learning][1] 머신러닝 1.1 머신러닝이란?머신러닝이란 데이터에서 학습하도록 컴퓨터를 프로그래밍하는 것이다. - training set : 시스템을 학습하는데 사용하는 샘플- training instance : 각각의 훈련 데이터- model : 머신러닝에서 학습하고 예측을 만드는 부분 1.2 머신러닝을 사용하는 이유전통적인 프로그래밍 기법을 사용할 땐, 문제가 복잡하기 때문에 보수하기 힘들다는 점이 있다.반면 머신러닝 기법은 다음과 같은 특징이 있다. 1. 코드를 간단하게 만들고 전통적인 방법보다 더 잘 수행함.2. 가장 뛰어난 머신러닝 기법으로 해결 방법을 찾음.3. 새로운 데이터로 재학습 할 수 있음.4. 복잡한 문제와 대용량의 데이터에서 의미를 찾음. - data mining : 대용량의 데이터를 분석하여 패턴을 발견하.. 이전 1 다음