問題タブ [libsvm]
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.
machine-learning - grid.py の実行にはどのくらいの時間がかかりますか?
バイナリ分類に libsvm を使用しています. 結果を改善すると言われている grid.py を試してみたかった.. このスクリプトを別々の端末で 5 つのファイルに対して実行し、スクリプトは 12 時間以上実行されています..
これは私の5つの端末の現在の状態です:
出力をファイルにリダイレクトしましたが、これらのファイルには今のところ何も含まれていません。そして、次のファイルが作成されました。
- sbiz_nonbiz_feat.txt.out
- sbiz_nonbiz_feat.txt.png
- sarts_nonarts_feat.txt.out
- sarts_nonarts_feat.txt.png
- sgames_nongames_feat.txt.out
- sgames_nongames_feat.txt.png
- sref_nonref_feat.txt.out
- sref_nonref_feat.txt.png
- snews_nonnews_feat.txt.out (--> 空です)
.out ファイルには1 行の情報しかあり
ません。「.png」ファイルは GNU PLOTS です。
しかし、上記のGNUplots / warningsが何を伝えているのか理解できません..それらを再実行する必要がありますか?
各入力ファイルに約144000行が含まれている場合、このスクリプトにかかる時間について誰か教えてください..
感謝と敬意
python - Python で LibSVM を使用して事前計算されたカーネル
約 3 時間ネットを検索しましたが、まだ解決策を見つけることができませんでした。事前計算済みのカーネルを libsvm に渡してデータセットを分類したいのですが、
事前計算されたカーネルを生成するにはどうすればよいですか? (たとえば、アイリス データの事前計算された基本的なカーネルは何ですか?)
libsvm のドキュメントには、次のように記載されています。
事前計算されたカーネルの場合、各インスタンスの最初の要素は ID でなければなりません。例えば、
/li>
と言いました?これ以上の詳細はありません。ID を連続して割り当てることはできますか?
libsvm のヘルプと事前計算されたカーネルの例は本当に感謝しています。
python - LibSVMを使用した平均/標準偏差ペアへの最も近い一致の計算
私はSVMを初めて使用し、Pythonインターフェイスを使用してlibsvmを使用して、平均値と標準偏差を含むサンプルを分類しようとしています。しかし、私は無意味な結果を得ています。
このタスクはSVMに不適切ですか、それともlibsvmの使用にエラーがありますか?以下は、私がテストに使用している単純なPythonスクリプトです。
ドメインはかなり単純なようです。2.5の平均がラベル1を意味することを知るように訓練されている場合、2.4の平均を見ると、最も可能性の高い分類としてラベル1を返すはずです。ただし、各カーネルの精度は0%です。どうしてこれなの?
いくつかの補足事項ですが、ターミナルでlibsvmによってダンプされたすべての冗長なトレーニング出力を非表示にする方法はありますか?libsvmのドキュメントとコードを検索しましたが、これをオフにする方法が見つかりません。
また、スパースデータセットのキーとして単純な文字列を使用したかったのです(例:{'mean':2.5、'stddev':3.5})。残念ながら、libsvmは整数のみをサポートしています。文字列の長整数表現(例:'mean' == 1109110110971110)を使用しようとしましたが、libsvmはこれらを通常の32ビット整数に切り捨てているようです。私が見る唯一の回避策は、各文字列を整数にマップする個別の「キー」ファイルを維持することです('mean' = 0、'stddev' = 1)。しかし、シリアル化された分類子と一緒に2番目のファイルを維持および永続化する必要があるため、明らかにそれは面倒です。誰かがもっと簡単な方法を見ていますか?
artificial-intelligence - LibSVM の公称属性
libsvm トレーニング ファイルを作成するとき、名義属性と数値属性をどのように区別しますか? 特定の公称属性を整数としてエンコードしようとしていますが、libsvm がそれらを数値として誤って解釈しないようにしたいと考えています。残念ながら、libsvm のサイトにはドキュメントがほとんどないようです。Pentaho のドキュメントは、libsvm がこの区別をしていることを暗示しているようですが、それがどのように行われているかはまだはっきりしていません。
matlab - MATLAB での SVM の可視化
Matlab で SVM トレーニングを実行したら、SVM 分類を視覚化するにはどうすればよいですか?
これまでのところ、SVM を次の方法でトレーニングしただけです。
python - PyML.classifiers.multi.OneAgainstRest(SVM())オブジェクトを保存しますか?
PYMLを使用して、マルチクラス線形サポートベクターマシン(SVM)を構築しています。SVMをトレーニングした後、分類器を保存できるようにしたいと思います。これにより、以降の実行で、再トレーニングせずに分類器をすぐに使用できます。残念ながら、.save()関数はその分類子に実装されておらず、それを(標準のpickleとcPickleの両方で)pickleしようとすると、次のエラーメッセージが表示されます。
誰かがこれを回避する方法またはこの問題のない代替ライブラリを知っていますか?ありがとう。
編集/更新
私は現在、次のコードで分類子をトレーニングして保存しようとしています。
現在、ピクルスではなくPyML保存メカニズムを使用して保存していることに注意してください。また、トレーニング関数に「saveSpace=False」を渡していることに注意してください。ただし、まだエラーが発生しています。
ただし、saveSpace = Falseを渡しています...では、分類子を保存するにはどうすればよいですか?
PS
私がこれを使用しているプロジェクトはpyimgattrです。完全なテスト可能な例が必要な場合に備えて、プログラムは「./pyimgattr.pytrain」で実行されます...このエラーが発生します。また、バージョン情報に関する注意:
java - libsvmで最適なC/ガンマパラメータを見つける方法は?
多数の機能/属性(各アイテムあたり約5,800)を持つデータセットのマルチクラス分類にlibsvmを使用しています。現在使用しているデフォルトよりも、Cとガンマに適したパラメーターを選択したいと思います。
すでにeasy.pyを実行しようとしましたが、使用しているデータセットの場合、推定時間はほぼ永久になります(20、50、100、および200のデータサンプルでeasy.pyを実行し、予測される超線形回帰を取得しました何年もかかる私の必要なランタイム)。
デフォルトよりも優れたC値とガンマ値にすばやく到達する方法はありますか?違いがあれば、私はJavaライブラリを使用しています。
java - libsvmを使用してマルチクラス予測の確率を計算する方法は?
私はlibsvmを使用しており、ドキュメントは、出力分類の精度の信じられている確率を出力する方法があると私に信じさせます。これはそうですか?もしそうなら、誰かがコードでそれを行う方法の明確な例を提供できますか?
現在、私は次のようにJavaライブラリを使用しています
windows - LibSVM 入力データのヘルプ
サポート ベクター分類の実装に LibSVM ツールを使用しています。
入力データ ファイルの最初の行は次のようになります。
私の入力データファイルの名前は --> a1a です
Windowsコマンドプロンプトでプログラムを実行しようとしました
次のエラーが表示されます
誰か私をここで助けてくれませんか? 何が悪いのかわからないようです。
ありがとう。
machine-learning - サポート ベクター マシン (SVM) の実装の詳細
特定のアプリケーションでは、機械学習が必要でした (学部課程で学んだことは知っています)。サポート ベクター マシンを使用して問題を解決しました。その正常に動作します。
今、私はシステムを改善する必要があります。ここでの問題は
追加のトレーニング例を毎週受け取ります。現在、システムは更新された例 (古い例 + 新しい例) で新たにトレーニングを開始します。インクリメンタルラーニングにしたい。(以前の例の代わりに) 以前の知識を新しい例で使用して、新しいモデル (知識) を取得する
私のトレーニング例には3つのクラスがあります。したがって、すべてのトレーニング例は、これら 3 つのクラスのいずれかに当てはまります。「不明」クラスの機能が欲しい。これら 3 つのクラスに当てはまらないものはすべて、「不明」としてマークする必要があります。しかし、「Unknown」を新しいクラスとして扱い、これについても例を提供することはできません。
「unknown」クラスが実装されていると仮定します。クラスが「不明」の場合、アプリケーションのユーザーは、クラスが何であるかを入力します。ここで、ユーザー入力を学習に組み込む必要があります。私もこれを行う方法についてはわかりません。ユーザーが新しいクラス (つまり、トレーニング セットにまだ含まれていないクラス) を入力した場合、違いはありますか?
新しいアルゴリズムを選択する必要がありますか?それとも、サポート ベクター マシンがこれを実行できますか?
PS: SVM に libsvm 実装を使用しています。