1月6日

2108 ワード

今日はEXNODEという分類を作成しました.
幸い最初の石切り布よりずっと簡単でしたこれは初めて出たんだろうな
書き終わりたいのですが、内容が多すぎて、文字の分類に関するノードを記入します.
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report

from sklearn.datasets import load_digits

digits = load_digits()

print(dir(digits))  **dir()는 객체가 어떤 변수와 메서드를 가지고 있는지 나열함**

digits.keys()
これで数字の中の方法を確認してから始めればいいです.
  digits_data = digits.data
  print(digits_data.shape)
(1797,64)では、このような結果値が得られます.
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(digits_data, 
                                                    digits_label, 
                                                    test_size=0.2, 
                                                    random_state=7)

print('X_train 개수: ', len(X_train),', X_test 개수: ', len(X_test))
X_train.shape, y_train.shape
これはX train数:1437,X test数:360を意味する
(1437、64)、(1437、)の値が得られる.
ここからテスト値を取得したい場合は、
X_test.shape, y_test.shape
(360、64)、(360、).
ずっとそう分類方法が出てきて、今日学んだ分類モデル
まず
 from sklearn import svm    #내장분류 모델
 svm_model = svm.SVC()

 print(svm_model._estimator_type)

 svm_model.fit(X_train, y_train)
 y_pred = svm_model.predict(X_test)

 print(classification_report(y_test, y_pred))
 
 
  from sklearn.linear_model import SGDClassifier #SGD Classifier 모델
  sgd_model = SGDClassifier()

  print(sgd_model._estimator_type)

  sgd_model.fit(X_train, y_train)
  y_pred = sgd_model.predict(X_test)

  print(classification_report(y_test, y_pred))


  from sklearn.linear_model import LogisticRegression #Logistic Regression 모델
  logistic_model = LogisticRegression(max_iter=2500)

  print(logistic_model._estimator_type)

  logistic_model.fit(X_train, y_train)
  y_pred = logistic_model.predict(X_test)

  print(classification_report(y_test, y_pred))
  
それぞれの精度値があまり悪くないことがわかり、より多くの分類法がありますが、私が今日学んだことはここまでです.