問題タブ [scikits]
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.
python - SVMの実装、scikitsはランタイムの短縮、最速のsvmを学習します
私はscikit-learnを使用して、SVMを使用したいくつかの予測モデルの構築に取り組んでいます。約5000の例と約700の機能を含むデータセットがあります。トレーニングセットで18x17グリッド検索を行い、テストセットに最適なパラメーターを使用して、5分割交差検証を行っています。実行に予想よりもはるかに時間がかかり、次のことに気づきました。
1)個々のSVMトレーニングの反復には、1分しかかからないように見えるものもあれば、最大15分かかるものもあります。これは、異なるデータとパラメーター(Cとガンマ、rbf
カーネルを使用しています)で予想されますか?
2)余分なメモリを利用するためにWindowsで64ビットPythonを使用しようとしていますが、すべてのPythonプロセスがタスクマネージャーで1ギガでトップになっているようです。それが、ランタイム。
3)以前は32ビットを使用していて、ほぼ同じデータセットで実行していましたが、(結果を保存しませんでしたが)かなり高速だったことを覚えています。私は64ビットウィンドウ用にscikit-learnのサードパーティビルドを使用したので、32ビットPythonでこれを試す方が良いかどうかわかりませんか?(ソースhttp://www.lfd.uci.edu/~gohlke/pythonlibs/)
ランタイムを短縮する方法についての提案をいただければ幸いです。グリッド検索の検索スペースを減らすことは役立つと思いますが、最適なパラメーターの範囲さえわからないので、できるだけ大きくしたいと思います。より高速なSVM実装もある場合は、お知らせください。試してみる場合があります。
補遺:戻って、32ビットバージョンを再度実行してみました。なんらかの理由ではるかに高速です。64ビットバージョンが16時間で到達するまでに約3時間かかりました。なぜそのような違いがあるのでしょうか?
python - scikit Learn を使用したランダム フォレストは .9 以下
Mac と Linux ボックスに Scikit Learn をインストールする際に奇妙な問題が発生しています。scikit Learn .9 のみがインストールされます。
このバージョンを使用してランダム フォレストを学習する方法はありますか?
python - scikits 機械学習の欠損値
scikit-learn に欠損値を持つことは可能ですか? それらはどのように表現されるべきですか?それに関するドキュメントは見つかりませんでした。
python - Pythonscikitslearn-SVMオプション
scikitsの2つのオプションがSVMクラスを学習することに興味があります。Scale_Cとシュリンクは何をしますか?ドキュメントにはあまりありませんでした。スケールCは、トレーニングデータに合わせてCパラメーターを適切にスケールできるようです。
ありがとう
python - Python sckits SVM グリッド検索と分類
私は scikits と svm の初心者で、いくつかの質問を確認したいと思います。700 個のアイテムと 35 個の機能のサンプルがあり、3 つのクラスがあります。「preprocessing.scale(X)」を使用してスケーリングされたサンプルと機能を含む配列 X があります。最初のステップは、適切な SVM パラメーターを見つけることです。ネストされた相互検証でグリッド検索を使用しています ( http://scikit-learn.org/stable/auto_examples/grid_search_digits.html#を参照)。「グリッド検索」ですべてのサンプル (X) を使用しています。グリッド検索中、データはトレーニングとテストに分割されます (StratifiedKFold を使用)。SVM パラメーターを取得したら、データをトレーニングとテストに分割する分類を実行します。実際の分類で使用するのと同じデータをグリッド検索で使用しても問題ありませんか?
python - Python 機械学習、機能選択
私は書かれたテキストに関連する分類タスクに取り組んでいますが、分類結果を改善するために何らかの「機能選択」手順を実行することがどれほど重要か疑問に思っています。
私は主題に関連する多くの機能 (約 40) を使用していますが、すべての機能が本当に関連しているかどうか、およびどの組み合わせであるかはわかりません。私は SVM (scikits) と LDAC (mlpy) を試しています。
関連する機能と無関係な機能が混在している場合、分類結果が不十分になると思います。分類の前に「機能選択手順」を実行する必要がありますか?
Scikits には、機能をランク付けできるツリーベースの RFE 手順があります。最も重要な特徴を選択し、SVM (非線形) または LDAC で実際の分類を実行するために、ツリーベースの RFE で特徴をランク付けすることは意味がありますか? それとも、同じ分類器を使用して機能をランク付けするある種のラッパー メソッドを実装する必要がありますか (機能の異なるグループで分類しようとすると、非常に時間がかかります)。
python - Pythonを使用した単純ベイズ分類器
私はscikit-learnを使用してドキュメントのTf-idfの重みを見つけ、次に単純
ベイズ分類器を使用してテキストを分類しています。ただし、ドキュメント内のすべての単語のTf-idfの重みは、いくつかを除いて負です。しかし、私が知る限り、負の値は重要でない用語を意味します。では、Tf-idf値全体をベイズ分類器に渡す必要がありますか?それらのいくつかだけを渡す必要がある場合、どうすればそれを行うことができますか?また、linearSVCと比較して、ベイズ分類器はどの程度優れているか、または劣っていますか?Tf-idfを使用する以外に、テキスト内のタグを見つけるためのより良い方法はありますか?
ありがとう
python - 交差検定を使用したscikits混同行列
scikitsインターフェースを使用して、相互検証(stratifiedKfold)を使用してsvm分類器をトレーニングしています。(kの)各テストセットについて、分類結果を取得します。すべての結果を含む混同行列が必要です。Scikitsには混同行列インターフェースがあります:sklearn.metrics.confusion_matrix(y_true、y_pred)私の質問は、y_trueとy_predの値をどのように累積する必要があるかです。それらは配列(numpy)です。k-foldパラメーターに基づいて配列のサイズを定義する必要がありますか?そして、結果ごとに、y_trueとy-predを配列に追加する必要がありますか????
python - scikit を使用した線形回帰予測値のキャッピング
間隔 [0,10] に実数値ラベルを持つデータセットを使用して、線形回帰モデルをトレーニングしています。テスト セットの予測値には、10 を超える予測が含まれています。予測を 10 に制限する方法はありますか。
予測が 10 を超える場合は、明示的に 10 に設定するような条件チェックを行うことを考えています。
より良い方法はありますか?
python - パンダOLSを使用した予測
私はscikits.statsmodelsOLS予測関数を使用して近似データを予測してきましたが、今度はPandasの使用に移行したいと思います。
ドキュメントはOLSとy_predictという関数を参照していますが、正しく使用する方法に関するドキュメントが見つかりません。
例として:
ただし、フィットを生成することはできますが、次のようになります。
予測は何も変わりません。
scikits.statsmodelsでは、次のようにします。
内因性データを外因性の限界まで予測するために、パンダでこれを行うにはどうすればよいですか?
更新:Changのおかげで、新しいバージョンのPandas(0.7.3)にこの機能が標準で追加されました。