問題タブ [knn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
5482 参照

matlab - MATLABでのKNN分類-混同行列とROC?

異なる分類器(LDA、SVM、KNN)を使用して2つのクラスを含むデータセットを分類しようとしていますが、それらのパフォーマンスを比較したいと思います。事前確率を変更して、LDAのROC曲線を作成しました。

しかし、KNN分類器に対して同じことをどのように行うことができますか?

ドキュメントを検索して、いくつかの関数を見つけました。

  1. Class = knnclassify(Sample, Training, Group, k)
  2. mdl = ClassificationKNN.fit(X,Y,'NumNeighbors',i,'leaveout','On')

(a)を実行し、leave-one-out交差検定を使用して混同行列を取得できますが、ROCを作成するために事前確率を変更することはできませんか?

これまで(b)を試したことはありませんが、これにより、mdl.Priorを変更できるモデルが作成されます。しかし、混同行列を取得する方法がわかりません。

私が見逃したオプションや、ROCを取得するためにそれらの機能を完全に使用する方法を説明できる人はいますか?

0 投票する
3 に答える
1623 参照

r - 大規模なデータベースをサンプリングし、R で K-means と K-nn を実装する方法は?

私はRの新しいユーザーで、SASから離れようとしています。Rで利用可能なすべてのパッケージとソースに少し不満を感じているため、ここでこの質問をしています。主にデータサイズが原因で、これを機能させることができないようです。

私は次のものを持っています:

200 個の予測機能と 1 つのクラス変数を含む、ローカル MySQL データベース内の SOURCE というテーブル。テーブルには 300 万件のレコードがあり、3 GB の大きさです。クラスごとのインスタンス数が等しくありません。

したい:

  1. SOURCE データベースをランダムにサンプリングして、クラスごとに同じ数のインスタンスを持つ、より小さなデータセットを作成します。
  2. サンプルをトレーニング セットとテスト セットに分割します。
  3. トレーニング セットで k-means クラスタリングを実行して、クラスごとに k 重心を決定します。
  4. 重心を持つテスト データの k-NN 分類をプリフォームします。
0 投票する
1 に答える
289 参照

c++ - 署名されたメトリックを使用したKNN検索

二乗された疑似ノルムを使用して、ポイントセット内のポイントのk最近傍を効率的に見つけることができるC++ライブラリを探しています。
ここに画像の説明を入力してください

ここで、私の3番目の座標には、その平方ノルムにマイナス記号がある場合とない場合があります。あるいは、3番目のコンポーネントが常に正の符号を持ち、4番目のコンポーネントが常に負の符号を持つ4D空間を考えることができます。

ANNライブラリのドキュメントには、任意の「ミンコフスキー」メトリックを使用できると記載されています。上記のメトリックは、ミンコフスキーメトリックの定義です(Wolfram Mathworldの意味ではありますが、ANNの意味ではありません)。ただし、ANNは柔軟性があり、「+」および「-」演算子のみが必要なようです(ANNドキュメント、14ページ)が、コンポーネントごとではなくグローバルに定義されています。

誰かがそのようなケースを処理するためにANNを一般化したことがありますか?些細なことですか?kd-treeを台無しにしませんか?そのための別のライブラリはありますか?

ありがとう!

0 投票する
2 に答える
425 参照

machine-learning - 特徴選択のためのフィードフォワード ラッパー メソッドとは何ですか?

学校のプロジェクトでは、UCI リポジトリからデータセットを選択し、「フィード フォワード ラッパー」機能選択で処理した後、KNN でデータを分類する必要があります。「フィードフォワードラッパー」をグーグルで検索しても何も得られません...誰かが私にそれが何であるかを説明できますか? さらに良いことに、この課題を完了するための手順を教えてください。「データ型」「属性の種類」「属性の数」はどのようなデータを選べばよいですか?

ベスト、ファティ

0 投票する
1 に答える
1950 参照

matlab - テストデータの分類率を見つける

KNN検索を使用して、テストデータを分類し、分類率を見つける必要があります。

以下はmatlabコードです:例:

結果はコマンドウィンドウに表示されました:

テストポイントが「Versicolor」の場合、1番目と3番目のテストポイントの結果は正しく分類され、2番目のテストポイントは間違っているため、分類率は2/3 x100%= 66.7%になります。

分類率を自動的に見つけて結果をワークスペースに保存するようにMATLABコードを変更するアイデアはありますか?

0 投票する
1 に答える
241 参照

matlab - kの異なる値を使用して分類率を見つけます

KNN 検索を使用してテスト データを分類し、分類率を見つけます。

以下は、matlab コードです。たとえば、次のとおりです。

ただし、上記の matlab コードは k=1 にちょうど適しています。k=2 を試した場合、strcmp を使用するとエラーが発生しました。とにかくコードを変更することはありますか??

次に、「virginica」などの別の種をテストしたい場合は、時間をかけて true_class を「versicolor」から「virginica」に変更する必要があります。自動的に変更する方法はありますか?? ありがとう

0 投票する
1 に答える
237 参照

sas - KNN の SAS で Proc Discrim を使用してデッドロックをどのように処理しますか?

KNN 分析を実行する proc discrim ステートメントがあります。k = 1 を設定すると、すべてにカテゴリが割り当てられます (予想どおり)。ただし、k > 1 の場合、いくつかの観測が割り当てられないままになります (カテゴリをその他として設定します)。

これは、2 つ以上のカテゴリに対するデッドロック投票の結果であると想定しています。デッドロックされた投票のランダムな 1 つを回答として使用するか、デッドロックされた投票の最も近いものを回答として使用することで、これを回避する方法があることを私は知っています。

この機能は proc discrim で利用できますか? デッドロックに対処する方法をどのように伝えますか?

乾杯!

0 投票する
0 に答える
208 参照

sas - SASでクラスごとに単一の重心で1NNを実行する方法は?

SASでPROC fastclusを使用して、クラスごとに単一のセントロイドを計算しました。

作成されたこれらの重心の最も近いものに基づいて、テスト セットを分類しようとしています。これは、SAS でも PROC discrim を使用して行っています。

オプションでユークリッド距離測定を使用していますmetric=identity

次のエラーが返されます。

これは、fastproc のクラスター数を 2 に設定すると機能します。

ただし、SAS でクラスごとに単一の重心を持つ 1NN を実行するにはどうすればよいですか?

0 投票する
0 に答える
195 参照

opencv - match()やradiusMatch()などのOpenCV機能マッチングを実装するための具体的なプロセス

こんにちは、私は特徴マッチングアルゴリズムを改善したいので、での特徴マッチングの現在の方法を知る必要がありますOpenCV。その実装には疑問があります。

この方法を考えると:

最適な機能を見つける方法は?

2つの方法の具体的なアルゴリズムまたはプロセスを教えてもらえますか?

0 投票する
1 に答える
4552 参照

r - Rを使用して(行列全体ではなく)1つの点のみのk最近傍を見つける

Rを使用して1点のk最近傍(特にkdツリー)を検索するパッケージまたは簡単な方法はありますか?この関数を提供するすべてのパッケージ(例:RANNまたはFNN ...)は、行列内のすべてのポイントのknnを計算します。これは、1つのポイントに対してのみ実行する必要があります。

たとえば、10個の点「A」から「E」の行列があり、すべてに対して同じ計算を行わずに、「A」について他の4つの点(「B」から「E」)の間の2つの最近傍を見つけたいとします。データセット内の行(「B」、「C」、「D」、「E」のknnを計算せずに)

私の質問が明確であることを願っています、私の英語は良くありません。

助けてくれてありがとう、