小伙伴们,今天我们学习R语言-数据分析及建模(第1节)分类与预测问题简介
01-分类与预测问题简介
◆分类和预测是预测问题的两种主要类型,分类主要是预测分类标号(离散属性) ,而预测主要是建立连续值函数模型,预测给定自变量对应的因变量的值。
◆分类是构造一个分类模型,输入样本的属性值,输出对应的类别,将每个样本映射到预先定义好的类别。分类模型建立在已有类标记的数据集上,模型在已有样本上的准确率可以方便的计算,分类属于有监督的学习。
◆预测是建立两种或两种以上变量间相互依赖的函数模型,然后进行预测或控制。
◆分类算法分为两步:
▷第一步是学习步,通过归纳分析训练样本集来建立分类模型得到分类规则;
▷第二步是分类步,先用已知的测试样本集评估分类规则的准确率,如果准确率是可以接受的,则使用该模型对未知标号的待测样本集进行预测。
▷预测模型同分类模型类似第一步是通过训练集建立预测属性(数值型)的函数模型;第二步在模型通过检验后进行预测或控制。
02 - 常用的分类与预测算法及函数简介
◆主要的分类与预测算法:
◆主要的函数:
Im
功能:拟合线性模型
使用格式:Im(formula,data)
其中, formula指要拟合的模型形式, data是一个数据框,包含用于拟合模型的数据。
glm
功能:拟合计算广义线性模型
使用格式:
glm(formula,family=family.generator,data=data.frame)
其中, formula是拟合公式,这里的意义与线性模型相同, family是分布族,如正态分布、Poisson分布、二项分布等。对于每个分布族(family),提供了相应的连接函数。
step
功能:逐步回归模型,用于变量选择
使用格式:step(model,direction)
其中, model是目标模型, direction:backward表示向后剔除, forward表示向前引入, both表示综合两种方法
ctree
功能:创建决策树模型
使用格式:ctree(formula, data)
其中, formula是描述预测变量和响应变量的公式;data是所使用的数据集的名称。
nnet
功能:构建一个人工识别神经网络,主要用来建立单隐藏层的前馈人工神经网络模型。
使用格式:nnet(formula,data, ...,size,decay,maxit)
formula为建立模型的公式, data为训练集, size代表的是隐藏层中的节点个数, decay是指模型权重值的衰减程度,maxit控制的是模型的最大迭代次数。
NaiveBayes
功能:构建一个朴素贝叶斯分类器
使用格式: NaiveBayes (formula, data, ..., na.omit)
formula指根据数据的属性数据X以及每个记录对应的类别数据y构建一个公式;data是指模型对应的数据集, na.omit指自动删除含有缺失值的观测样本。
svm
功能:构建一个支持向量机模型
使用格式:svm(formula,data, ..., type,kernel)
formula为建立模型的公式, data为训练数据集, type是指建立模型的类别。type可取的值有:C-classification,nu-classification, one-classification, eps-regression, nu-regression,在这5种类型中,前三种是针对字符型结果变量的分类方式,后两种则是针对数量结果变量的分类方式。Kernel参数有4个可选核函数,分别为线性、多项式、径向基、神经网络核函数。
03- 分类与预测算法评价指标简介
1.平均绝对误差MAE
平均绝对误差(MAE, Mean Absolute Error) ,或被称为L1范数损失,作为评估指标来说现在用得比较少。
2.均方误差MSE
均方误差(MSE, Mean Squared Error) ,是我们最常用的性能评估指标。实际上,均方误差其实就是求得我们模型预测值和实际值的偏差,因此模型的均方误差越小越好。
3.均方根误差RMSE
均方根误差(RMSE, Root Mean Squared Error) ,均方误差的开方,也是经常使用的模型评估指标。从MAE, MSE、再到RMSE,都是衡量我们模型预测与实际偏差的度量,直观地来说,以上的指标越小越好。但上述指标有一个问题是,这是一个“比较型”的指标,也即是通过均方误差,我们可以知道哪个模型的偏差最小,但是我们并不知道这个模型是否足够的好,而且这个指标的大小明显和数据的数量级有关系。
04 - 模型评价常用指标
实际客户影响情况TrueTP (真正例),FN(假反例),FalseFP(假正例) ,TN (真反例)对于模型评估,常用的指标:
(1)模型准确率(Accuracy)
(2)模型精确(查准)率(Precision)
(3)模型反馈(查全)率(Recall)
(4) 混淆矩阵
(5) ROC与AUC
一个典型的ROC曲线如图所示,其中图上的对角线对应于随机猜测结果,曲线下面积越大,代表模型效果越好,显然如果模型A的ROC曲线完全包住另一个模型B的ROC曲线,我们可以说模型A的分类效果要优于模型B。最理想的模型是曲线直接去到(0,1)这个点,此时曲线下面积达到最大,为1比较客观的比较方法同样可以使用面积, ROC曲线下的面积越大,说明模型的分类效果越好,我们把ROC曲线下的面积称之为AUC (Area Under ROC Curve)。
☆ END ☆
下期内容
R语言--回归分析