小编Str*_*keR的帖子

如何在R的randomForest中使用classwt?

我有一个高度不平衡的数据集,目标类实例的比例如下(编辑:) 60000:1000:1000:1000 60000:1000:1000:50(即总共4个类).我想用它randomForest来预测目标类.

因此,为了减少类不平衡,我使用sampsize参数,将其设置为(编辑:) 和其他一些值,但没有太多使用它.实际上,虽然其他级别预测的改进非常微小,但是在我玩的时候,第一类的准确性有所下降.c(5000, 1000, 1000, 50) sampsizerandomForest()

虽然挖通过档案,我遇到的两个特点strata,这是classwt和classwt那些用于胶印级的不平衡问题.

所有文件classwt都是旧的(通常属于2007年,2008年),所有文件都建议不要使用包的randomForest功能,因为它没有完全实现其完整的功能.所以,第一个问题是:是现在完全在实施的R包?如果是,传递给参数的是什么?(假设目标变量中有4个类的上述情况)Rfortranclasswt
randomForestc(1, 10, 10, 10)classwtsampsize

据说抵消类不平衡问题的另一个论点是分层抽样,它总是与之结合使用sampsize.我理解strata文档中的内容,但是没有足够的文档或示例可以清楚地了解strata用于克服类不平衡问题.所以,第二个问题是:
什么类型的参数都将被传递给randomForest在60000:1000:1000:50?它代表什么?

我想在问题中没有明确提到的单词权重应该在答案中起主要作用.

r random-forest

25
推荐指数
1
解决办法
2万
查看次数

如何在R中执行词形还原?

这个问题可能是R或python中的Lemmatizer的复制品(am,are,is - > be?),但是我再次添加它,因为前一个关闭它说它太宽泛而且它唯一的答案不是高效(因为它为此访问一个外部网站,这太慢了,因为我有非常大的语料库来找到lemmas).因此,这个问题的一部分将与上述问题类似.

根据维基百科,词形还原定义为:

语言学中的Lemmatisation(或词形还原)是将单词的不同变形形式组合在一起的过程,以便将它们作为单个项目进行分析.

一个简单的谷歌搜索R中的词形还原只会指向R 的包wordnet.当我尝试这个包期望c("run", "ran", "running")输入到词形化函数的字符向量时c("run", "run", "run"),我看到这个包只提供类似grepl功能的功能通过各种过滤器名字和字典.

wordnet包中的示例代码,最多提供以"car"开头的5个单词,因为过滤器名称解释了自己:

filter <- getTermFilter("StartsWithFilter", "car", TRUE)
terms <- getIndexTerms("NOUN", 5, filter)
sapply(terms, getLemma)
Run Code Online (Sandbox Code Playgroud)

以上不是我正在寻找的词形还原.我正在寻找的是,使用R我想找到的话,真正的根源:(对于例如,从c("run", "ran", "running")到c("run", "run", "run")).

nlp r lemmatization

20
推荐指数
3
解决办法
2万
查看次数

如何读取R中的MNIST数据库?

我目前正在研究一个案例研究,我需要在MNIST数据库上工作.
该站点中的文件称为IDX文件格式.我尝试使用基本的文本编辑器(如记事本和wordpad)来查看这些文件,但没有运气.
期待它们将采用高端格式,我尝试了以下方法:

to.read = file("t10k-images.idx3-ubyte", "rb")
readBin(to.read, integer(), n=100, endian = "high")
Run Code Online (Sandbox Code Playgroud)

我得到了一些数字作为输出,但没有一个对我有任何意义.

任何人都可以解释如何读取R中的MNIST数据库文件以及如何解释这些数字?谢谢.

database file-io r

11
推荐指数
2
解决办法
1万
查看次数

如何在R中使用e1071包的'svm'进行多类分类

