2016-04-08 6 views
2

私は予測モデルを構築するためのいくつかの機能選択を行う必要があるプロジェクトに現在取り組んでいます。私はmRMReと呼ばれるRのパッケージにつながった。私はこの例を試してみることにしていますが、それを動作させることはできません。この例はここにあります - http://www.inside-r.org/packages/cran/mRMRe/docs/mRMR.ensemble。ここでRのmRMReを使用して

は私のコードです -

data(cgps) 
data <- data.frame(target=cgps.ic50, cgps.ge) 
mRMR.ensemble(data, 1, rep.int(1, 30)) 

私はこのコードを実行すると、私はエラーを取得する -

Error in .local(.Object, ...) : data must be of type mRMRe.Data. 

私はさらにゴミを掘って、あなたが実際にmRMR.Dataにデータを変換する必要がことがわかりましたタイプ。だから私はこのアップデートをした -

# Update 
data <- mRMR.data(data = data.frame(target=cgps.ic50, cgps.ge)) 
mRMR.ensemble(data, 1, rep.int(1, 30)) 

しかし、私はまだ同じエラーが発生します。私が持っているクラスを見ると -

> class(data) 
[1] "mRMRe.Data" 
attr(,"package") 
[1] "mRMRe" 

したがって、データは要求されたタイプですが、コードはまだ機能していません。

私の質問は、誰かがこのパッケージを使用した経験があるか、または何か助けやコメントをいただければ幸いです!

はまた、リンクからの例であることに注意したい - 私はデータ

cgps_ic50 -> cgps.ic50 
cgps_ge -> cgps.ge 

をロードするときにデータの名称は一例では同じと同じではありません。あなたが書いたコードで

+0

'cgps_ge'と' cgps_ic50'は「オブジェクトが見つかりません」というエラーをスローします。あなたのコードと同じエラーが表示されますが、パッケージドキュメントのサンプルコードを実行してもエラーは発生しません。あなたは「マニュアルを読んでいない」と私に尋ねます。 –

答えて

5

data(cgps) 
data <- mRMR.data(data = data.frame(target=cgps.ic50, cgps.ge)) 
mRMR.ensemble(data, 1, rep.int(1, 30)) 

機能mRMR.ensembleは、最初のパラメータとしてデータを取得しているが、この機能のデフォルトの最初のパラメータはsolution_countです。

data(cgps) 
data <- mRMR.data(data = data.frame(target=cgps.ic50, cgps.ge)) 
mRMR.ensemble(data = data, target_indices = 1, 
       feature_count = 30, solution_count = 1) 

target_indicesは、元data.frame中の位置です:

は、私はその一例を実行するあなたの意図は非常にこれを試して古典mRMR特徴選択アルゴリズムを使用して30の関連および非冗長機能を見つけていることを理解します(この問題の相関または他の品質基準)を最大にするために使用されるフィーチャのうち、最後に選択されたフィーチャは、target_indicesに示されるフィーチャを説明するのに適しています。 たとえば、分類問題では、クラス変数の位置をtarget_indicesパラメータの値として選択します。

feature_countパラメータは、選択する変数の数を示します。

solution_countは、従来のmRMRのパラメータではありません。最終的なフィーチャ選択を得るためにアンサンブルされるmRMRアルゴリズムの数を示します。したがって、1に設定すると、古典的なmRMRは1つのみ実行されます。

関連する問題