0

現在、R を使用して、ランダム フォレスト回帰を使用して特徴選択を行っています。データを 70:30 に分割したいのですが、これは簡単です。ただし、これを 10 回実行できるようにしたいと考えています。10 回ごとに、前のものとは異なる例のセットが取得されます。

> trainIndex<- createDataPartition(lipids$RT..seconds., p=0.7, list=F)
> lipids.train <- lipids[trainIndex, ]
> lipids.test <- lipids[-trainIndex, ]

これは私が現在行っていることであり、データを 70:30 に分割するのに最適です。しかし、もう一度実行すると、トレーニング セットのデータと同じ 70% のデータが得られ、テスト データのデータの同じ 30% が得られます。これが createDataPartition の仕組みであることは知っていますが、次に実行するときに別の 70% のデータを取得できるようにする方法はありますか?

ありがとう

4

2 に答える 2

2

将来的にはcreateDataPartition、ベースRにないため、使用しているパッケージを含めてください。パッケージを使用していると仮定していcaretます。それが正しければ、times議論は見つかりましたか?

trainIndex<- createDataPartition(lipids$RT..seconds., p=0.7, list=F, times=10)

コメントで述べたように、次のように単純に使用できますsample

sample(seq_along(lipids$RD..seconds), as.integer(0.7 * nrow(lipids)))

またsample、実行されるたびに異なるランダム シードが選択されるため、異なる順序が得られます。

于 2013-11-14T16:43:51.670 に答える