我想使用package 的svm功能执行多类分类e1071.但是从我从文档中了解到的svm,它只能执行二进制分类.vignettes文档告诉它多类分类:" 为了允许多类分类,libsvm通过拟合所有二元子分类器并通过投票机制找到正确的类来使用一对一技术 ".
我仍然不明白的是,如果我们可以进行多级分类svm的e1071R中?如果是,请解释我们如何在iris数据集上完成.

r classification svm libsvm

11
推荐指数
1
解决办法
2万
查看次数

R中有序和无序因子变量之间的差异

我一直在尝试找到R 中ordered无序factor变量和无序变量之间的区别。尤其是文档中的这一行?factor让我感到困惑:

Ordered factors differ from factors only in their class, but methods and
the model-fitting functions treat the two classes quite differently.
Run Code Online (Sandbox Code Playgroud)

我最接近找到答案的是从这三个问题的答案:

  1. 因子排序与水平
  2. 对分类变量进行排序是否有优势?
  3. R 中的 factor() 命令仅用于具有层次结构级别的分类变量?

在对上述第一个问题的回答中,@joran说“统计差异的详细总结可能超出了 StackOverflow 回答的范围。”

我不是在这里寻找详细的总结,但是谁能给出一个小而简单的例子来演示在方法和模型拟合函数中使用时ordered无序和无序的factor区别?

r

5
推荐指数
1
解决办法
1万
查看次数

R中使用'neuralnet'时出现意外输出

我正在使用neuralnet包R来预测手写数字.MNIST数据库用于训练和测试该算法.这是R我使用的代码:

# Importing the data into R
path <- "path_to_data_folder/MNIST_database_of_handwritten_digits/"  # Data can be downloaded from: http://yann.lecun.com/exdb/mnist/
to.read = file(paste0(path, "train-images-idx3-ubyte"), "rb")
to.read_Label = file(paste0(path, "train-labels-idx1-ubyte"), "rb")
magicNumber <- readBin(to.read, integer(), n=1, endian="big")
magicNumber_Label <- readBin(to.read_Label, integer(), n=1, endian="big")
numberOfImages <- readBin(to.read, integer(), n=1, endian="big")
numberOfImages_Label <- readBin(to.read_Label, integer(), n=1, endian="big")
rowPixels <- readBin(to.read, integer(), n=1, endian="big")
columnPixels <- readBin(to.read, integer(), n=1, endian="big")

# image(1:rowPixels, 1:columnPixels, matrix(readBin(to.read, integer(), n=(rowPixels*columnPixels), size=1, endian="big"), rowPixels, …
Run Code Online (Sandbox Code Playgroud)

r neural-network

2
推荐指数
1
解决办法
5439
查看次数

在R中以指定的间隔分割字符向量

我有一些特定格式的句子,我需要定期拆分它们.
句子看起来像这样

"abxyzpqrst34245"
"mndeflmnop6346781"
Run Code Online (Sandbox Code Playgroud)

我想在以下字符之后拆分这些句子:c(2,5,10),以便输出为:

[1] c("ab", "xyz", "pqrst", "34245")
[2] c("mn", "def", "lmnop", "6346781")
Run Code Online (Sandbox Code Playgroud)

注意:第3次拆分后的数字字符具有可变长度,其中前面的数字字符具有固定长度.

我尝试使用cut,但它只适用于整数向量.
我看了看split,但我不确定它是否有效.
所以,我最后substr分开将每个句子分开,如下所示:

substr("abxyzpqrst34245", 1,2)
[1] "ab"
substr("abxyzpqrst34245", 3,5)
[1] "xyz"
substr("abxyzpqrst34245", 6,10)
[1] "pqrst"
substr("abxyzpqrst34245", 11,10000)
[1] "34245"
Run Code Online (Sandbox Code Playgroud)

我正在使用这个漫长的过程来分割这些字符串.有没有更简单的方法来实现这种分裂?

split r

1
推荐指数
1
解决办法
161
查看次数