1
こんにちは、私はscikit-learnで機械学習ではかなり新しいですが、私は質問があります。Sklearn - svm重み付け機能
重要度や重みの高いベクターデータの一部の機能をsvmで認識させることは可能ですか?/
ここで私が何をしたいの例です:私は正しいサームは知らない
は、我々は2次元配列にvecotrsの束を持っているとしましょう:
dt = [
[x1, y1, z1, q1],
[x2, y2, z2, q2],
[x3, y3, z3, q3],
[x4, y4, z4, q4]]
と対象データベクトル:
target = [1,0,0,1]
たとえば、dtのベクトルのすべてのq個の機能を他の機能よりも重要なものにする方法を知りたいと思います。
データをセットでバランスさせる方法や、sample_weightを設定する方法はわかっていますが、どちらもこの問題を解決できません。
乾杯
私は重量機能を表すデータにアクセスする方法を理解していますが、変更できる方法はあります。ドキュメントは、このcoef_が読み取り専用のプロパティであることを明確に述べています。私は自分の分級機に力でより重要な機能のいくつかを取らせたいと思っています。 – Domagoj
私は、ライブラリを使用せずに仮定を表現することができます。 SVM - 線形の方法で、フィーチャスケールに敏感です。 StandartScaler(http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html)を使用して、それらを1つのスケールに合わせることができます(必要ではありませんが、場合によっては、アルゴリズム)。 次に、自分でトレーニングデータを前処理し、重要でないと見なされるすべてのフィーチャをcoef <1でスケーリングすることができます(このスケーリングをテストセットまたは\と実際のデータに適用するために保存することを忘れないでください)。 さらに実験が必要です。 – mrEvgenX
このアプローチを試してみます – Domagoj