0

72 個の観測値と 592 個の変数のデータ フレーム (df) と 1 つの因子クラス変数 (合計 593​​ 個の変数、つまり、dim(df) = 72 593) があります。最適な k 値の選択に受信者動作特性 (ROC) を使用して、7 つの変数 (クラス変数を含む) を選択する方法を探しています。これらの 7 つの変数をグラフィカル モデルを使用した分析に使用したいのですが、変数を無作為に選択したくありません。選択が統計的に正当化されることを望みます。

私の結果として見たいのは次のようなものです:

変数 V23、V120、V230、V333、V496、V585、V593 は、ROC の最高値に基づいて選択されました。

つまり、高精度の「最良の」予測変数の分類と選択を実行して、これらの変数をグラフィカル モデリングに使用できるようにしたいと考えています。

キャレット パッケージを使用してみましたが、それを操作して他の分析に使用できる高精度の変数 (列) を選択する方法がわかりません。

みんなありがとう。誰かが私を理解したと確信しています。

ありがとう。

クテックス。

4

1 に答える 1

0

私はこのようなことをします:

library(pROC)

#' Select the N top variables with ROC analysis
#' @param response the class variable name
#' @param predictors the variables names from which to select
#' @param data must contain the predictors as columns
#' @param n the number of 
select.top.N.ROC <- function(response, predictors, data, n) {
    n <- min(n, length(predictors))
    aucs <- sapply(predictors, function(predictor) {
        auc(data[[response]], data[[predictor]])
    })
    return(predictors[order(aucs, decreasing=TRUE)][1:n])
}

top.variables <- select.top.N.ROC("class", paste("V", 1:593, sep=""), myDataFrame, 7)
cat(paste("Variables", paste(top.variables, collapse=", "), "were selected based on the highest value of ROC. "))

単変量の特徴選択方法と同様に、追加情報を提供しない 7 つの完全に相関する変数を選択することができるため、V23 を選択するだけで十分です。多変量データセットの場合は、代わりに多変量特徴選択方法の使用を検討する必要があります。

于 2014-01-13T12:28:57.103 に答える