sklearn的评估方法

1. sklearn.metrics.accuracy_score(y_true,y_pred,*,normalize=True,sample_weight=None)

其中,y_true表示真实标签;y_pred表示预测的标签;normalize表示是否对结果进行归一化处理;sample_weight表示样本的权重。

二分类的计算方式:

from sklearn.metrics import accuracy_score
y_pred = [0, 2, 1, 3]
y_true = [0, 1, 2, 3]
accuracy_score(y_true, y_pred):0.5
accuracy_score(y_true, y_pred, normalize=False):2

多标签的计算方式:

import numpy as np
accuracy_score(np.array([[0, 1], [1, 1]]), np.ones((2, 2))):0.5

其中,y_true和y_pred都表示成0,1的形式。

2. sklearn.metrics.f1_score(y_true,y_pred,*,labels=None,pos_label=1,average='binary',sample_weight=None,zero_division='warn')

其中,y_true表示真实标签;y_pred表示预测的标签;

labels表示要计算哪些类别的F1值。

average对于多分类和多标签是必须的,有{'micro’, ‘macro’, ‘samples’,’weighted’, ‘binary','None'}六个类型,

其中'None'表示返回每个类别的分数;

'binary'表示返回指定pos_label的类结果,仅适用于二分类情况;

'micro’表示通过计算总的真阳性、假阴性和假阳性来全局计算指标;

'macro’表示每个类别的指标,并计算他们未加权的平均值;

'weighted’计算每个类别的指标,并计算加权的平均值;能够一定程度解决'macro'类别不平衡的问题;

'samples’表示计算每个实例的指标,并计算平均值;

zero_division表示当出现除数为零的情况

不同average

from sklearn.metrics import f1_score
y_true = [0, 1, 2, 0, 1, 2]
y_pred = [0, 2, 1, 0, 0, 1]
f1_score(y_true, y_pred, average='macro'):0.26
f1_score(y_true, y_pred, average='micro'):0.33
f1_score(y_true, y_pred, average='weighted'):0.26
f1_score(y_true, y_pred, average=None):array([0.8, 0. , 0. ])
y_true = [0, 0, 0, 0, 0, 0]
y_pred = [0, 0, 0, 0, 0, 0]
f1_score(y_true, y_pred, zero_division=1):1.0

多标签

y_true = [[0, 0, 0], [1, 1, 1], [0, 1, 1]]
y_pred = [[0, 0, 0], [1, 1, 1], [1, 1, 0]]
f1_score(y_true, y_pred, average=None):array([0.66666667, 1.        , 0.66666667])

labels:计算指定类别的值

metrics.f1_score(y_true, y_pred, labels=[1, 2], average='micro'):0.0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
sklearn库是一个基于Python的第三方模块,它集成了许多常用的机器学习方法,可以帮助我们完成各种机器学习任务。下面是一些常用的sklearn方法的介绍: 1. 数据集加载方法: - `sklearn.datasets.load_*`:加载内置的数据集,如`load_iris()`加载鸢尾花数据集。 - `sklearn.datasets.fetch_*`:从网络上下载并加载数据集,如`fetch_openml()`下载并加载OpenML数据集。 2. 数据预处理方法: - `sklearn.preprocessing.*`:提供了一系列数据预处理的方法,如`StandardScaler()`用于特征标准化,`MinMaxScaler()`用于特征缩放等。 3. 特征选择方法: - `sklearn.feature_selection.*`:提供了一些特征选择的方法,如`SelectKBest()`用于选择K个最好的特征,`RFE()`用于递归特征消除等。 4. 模型选择和评估方法: - `sklearn.model_selection.*`:提供了模型选择和评估方法,如`train_test_split()`用于划分训练集和测试集,`cross_val_score()`用于交叉验证评估模型性能等。 5. 机器学习算法方法: - `sklearn.*`:sklearn库中包含了许多机器学习算法的实现,如线性回归(`LinearRegression`)、决策树(`DecisionTreeClassifier`)、支持向量机(`SVC`)等。 6. 模型保存和加载方法: - `sklearn.externals.joblib.*`:提供了模型的保存和加载方法,如`dump()`用于保存模型,`load()`用于加载模型。 下面是一个示例代码,演示了如何使用sklearn库中的一些方法: ```python from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score # 加载鸢尾花数据集 iris = load_iris() # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=42) # 创建逻辑回归模型 model = LogisticRegression() # 在训练集上训练模型 model.fit(X_train, y_train) # 在测试集上进行预测 y_pred = model.predict(X_test) # 计算准确率 accuracy = accuracy_score(y_test, y_pred) print("Accuracy:", accuracy) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值