본문 바로가기

Machine Learning

(95)
CH06_02. KNN 실습 (Python) 1 Iris 데이터와 KN import pandas as pd import numpy as np import matplotlib.pyplot as plt np.random.seed(2022) 1.1 1. Data 1.1.1 1.1 Data Load from sklearn.datasets import load_iris iris = load_iris() data = iris.data target = iris.target target >>> array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0..
CH06_01. KNN 목표 1. 학습 방법과 모델 2. KNN의 정의 3. 최적의 K값 설정 4. 거리의 종류 모델 학습 방법 모델 학습 방법 1. 모델 기반 학습 (Model-Based Learning) - 데이터로부터 모델을 생성하여 분류/예측 진행 - Linear Regression, Logistic Regression 2. 사례 기반 학습 (Instance-Based Learning) - 별도의 모델 생성 없이 인접 데이터를 분류/예측에 사용 - Lazy Learning - 모델을 미리 만들지 않고, 새로운 데이터가 들어오면 계산을 시작 - KNN, Naive Bayes KNN 정의 K- Nearest Neighbors - K 개의 가까운 이웃을 찾는다. - 학습 데이터 중 K개의 가장 가까운 사례를 사용하여 분류 및..
CH05_02. 스팸 메세지 분류 (Python) 1 스팸 문자를 Naive Bayes를 이용해 분류하기 import pandas as pd import numpy as np import matplotlib.pyplot as plt np.random.seed(2022) 1.1 1. Data 1.1.1 1.1 Data Load sms_spam.csv 데이터는 문자 내용이 스팸인지 아닌지를 구분하기 위한 데이터 입니다. spam = pd.read_csv("sms_spam.csv") text = spam["text"] label = spam["type"] 1.1.2 1.2 Data EDA text[0] >>> 'Go until jurong point, crazy.. Available only in bugis n great world la e buffet.....
CH05_01. Naive Bayes 목표 1. 확률의 개념 2. 베이즈 정리 3. Naive Bayes 확률 1. 확률 2. 조건부 확률 3. 조건부 독립 확률의 정의 확률 :특정한 사건이 일어날 가능성 파란 공이 뽑힐 확률: 2/3 빨간 공이 뽑힐 확률: 1/3 조건부확률 조건부 확률 어떤 사건 A가 일어 났을 때, 다른 사건 B가 발생할 확률 조건부 확률 곱셈 공식 독립 사건 A가 일어나는 것에 상관없이 사건 B가 일어날 확률이 일정할 때 조건부 독립 사건 C가 일어났을 때 서로 다른 사건 A, B가 독립일 때 베이즈 정리 베이즈 정리의 수식 베이즈 정리 예제 속도와 결과를 나타낸 표, 마지막의 결과를 베이즈 정리로 예측해 보고자 함. 베이즈 정리 한계점과 조건부 독립 조건부 독립을 가정 - 계산량을 줄여준다 Naive Bayes 정의..
CH04_13. 부동산 가격 예측 (Python) 1 Random Forest로 부동산 가격 예측하기 import pandas as pd import numpy as np import matplotlib.pyplot as plt np.random.seed(2022) 1.1 1. Data 이번 실습에서 사용할 데이터는 보스턴의 집 값을 예측하는 데이터입니다. 1.1.1 1.1 Data Load 데이터는 sklearn.datasets의 load_boston를 통해 사용할 수 있습니다 from sklearn.datasets import load_boston housing = load_boston() data, target = housing["data"], housing["target"] 1.1.2 1.2 Data EDA pd.DataFrame(data, co..
CH04_11. 손글씨 분류 (Python) 1 Random Forest로 손글씨 분류하기 import pandas as pd import numpy as np import matplotlib.pyplot as plt np.random.seed(2022) 1.1 1. Data 1.1.1 1.1 Data Load 손글씨 데이터는 0~9 까지의 숫자를 손으로 쓴 데이터입니다. 데이터는 sklearn.datasets의 load_digits 를 이용해 받을 수 있습니다. from sklearn.datasets import load_digits digits = load_digits() data, target = digits["data"], digits["target"] 1.1.2 1.2 Data EDA 데이터는 각 픽셀의 값을 나타냅니다. data[0] >..
CH04_10. Ensemble & Random Forest 목표 1. Ensemble 2. Bagging 3. Random Forest Ensemble(앙상블)의 정의 약한 분류기들을 결합하여 강 분류기로 만드는 것 Ensemble의 종류 1. Bagging 2. Boosting 3. Stacking Bagging의 정의 - Bootstrap + Aggregation - 약한 분류기들을 결합하여 강 분류기로 만드는 것 Bootstrap - Train Data 에서 여러 번 복원 추출하는 Random Sampling 기법 - 추출된 샘플들을 부트스트랩 샘플이라고 부른다 - 이론적으로 36.8% 의 샘플이 뽑히지 않게 됨 (Out-Of-Bag 샘플) OOB (Out-Of-Bag) 평가 추출되지 않는 샘플을 이용해 Cross Validation(교차 검증)에서 Val..
CH04_07. Iris 꽃 종류 분류 (multiclass,Logistic Regression) 1 Iris의 종류 분류(Multiclass) 이번에는 Class가 여러개인 데이터를 Logistic Regression으로 예측해 보겠습니다. import pandas as pd import numpy as np import matplotlib.pyplot as plt np.random.seed(2021) 1.1 1. Data 1.1.1 1.1 Data Load 데이터는 sklearn.datasets 의 load_iris 함수를 이용해 받을 수 있습니다. from sklearn.datasets import load_iris iris = load_iris() 데이터에서 사용되는 변수는 암술과 수술의 길이와 넓이입니다. sepal length (cm) sepal width (cm) petal length ..