python - sklearn 用户的 R 插入符号

标签 python r machine-learning scikit-learn

在过去的几年里,我一直使用 sklearn 进行机器学习建模,并且逐渐习惯了这个看起来非常合乎逻辑且有凝聚力的框架:

from sklearn.ensemble import RandomForestClassifier

# define a model
clf = RandomForestClassifier()

# fit the model to data
clf.fit(X,y)

#make prediction on a test set
preds = clf.predict_proba(X_test)[:,1]

我现在正在尝试学习一些 R,并且想要开始做一些我在 sklearn 中做的相同事情。从 sklearn 世界中您注意到的第一件事是包之间的不同语法。这是可以理解的,但有点不方便。 caret 似乎是解决该问题的一个很好的解决方案,它在所有不同的 R 包(即 randomForest、gbm 等)之间创建了内聚力。 尽管我仍然对一些默认选择感到困惑(即 train() 方法似乎默认为某种网格搜索)。另外,caret 似乎在幕后使用 plyr,这会搞乱一些 dplyr 方法,例如 summarise。由于我使用 dplyr 进行大量数据操作,这是一个问题。 你能帮我弄清楚 sklearn 的 model/fit/predict_proba 的插入符号相当于什么吗?另外,有没有办法解决plyr/dplyr问题?

最佳答案

与在 caret 库中进行预测的等效操作是更改 ?predict.train 中的类型。应改为:

predict(model, data, type="prob")

如果您想混合使用 dplyr/plyr,那么显式调用它的最简单方法是:

dplyr::summarise

plyr::summarise

如果您已经尝试使用 predict(..., type="prob") 并出现了一个您不理解并放弃的奇怪错误,我建议您阅读在此线程中:Predicting Probabilities for GBM with caret library

关于python - sklearn 用户的 R 插入符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27591655/

相关文章:

r - left_join 表示列不存在,即使它存在

python - 将元组转换为整数

python - 在 python 中导入 csv 文件时出现 Unicode 错误?

python - 是否可以使用 aiohttp 运行多个 gunicorn worker?

machine-learning - 监督文本评分

machine-learning - Pipeline 的最后一步应该实现 fit 或者是字符串 'passthrough'

machine-learning - 像 yolo 这样的深度学习模型的损失函数 "good"值是多少?

python - Flask、Postman 和 Mysql 多字段插入问题

使用 SpatRaster 周围的缓冲区对 SpatVect(点)进行栅格化

xml - 无法将软件包XML安装到R