개발학습일지

[AI] 머신러닝 Supervised. 분류 알고리즘 Classidication - LogisticRegression, KNeighbors, SVM(SVC), DecisionTree 본문

AI/Machine Learning

[AI] 머신러닝 Supervised. 분류 알고리즘 Classidication - LogisticRegression, KNeighbors, SVM(SVC), DecisionTree

처카푸 2024. 4. 15. 17:37

supercised (정답을 알려주면서 학습하는 것 )의 classidication 분류 알고리즘 4가지

- LogisticRegression

기준점을 만들어 0과 1을 선택한다

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size= 0.25, random_state= 1)
from sklearn.linear_model import LogisticRegression
classifier = LogisticRegression(random_state=N)
classifier.fit(X_train, y_train)
y_pred = classifier.predict(X_test)

 

- K-NN  _ KNeighbors

   -- K 값을 바꿔서 성능이 제일 좋은 것을 선택한다

새로운 값이 들어오면 근처의 이웃 K 개를 확인한다
이웃이 더 많은 쪽으로 선택된다

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size= 0.25, random_state= 1)
from sklearn.neighbors import KNeighborsClassifier
classifier = KNeighborsClassifier(n_neighbors= K)
classifier.fit(X_train, y_train)
y_pred = classifier.predict(X_test)

 

- SVM(Support Vector Machine)_SVC

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size= 0.25, random_state= 1)
from sklearn.svm import SVC
# kernel{‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’} or callable, default=’rbf’
classifier = SVC(kernel='*')
y_pred = classifier.predict(X_test)

 

- DecisionTree

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size= 0.25, random_state= 1)
from sklearn.tree import DecisionTreeClassifier
classifier = DecisionTreeClassifier(random_state=N)
classifier.fit(X_train,y_train)
y_pred = classifier.predict(X_test)

 

 

 

 

4가지 방법 모두 train_test_split의 파라미터 값을 동일하게 만들고

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size= 0.25, random_state= 1)

정확도를 측정하여 가장 좋은 것을 사용한다

from sklearn.metrics import confusion_matrix, accuracy_score
cm = confusion_matrix(y_test, y_pred)
cm
>>>
    array([[NN, NN],
           [NN, NN]], dtype=int64)
accuracy_score(y_test, y_pred)
# 0.NN