전체 글

모르는 내용 및 아는 내용 모두 꼼꼼히 복습하여 익숙해지는 그 날까지 꾸준히 공부하겠습니다.
AI/Machine Learning

[ML] 머신러닝 결정트리 (DecisionTreeClassifier, DecisionTreeRegressor)

파이썬 머신러닝 완벽 가이드 책을 참고하였습니다. (1) DecisionTreeClassifier, DecisionTreeRegressor 결정 트리 데이터에 있는 규칙을 학습을 통해 자동으로 찾아내 트리 기반의 분류 규칙을 만든다. 일반적으로 if, else를 자동으로 찾아내 예측을 위한 규칙을 만드는 알고리즘이라고도 할 수 있다. * 규칙 노드 : 규칙 조건을 의미 * 리프 노드 : 결정된 클래스 값 * 서브 트리 : 새로운 규칙마다 생겨나는 트리를 의미 장점 1. 직관적으로 이해하기 쉬운 알고리즘이다. 2. 피처의 스케일링이나 정규화 등의 사전 가공 영향도가 크지 않다. 단점 1. 많은 규칙이 있으면 분류를 결정하는 방식이 복잡해진다. -> 과적합으로 이어지기 쉽다. 이를 극복하기 위해 트리의 크기..

AI/Machine Learning

[ML] 머신러닝 모델의 오차행렬, 정확도, 정밀도, 재현율 구하기

목차 1. 오차 행렬 2. 정확도 3. 정밀도 4. 재현율 (1) 오차 행렬 : 이진 분류에서 성능 지표로 활용되며, 학습된 분류 모델이 예측을 수행하면서 얼마나 헷갈리고 있는지도 함께 보여주는 지표이다. * TN는 예측값을 Negative 값 0으로 예측했고 실제 값 역시 Negative 값 0 * FP는 예측값을 Positive 값 1로 예측했는데 실제 값은 Negative 값 0 * FN은 예측값을 Negative 값 0으로 예측했는데 실제 값은 Positive 값 1 * TP는 예측값을 Positive 값 1로 예측했는데 실제 값 Positive 값 1 # 오차 행렬 구해보기 from sklearn.metrics import confusion_matrix print(confusion_matrix(..

AI/Machine Learning

[ML] 머신러닝 교차 검증- KFold, Stratified KFold, cross_val_score()

파이썬 머신러닝 가이드 책을 참고하였습니다. 목차 1. KFold 2. Stratified KFold 3. cross_val_score() ○ 데이터 불러오기 from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score from sklearn.model_selection import KFold from sklearn.datasets import load_iris import numpy as np iris = load_iris() features = iris.data label = iris.target dt_clf = DecisionClassifier(random_state=156) (1) 교차검증 (KF..

AI/Machine Learning

[ML] 머신러닝 기초 다지기 / fit, predict, train_test_split, accuracy_score

파이썬 머신러닝 가이드 책을 참고하였습니다. ● 붓꽃 데이터 로딩하기 import pandas as pd from sklearn.datasets import load_iris # 붓꽃 데이터 불러오기 iris = load_iris() # iris.data는 데이터 세트에서 피처만으로 된 데이터를 NUMPY로 가지고 있음 iris_data = iris.data # iris.target은 데이터 세트에서 레이블 데이터를 NUMPY로 가지고 있음 iris_label = iris.label iris_df = pd.DataFrame(data=iris_data, columns=iris.feature_names) iris_df['label'] = iris.target 추가적으로 * iris.target_names는 ..

Python/Pandas

[pandas] 레이블인코딩 / 원핫 인코딩 / 문자열을 범주형 데이터로 바꾸기

컴퓨터가 읽을 수 있게 문자열 데이터를 숫자형 데이터로 바꿔주어야 한다. 여기서 우리는 각 문자열 데이터를 표현할 수 있게 범주형 데이터로 변환시킨다 1) 레이블 인코딩 from sklearn.preprocessing import LabelEncoder for col in ['Title','AgeBin']: encoder = LabelEncoder() data[col] = encoder.fit_transform(data[col]) data.loc[:,['Title','AgeBin']].head() * sklearn LabelEncoder를 불러와 LabelEncoder 객체를 만든다. * fit_transform 함수를 사용하여 각 열의 데이터(문자열)에 적용한다. * 각 열의 속하는 범주의 개수만큼 숫..

AI/Machine Learning

[ML] 머신러닝 분류 알고리즘 - SVM

SVM (support vector machine) 각 피처(열) 벡터들이 고유의 축을 갖는 벡터 공간을 이룬다고 가정한다. 모든 데이터를 벡터 공간 내의 좌표에 점으로 표시하고, 각 데이터가 속하는 목표 클래스별로 군집을 이룬다고 생각한다. (1) 모델 학습 # 모델 학습 from sklearn.svm import svc svc = SVC(kernel='rbf') svc.fit(x_train, y_train) * SVM 알고리즘이 구현된 사이킷런 svm 모듈을 이용한다. * 분류 모델일 SVC 객체를 생성하여 모델을 학습시킨다. 커널(kernel)은 데이터를 벡터 공간으로 매핑하는 함수를 말한다. (2) 예측 y_svc_pred = svc.predict(x_test) * KNN 알고리즘과 똑같이 pre..

AI/Machine Learning

KNN 분류 알고리즘 개념과 구현: 머신러닝에서 K-최근접 이웃 활용법

KNN ( K-Nearest-Neighbors)예측하려는 데이터 X가 주어지면, 기존 데이터 중 속성이 비슷한 K개의 이웃을 먼저 찾는다. 다시 말해 데이터 X를 둘러싼 K개의 가장 가까운 이웃을 찾고, 이웃 데이터가 가장 많이 속해 있는 목표 클래스를 예측값으로 결정한다.(1) 모델학습# sklearn 라이브러리에서 KNN 분류 모형 가져오기from sklearn.neighbors import KNeighborsClassifierknn = KNeighborsClassifier(n_neighbors=7)knn.fit(x_train, y_train)* n_neighbors 옵션으로  k값을 지정한다. * KNeighborsClassifier() 함수로 KNN모형 객체를 생성한다.* fit()  메소드에 훈..

Python/Pandas

[Pandas] 데이터 살펴보기 / head,tail,info,describe,shape,count,value_counts

데이터 살펴보기¶ head(n) : 처음 n개의 행을 보여줌 / tail(n) : 마지막 n개의 행을 보여줌¶ In [1]: import pandas as pd df = pd.read_csv('C:\\Users\\rladl\\Jupyter.study\\05000266\\part3\\auto-mpg.csv', header=None) df.columns = ['mpg','cylinders','displacement','horsepower','weight','acceleration','model year','origin','name'] print(df.head()) print('\n') print(df.tail()) mpg cylinders displacement horsepower weight acceler..

kylo
오늘도 열심히 - BE