タグ付けされた質問 「e1071」

2
e1071 libsvmの問題?
2つの重複するクラス(各クラスに7つのポイント、ポイントは2次元空間)を持つデータセットがあります。Rでは、これらのクラスの分離ハイパープレーンを構築するためにパッケージから実行svmしていe1071ます。私は次のコマンドを使用しています: svm(x, y, scale = FALSE, type = 'C-classification', kernel = 'linear', cost = 50000) ここにxは私のデータポイントとyそのラベルが含まれています。このコマンドはsvm-objectを返します。これを使用して、分離する超平面のパラメーター(法線ベクトル)とb(切片)を計算します。wwwbbb 下の図(a)は、私のポイントとsvmコマンドによって返された超平面を示しています(この超平面を最適なものと呼びましょう)。記号Oの付いた青い点はスペースの原点を示し、点線はマージンを示し、丸で囲まれた点は非ゼロの(スラック変数)を持ちます。ξξ\xi 図(b)は別の超平面を示しています。これは、最適な平面を5だけ平行移動したものです(b_new = b_optimal-5)。この超平面の目的関数 (C-分類SVMによって最小化される)は、図()に示す最適な超平面の場合よりも低い値を有するであろう。この機能に問題があるように見えますか?または、どこかでミスをしましたか?0.5 || w | |2+ C O S T Σ ξ私0.5||w||2+cost∑ξ私 0.5||w||^2 + cost \sum \xi_i svm 以下は、この実験で使用したRコードです。 library(e1071) get_obj_func_info <- function(w, b, c_par, x, y) { xi <- rep(0, …

4
糖尿病のSVM分類の改善
私はSVMを使用して糖尿病を予測しています。この目的でBRFSSデータセットを使用しています。データセットの次元はであり、歪んでいます。ターゲット変数のs のパーセンテージはで、sは残りの構成します。11 %89 %432607×136432607×136432607 \times 136Y11%11%11\%N89%89%89\% データセットの独立変数の15うち、使用しているのは私だけです136。データセットを減らす理由の1つは、NAs を含む行が省略されたときにトレーニングサンプルを増やすことでした。 これらの15変数は、ランダムツリー、ロジスティック回帰などの統計的手法を実行し、結果のモデルからどの変数が重要であるかを見つけた後に選択されました。たとえば、ロジスティック回帰を実行した後p-value、最も重要な変数を並べ替えるために使用しました。 変数の選択を行う私の方法は正しいですか?への提案は大歓迎です。 以下は私のR実装です。 library(e1071) # Support Vector Machines #-------------------------------------------------------------------- # read brfss file (huge 135 MB file) #-------------------------------------------------------------------- y <- read.csv("http://www.hofroe.net/stat579/brfss%2009/brfss-2009-clean.csv") indicator <- c("DIABETE2", "GENHLTH", "PERSDOC2", "SEX", "FLUSHOT3", "PNEUVAC3", "X_RFHYPE5", "X_RFCHOL", "RACE2", "X_SMOKER3", "X_AGE_G", "X_BMI4CAT", "X_INCOMG", "X_RFDRHV3", "X_RFDRHV3", "X_STATE"); target <- "DIABETE2"; …

1
SVMのタイプの違い
ベクターマシンをサポートするのは初めてです。 簡単な説明 R svmのe1071パッケージの関数は、さまざまなオプションを提供します。 C分類 ニュー分類 1つの分類(新規性検出用) EPS回帰 ニュー回帰 5つのタイプの直感的な違いは何ですか?どちらをどのような状況で適用すべきですか?

1
Rの線形SVMから決定境界を取得する方法
線形SVMモデルの方程式を提供できるパッケージが必要です。現在、私はe1071を次のように使用しています: library(e1071) m = svm(data, labels, type='C', kernel='linear', cost=cost, probability=FALSE, scale=scale) w = t(m$coefs) %*% data[m$index,] #Weight vector b = -model$rho #Offset ただし、どのようにしてe1071::svm()ポジティブクラスとネガティブクラスを選択するのかわかりません。そのため、さまざまなデータセットで混乱する可能性があります。この関数がどのクラスがポジティブでどのクラスがネガティブであるかをどのように決定するか誰でも確認できますか? また、これに適したパッケージはありますか?
9 r  svm  e1071 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.