本文共 2145 字,大约阅读时间需要 7 分钟。
测量模型如何执行特定数据的过程称为评估确保模型能推广到可能遇到的数据的过程称为验证连续指标评估标准(针对连续的、分类的数据) 均方误差(MSE):所有误差的平方的平均值 ,对异常值比较敏感 平均绝对误差(MAE):所有误差绝对值的平均值 决定系数R方:预测值中所捕获的观察值的方差所占比例 R方是一个百分比,越大越好
```gorSquared := stat.RSquaredFrom(observerd,preval,nil)
分类指标评估标准 分类标量的个体评估指标 真阳性 :预测与观测一致 假阳性:预测与观测不一致 真阴性:预测不会实际也不会 假阴性:预测不会实际却是 TP-将正预测为真,FN-将正预测为假,FP-将反预测为真,TN-将反预测为假 准确度:预测正确的百分比 tp + tn /tp+ fn + fp + tn 精确度:阳性预测中实际阳性的比率 tp /tp+fp 召回率:阳性预测中被标注为阳性的比率 tp/tp +fn 混淆矩阵 一个混淆矩阵可以可视化二维形式预测各种 TN TP FP FN 数值。混淆矩阵行对应期望预测的种类,列对应实际预测的种类,每个元素的值对应的数量 混淆矩阵也叫精度矩阵,是用来表示精度评价,为N *N的矩阵,用来判别分类好坏的指标 曲线下面积(AUC) 接收者操作特征(ROC) ROC曲线中使用的阙值代表用于划分不同分类的边界或者等级 stat下有函数
func ROC(n int, y []float6 4, classes []bool , weights []float64) (tpr, fpr []float64)
```gotpr , fpr := stat . ROC(O, scores , classes , nil)
ROC曲线重点了解下这几个节点: (0,1)点:代表FPR=0,TPR=1; 最好的情况,所有正样本都被正确的预测了,并且没有负样本被人为是正样本。 (1,0)点:代表FPR=1,TPR=0;最坏的情况,表明所有的正样本都被错误的认为是负样本 (0,0)点:代表FPR=0,TPR=0;分类器将所有的样本都判定为负样本 (1,1)点:代表FPR=1,TPR=1;分类器将所有的样本都判定为正样本
3.2验证
过拟合:训练数据预测很好,新的数据预测则不好 防止过拟合的方法 一部分数据集上训练或你和模型,另一部分数据集上测试或评估模型训练集与测试集的划分
func main() { irisFile, err := os.Open("D:/gocode/iris.csv") if err != nil { log.Fatal(err) } defer irisFile.Close() irisDF := dataframe.ReadCSV(irisFile) // 划分训练集与测试 8 2 分 trainNum := (4 * irisDF.Nrow()) / 5 testNum := irisDF.Nrow() / 5 if trainNum+testNum < irisDF.Nrow() { trainNum++ } trainIdx := make([]int, trainNum) testIdx := make([]int, testNum) for i := 0; i < trainNum; i++ { trainIdx[i] = i } for i := 0; i < testNum; i++ { testIdx[i] = i } // 创建数据集 trainDF := irisDF.Subset(trainIdx) testDF := irisDF.Subset(testIdx) setMap := map[int]dataframe.DataFrame{ 0: trainDF, 1: testDF, } for idx, setName := range []string{ "train.csv", "test.csv"} { f, err := os.Create(setName) if err != nil { log.Fatal(err) } w := bufio.NewWriter(f) if err := setMap[idx].WriteCSV(w); err != nil { log.Fatal(err) } }} 3.2.2保留集(验证集、分割集) 用于在完成模型训练、模型调整和测试数据集
上获得可接受的性能之后验证
3.2.3交叉验证 将数据集随机分成k份,然后应用到不同的训练和测试组合中去 github.com/sjwhitworth/golearn/evaluattion包下有交叉验证的函数
evaluation . GenerateCrossFoldValidationConfusionMatrices()
转载地址:http://cgydi.baihongyu.com/