2016-01-29 58 views
0

我有一個分類任務,我在幾秒鐘內使用LDA(「classif.lda」)與mlr包進行了培訓。但是,當我使用「classif.rpart」訓練時,訓練永不結束。帶rpart的mlr分類培訓未完成

對於不同的方法是否有不同的設置?

我的培訓數據here如果需要複製問題。我試圖用

pred.bin.task <- makeClassifTask(id="CountyCrime", data=dftrain, target="count.bins") 
train("classif.rpart", pred.bin.task) 

回答

0

一般簡單地訓練它,你並不需要改變有關安裝任何東西交換學生時 - 的mlr要點之一就是使這個容易!這並不意味着它會一直工作,因爲不同的學習方法會在不同的環境下做不同的事情。

看起來在這種特殊情況下,模型只需要很長時間來訓練,所以您可能沒有等待足夠長的時間來完成。你有相當大的數據幀。

看着你的數據,你似乎有一個在count.bins值的區間。這被認爲是R的一個因素(即如果字符串完全匹配,間隔只是相同的),這可能不是你想要的。您可以將開始和結束編碼爲單獨的(數字)特徵。

+0

謝謝拉爾斯的迴應。我不認爲這是因爲我沒有等待足夠長的時間,因爲正如我提到的那樣,它在幾秒鐘內完成了,我等了一個小時的時間。 我運行了一個類似的數據集(大一點,我放在這裏的是一個子集),並且在lda之後的幾秒鐘內完成了光標和rpart,所以我沒有想到它會在mlr上有這麼大的時間差。 ld在mlr上的速度比在ld上的速度快。 – Ricky

+0

嗯,有趣。我試圖直接運行'rpart',這也需要很長時間。你究竟做了什麼呢?我用默認參數試過了,它確實很快完成了,但它在內部對數據進行二次抽樣,所以模型在較小的子集上進行訓練。 –

+0

非常有趣。我沒有直接嘗試'rpart'的訓練,現在我試過了,它需要很長時間(我停止了它),但它在'caret'中仍然很快。 我訓練插入符與'插入符號::列車(count.bins〜,數據= dftrain,方法= 「rpart包」,trControl = fitControl。)' 其中 'fitControl < - trainControl( 方法= 「repeatedcv」 , number = 5, repeats = 3, returnData = FALSE, verboseIter = TRUE )' – Ricky