您的位置:首页 > 其它

说说那些机器学习中的性能度量方式

2017-02-22 20:49 183 查看

说说那些机器学习中的性能度量方式

主要分为两类问题

- * 分类问题 *

- * 回归问题 *

一、回归问题

在回归问题中,最常用的性能度量方式是: 最小均方误差

1msumni=0(f(xi)−yi)2

更一般的,对于数据集D 和概率密度p ,均方误差可以描述为:

1m∫i−D(f(x)−y)2p(x)

二、分类

在分类问题中,使用的性能度量主要有以下几种:

- 准确率

- 召回率

- F1度量

主要利用混淆矩阵

预测
真实
TPFN
FPTN
准确率=TPTP+FP

召回率=TPTP+FN

F1=2TP2TP+FN+FP

在sklearn 中的用法主要使用sklearn 中的cross_validation 模块中的cross_val_score方法

# -*-coding:utf-8 -*-

import pandas as pd
import numpy as np
from sklearn.cross_validation import train_test_split
from sklearn.cross_validation import cross_val_score
from sklearn import  datasets
from sklearn import svm
iris = datasets.load_iris()
xtrain,xtest,ytrain,ytest=train_test_split(iris.data,iris.target,test_size=0.4,random_state=0)
clf = svm.SVC(kernel='linear',C=1).fit(xtrain,ytrain)
print clf.score(xtest,ytest)

print cross_val_score(clf,iris.data,iris.target,cv=5,scoring='precision_macro')
print cross_val_score(clf,iris.data,iris.target,cv=5,scoring='recall_macro')
print cross_val_score(clf,iris.data,iris.target,cv=5,scoring='f1_macro')


输出 结果为:

0.966666666667
[ 0.96969697  1.          0.96969697  0.96969697  1.        ]
[ 0.96666667  1.          0.96666667  0.96666667  1.        ]
[ 0.96658312  1.          0.96658312  0.96658312  1.        ]


ROC、AUC

先占个坑。。有时间把他补全
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: