R中的ID分类

R中的ID分类,r,algorithm,classification,random-forest,prediction,R,Algorithm,Classification,Random Forest,Prediction,为了性能起见,我一直在尝试使用randomfrestsrc包在R中进行一些分类 在这种特殊情况下,我有以下示例data.frame,其中Y是分类因子c(“X”、“Y”、“Z”),ID表示项目在同一个包中分组在一起,并且我有其他变量,这些变量将告诉我结果是X、Y还是Z: y ID x1 x2 x3 ... X 01 AA BB CC ... X 01 AA BB DD ... X 01 AA

为了性能起见,我一直在尝试使用
randomfrestsrc
包在R中进行一些分类

在这种特殊情况下,我有以下示例data.frame,其中Y是分类因子c(“X”、“Y”、“Z”),ID表示项目在同一个包中分组在一起,并且我有其他变量,这些变量将告诉我结果是X、Y还是Z:

y    ID    x1    x2    x3    ...

X    01    AA    BB    CC    ...
X    01    AA    BB    DD    ...
X    01    AA    FF    EE    ...
Y    02    AA    BB    CC    ...
Y    02    AA    BB    EE    ...
Z    03    AA    FF    CC    ...
Z    03    AA    FF    EE    ...
...  ...   ...   ...   ...   ...
在训练算法后,它成功地给出了以下结果,每个项目的准确率高达%,但没有按包ID对项目进行分组:

y    ID    x1    x2    x3    ...

Y    01    AA    BB    CC    ...
X    01    AA    BB    DD    ...
Z    01    AA    FF    EE    ...
Y    02    AA    BB    CC    ...
Y    02    AA    BB    EE    ...
Z    03    AA    FF    CC    ...
Z    03    AA    FF    EE    ...
...  ...   ...   ...   ...   ...
包装分类规则应如下所示:

  • 如果至少有一项被归类为X,则整个包装应为X

  • 如果同一包装中只有Y和Z,则该包装应归类为Y

  • 如果包装中只有Z项,则整个包装应归类为Z项

  • 因此,出于分类目的,包装上的重量应为X>Y>Z

    我尝试过摆弄给出给算法的公式,使用的方法如下:

    rf <- rfsrc(y ~ ., data = model, method = "class")
    rf <- rfsrc(y ~ ID %in% (x1+x2+x3+...), data = model, method = "class")
    rf <- rfsrc(y ~ (x1+x2+x3+...) / ID, data = model, method = "class")
    

    rf经过大量研究,我想我找到了我需要的东西

    我已经使用
    重塑
    包对data.frame进行建模,并将一些变量转换为行。如果其他人需要它,以下是我遵循的材料:

    在研究了这些资料和谷歌搜索之后,我想出了以下代码:

    library(reshape)
    
    aux <- melt(myData, id=c('y','ID','x1'))
    
    myData <- as.data.frame(cast(aux, ... ~ variable+value, function(x) { length(x) != 0}))
    
    y    ID    x1    x2_BB    x2_FF    x3_CC    x3_DD    x3_EE    ...
    
    X    01    AA    TRUE     TRUE    TRUE      TRUE     TRUE     ...
    Y    02    AA    TRUE     FALSE   TRUE      FALSE    TRUE     ...
    Z    03    AA    FALSE    TRUE    TRUE      FALSE    TRUE     ...
    ...  ...   ...   ...      ...     ...       ...      ...      ...