Subscribed unsubscribe Subscribe Subscribe

SE Can't Code

A Tokyo based Software Engineer. Not System Engineer :(

サポートベクターマシンを使って顔識別.

Scikit-Learnのサポートベクターマシンと“Labeled Faces in the Wild”のデータセットを用いて顔認識を行った。パラメータチューニングについては、GridSearchCVを用いている。GridSearchCVは設定したチューニングパラメータを設定し、それぞれのパラメータパターン分をSVMで訓練し、closs-validatonを用いて評価する。

parameters = {'kernel':('linear', 'rbf'), 'C':[1, 10]}
svr = svm.SVC()
clf = grid_search.GridSearchCV(svr, parameters)
clf.fit(iris.data, iris.target)

上記の場合、kernelにはlinearrbf, Cには1と10が渡されており、(kernel, C)の全組み合わせが自動でSVMの分類器を用いて評価される([('rbf', 1), ('rbf', 10), ('linear', 1), ('linear', 10)])。

顔認識ターゲット

  • Ariel Sharon
  • Colin Powell
  • Donald Rumsfeld
  • George W Bush
  • Gerhard Schroeder
  • Hugo Chavez
  • Tony Blair

コード

出力結果

sotoshigoto@soto:~/workspace/PyData$ python machineLearning/src/face_recognition.py 
Total dataset size:
n_samples: 1288
n_features: 1850
n_classes: 7
Best estimator found by grid search:
SVC(C=1000.0, cache_size=200, class_weight='balanced', coef0=0.0,
  decision_function_shape=None, degree=3, gamma=0.005, kernel='rbf',
  max_iter=-1, probability=False, random_state=None, shrinking=True,
  tol=0.001, verbose=False)
                   precision    recall  f1-score   support

     Ariel Sharon       0.91      0.77      0.83        13
     Colin Powell       0.88      0.83      0.85        60
  Donald Rumsfeld       0.78      0.67      0.72        27
    George W Bush       0.84      0.97      0.90       146
Gerhard Schroeder       0.94      0.60      0.73        25
      Hugo Chavez       0.91      0.67      0.77        15
       Tony Blair       0.89      0.86      0.87        36

      avg / total       0.86      0.86      0.85       322

/usr/local/lib/python2.7/dist-packages/numpy/core/fromnumeric.py:2641: VisibleDeprecationWarning: `rank` is deprecated; use the `ndim` attribute or function instead. To find the rank of a matrix see `numpy.linalg.matrix_rank`.
  VisibleDeprecationWarning)
[[ 10   1   0   2   0   0   0]
 [  1  50   1   6   0   1   1]
 [  0   0  18   7   0   0   2]
 [  0   2   2 142   0   0   0]
 [  0   2   2   5  15   0   1]
 [  0   1   0   4   0  10   0]
 [  0   1   0   3   1   0  31]]

f:id:fixxman:20160112013124p:plain
f:id:fixxman:20160112013111p:plain


こんな感じでいい感じにブッシュ大統領らが認識された。

Remove all ads