DC综合后的VCS后仿真命令怎么写,需要添加哪些库
library(rpart);
## rpart.control对树进行一些设置
## xval是10折交叉验证
## minsplit是最小分支节点数,这里指大于等于20,那么该节点会继续分划下去,否则停止
## minbucket:叶子节点最小样本数
## maxdepth:树的深度
## cp全称为complexity parameter,指某个点的复杂度,对每一步拆分,模型的拟合优度必须提高的程度
ct <- rpart.control(xval=10, minsplit=20, cp=0.1)
## kyphosis是rpart这个包自带的迅伍数据集
## na.action:缺失数据的处理办法,默认为删除因变量缺失的观测而保留自变量缺失的观测。
## method:树的末端数据类型选择相应的变量分割方法:
## 连续性method=“anova”,离散型method=“class”,计数型method=“poisson”,生存分析型method=“exp”
## parms用来设置三个参数:先验概率、损失矩阵、分类纯度的度量方法(gini和information)
## cost我觉得是损失矩阵,在剪枝的时候,叶子节点的加权误差与父节点的误差进行比较,考虑损失矩阵的时候,从将“减少-误差”调整为“减少-损失”
fit <- rpart(Kyphosis~Age + Number + Start,
data=kyphosis, method=class,control=ct,
parms = list(prior = c(0.65,0.35), split = information));
## 第一种
par(mfrow=c(1,3));
plot(fit);
text(fit,use.n=T,all=T,cex=0.9);
## 第二种,这种会更漂好樱亮一些
library(rpart.plot);
rpart.plot(fit, branch=1, branch.type=2, type=1, extra=102,
shadow.col=gray, box.col=green,
border.col=blue, split.col=red,
split.cex=1.2, main=Kyphosis决策树);
## rpart包提供了复杂度损失修剪的修剪方法,printcp会告诉分裂到每一层,cp是多少,平均相对误差是多少
## 交叉验证的估计误差(“xerror”列),以及标准误差(“xstd”列),平均相对误差=xerror±xstd
printcp(fit);
## 通过上面的分析来确定cp的值
## 我们可以用下面的办法选择具有最小xerror的cp的办法:
## prune(fit, cp= fit$cptable[which.min(fit$cptable[,xerror]),CP])
fit2 <- prune(fit, cp=0.01);
rpart.plot(fit2, branch=1, branch.type=2, type=1, extra=102,
shadow.col=gray友昌丛, box.col=green,
border.col=blue, split.col=red,
split.cex=1.2, main=Kyphosis决策树);
如何评价 JetBrains 的新 C/C++ IDE CLion
非常好的智能感知功能,自动折叠、高亮、自动补全、类型推断都很好。
Autofix工作的很好。
重构很方便,像inline函数、extract成员函数、常数,pull up/pull down、修改签名这些功能都有。
调试功能很方便,可以自动解析STL容器。
继承了jetbrains系ide的很多优点,像方便的vim插件和keymap调整,滚动条预览,与VCS的紧密集成等等。
跨平台,支持CMake/gcc/clang/mingw/cygwin/gdb。虽然不多,但是其实基本上也够用了。
简洁,没有额外的抽象层,你直接通过控制CMakeLists/CMakeCache来控制项目的编译。这样无需虚雹皮额外学习一遍IDE项目相关的概念,而且省去了VS+CMake时每改一次CMakeLists就要generate一次solution的麻烦。
很快,当然我也没有导入很大很大的项目,不知道结局是什么样。
当然,今天的CLion还有很多缺点,比如说一以贯之的吃内存(随便打开个项目吃掉1G很正常)、比如说还不支持lldb、不支持远程开发调试、不支持makefile/autotools项差差目、没有测试框架支持。最大的问题就是,在处理大项目的时候,CLion的性能能跟得上吗?
不考虑这些因素,CLion是一个很好用的ide。设计合理简洁、核心功能完成的很出色。而像我开篇就说的,能满足这个条件的C/C++ IDE几乎没有。在使用开源工具链的场景下,CLion是第一个让我有理由考虑代替vim的C/C++ IDE.
而这只是一个1.0版本,考虑到JetBrains的一贯水准肆扰,CLion的未来值得期待。
- 相关评论
- 我要评论
-