1.R语言中有许多函数可以对矩阵进行各种操作,如:
diag(矩阵):将矩阵的主对角元素提取出来,组成一个向量
t(矩阵):获得矩阵的转置矩阵
solve(矩阵):求得矩阵的逆矩阵
eigem(矩阵):求得矩阵的特征值和特征向量
2.mode(对象),length(对象)分别用来获得对象的模式和其长度
3.gl(因子个数,重复个数,labels=c(...)):生成相应因子的序列,如:
gl(2,2,labels=c("female","male")):female female male male
nlevels(a):获得序列a的类别个数 levels(a):结果为向量,向量的值为序列a的类别
4.a %in% :判断元素a是否在对象A中,结果为Boolean类型
5.dim(向量)<c(行,列):将向量转化为一个指定行和指定列的矩阵 cat(aaa):将aaa输出到屏幕上
6.处理缺失值的其他方法:
用变量的中心趋势值来替代缺失值即NA值:替代后的数据集<-centralImputation(原数据集)
用相似观测值来替代含有缺失值的数据集:替代后的数据集<-knnImputation(原数据集)
7.之前提到过可以用线性回归模型lm()方法来进行预测,除此之外,回归树也可以进行预测,其基本分析步骤如下:
a1<-rpart(A~B+C+D,data=数据集...)
prettyTree(a1):展现回归树
此后,顺着回归树根据预测条件就能得到预测结果
printcp(a1):打印回归树,结果中cp值分别是树中从上至下,从左至右的节点的cp值
a2<-prune(a1,cp=m):对回归树进行剪枝,去掉那些cp值小于m的节点
比较线性回归模型和回归树模型:
首先通过predict(模型,数据集,...)得到两个模型各自的的预测数据,接着两个模型分别调用regr.eval(真实数据,预测数据,...),最后哪个模型的regr.eval()结果中的nmse值更小,哪个模型的预测效果更佳
总而言之,无论是利用线性回归模型还是回归树模型进行预测,基本可以按照如下步骤进行:
处理数据集中的缺失值:knnImputation(...)
选择预测模型,包括调整模型,比较模型等
进行预测:predict(...)