
'Machine Learning' 카테고리의 다른 글
Training the K-NN model by Python (0) | 2021.11.23 |
---|---|
Logistic Regression 로지스틱 회귀 with python (0) | 2021.11.22 |
[Hands-On]데이터 전처리 템플릿 (0) | 2021.11.17 |
[머신러닝][사이킷런]k-최근접 알고리즘 KNeighborsClassifier (0) | 2021.02.12 |
Training the K-NN model by Python (0) | 2021.11.23 |
---|---|
Logistic Regression 로지스틱 회귀 with python (0) | 2021.11.22 |
[Hands-On]데이터 전처리 템플릿 (0) | 2021.11.17 |
[머신러닝][사이킷런]k-최근접 알고리즘 KNeighborsClassifier (0) | 2021.02.12 |
step1.
숫자 k인접한 수를 선택
step2.
k랑 가장 가까운 수의 유클리디안 거리를 고려
step3.
한 범주로 부터 떨어진 데이터의 수
step4.
데이터와 가장 근접한 가장 많은 이웃의 카테고리를 확인
Training the K-NN model on the Training set
사이킷런 홈페이지-api-knn
sklearn.neighbors.KNeighborsClassifier — scikit-learn 1.0.1 documentation
from sklearn.neighbors import KNeighborsClassifier
classifier = KNeifhborsClassifier(n_neighbors = 5, matric = 'minkoski', p=2)
classifier.fit(x_train,y_train)
linear classifier 선형 분류같은 경우 곡선이어도 선으로 표현하지만
그 경계 주변의 결과들이 맞지 않는 경우들이 생긴다.
그러나 K-NN알고리즘의 경우 최근접의 데이터로 영역을 구분하기 때문에 오차가 줄어든다.
SVM Support Vector Machine (0) | 2021.11.25 |
---|---|
Logistic Regression 로지스틱 회귀 with python (0) | 2021.11.22 |
[Hands-On]데이터 전처리 템플릿 (0) | 2021.11.17 |
[머신러닝][사이킷런]k-최근접 알고리즘 KNeighborsClassifier (0) | 2021.02.12 |
sklearn.linear_model.LogisticRegression — scikit-learn 1.0.1 documentation
sklearn.linear_model.LogisticRegression
Examples using sklearn.linear_model.LogisticRegression: Release Highlights for scikit-learn 1.0 Release Highlights for scikit-learn 1.0, Release Highlights for scikit-learn 0.23 Release Highlights ...
scikit-learn.org
from sklearn.linear_model import LogisticRegression
classifier = LogisticRegression(random_state=0)//인스턴스생성
classifier.fit(X_trains, y_tains)//훈련시키는 작업
//한 고객의 결과를 내는 것
predict method 사용
classifier.predict(sc.transform([[30,87000]]))//2차원배열에서 30살의 87000달러를 받는 사람의 구매여부가 궁금
result : [0]
y_pred= classifier.predict(X_test)
print(np.concatenate((y_prep.reshape(len(y_pred),1),y_test.reshape(len(y_test),1)),1))
왼쪽 열은 테스트세트에서 얻은 결과 오른쪽 열은 실제 얻은 결과
[0.0]
[0,1]
...
(*0은 No, 1은 Yes)
sklearn.metrics.confusion_matrix — scikit-learn 1.0.1 documentation
sklearn.metrics.accuracy_score — scikit-learn 1.0.1 documentation
from sklearn.matrics import confusion_matrix, accuracy_score
cm = confusion_matrix(y_test, y_pred)
print(cm)
accuracy_score(y_test, y_pred)
SVM Support Vector Machine (0) | 2021.11.25 |
---|---|
Training the K-NN model by Python (0) | 2021.11.23 |
[Hands-On]데이터 전처리 템플릿 (0) | 2021.11.17 |
[머신러닝][사이킷런]k-최근접 알고리즘 KNeighborsClassifier (0) | 2021.02.12 |
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
Data.csv(데이터 샘플)
나이 | 예상급여 | 차 구입 여부 |
20 | 30000000 | 0 |
33 | 40000000 | 0 |
28 | 58000000 | 1 |
예를 들면 나이, 예상급여를 보고 차를 살지 안 살지를 예측해봄(0이면 구매않음을 예상 1이면 구매예상)
여기서 쓰인 데이터는 첫번째, 두 번째 열로 세 번째 열을 판단하는 데이터
dataset = pd.read_csv{'Data.csv'}
X= dataset.iloc[:,:-1].values
y = dataset.iloc[:,-1].values
test_size 가 0.25면 데이터가 400개 있음 훈련 데이터는 300개, 테스트 데이터는 100개로 나눔
from sklearn.model_selection import trains_test_split
X_train. X_test, y_trains, y_test = train_test_split(X,y, test_size = 0.25, random_state =0)
때에 따라 해도되고 안 해도 되지만 하면 정확도가 올라감
from sklearn.preprocessing import StandartScaler
sc = StandardScaler
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
Enjoy Machine Learning!
본 글은 Udemy의 Machine Learning A-Z: Hands-On Python & R In Data Science 강의를 듣고
작성되었습니다.
SVM Support Vector Machine (0) | 2021.11.25 |
---|---|
Training the K-NN model by Python (0) | 2021.11.23 |
Logistic Regression 로지스틱 회귀 with python (0) | 2021.11.22 |
[머신러닝][사이킷런]k-최근접 알고리즘 KNeighborsClassifier (0) | 2021.02.12 |
머신러닝에서의 모델
머신러닝 알고리즘을 구현한 프로그램 또는 알고리즘을 수식 등으로 구체화하여 표현한 것을 모델이라고 부름.
특성
데이터를 표현하는 하나의 성질
ex) 분류할 대상의 무게나 길이
정확도
정확한 답을 몇 개 맞혔는지 백분율로 나타낸 값
사이킷런에서는 0~1사이의 값으로 출력
정확도 = 정확히 맞힌 개수/전체 데이터 개수
k-최근접 알고리즘이란
가장 간단한 머신러닝 알고리즘 중 하나로
어떤 규칙을 찾기보다는 전체 데이터를 메모리에 가지고 있는 것이 전부인 알고리즘
KNeighborsClassifier()는 k-최근접 이웃 분류 모델을 만드는 사이킷런 클래스
n_neighbors 매개변수로 이웃의 개수를 지정
기본값은 5
p매개변수로 거리를 재는 방법을 지정하고
1이면 맨해튼 거리를 사용하고 2일 경우 유클리디안 거리를 사용한다.
기본값은 2
n_jobs 매개변수로 사용할 CPU코어를 지정가능
-1로 설정하면 모든 CPU코어를 사용
이웃 간의 거리 계산 속도를 높일 수 있지만 fit() 메서드에는 영향이 없음
기본값은 1
import sklearn
model = sklearn.neighbor.KNeighborsClassifier()
fit()
훈련(Training)할 때 사용하는 메서드
처음 두 매개변수로 훈련에 사용할 특성과 정답 데이터를 전달
모델에 데이터를 전달하여 규칙을 학습하는 과정
predict()
사이킷런 모델을 훈련하고 예측할 때 사용하는 메서드
특성 데이터 하나만 매개변수로 받음
score()
훈련된 사이킷런 모델의 성능을 측정
처음 두 매개변수로 특성과 정답 데이터를 전달
이 메서드는 먼저 predict() 메서드로 예측을 수행한 다음 분류 모델일 경우 정답과 비교하여 올바르게 예측한 개수를 비율로 반환
SVM Support Vector Machine (0) | 2021.11.25 |
---|---|
Training the K-NN model by Python (0) | 2021.11.23 |
Logistic Regression 로지스틱 회귀 with python (0) | 2021.11.22 |
[Hands-On]데이터 전처리 템플릿 (0) | 2021.11.17 |