分类指标详解以及python调库实现(混淆矩阵等)

分类常用的指标

Accuracy , Precision , Recall , F1,ROC,P-R,AUC

Confusion Matrix (混淆矩阵)

图1:混淆矩阵图示

首先明白表格中出现的概念:

1.正确肯定(True Positive,TP):预测为真,实际为真
2.正确否定(True Negative,TN):预测为假,实际为假
3.错误肯定(False Positive,FP):预测为真,实际为假
4.错误否定(False Negative,FN):预测为假,实际为真

查准率(Precision)和查全率(Recall)

查准率(precision):指被分类器判定正例中的正样本的比重指被分类器判定正例中的正样本的比重
查全率(recall): 指的是被预测为正例的占总的正例的比重
Precision(P)= TP / (TP+FP)
Recall ( R) = TP / (TP+FN)

F1-score

F1-SCOR = (2PR) /( P+R)

Accuracy

Accuracy (ACC ) = (TP+TN) / (TP+FN+FP+TN)

python调库实现

from sklearn.model_selection import train_test_split
from sklearn.metrics import confusion_matrix,f1_score,precision_score,recall_score
from sklearn.tree import DecisionTreeClassifier

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=22)
clf2 = DecisionTreeClassifier(criterion='entropy') //决策树算法
clf2.fit(X_train, y_train)
y_pred = clf2.predict(X_test) //获得预测标签

c=confusion_matrix(y_test, y_pred) //混淆矩阵
f1=f1_score(y_test, y_pred,average='macro') //多分类求f1值
ps=precision_score(y_test, y_pred,average='macro') //多分类求precision
rs=recall_score(y_test, y_pred,average='macro')    //多分类求recall
参考博客

【1】 查准率(Precision)和查全率(Recall)和 P-R曲线、ROC曲线

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是四个评价指标Python调库实现: 1. Silhouette Score ```python from sklearn.cluster import KMeans from sklearn.metrics import silhouette_score # X为样本特征矩阵,y_pred为聚类结果 kmeans = KMeans(n_clusters=3, random_state=0).fit(X) y_pred = kmeans.labels_ # 计算Silhouette Score score = silhouette_score(X, y_pred, metric='euclidean') ``` 2. Calinski-Harabasz Index ```python from sklearn.cluster import KMeans from sklearn.metrics import calinski_harabasz_score # X为样本特征矩阵,y_pred为聚类结果 kmeans = KMeans(n_clusters=3, random_state=0).fit(X) y_pred = kmeans.labels_ # 计算Calinski-Harabasz Index score = calinski_harabasz_score(X, y_pred) ``` 3. Davies-Bouldin Index ```python from sklearn.cluster import KMeans from sklearn.metrics import davies_bouldin_score # X为样本特征矩阵,y_pred为聚类结果 kmeans = KMeans(n_clusters=3, random_state=0).fit(X) y_pred = kmeans.labels_ # 计算Davies-Bouldin Index score = davies_bouldin_score(X, y_pred) ``` 4. Normalized Mutual Information ```python from sklearn.cluster import KMeans from sklearn.metrics import normalized_mutual_info_score # X为样本特征矩阵,y_true为真实标签,y_pred为聚类结果 kmeans = KMeans(n_clusters=3, random_state=0).fit(X) y_pred = kmeans.labels_ # 计算Normalized Mutual Information score = normalized_mutual_info_score(y_true, y_pred) ``` 在上面的示例代码中,我们使用了sklearn库中的KMeans聚类模型,以及metrics模块中的评价指标函数。需要注意的是,不同的评价指标函数可能需要不同的参数,具体可以查看文档或者函数说明。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值