2017-04-18 106 views
0

我正在嘗試frbcs.w函數並使用虹膜數據的示例代碼來訓練和測試數據。我的數據是370評論的10個特徵的得分。所以它是一個10×370的矩陣。我第一次使用R,即使在僅僅採集了與虹膜數據集相似的一部分數據之後,它也是如下所示的顯示和錯誤:無效'ncol'值(<0)R

Error in matrix(nrow = nrow(rule.data.num), ncol = 2 * ncol(rule.data.num) - : invalid 'ncol' value (< 0) 

我的數據集的CSV格式:dataset 我也從我的370條評論點擊這裏加入數據集中的20條點評的樣本:

F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,OUTPUT 
0,0,0,0,0,0,0,0,0,0,high 
0,0.541667,0,0,0,0.455729,0,0,0,0,high 
0,0,0,0,0,0.375,0,0,0,0,high 
0.333333,0,0,0,0,0.575,0,0,0,0,medium 
0.5,0.5,0,0,0,0.333333,0,0,1,0.625,high 
0,0,0,0,0,0.6875,0,0,0,0.875,high 
0,0.125,0,0,0,0.234375,0,0,0,0,medium 
0.375,0,0,0,0,0.5,0,0,0,0,low 
0,0,0,0,0,0,0,0,0,0,low 
0,0,0,0,0,0.244792,0,0,0,0,low 
0.234375,0.875,0,0.234375,0,0.5,0,0,0,0.5,low 
0,0,0,0,0,0.643229,0,0,0,0.25,high 
0,0.40625,1,0,0,0.421875,0,0,0,0,low 
0.875,0.375,1,0,0,0.810547,0,0,0,0.375,high 
0,0,0,0,0,0,0,0,0,0,high 
0,0,0,0,0,0.187798,0,0,0,0.875,low 
1,0,0,0,0,0,0,0,0,0.125,high 
0.0625,0,0.5,0.5,0,0.5,0,0,0.9375,0.833333,medium 
0,0,0,0,0,0.875,0,0,0,0,low 
0,0,0,0.25,0,0,0,0,0,0,high 

的代碼我想的是:

library(frbs) 

ir <- read.csv("Output3.csv") 
set.seed(2) 
irShuffled <- ir[sample(nrow(ir)),] 
irShuffled[,11] <- unclass(irShuffled[,11]) 
tra.ir <- irShuffled[1:300,] 
tst.ir <- irShuffled[301:nrow(irShuffled),1:10] 
real.ir <- matrix(irShuffled[301:nrow(irShuffled),11], ncol = 1) 
range.data.input <- matrix(c(1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), nrow=2) 

method.type <- "FRBCS.W" 
control <- list(num.labels = 7, type.mf = "GAUSSIAN", type.tnorm = "MIN", 
      type.snorm = "MAX", type.implication.func = "ZADEH") 

## Generate fuzzy model 
object <- frbs.learn(tra.ir, range.data.input, method.type, control) 

## Predicting step 
res.test <- predict(object, tst.ir) 

## error calculation 
err = 100*sum(real.ir!=res.test)/nrow(real.ir) 

print("The result: ") 
print(res.test) 
print("FRBCS.W: percentage Error on Ir-") 
print(err) 
+0

您的文章沒有下文取代你的程序[MCVE指引](https://stackoverflow.com/help/mcve)。請包括數據集的一個小部分作爲問題的一部分,而不是鏈接到完整的數據集。 –

+0

根據您的建議,我已經在鏈接中添加了370條評論中的20條評論。 –

回答

0

看看你的range.data.input載體。

> range.data.input 
    [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] 
[1,] 1 1 1 1 1 0 0 0 0  0 
[2,] 1 1 1 1 1 0 0 0 0  0 

range.data.input <- matrix(rep(c(0.0, 1.0), 10), nrow=2) 

> range.data.input 
    [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] 
[1,] 0 0 0 0 0 0 0 0 0  0 
[2,] 1 1 1 1 1 1 1 1 1  1 
+0

謝謝你,先生。代碼現在正在運行,沒有任何錯誤。真的很感激。 –

相關問題