summary.mlModel:Microsoft R 机器学习模型的摘要。
Microsoft R 机器学习模型的摘要。
用法
## S3 method for class `mlModel':
summary (object, top = 20, ...)
参数
object
从 MicrosoftML 分析返回的模型对象。
top
指定线性模型(如 rxLogisticRegression 和 rxFastLinear)摘要中要显示的顶部系数的计数。 偏差首先出现,后跟其他权重,按其绝对值降序排序。 如果设置为 NULL
,则显示所有非零系数。 否则,只显示第一个 top
系数。
...
要传递给 summary 方法的其他参数。
详细信息
提供有关原始函数调用、
用于训练模型的数据集以及模型中系数的统计信息的摘要信息。
值
MicrosoftML 分析对象的 summary
方法返回一个列表,其中包含原始函数调用和所使用的基础参数。 coef
方法返回权重的命名向量,并处理模型对象的信息。
对于 rxLogisticRegression,当 showTrainingStats
设置为 TRUE
时,摘要中也可能包含以下统计信息。
training.size
用于训练模型的数据集的大小(以行计数表示)。
deviance
模型偏差由 -2 * ln(L)
提供,其中 L
是在模型中包含所有特征的情况下获得观测值的可能性。
null.deviance
null 偏差由 -2 * ln(L0)
提供,其中 L0
是在不受特征影响的情况下获得观测值的可能性。 如果模型中有偏差,则 null 模型包括偏差。
aic
AIC(赤池信息量准则)定义为 2 * k ``+ deviance
,其中 k
是模型系数的数量。 偏差算作系数之一。 AIC 是模型相对质量的度量值。 它处理模型拟合优度(以偏差衡量)和模型复杂度(以系数的数量衡量)之间的权衡。
coefficients.stats
这是一个包含模型中每个系数的统计信息的数据帧。 对于每个系数,将显示以下统计信息。 偏差出现在第一行,其余系数按 p 值升序显示。
- 估计:模型的估计系数值。
- 标准误差:这是系数估计的大样本方差的平方根。
- z 评分:我们可以通过计算估计值与标准误差的比率来检验关于系数的基数的 null 假设,该假设指出系数应为零。 在 null 假设下,如果没有应用正则化,相关系数的估计值遵循均值为 0 且标准偏差等于上面计算得出的标准误差的正态分布。 z 分数输出系数的估计值与系数的标准误差之间的比率。
- Pr(>|z|):这是 z 分数的双面测试的相应 p 值。 根据显著性级别,将一个显著性指标追加到 p 值。 如果
F(x)
是标准正态分布N(0, 1)
的 CDF,则P(>|z|) = 2 - ``2 * F(|z|)
。
作者
Microsoft Corporation Microsoft Technical Support
另请参阅
rxFastTrees、rxFastForest、rxFastLinear、rxOneClassSvm、rxNeuralNet、rxLogisticRegression。
示例
# Estimate a logistic regression model
logitModel <- rxLogisticRegression(isCase ~ age + parity + education + spontaneous + induced,
transforms = list(isCase = case == 1),
data = infert)
# Print a summary of the model
summary(logitModel)
# Score to a data frame
scoreDF <- rxPredict(logitModel, data = infert,
extraVarsToWrite = "isCase")
# Compute and plot the Radio Operator Curve and AUC
roc1 <- rxRoc(actualVarName = "isCase", predVarNames = "Probability", data = scoreDF)
plot(roc1)
rxAuc(roc1)
#######################################################################################
# Multi-class logistic regression
testObs <- rnorm(nrow(iris)) > 0
testIris <- iris[testObs,]
trainIris <- iris[!testObs,]
multiLogit <- rxLogisticRegression(
formula = Species~Sepal.Length + Sepal.Width + Petal.Length + Petal.Width,
type = "multiClass", data = trainIris)
# Score the model
scoreMultiDF <- rxPredict(multiLogit, data = testIris,
extraVarsToWrite = "Species")
# Print the first rows of the data frame with scores
head(scoreMultiDF)
# Look at confusion matrix
table(scoreMultiDF$Species, scoreMultiDF$PredictedLabel)
# Look at the observations with incorrect predictions
badPrediction = scoreMultiDF$Species != scoreMultiDF$PredictedLabel
scoreMultiDF[badPrediction,]