亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

PyTorch中混淆矩陣可視化:從模型評估到熱力圖實戰(zhàn)

PyTorch中混淆矩陣可視化:從模型評估到熱力圖實戰(zhàn) 1. 項目概述為什么你的模型需要一張混淆矩陣訓練完一個Pytorch分類模型大多數(shù)人習慣性看一眼測試集準確率就覺得萬事大吉。但準確率這個指標在不少場景下是會騙人的——比如類別不均衡的數(shù)據(jù)集哪怕模型把少數(shù)類全部判錯只要多數(shù)類猜得足夠準整體準確率依然能保持在90%以上。你根本看不出模型到底在哪些類別上犯了迷糊。而混淆矩陣Confusion Matrix做的就是這件事把模型預(yù)測結(jié)果和真實標簽做成一張二維交叉表每一行代表真實類別每一列代表預(yù)測類別。矩陣對角線上的數(shù)字是預(yù)測正確的樣本數(shù)非對角線位置就是具體怎么錯的、錯到了哪個類別。有了這張表你能直接回答三個核心問題模型在哪些類之間最容易混淆每個類別的精確率和召回率表現(xiàn)如何錯誤是偏向某一邊還是均勻分布這個項目我前后做了很多次踩過的坑包括但不僅限于類別順序?qū)Σ簧蠈е聢D畫出來全是亂的、放在GPU上的張量忘記轉(zhuǎn)回CPU、歸一化方式選錯導致熱力圖深淺完全失真、第一版代碼在batch推理時忘了收集全部預(yù)測結(jié)果。這篇文章把整個過程完整梳理一遍從最基礎(chǔ)的依賴安裝到最終的熱力圖可視化每一步都會給出可以直接抄走的代碼同時解釋為什么這么寫。2. 準備工作與核心思路拆解2.1 項目結(jié)構(gòu)與本方案選型邏輯先說整體設(shè)計。這個任務(wù)本質(zhì)上是三件事串聯(lián)得到預(yù)測結(jié)果、計算混淆矩陣、可視化展示。聽起來簡單但每件事都有幾個看似相似、實際千差萬別的實現(xiàn)方式。得到預(yù)測結(jié)果這一環(huán)常見的坑是用驗證集上的最好一次批次的預(yù)測結(jié)果而不是整個測試集從頭到尾的完整預(yù)測。你用驗證集loss挑出來的模型權(quán)重最終要看的還是它在測試集上的泛化表現(xiàn)所以做混淆矩陣一定要用測試集、完整跑完forward把所有預(yù)測和標簽收集起來。另一個是注意要用torch.no_grad()包裹推理過程不然顯存會被多余的計算圖占滿尤其是輸入圖片分辨率高或batch size大的時候爆顯存不是開玩笑的。計算混淆矩陣這一環(huán)選sklearn.metrics.confusion_matrix還是自己寫計數(shù)邏輯我的建議是用scikit-learn的現(xiàn)成函數(shù)除非你有特殊需求。自己寫循環(huán)也可以但處理多分類、類別順序、預(yù)測值和真實值格式不一致這些細節(jié)時手寫代碼很容易出邊界問題。sklearn版本已經(jīng)經(jīng)過大規(guī)模驗證返回的矩陣形狀是(n_classes, n_classes)行是真實類別列是預(yù)測類別注意這個順序不要搞反可視化的時候如果發(fā)現(xiàn)圖和預(yù)期對不上先檢查這里??梢暬@一環(huán)純粹用Matplotlib還是用Seaborn取決于你想花多少時間調(diào)樣式。Seaborn的heatmap函數(shù)天然適配這類需求有可選的數(shù)值標注、配色方案、行列標簽控制幾行代碼就出效果。不過如果你在自定義模型或需要集成到自己的訓練腳本里直接用Matplotlib也不麻煩。我會在后面的可視化章節(jié)給出兩種寫法和各自適用場景。2.2 環(huán)境依賴與工具選型最低配置如下Python 3.8以上PyTorch 1.10以上scikit-learn 0.24以上matplotlib 3.5以上numpy 1.21以上seaborn可選僅熱力圖畫得更快我實測過的組合是Python 3.10 PyTorch 2.0 scikit-learn 1.2 matplotlib 3.7沒有遇到兼容性問題。如果你還在用老版本的PyTorch比如1.6或者更早一些API細節(jié)會不同比如torch.no_grad()的用法在早期版本也支持但要留意數(shù)據(jù)類型轉(zhuǎn)換時tensor.cpu().numpy()在需要梯度時可能報RuntimeError后面故障排查章節(jié)會專門講。提示如果環(huán)境里沒安裝scikit-learn單純?yōu)榱水嫽煜仃囇b一個庫不要覺得這是多余。自己實現(xiàn)多分類混淆矩陣時要處理的邊界情況比你想象得多與其在這上面浪費時間不如引入已經(jīng)打磨好的依賴。2.3 數(shù)據(jù)格式與類別標簽對齊一個非常隱蔽但極其常見的問題訓練代碼里的類別索引順序和可視化時顯示的類別名稱順序不一致。比如在Pytorch的torchvision.datasets.ImageFolder里類別順序是按文件夾名稱排序的Lexicographic order。你的文件夾可能叫apple, banana, grape那么索引0就是apple索引1就是banana。如果你在別處比如某個手寫的txt映射表定義了另一套順序畫出來的混淆矩陣行列標簽就會錯位整個圖看起來還是有模有樣的但分析結(jié)論全部是錯的。所以我強烈建議固定一套標簽列表并在代碼開頭顯式聲明class_names [apple, banana, grape] # 或者從訓練數(shù)據(jù)集中直接提取 class_names train_dataset.classes用train_dataset.classes是最穩(wěn)妥的因為你訓練時模型輸出的索引就是這么來的不會出現(xiàn)人工手抄錯誤。后續(xù)無論計算矩陣還是畫圖都從同一個列表取標簽名。3. 核心代碼實現(xiàn)從模型推理到矩陣生成3.1 完整推導用測試集跑出預(yù)測結(jié)果先說這一段的目標把測試集或者驗證集里所有樣本的真實標簽和模型預(yù)測結(jié)果收集成兩個一維數(shù)組長度都應(yīng)該等于測試集樣本總數(shù)。一個典型的完整流程如下import torch import torch.nn.functional as F from torch.utils.data import DataLoader from tqdm import tqdm def collect_predictions(model, test_loader, device): model.eval() all_preds [] all_labels [] with torch.no_grad(): for inputs, labels in tqdm(test_loader, descEvaluating): inputs inputs.to(device) labels labels.to(device) outputs model(inputs) # outputs shape: (batch_size, num_classes) # 需要的是每個樣本的最大分數(shù)對應(yīng)的索引 _, preds torch.max(outputs, dim1) # 關(guān)鍵轉(zhuǎn)回CPU并轉(zhuǎn)成numpy all_preds.append(preds.cpu().numpy()) all_labels.append(labels.cpu().numpy()) all_preds np.concatenate(all_preds) all_labels np.concatenate(all_labels) return all_preds, all_labels幾個細節(jié)解釋一下為什么使用torch.max(outputs, dim1)而不是torch.argmax兩者做的事情一樣但torch.max順帶把最大值的數(shù)值也返回了如果你后面想做置信度閾值篩選不需要再跑一次前向傳播。為什么model.eval()必須在循環(huán)前調(diào)用因為模型里的Dropout和BatchNorm在訓練模式和推理模式行為差別很大。BatchNorm在train()模式下用的是當前batch的統(tǒng)計量在eval()模式下用的是訓練階段累積的全局統(tǒng)計量。忘記這一步預(yù)測結(jié)果可能是錯的且錯誤模式非常隱蔽——你不要指望它報錯只是數(shù)字不準確。為什么收集預(yù)測和標簽要用numpy而不是繼續(xù)保留tensor因為后面交給sklearn.metrics.confusion_matrix時numpy數(shù)組最方便。你當然可以傳tensor進去sklearn底層會嘗試轉(zhuǎn)numpy但遇到需要detach的場景就會報錯這里直接cpu().numpy()一步到位省心。3.2 核心邏輯構(gòu)建并理解混淆矩陣拿到all_preds和all_labels之后一行代碼就能生成矩陣from sklearn.metrics import confusion_matrix cm confusion_matrix(all_labels, all_preds) print(cm)這里有個非常值得注意的細節(jié)sklearn的confusion_matrix(y_true, y_pred)第一個參數(shù)傳真實標簽第二個參數(shù)傳預(yù)測標簽。我見過不止一次把順序?qū)懛吹娜绻惆l(fā)現(xiàn)自己矩陣對角線上的數(shù)字莫名其妙地大但精確率和召回率分析卻對不上先檢查是不是這一步參數(shù)傳反了。輸出的cm是一numpy二維數(shù)組形狀為(n_classes, n_classes)。cm[i][j]代表真實類別為i、預(yù)測類別為j的樣本數(shù)。沿行方向看每一行的總和等于該真實類別在測試集中的總樣本數(shù)沿列方向看每一列的總和等于模型預(yù)測為該類別的總數(shù)。舉個具體例子假設(shè)3分類的矩陣是[[50, 5, 3], [ 2, 45, 8], [ 1, 4, 60]]現(xiàn)在看第一行真實類別050個預(yù)測正確5個被錯判成了類別13個被錯判成了類別2。第一行總樣本數(shù)58??吹谝涣蓄A(yù)測為類別050個確實來自類別02個來自類別11個來自類別2總預(yù)測數(shù)為53。你還能順手算出每個類別的精確率和召回率類別0精確率 50 / 53類別0召回率 50 / 58類別2精確率 60 / 65類別2召回率 60 / 64不從混淆矩陣出發(fā)光用sklearn.metrics里的precision_score、recall_score你確實也能拿到這組數(shù)字但一個是黑盒求解一個是看表手算顯然后者對模型行為的理解更清晰。3.3 歸一化問題原始數(shù)值與比例圖的取舍做可視化之前通常會糾結(jié)一個事情熱力圖顏色深淺到底表示原始數(shù)量還是百分比例我實際用下來的建議是兩者都做根據(jù)需求選擇展示。原始數(shù)值適合看絕對樣本量比如你的測試集每類大約500張一眼就能看出模型在某個類上錯了43張這個絕對值是否可接受取決于業(yè)務(wù)場景。但如果你想分析的是錯誤率的相對大小尤其是在類別樣本量差異很大的情況下用歸一化比例圖才不會被絕對數(shù)量誤導。例如測試集中類別0有1000個樣本類別1只有100個樣本。類別0錯了50個比例是5%類別1錯了10個比例是10%。看原始數(shù)值圖50比10大很多你很可能誤以為類別0的問題更嚴重。但歸一化之后才能看清類別1的錯誤率其實翻倍了。sklearn提供normalize參數(shù)cm_normalized confusion_matrix(all_labels, all_preds, normalizetrue)normalizetrue的意思是按行歸一化即每行真實類別的總和為1。這樣矩陣里每個單元格的值表示真實類別為i的樣本中被預(yù)測為類別j的比例。對角線上的值就是每個類別的召回率。這是最常用的一種歸一化方式因為解釋起來直觀。還有一種normalizepred按列歸一化得到的是精確率視角。看你分析需求選擇。提示匯報結(jié)果時圖里標注清楚是絕對數(shù)量還是歸一化比例。最好在副標題里直接寫明normalized confusion matrix (row-wise)免得看圖的同事誤讀顏色深淺代表的意義。4. 可視化實戰(zhàn)從樸素表格到生產(chǎn)級熱力圖4.1 使用Matplotlib實現(xiàn)基礎(chǔ)熱力圖最樸素的方式一個for循環(huán)也能畫出格子但效率太低且代碼冗長。實際項目中我推薦直接使用plt.imshow或者Matplotlib的matshow。給一個我常用的基礎(chǔ)版本import matplotlib.pyplot as plt import numpy as np def plot_confusion_matrix(cm, class_names, titleConfusion Matrix, cmapBlues, normalizeFalse): if normalize: cm cm.astype(float) / cm.sum(axis1, keepdimsTrue) fig, ax plt.subplots(figsize(8, 6)) im ax.imshow(cm, interpolationnearest, cmapcmap) ax.figure.colorbar(im, axax) # 設(shè)置刻度 ax.set(xticksnp.arange(cm.shape[1]), yticksnp.arange(cm.shape[0]), xticklabelsclass_names, yticklabelsclass_names, ylabelTrue Label, xlabelPredicted Label, titletitle) # 讓x軸的標簽在底部顯示而不是頂部默認imshow是頂部的 ax.xaxis.set_label_position(bottom) ax.xaxis.tick_bottom() # 在每個格子里標注數(shù)值 thresh cm.max() / 2. for i in range(cm.shape[0]): for j in range(cm.shape[1]): ax.text(j, i, f{cm[i, j]:.2f} if normalize else f{cm[i, j]:d}, hacenter, vacenter, colorwhite if cm[i, j] thresh else black) fig.tight_layout() plt.savefig(confusion_matrix.png, dpi150, bbox_inchestight) plt.show()這段代碼有幾個細節(jié)值得注意為什么用cm.astype(float)原始混淆矩陣是整數(shù)類型整數(shù)除以整數(shù)在Python 3里得到的結(jié)果是浮點數(shù)但如果遇到某行和為0除法結(jié)果會是NaNastype(float)可以讓后續(xù)操作更順暢。另外如果直接把int類型矩陣傳給imshow顏色的映射不會有問題但在某些情況下annotate字符串格式化會有坑轉(zhuǎn)成float更安全。為什么用thresh cm.max() / 2來決定字體顏色如果格子的數(shù)值大于最大數(shù)值的一半說明格子顏色較深用白色字更清楚反之用黑色字。這個閾值設(shè)定簡單粗暴但效果很好實測各種顏色映射下都清晰。如果你用的是plt.text手動標注而不是后面要講的Seaborn內(nèi)置annot功能這段邏輯就得自己寫。關(guān)于顯示方向Matplotlib默認的imshow坐標是從左上角開始y軸向下。這是圖像坐標系的常規(guī)做法。如果你希望y軸從下往上數(shù)學坐標系習慣可以加上ax.invert_yaxis()。但這個決定純屬個人偏好我用默認方向沒遇到過問題只要x軸標簽在底部、y軸標簽在左側(cè)讀者就能自然理解。4.2 使用Seaborn一行畫出更美觀的熱力圖如果你不排斥引入seaborn熱力圖能畫得更快且默認樣式在現(xiàn)代論文和報告里更順眼import seaborn as sns plt.figure(figsize(10, 8)) sns.heatmap(cm, annotTrue, fmtd, cmapBlues, xticklabelsclass_names, yticklabelsclass_names, cbarTrue, linewidths0.5, linecolorwhite) plt.xlabel(Predicted Label) plt.ylabel(True Label) plt.title(Confusion Matrix) plt.savefig(cm_seaborn.png, dpi150, bbox_inchestight) plt.show()參數(shù)解釋annotTrue在格子中顯示數(shù)值。fmtd因為數(shù)值是整數(shù)用十進制格式。如果歸一化了改成fmt.2f。linewidths0.5給每個格子加白色邊框線。這個細節(jié)能讓大矩陣看起來不呆板。cbarTrue右側(cè)顯示顏色條。如果矩陣維度小于10Seaborn的標注基本不會重疊如果類別數(shù)量多到20以上格子里放數(shù)字會擁擠這種情況建議只放顏色塊或者把字體調(diào)小sns.heatmap(cm, annotTrue, fmtd, annot_kws{size: 8}, ...)4.3 進階可視化歸一化圖、錯誤分布圖與多子圖對比單一熱力圖只能說明模型整體行為。做更深入分析時我經(jīng)常把三個圖放在一起對比原始數(shù)值圖、歸一化比例圖、錯誤強調(diào)圖。錯誤強調(diào)圖的思路是對角線位置全部置為0或單獨畫非對角線位置用另一種顏色映射讓錯誤分布一眼可見。# 創(chuàng)建一個錯誤分布矩陣對角線保持白非對角線保留原值 error_cm cm.copy() np.fill_diagonal(error_cm, 0) plt.figure(figsize(8, 6)) sns.heatmap(error_cm, annotTrue, fmtd, cmapReds, xticklabelsclass_names, yticklabelsclass_names) plt.title(Error Distribution (Diagonal hidden)) plt.show()這張圖在類別數(shù)量較多時極其好用。比如你有一個10分類的模型正?;煜仃嚴飵资畟€格子全是數(shù)字人類視覺很難快速找到關(guān)鍵信息。把對角線隱藏、只凸顯非對角線錯誤再加上紅色系顏色映射哪兩類最容易弄混一目了然。多子圖對比適合需要同時看訓練集表現(xiàn)和測試集表現(xiàn)或者對比兩個不同模型權(quán)重的場景fig, axes plt.subplots(1, 2, figsize(16, 6)) sns.heatmap(cm_model_a, annotTrue, fmtd, cmapBlues, axaxes[0]) axes[0].set_title(Model A) sns.heatmap(cm_model_b, annotTrue, fmtd, cmapBlues, axaxes[1]) axes[1].set_title(Model B) plt.tight_layout() plt.savefig(compare_models.png, dpi150) plt.show()5. 實操記錄數(shù)據(jù)增強策略的直觀驗證前面講了不少理論這一節(jié)分享一個實際跑過的案例借此說明混淆矩陣可視化如何真正幫到模型調(diào)優(yōu)。某次做細粒度圖像分類任務(wù)類別非常相似比如不同品種的鳥。初始模型在測試集上準確率82%看起來還行。但把混淆矩陣畫出來后發(fā)現(xiàn)問題很大一部分錯誤集中在“暗色羽毛的鳥類”之間比如A品種和B品種完全色調(diào)接近互相錯判的比例明顯偏高。針對這個情況我在數(shù)據(jù)增強里增加了顏色抖動ColorJitter、隨機灰度化RandomGrayscale同時針對易混類對的樣本做了簡單的人工檢查——發(fā)現(xiàn)部分訓練樣本的標注本身就模糊兩張看起來幾乎一樣的圖片標成了不同類別。模型學到的就是這種模糊邊界再好的網(wǎng)絡(luò)也沒辦法憑空學會區(qū)分人類都無法分辨的差異。改了數(shù)據(jù)增強策略并清理了部分噪聲標簽后重新訓練。對比兩次的混淆矩陣歸一化圖A類和B類之間的錯判比例從13.8%降到7.2%整體準確率提升到89%。這個提升要是只看準確率數(shù)字你只知道“好了”但不知道為什么好、好在哪些類別上。而兩張混淆矩陣圖并排放在一起解釋性就強得多到底是普遍提升還是特定混淆緩解一眼就能分辨。這個案例想說明的核心思路很簡單混淆矩陣是模型錯誤診斷的入口不是終點。光會畫圖、會看比例還不行要能根據(jù)矩陣里的錯誤模式反推數(shù)據(jù)或模型的癥結(jié)所在然后針對性調(diào)整。6. 常見問題與排查技巧實錄6.1 矩陣對角線特別大但精確率低問題出在哪場景你打印出的混淆矩陣對角線數(shù)值看起來很高即大多數(shù)樣本分類正確。但用sklearn.metrics.precision_score算出來的精確率低得離譜。這個矛盾通常是三個原因之一第一類別樣本量極度不均衡矩陣可視化時小類別被“吃掉”了。比如1000個A類樣本、50個B類樣本。A類幾乎全對B類錯一半?;煜仃嚿螦類的格子大數(shù)字多B類的格子數(shù)字小視覺上容易被忽略但精確率計算把B類的糟糕表現(xiàn)放大了。排查方法不要只看矩陣同時打印每一行的總和和每一列的總和計算類別的樣本量分布。第二你用的是宏平均macro average還是微平均micro average。宏平均每個類別的權(quán)重相同小類別的表現(xiàn)會嚴重拉低整體分數(shù)。微平均等價于整體準確率你會覺得“還行”。第三標簽順序錯位。預(yù)測時用的類別索引順序和計算指標時的標簽順序不一致后面對不上導致全部指標都是亂的。排查方法很簡單隨機抽幾個樣本手動看預(yù)測結(jié)果和實際輸出對比。6.2 報錯RuntimeError: Cant call numpy() on Tensor that requires grad這個錯誤只會在一個場景出現(xiàn)你在torch.no_grad()外面執(zhí)行了模型推理或者你在loss.backward()之后、但在同一個tensor上嘗試轉(zhuǎn)numpy。排查方法確認推理階段是否用了with torch.no_grad():。如果確認用了還報錯檢查你是不是在拿到logits之后又做了某個操作導致新的tensor重新開啟梯度追蹤。# 錯誤寫法 outputs model(inputs) # requires_gradTrue _, preds torch.max(outputs, dim1) preds.numpy() # RuntimeError # 正確寫法 with torch.no_grad(): outputs model(inputs) _, preds torch.max(outputs, dim1) preds.numpy() # OK6.3 可視化時中文標簽亂碼Matplotlib默認字體不支持中文如果項目里的類別名稱包含中文畫圖的標簽會變成一個個方框。解決方案是在繪圖前設(shè)置中文字體import matplotlib.pyplot as plt plt.rcParams[font.sans-serif] [SimHei, Microsoft YaHei, Noto Sans CJK SC] plt.rcParams[axes.unicode_minus] False這幾行代碼在Windows和Linux的中文字體選擇上略有不同實測在Windows用SimHei沒問題Linux服務(wù)器上如果沒裝Noto Sans CJK就先apt install fonts-noto-cjk。如果不想依賴系統(tǒng)字體還可以用font_manager指定字體文件路徑穩(wěn)妥但代碼量多一點。建議本地調(diào)試用系統(tǒng)字體生成報告時統(tǒng)一用服務(wù)器上固定字體避免圖片字體不一致的尷尬。6.4 矩陣很大時可視化的排版混亂假設(shè)你的類別數(shù)量是50甚至100。把所有類別標簽都畫在同一張圖上橫向標簽互相重疊格子里的數(shù)字糊成一片這種圖沒什么用。應(yīng)對策略有三種只展示一部分比如按錯誤數(shù)量排序只展示錯誤最多的前10對類別。降采樣把混淆矩陣按更大的粒度合并比如把相近大類合并后再畫。交互式展示用plotly生成可縮放的網(wǎng)頁圖鼠標懸停能看具體數(shù)值。雖然無法把圖片嵌入靜態(tài)文檔但適合需要交付給業(yè)務(wù)方做探索的場景。6.5 矩陣里的數(shù)值比樣本總數(shù)還多多出來的數(shù)據(jù)從哪來出現(xiàn)這個問題幾乎可以肯定是你在推理時沒有跳過數(shù)據(jù)集的最后一個小batch或者你重復(fù)跑了一次預(yù)測并把結(jié)果append了兩次。排查方法打印len(all_preds)和len(test_loader.dataset)兩者必須相等。如果all_preds多了看看是不是你的循環(huán)里沒有判斷邊界或者之前某次調(diào)試時沒有清空列表。# 確保列表是空的才開始 all_preds [] all_labels []6.6 GPU推理時顯存溢出如果測試集圖片分辨率高即便batch size適中也可能爆顯存。主要元兇是檢測模型Detection里的多尺度輸出或者超大特征圖。分類模型通常還好但如果你用了大卷積核或者輸入是2000x2000的圖也要小心。應(yīng)對方法減小batch size。用torch.no_grad()。如果推理流程復(fù)雜在循環(huán)里顯式調(diào)用torch.cuda.empty_cache()。順帶提一個真實遇到的坑batch size減小后最后一批樣本數(shù)少了歸一化時如果某一行對應(yīng)的類別一個樣本都沒有矩陣的一行之和會是0除以0會得到NaN。解決方法是歸一化時加上一個極小量epsilonrow_sum cm.sum(axis1, keepdimsTrue) cm_normalized cm / (row_sum 1e-12)7. 從混淆矩陣延伸到更多評估維度7.1 從矩陣一鍵導出精確率、召回率與F1混淆矩陣本身包含計算所有基礎(chǔ)分類指標所需的信息。你可以算def metrics_from_cm(cm): n_classes cm.shape[0] precision np.zeros(n_classes) recall np.zeros(n_classes) f1 np.zeros(n_classes) for i in range(n_classes): # 精確率對角線 / 列和 precision[i] cm[i, i] / cm[:, i].sum() if cm[:, i].sum() 0 else 0 # 召回率對角線 / 行和 recall[i] cm[i, i] / cm[i, :].sum() if cm[i, :].sum() 0 else 0 # F1 if precision[i] recall[i] 0: f1[i] 2 * precision[i] * recall[i] / (precision[i] recall[i]) return precision, recall, f1或者直接依賴sklearnfrom sklearn.metrics import precision_score, recall_score, f1_score, classification_report print(classification_report(all_labels, all_preds, target_namesclass_names))classification_report輸出的表格文本在控制臺看很方便我每次訓練完都會打印一份。雖然它不畫圖但和混淆矩陣圖配合使用一圖一表把模型表現(xiàn)講得很清楚。7.2 多分類任務(wù)的宏平均與加權(quán)平均在做多分類評估時經(jīng)常會遇到宏平均macro、微平均micro和加權(quán)平均weighted的選擇。這里做個簡單說明宏平均每個類別的指標先算出來然后取平均值。類別權(quán)重相同小類別的表現(xiàn)會被放大適合你關(guān)心所有類別是否都被照顧到的場景。微平均所有樣本的TP、FP、FN加起來算總體指標等價于整體準確率對多分類而言適合樣本量均衡的場景。加權(quán)平均按每個類別的樣本占比加權(quán)計算能反映數(shù)據(jù)分布情況但大類影響大可能掩蓋小類別問題。從模型優(yōu)化的角度看我通??春昶骄鵉1因為如果某個小類別效果差宏平均會直接暴露出來。但從業(yè)務(wù)指標匯報的角度可能更需要加權(quán)平均因為業(yè)務(wù)看的是整體效果?;煜仃噲D解決的正是這個問題不管哪種平均指標它提供的只是總結(jié)數(shù)字矩陣圖能告訴你具體哪些類表現(xiàn)差。宏平均F1低了打開混淆矩陣圖一眼就能看到是哪個小類別被虐得最慘。7.3 用混淆矩陣輔助判斷閾值調(diào)整對于二分類任務(wù)混淆矩陣的四個基本項TP、FP、FN、TN直接決定了ROC曲線和PR曲線上每個點的位置。通過調(diào)整決策閾值通常默認是0.5你可以讓模型更偏向“寧可錯殺也不放過”或者“寧可放過不可錯殺”。比如醫(yī)療篩查場景假陰性比假陽性更致命。你可以降低正類的判定閾值讓模型輸出概率大于0.3就判為正類。這會讓TP增多、FN減少但同時FP也會增加。此時畫出不同閾值下的混淆矩陣對比TP、FP的變化幅度比只盯著AUC曲線要直觀得多。多分類閾值調(diào)整稍微復(fù)雜但可以借助每個類別的概率分布直方圖配合混淆矩陣來做。核心是先明確業(yè)務(wù)訴求是精確率優(yōu)先還是召回率優(yōu)先然后基于混淆矩陣在不同閾值下的變化來選。8. 經(jīng)驗沉淀與后續(xù)擴展方向整個流程實現(xiàn)下來我個人最大的感受是畫混淆矩陣本身很簡單難的是把它放到模型迭代的閉環(huán)里真正用起來。我現(xiàn)在的工作習慣是每次訓練完不管結(jié)果好還是壞都固定輸出三樣東西——測試集loss曲線、classification_report文本、混淆矩陣三合一圖原始數(shù)值、歸一化比例、錯誤分布。這三樣東西保存到實驗?zāi)夸浵赂粢欢螘r間再回頭對比不同實驗版本時不用重新加載模型跑推理只翻圖和報表就能快速定位問題。后續(xù)如果你想讓這套可視化更自動化可以嘗試兩個擴展方向第一個方向是把混淆矩陣集成到訓練腳本中每個epoch結(jié)束在驗證集上自動畫一張圖。這樣訓練過程中就能動態(tài)觀察是不是隨著epoch增大某些混淆點一直在改善另一些一直停滯。在線監(jiān)控的價值在于及早發(fā)現(xiàn)過擬合或?qū)W習率設(shè)置不當?shù)膯栴}。第二個方向是結(jié)合模型的可解釋性工具。當你在混淆矩陣中發(fā)現(xiàn)某兩類一直混淆別急著一味加數(shù)據(jù)、調(diào)模型先拿錯誤樣本出來看看——用Grad-CAM或SHAP分析模型重點關(guān)注圖像的哪些區(qū)域。很多時候你會發(fā)現(xiàn)模型其實在用一個非預(yù)期的特征做判斷比如區(qū)分兩種鳥時它關(guān)注的是背景草地顏色而非鳥本身的羽毛紋理。這個診斷路徑配合混淆矩陣能幫你做出更有針對性的優(yōu)化決策而不是盲目調(diào)參。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
无遮挡男女激烈动态图| 一区二区三| 久久国产逼| 超碰在线综合97| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 啊啊啊操一区| 亚洲成?V人片在线观看福利| 国产精品白丝在线播放| 色综合91好| 偷拍2020| 亚洲男人综合网| 日本色婷婷| 国产日韩区| 成人小电影网站tex| 刺激精品视频| 夜夜操一区二区| 精品国产91久久久久久一区黄无| 久久激情网| 福利操逼| 不卡av在线中文字幕| 在线中文字幕视频| 欧美春色| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 亚洲日韩乱码中文无码蜜桃臀网站| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 国产成人自拍视频视频| 人人操人人色网| 啊啊啊啊嗯嗯在线久久久| 国产自产91区13区| 精品在线78| 大屁股国产在线视频| 夜夜操91744565| 六月丁香婷| 干婷婷综合网| 久久这里只精品99re66图 | 91xingse| 欧美亚洲20p| 亚州精品一区二区三区香中文字幕在线| 操逼操操操91| 又黄又爽在线观看视频| 亚洲熟妇熟在线电影视频| 青青草原人妻| 91麻豆天美传媒HD| 久草毛片电影怡| 18岁禁 茉莉成人久久| 亚洲日韩青青草色月| 欧美日日夜夜| 新久久AV| 51一区二区三区| 一级日本牲交大片好爽在线看| 91人妻最真实刺激绿帽| 日韩激情中文字幕有码| 乱精品一区字幕二区| 920日本午夜免费| 精品91摸| 欧美大色交| 久久精品日韩专区免费观看| 午夜男女爽爽大片免费观看| 狠狠色狠狠色狠狠五月| 婷婷天堂站| 九九在线精品| 91红杏| 媚薬在线视频麻豆| 97亚洲中文| 四虎国产精品永久在线囯在线| dy888午夜老子影视达达兔| 欧洲综合无码| 婷婷色综合| 先锋精品av色鲁| 丝袜喷水在线| 91男女| 蜜臀久久久99久久久久 | 色五月婷婷麻豆在| 久久久久密臀视频| 久久国产精品m码| 久久双插| 99热这里是精品| 亚洲AV资源| 亚洲蜜臀精品视频久久| 大香蕉一级黄色片久久| 这里是精品| 中文字幕伊人| 久久AV无码AV| www.99在线| 蜜桃在线观看一区二区三区| 亚洲九九视频| 日韩精品色呦呦| 天堂种子在线www网资源| 青青草日韩无码| 久久大陆| wwwxxx日本爽| 东京热男人的天堂网| 天天日天天屌天天操| 久久丝袜| 午夜高清成人在线视频| 四虎免费看黄| 二男一女成人A片| 精品人妻一区二区三区-国产精品| 五月丁香狠狠爱| 超碰97男人| 亚洲欧美97| 亚洲国产一级精品毛一级精品看免费视频| 色婷婷婷五月天激情四射| 天堂性色| 99久久久无码| 亚洲色婷婷久久91| 97超碰日韩| 天天综合网AV91| 久久久久国产无av| 长久操视频| 激情黄色片在线观看| 9999免费精彩视频| 日韩综合第八区国产精品| av在线观看不卡网站| 高清不卡国产| 另类图片天天影视| 后入式在线免费观看60秒| 神马久久久久久| 91日韩在线| 骚鸭AV| 色官网色综合| 色诱中文字幕| 超碰在线99| 久久在线观看免费视频| 精品 码产区一区二-1080P高清在线www-B029AV| 精品国产乱码久久久兰草影视| 五月亭亭六月丁香| 久久一二三四不卡 | 综合天天网| 成人小说另类在线| 啊啊啊好舒服好爽啊啊啊视频| 麻豆天美91| 久操黄色视频| 日韩黄色av中文字幕| 超碰人妻久久人妻中文97| 极品销魂美女一区二区| 久久蜜色情在线视频xxx免费观看| 女欧美一区二三区| 色狠狠一区二区三区香蕉| 久久 国产精品 一区| 亚洲图片 欧美电影| 久久婷婷亚洲| 大肥女高潮bbwbbwhd视频| 老女人日韩美91| 欧美日韩大香蕉| 欧美72网页| 干日本人少妇午夜寂寞影院| 大香蕉2017| 日韩精品区二区三区不卡| 思思久热在线精品66| 久久欧洲| 免费精品福利在线观看| 欧美高清18A片| 丝袜无码a片| 人人操人人大香蕉| 女人天堂av在线播放| 二级久久网| 美国aaaaa一级黄片| 亚洲性综合11| av午夜玫瑰| 天天躁日日躁AAAXX| 久久蜜桃一区二区| 欧美日韩亚洲高清不卡一区二区三区| 26uuu性| 亚洲深夜福利| 日韩精品9999| 久久黄色网址| 不卡啪啪视频| 久久久久久69国产一区二区| 午夜一区| 天天操天天日天天干| 欧美婷婷| 欧美日韩 强奸乱伦| 加勒比综合网| 一区二区三| 久久久成人精品| 夜夜高潮夜夜爽| 综合操逼| 国产精品盗摄 偷窥盗摄| 亚洲图片小说欧洲| 91超碰在线播放| 色妹子A V| 免费在线观看国内色片网站网址 | 五月婷婷影院| 操逼视频免费日韩无码| 亚洲人体视频在线观看| 亚洲精品久久久久久久蜜桃臀| 淫乱图区 | 一级性爱网| 日韩欧美久久婷婷网站| 欧美成人综合| 青青草五月天| 国产suv精品一区二区四区999| 婷婷激情五月天小说网| 国产精品黄色三级av| 国产精品美女久久久久久网站| 色婷婷A V一二三四区麻豆综合| 九热大香蕉| 狼人综合婷婷激情四射 | 日韩成人小视频| 亚洲日韩乱码中文无码蜜桃臀网站| 女优视频第10页| 久久人人爽人人爽人人片Ⅴ| 亚洲欧美综合区自拍另类 | 国产传媒美日韩av| 国产一区麻豆免费观看| 麻豆影音天美视频| 日韩精品高清资源在线| 麻豆福利视频导航| 国产成人主播| 亚洲国产蜜臀系列在线观看| 国产亚洲日本| 中亚黄色三级大片| 久久久九精品| 欧美日韩亚洲天堂| 午夜精品久久久| 青草成人免费视频一com| 欧洲一区二区| 日日夜夜骑| 鸥美中出| 无码精品久久久久久亚洲| 亚洲欧美不卡线| 男人的天堂久久久| 精品国模无码| 亚洲AV无码AV吞精久久久久| 国产亚洲精品美女久久久m| 91操人| 九九无码视频| 午夜精品久久久久久久男人的天堂| 人人摸人人干| 乱理日韩中文| 91精品又粗又猛又爽| 国产乱青青草久久| 欧美性夜| 欧美国产精品| 91精品国产高清久久久久久,亚洲成人| 亚欧国产无码精品在线| 97亚洲性爱| 亚洲第一二区另类图| 性爱AV天堂| 欧洲色综合| 超碰日韩人妻| 五月香婷婷| 黄色乱论网站| 午夜无码熟妇丰满人妻| 中文字幕第2页| 国产第12页| 青青操狠狠撩| 亚射在线| 啊啊啊啊免费视频| 精品久久无码午夜福利 | 一区二区三区四区在线不卡| 综合五月天| 白丝被操91| 强奸乱伦av电影| 亚洲熟妇图片| 超碰97综合网| blacked精品一区国产| 欧美毛片在线网| 天天摸天天舔天天操| 啊啊啊啊无码| 国产一区二区av综合| 伊人成人中文字幕久久网| 国产日韩人人| 日韩啊V| 亚洲色图欧美视频| 韩日精品福利视频一区不卡在线免| 亚洲骚逼少妇| 成人福利视频网| 91欧美成人色站| 99在线精品视频| 亚洲乱码国产乱码精网站| 国产久久视频| 色综91| 日韩激情啪啪| 日韩精品人妻中文字有码在线| av影片在线观看不卡| 亚洲经典啪啪| 久久久成人免费av电影| 日韩欧美成人午夜福利| 精品网站9999| 国产毛片毛片4p懂色| 黑丝少妇在线观看| 97国产精品一区| 国产a级午夜毛片| 婷婷美人网| 亚洲国产一级黄色视频| 亚洲精品一二三四区| 亚洲 欧美 第一页 | 青青草好吊| 第四色奇米影视777| 91欧美| 91碰碰| 亚洲欧美综合区自拍另类 | 激情小说激情视频| 午夜福利在线视频1000| 国产欧美成人第一页在线观看| 99.色网| 少妇久久久| 99热这里只有精品99| 欧美高清在线| 亚欧性爱在线无码| 欧美综合91| 欧洲无码一区二区| 国产又黄又粗的视频| 99青青草国产视频| 岛国成人av在线播放网址| 综合色久欲| 欧美日韩性爱精品| 91宗合网| 欧美成人综合| 色九九综合| 精品黄色电影| 欧美激情欧美精品| 国产不卡免费在线视频| 91在线观看,天天综合| 99人人干| 国产亚洲欧美每日在线| 97天天在线| 手机看av网站在线看| 久草电影网| 亚洲色阁| 岛国999| 99在线精品观看99| 国产精品黑人一区二区三区| 91精品免费| 久久婷婷六月综合| 久久精品 六十路 熟女 欧美| 5252色欧美在线| 91社操逼| 日韩情色一区二区| 色偷偷综合91久久噜噜| 91美女视屏| 最好看的中文字幕在线2018| 诱惑网综合| 性生活久久久久久久久久| 无码精品蜜桃一区二区三区ww| 67914在线兔费成人视频| 日韩乱码Av| 日韩无码黄色片| 亚洲男人天堂手机版| 91撸色网 玖玖网 欧美| 久久超碰爱| 国产精品一级特黄aaa大片在线观看| 久久九九97| 天天天天天天天天综合| 日韩一级二级| 熟女人妻一区二区三区| 影音先锋视频在线| 国产真乱mangent| 九九九九一区| 75大香蕉| 97久久精品亚洲| 亚洲av影音先锋| 一级性爱网| 人妻另类| 超碰久久综合| 亚洲自拍一区夜夜操| 国产原创自拍| 天天日夜夜爽| 99熟女| 久久久精品视频免费观看| 亚洲精品自拍| 91老熟妇| 日韩色| 青青青草原| 蜜屁Av| 丝袜喷水在线| 青娱乐亚洲热| 激情综合婷婷| 国产成人亚洲精品无码古代早漏男 | 亚洲 在线| 蜜桃传媒视频第一区入口在线看| 亚洲999综合| 欧美少妇色综合| 黄呦呦在线| 人人综合| 日本淫穴在线| 日韩美女,国产传媒,视频一区| 91xingse| 亚洲AV资源| 日本人妻一区二区| 歐美一級亂黃99在綫精品| 亚洲日韩AV视色| 色情成人五月天| 四虎影院成年人片| 国产67194| 大香蕉乱伦视频网| 久久伊人大香蕉| 一起草AV| 青青操97| 青青草大香蕉在线视频| 欧美伦乱爱| 欧亚性爱在线视频| 日韩乱伦AⅤ| 久久久一区二区三区三州| 家庭乱伦国产精品| 影音先锋视频在线| 影音先锋中文字幕日本好一区二区| 久久国内| 天天天天操| 麻豆国产尤物AV| 欧美精品另类人妖xxxx| 91 国产丝袜在线放观看 | 日本高清免费一本视频在线观看| 日本三级一区二区 在线| 亚洲五码一区二区三区| 超碰99在线观看| 好淫网一二三视区| 91伊人久久在线| 97超级久久| 秋霞色色影院| 国产免费操逼| 大奶啊啊好爽| 亚洲综合图色在线| 欧美91变态| 日本黄色精品专区网站| 亚洲欧洲国产综合av| 久久99热这里只频精品6学生| 97久精品| 麻豆区久久久久亚| 97超碰护士| 久久亚洲AV无码专区国产精品| 日本九九九九| 美女毛片999| 日日骚av| 欧美日韩亚洲一区二区在线观看| 丁香五月久久| 青青草玖玖爱| 国内毛片欧美香蕉精品| 亚洲国男人的天堂| 久久精品成人一区二区三区蜜臀| 试看日韩黄片| 色色色999| 久久人爽| 91精品人妻偷情| 黑人黄片在线免费观看| 青春草A| 色欧洲| 人看人人摸人人操| 97超级欧美| 四虎精品一区二区| 日本午夜精品理论片A级APP发布| 麻豆久久久久久久久丝袜 | 蜜桃臀一区二区三区久久| 国产捆绑一区| 狠狠穞A片一區二區三區| 日日做夜狠狠爱欧美黑人| 亚洲欧美碰碰| 中文字幕在线免费观看视频| 欧美一区二区三区黄色影视| 久久免费99精品久久久久久| 日本不卡卡一区| 欧美成人精品一区| 亚欧性爱在线无码| 久久精品99| 性在久久久久久| 大香蕉中文aV在线| 日本影视久久免费| 中文字幕91综合| 久久精品无码专区| 五月天婷婷综合网| 美女十八禁| 国产日韩在线播放| 人妻少妇久久中文| 九九综合久久| 亚洲有薄码区久久在线一区| 91黑人无码激情在线| 亚洲 欧美 综合 91| 天天干夜夜一操| AV色五月天| 日韩一级特黄av毛片| 亚洲美女色图| 岛国大片在线观看网站入口| 九九九九九九九| 国产精品一区二区三区,亚洲综合| 日逼五月天| 少妇一级婬片免费放一级a性色.| 久久超碰、| 中文字幕,人妻,日韩| 亚洲色图加勒比| 久久欲| 中文字幕久久精品一区| 日本免费一级AAA大片器| 91美女色视频亚洲| 国产成人免费观看在线视频| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 亲子敌伦对白在线播放| 国产怡红院| 日日操免费视频| 超碰69| 静品嫩模一区二区| 好属操| 国产传媒日本欧美专区| 特级毛片特黄久久免费看| 亚洲天堂久| 一区二区三区四区色图| 日韩性爱视频在线免费观看| 蜜臀无码一区二区| 中亚精品极乱| 国产亚洲中文不卡二区| 视频二区美腿制服人妻欧美| 神马午夜久久久| 欧美日韩国内不卡| 亚洲熟女乱色一区二区三区| 久久久久深夜无码| 国产精品乱人伊人网| www..com操老师| 色色九区| 美女丝袜激情小说| 天天肏美女| 高跟丝袜AV专区国产| 91欧美网| 九99久久| 在线 亚洲 网爆 自拍| 人妻日日干| 中文?日韩?免费?精品| 久久久久久久综合,国产| 精品精品精品| 中文字幕av亚洲在线| 中文一区二区三区影院| 婷婷五月天色网| 97久久免费| 熟妇精品juliaannAV| 久青草影院| 一起草高清无码| 青女偷拍网| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 久操97| 欧美日韩大陆黑人少妇99| 凹凸视频特色日本特黄| 午夜激情成人在线观看| 亚洲国产精品无石码久久| 欧洲黄色网| 久草久热| 久操婷婷| 久久riav中文精品| 日韩福利综合一区| 水多多映视AV| 国产激情在线| 亚洲久久东京热一二三四五区视频| 日本人体九九九九九九| 婷婷中文字幕| 十八禁啪啦拍视频无遮挡| 91精品久久久久五月天精品 | 精品人体无圣光凹凸| 中文字幕一二三| 性感美女91影视| 舔人妻中文免费视频| 黑人精品久久97| 最新精品久久蜜桃| 粉嫩少妇自慰在线| 久久国产对白激情浪潮 | 久久久久九九九九| 久久精品店| 日韩精品 欧美激情| 91欧洲入口| 俺也射| 久久久三区二区一区| 亚洲系列欧美| 熟妇女伦乱视频视频| 精品无码一区二区人妻久久蜜桃| 日韩啪啪啪视频| 欧美精品 - 91爱爱| 有码人妻系列| 国产精品网站免费| 91色色综合| 伊人96在线| 国产精品另类一区大香蕉| 亚洲骚男同com| 九久久精| 日产操逼| 影音先锋视频在线| 毛片电影一区二区三区| 屌色在线97视频| 久久久久精| 久久蜜桃综合网| 五月开心久久AV官网| 久久久精| 女性91网站| 日韩欧美操逼xxx| 91在线超高颜值国产| 欧美亚洲中文字幕| 日韩乱码Av| 免费网站观看www在线观| 九九九九九用不成了| 久久影视二区三区行押| 东北熟女91| 欧美激情性爱视频网站| 欧美婷婷五月天| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 999热这里只有精品| 国产成人亚洲精品无码最新在线| 韩国成人精品久久久免费看 | 亚洲色交| 国产黄片精品在线| 天天综合色| 亚洲色性情三级| 超碰偷拍| 久久中文字幕一区不卡| 免费一级视频特黄色大片| 99热97| 久久妇| 九九综合九九综合| 欧美亚洲中文字幕| 超碰97最新人妻| 人人澡人人干| 人人妻人射| 久久伊人在线五区| 久久成人东京热人妻| 日韩免费av片高清无码| 久久婷婷六月综合| 日本黄页视频在线观看| 国产精品第一区第一页| 日韩三级一区| 疯操AV| 国产宅男宅女在线观看| 人妻夜夜爽天天爽麻豆三区网站 | 岛国黄色大片网站| 91日日| 日韩综合色图| 日韩999| 香蕉色网| 在线欧美69V免费观看视频| 狠狠躁AV| 97天天摸天天爽| 丁香色色网| 九一国产精品| 免费伦费视频在线观看| 丁香婷婷激情五月天无毒不卡 | 操逼网站视频漫画国产| 日韩资源网| 少妇一区二区三区高速| 天天天肏屄欧美| 日少妇视频| 五月天成人综合| 一卡二卡在线播放| 亚洲aV无码成人在线观看| 日本顶级天天操狠狠操夜夜操中文字幕| 啪啪视频免费在线观看| 国产欧美美女免费观看视频| 另类图片天天影视| 无码免费一区二区三区啪啪| 97se亚洲综合自| 五月天激情国产综合婷婷婷| 狠狠入| 丁香五月婷婷基地| 亚洲男人的天堂va亚洲男人社| 久久久久国产无av| 大香蕉中文网| 欧美淫穴| 国产乱伦搜索结果91P| 人妻插插人妻人| 天天射天天| 欧美激情片一区二区| 吖在线不卡一区二区国产剧情| 成人老鸭窝人人在线视频| 黄色免费网| 欧美成人色| 午夜福利免费福利视频| 熟妇一区,二区,三区。| 色色色热| 女沟厕偷窥piss小便| 久久久久七视频| 久久久亚洲欧美综合| 久久亚洲日韩国产欧| www.五月天| 人妻色偷色噜| 亚洲自拍欧美色综合| 天天色播亚洲综合网站| 亚洲美女精品九九视频| 丝袜狠狠草尤物人妻av91| 亚洲?V无码专区在线电影| 是还免费视频1727我| 91|九色|国产熟女| 亚洲av噜噜噜噜噜噜| 91高跟美女在线播放| 欧亚在线视频| 亚洲无码视频免费在线观看网址!| 97久久精品国产| 婷婷中文网| 亚洲天天操| 欧美熟妇亚洲版| 亚洲操操| 精品国产91av一区二区三区| 玖玖综合视频| 欧美第38页| 蜜桃无码AV一区二区| 欧美综合天天| AV男人天堂网| 亚洲丝袜B诱惑| 性爱1区| 久久亚洲中文字幕视频| 中文字幕免费看| 欧美大香蕉在线观看| 午夜福利免费福利视频| 久久伊人最新网址视频| 99热国产| 天天综合有色网| 中文字幕在线日亚州9| 欧美成熟性爱精品| 久久中文字幕在线观看| 9长久久精品| 日韩99神马视频播放片在线播放| 国岛片视频| 国产h小视频在线观看免费| 久久人妻无码毛片A片麻豆| 天无日色综合| 免费看一级a性色生活片久久无| 欧美极品美女aaaaaa级黄片| 人妻熟妇一区二区三区| 久久中日麻豆| 精品.99999| 欧美99| 综合 欧美 亚洲 日本| 国产精品懂色tv影视免费观看| 亚洲中文字幕久久无码精品| 婷婷美人网| 国产suv精品一区二区四区999| 中文字幕精品资源在线| 亚洲欧洲综合成人av一区| dy888午夜老子影视达达兔| 变态另类专区| 情色五月天就去干| 大香蕉欧美国产日韩高潮| 欧美亚男人的天堂| 人人天天欧洲| 婷婷激情五月综合| 97人人干人人操| 去干网最新版| 亚欧高清在线| 中文字幕aⅴ在线视频| 人人操人人操人人操人人操人人操人人人11.CM| 国产熟妇 码视频户外直播| 色综91| 日韩啪啪视频| 亚洲色图91| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 综合网亚洲1| 日本精品一区二区三| 免费97视频| 亚洲中文字幕一区| 婷婷探花久久精品一区| 欧日韩一二三f区| 麻豆色约约| 婷婷丁香人妻| 亚洲男人天堂av| 久久一二三四| 国产精品免费1区2区视频| 国产不良强奸视频免费看| 欧洲综合无码| 日韩精品1区2区中文字幕| 中国一区二区亚洲人妻| 天美麻花大全视频| 黑丝内射一区二区三区| 天天肏美女| 亚洲综合影片| 欧美亚州色的图| com 首页 18岁 禁区 女优 免费 精选 同城 | 免费草草草草草视频| 男人的天堂无码| 国产一区二区精品久久久不卡蜜臀| 99热一区二区三区四区| 亚洲天天操| 超碰无码加勒比| 91人妻尻屄视频| 精品精品精品| 日韩9999| 国产在线激情| 午夜丁香| 四虎免费看黄| 日韩免费人妻色情网站| 嗯,啊。舔我逼| 一区二区三| 操逼网站视频漫画国产| 一区二区三区无卡视频在线观看| 日韩欧美传媒一区国产| 国产无马视频| 成人一二| a级成人毛片免费视频高清| 超碰狠狠操| 五月天久久婷婷亚洲| 在线小说视频一区| 性色综合网| 亚洲一区二区三区播放在线| 婷婷五月色| 伊人一区二区三区| 蜜臀Av一区二区三区| 欧美精品久久久久久久丰满| 久久久禁| 97在线免费看视频| α√在线| 人妻一区久久二区三区色播| 色欲久久99精品久久| 日韩激情电影中文字幕| 国产欧美一区激情交| 日韩午夜国产| 青草成人免费视频一COm| 久久直播国产| 一区二区三区四区五区高清无码永久视频| 精品久久艹| 中国操逼无码| 999久久久精品国产| 超碰98综合网| 日韩性爱一级片| 婷婷香蕉| 影音资源男人日韩| 国产操逼视频在线观看| 99热免费| 婷婷激情四射| 日韩九区| 偷拍亚洲视频一区二区三区四区| 高清无码一区二区三区| 蜜桃精品一区二区三区ww| 亚洲性天堂| 无码国产精品午夜不卡(| 国产日韩欧美| 久久久久人妻二区精品叶可怜| 天天看天天综合成人网| 春色91| 一区二区娱乐网站| 精品人妻一二三四区视频| 91东京热男人的天堂| 十八禁网站在线| 亚洲资源站| 依人大香蕉| 乱人乱色一区二区三区免费| 国产中文字幕曰本毛片| 欧美日韩国产人人| 又粗又长又爽在线观看| 玖玖资源中文字幕制服丝袜| 日韩成人精品| 干b在线性社区| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 2020中文在线一区二区三区| 欧美熟女激情| 亚欧毛片基地国产毛片基地| 四季AV综合网址| 三级精品三级在线观看| 97超碰逼| 国产精品点击进入在线影院| 欧美 日韩 另类 亚洲| 美国精品国产精品| 狠狠2050在线观看| 国产精品一级片在线看| 久久久国产护士丝袜美腿一| 91|九色|国产熟女| 91中文字幕制服丝袜免费视频| 丁香六月天| 日本阿v天堂在线观看| 欧美综合色站| 久久精品毛片免费不卡| 玖玖大干人妻| 日本超碰在线国产一区| 2017av无码免费无线播| 大香蕉在线免| 亚洲一本大道中文字幕无码在线| 人妻熟女一区二区三区视频| 亚洲欧美激情另类色图| 免费久久一级毛片大黄| 97网址97| 99亚洲精品| 乱操乱伦AV| 亚洲色图 综合| 激情色色| 亚洲黄片免费在线播放| 黑人精品久久97| 九九伊人网| 久久在线观看免费视频 | 肉嘟嘟www视频在线观看高清| 玖玖资源视频一区二区三区| 熟妇人妻精品一区二区视频色欲| 色欲久久久久综合网| 久久综合久色欧美综合狠狠| 人人操av| 国产成年精品高清在线观看91| 国产AV天美传媒一区二区三区 | 97香蕉人人乳| 成人黑料社久久| 黑人免费福利视频| 欧美综合狠| 久久色一区| 九九性爱网| 热无码中文亚洲H一道本一区二区| 久热99999| 欧美嗯啊……在线观看视频免费| 欧美日韩国产三级黄色| 97超碰香蕉| 超碰伊人在线| 日日干日日操五月天伦理视频| 国产亚州高清国产拍精| 91操操操操| 国产国产亚洲一二三久久| 欧色综合| 亚洲人成网www| 无码免费精品高清| 在线观看不卡一区二区三区| 老熟乱一区二区三区四区| 操逼精品视频| 麻豆久久视频在线地址| 8050无码八戒| 正在播放国产精品一区| 久久超碰网| 黄页网站成人免费| 午夜福利在线合集| 亚洲成人精品久久久| 亚码激情| 色墦五月丁香| 亚洲欧美综合区自拍另类| 五月丁香狠狠爱| 97久久综合网| 超碰欧美在线欧美| 情色av电影| 超碰日本97美女人妻人人玩人人爱| 黄色免费网页无码| 美国一区二区三区视频| jizz啪啪| 秋霞网无码| 国产熟妇 码视频户外直播 | 欧美成人午夜免费福利785| 少妇人妻好深太紧了vr91| a片自拍直播视频| 2017大香蕉| 日韩少妇无码| 屁股久久久久久| 大香蕉线| 欧美 亚洲| 酒色综合网| 中文字幕在线免费观看| 亚洲蜜臀精品视频久久| 伊人久久大香线综合无码| 亚洲骚逼少妇| 97碰碰色| 日本福利二区视频| 91成人精品在线播放| 日本东京热加勒比久久| 国产对白刺激视频| AV和黑人在线播放| 天天干人人干天天日97| 伦伦成年午夜免费视频| 欧美日韩 强奸乱伦| 国产 热久久久久国产精品| 金莲网址| 亚洲综合精品国产一区| 精品成人av一区二区三区在线| 不卡啪啪视频| 99这里有精品视频| www.91色综合| 亚洲AV资源| 97精品国产手机| 精彩久久中文| 伊色久人大在线| 少妇久久久| 国产乱伦亚洲| 日本午夜福利影院| 五月天婷婷欧美三区| 国产乱人妻精品入口| 精品9999| 干超碰碰熟女| 亚洲伊人a线观看视频| hd成人一区二区在线| 九九色热| 91 国产丝袜在线放观看| 欧美一区二区成人一卡| 久久风骚城市| 中文字幕蜜乳av| 8x福利精品第一福利视频导航| 日韩色| 久久激情视频| wwe 天天干.com| 爱丝福利| 久久精品国产亚洲5555| 丰满人妻一区二区三区四区| 中国亚洲呦女专区| 欧美三级一级| 人妻天天爽夜夜爽2| 国产剧情在线| 国产精品久久久久亚洲av| 久久亚洲av成人无码国产| 人妻在线臀日韩| 狠狠干妹子| 亚洲精品久久久久久久蜜桃臀| 韩三级a视频在线观看| 成人性爱电影一区二区| 国产久久视频| 限制级中的三级片中的黑粗大屌屌日人妻熟女| 婷婷国产精品一区二区| 日韩欧洲操屄视频| 久久婷婷伊人| 免费成人在线熟妇网| 91性片| 欧美日本国产日韩激情视频| oumeisetu综合| 日韩有码回春沙龙第一页| 狠狠操,使劲操| 午夜一区| 天堂射| 粉嫩av在线| 欧美日韩性爱视屏免费看了| 自拍盗摄一区| 狠狠爱夜夜| www网站黄| 精品美女少妇一区二区三区| 天天噜| 亚洲精品日韩国产欧美| 国产欧美日韩臀| 久久久久久97| 色99视频| 久久香蕉国产线看观看猫咪av| 青青草密桃在线播放| 亚洲丝袜二区在线| 日韩一级特黄av毛片| 熟妇熟女一区二三区| 草草草草视频| 婷婷九月色| av日韩中文字幕| 亚洲美女自拍偷拍视频| 久久99精品九九久久久婷婷| 日韩免费中文字幕视频| 草草影院在线视频| 亚洲精品国产拍免费91在线| 牛牛aV| 欧美青青草视频| 日韩 欧美 视频 在线 一区| 欧美婷婷久久| 成人av福利在线观看| 日韩人妻网站| 亚洲A曰本VA欧美VA视频| 神马福利久草| 日本不卡二区| 人妻在线臀日韩| 97香蕉网| 2025亚洲男人天堂| 国产一级舔足在线观看| 无码99| 成人线上超碰| 嗯阿好爽好紧| 久久精品午夜国产亚洲AV无码| 天天欧美色| 97色碰| 少妇被玩视频二三区| 岛国免费视频在线| 91天天综合网,天天综合网| 夜夜操美女| 亚洲黄a三级三级三级看三级| 黄色片,com| 亚洲在钱| 久久久婷| 操逼操逼操| 天天享受天天看| 综合 欧美 亚洲 日本| 中国黄色特级精品一区二区三区片| 天堂中文日本在线观看| 中文字幕熟女人妻丝袜丝| 动漫爆乳3D奶水一区在线观看| 久久久999国产精品| 亚洲nv男人的天堂网| 91亚洲综合| 麻豆久久久久久久久丝袜 | 久热一区二区| 四虎884a| 久久美女福利是上海美女| 0755午夜福利视频| 夜夜夜久久| 天天激情干| 中文字幕av片| 蜜桃久久综合视频| 九九精品无码专区免费| 尤物视频偷拍免费| 日日狠狠久久偷偷色综合免费| 男女啪啪网站免费视频| 色香在线| 丁香五月天激情| 天天做天天爱夜夜爽毛片试看| 日影院久久婷婷夜夜网| 精品久热| 一二三四视频中文字幕在线看| 狠狠操狠狠燥| 国产精品久久久视频| AV污污污污| 97爱爱爱| 美女91av| 天天操av懂色| 精品v日韩欧美国产| 久久久亚洲熟妇熟女| 亚洲污污网站| 大胆91| 深夜国产一区二区三区在线看| 97亚洲精品超碰| 噜噜噜亚洲精品| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 天天操天天日天天干| 99综合网| 亚洲日韩美国人妻| 日韩视频中文字幕| 中文字幕av片| 久久天天躁日日躁狠狠躁| 色播综合| 日韩一级特黄av毛片| AAAA级日本片免费视频| 亚洲图片视频小说| 久操在97| 日韩伦理视频| 久久婷婷五月天| 天天视频黄网站| 一本色道综合久久欧美| 国产精品久久久亚洲第一牛牛_在线观看 | 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 东北女人av| 国产精品免费美女视频| 91精品无码久久久久久久| 久久有码视频| 国产精品第一页国产大屁股视频免费区i | 偷拍亚洲情色| 国产精品久久久久久久久久久久久久久久| 少妇二级| 婷婷五月色| 六十路日本| 国产精品熟女丝袜一区二区| 波多野42部无码喷潮在线观看| 亚欧免费观看视频| 精品视频一二三中文| 久草精品在线| 桑老女人九区| 天天爱综合网| 日韩久草| 超碰伊人在线| 中文字幕伊人| 啊啊啊啊啊啊啊在线| 91成人社区| 久草综合视频| 99只有精品| 久久爽爽精品| 一区二区三区无卡视频在线观看| 国产有码一区| 精品人妻一区二区免费蜜桃| 久久久噜噜噜久久久| 国模限制级电影| 97久精品| 91色五月俺来也| 99综合自拍| 久啪| 精品视频久久区| 一区二区播放| 久久久久久人体| 亚洲熟女av中文字幕| 91无遮挡| 麻豆综合一区av| 亚洲国产ⅴ高清在线观看| 欧美日韩日产免费网站看| 久久av一级av少妇av高潮| 国产欧美一级在线观看| 少妇干B| 日本黄 R色 成 人网站| 久久久久人妻| 人妻精品综合中文字幕在线| 久久精品一区| 欧美日韩亚洲电影| 男人的天堂kva|