其中:,
其實就是acc。
,即所有類別分別對應的「實際與**數量的乘積」,之總和,除以「樣本總數的平方」。
分類問題中,最常見的評價指標是acc,它能夠直接反映分正確的比例,同時計算非常簡單。但是實際的分類問題種,各個類別的樣本數量往往不太平衡。在這種不平衡資料集上如不加以調整,模型很容易偏向大類別而放棄小類別(eg: 正負樣本比例1:9,直接全部**為負,acc也有90%。但正樣本就完全被「拋棄」了)。此時整體acc挺高,但是部分類別完全不能被召回。
混淆矩陣:
學生實際的成績評級和**的成績評級
將 和
代入 即可。
import numpy as np
# 沒有對輸入的合法性進行校驗
# 使用時需要注意
pe_rows = np.sum(confusion_matrix, axis=0)
pe_cols = np.sum(confusion_matrix, axis=1)
sum_total = sum(pe_cols)
pe = np.dot(pe_rows, pe_cols) / float(sum_total ** 2)
po = np.trace(confusion_matrix) / float(sum_total)
return (po - pe) / (1 - pe)
使用無偏向和有偏向的混淆矩陣分別測試
# 無偏向的混淆矩陣
balance_matrix = np.array(
[[2, 1, 1],
[1, 2, 1],
[1, 1, 2]
])# 有偏向的混淆矩陣
unbalance_matrix = np.array(
[[0, 0, 3],
[0, 0, 3],
[0, 0, 6]])
y_true = [2, 0, 2, 2, 0, 1]
y_pred = [0, 0, 2, 2, 0, 2]
import tensorflow as tfy_t = tf.constant(y_true)
y_p = tf.constant(y_pred)
with tf.session() as sess:
sess.run(tf.local_variables_initializer())
0.0 0.42857142857142855
0.42857142857142855 0.42857142857142855
強一致性 弱一致性 最終一致性
這種方式在es等分布式系統中也有體現,可以設定主shard提交即返回成功,或者需要replica shard提交成功再返回。提到分布式架構就一定繞不開 一致性 問題,而 一致性 其實又包含了資料一致性和事務一致性兩種情況,本文主要討論資料一致性 事務一致性指acid 複製是導致出現資料一致性問題的唯...
一致性雜湊
直接貼出一篇介紹的很清楚的博文。關鍵字一致性雜湊 平衡性,單調性,分散性,負載 其實說白了,就是解決把請求分散到不同的機器上運算,怎麼做分散的平均,機器少一台多一台,或者壞掉一台,成很好的自適應和拓展。最簡單的實現分布式演算法,取模嘛,但是它就上述的一些問題,所以不算好的雜湊函式。一致性雜湊演算法,...
一致性雜湊
from 學習分布式,一致性雜湊是最最基礎的知識,所以要理解好.那什麼是一致性雜湊呢?what 1.平衡性是指 hash的結果應該平均分配到各個節點,這樣從演算法上就解決了負載均衡問題.2.單調性是指 在新增或者刪減節點時,同乙個key訪問到的值總是一樣的.3.分散性是指 資料應該分散的存放在 分布...