2

ばかげた質問: scikit-learn で SVM をトレーニングした後、どのクラスに属するかを予測するために予測関数を使用する必要があります: predict(X)? ( http://scikit-learn.org/dev/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC.predict )

X パラメータは画像の特徴ベクトルですか? トレーニングされていない画像 (SVM がクラスに対して少なくとも 3 つのサンプルを要求するためトレーニングされていない) を指定した場合、何が返されますか?

4

1 に答える 1

1

最初の発言:「predict() は scikit Learn で SVM との画像の類似性を返す」は問題ではありません。Stack Overflow エントリのヘッダーに質問を入力してください。

2 番目の注意: sklearn の SVC クラスの predict メソッドは、「画像の類似性」を返すのではなく、クラス割り当ての予測を返します。http://scikit-learn.orgのドキュメントとチュートリアルを読んで、機械学習における分類と予測の意味を理解してください。

X パラメータは画像の特徴ベクトルですか?

(n_samples, n_features)いいえ、X は「画像」特徴ベクトルではありません。参照するドキュメントで説明されているように、形状を持つ一連の画像特徴ベクトルです。あなたの場合、サンプルは画像であるため、予想される形状は(n_images, n_features). 予測 API は、効率上の理由から、一度に多くの予測を計算するように設計されています。単一の予測を計算する場合は、単一の特徴ベクトルを shape の配列でラップする必要があります(1, n_features)

たとえばmy_single_image_features、shape で呼び出される単一の特徴ベクトル (1D) がある場合、 (n_features,)predict を次のように呼び出すことができます。

predictions = clf.predict([my_single_image_features])
my_single_prediction = predictions[0]

変数を 2D 配列に変換するには、変数の[]周りの記号に注意してください。my_single_image_features

my_single_prediction最初にメソッドを呼び出したときに提供された整数値によって意味が異なる整数になりますclf.fit(X_train, y_train)

トレーニングされていない画像 (SVM がクラスに対して少なくとも 3 つのサンプルを要求するためトレーニングされていない) を指定した場合、何が返されますか?

イメージは「トレーニング済み」ではありません。モデルのみがトレーニングされます。もちろん、トレーニング セットの一部ではないサンプル/画像を predict メソッドに渡すことができます。これが機械学習の全体的な目的です。つまり、過去のトレーニング データに見られる統計的な規則性から学んだことに基づいて、目に見えない新しいデータを予測します。

于 2013-02-14T10:21:45.750 に答える