精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一文帶您了解SHAP:機器學習的模型解釋

人工智能
在機器學習和數據科學中,模型的可解釋性一直備受關注??山忉屓斯ぶ悄埽╔AI)通過提高模型透明度,增強對模型的信任。

在機器學習和數據科學領域,模型的可解釋性一直是研究者和實踐者關注的焦點。隨著深度學習和集成方法等復雜模型的廣泛應用,理解模型的決策過程變得尤為重要??山忉屓斯ぶ悄埽‥xplainable AI ,XAI)通過提高模型的透明度,幫助建立對機器學習模型的信任和信心。

XAI是一套工具和框架,用于理解和解釋機器學習模型如何做出決策。其中,Python中的SHAP(SHapley Additive exPlanations)庫是一個非常有用的工具。SHAP庫能夠量化特征對單個預測及整體預測的貢獻,并提供美觀且易于使用的可視化功能。

接下來,我們將概括介紹下SHAP庫的基礎知識,以理解在Scikit-learn中構建的回歸和分類模型的預測。

SHAP 和SHAP values

SHAP(SHapley Additive Explanations)是一種解釋任何機器學習模型輸出的博弈論方法。它利用經典的博弈論Shapley值及其相關擴展,將最優的信用分配與局部解釋相結合(詳細信息和引用請參閱相關論文:https://github.com/shap/shap#citations)。

SHAP values幫助我們量化特征對預測的貢獻。SHAP值越接近于零,表示該特征對預測的貢獻越?。欢鳶HAP值遠離零,表示該特征對預測的貢獻越大。

安裝shap 包:

pip install shap  -i https://pypi.tuna.tsinghua.edu.cn/simple

我們看下面的示例:如何在回歸問題中獲取特征的SHAP值。我們將從加載庫和示例數據開始,然后快速構建一個模型來預測糖尿病的進展情況:

import numpy as np
np.set_printoptions(formatter={'float':lambda x:"{:.4f}".format(x)})
import pandas as pd
pd.options.display.float_format = "{:.3f}".format
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style='darkgrid', context='talk', palette='rainbow')
from sklearn.datasets import load_diabetes
from sklearn.model_selection import train_test_split
from sklearn.ensemble import (RandomForestRegressor, 
                              RandomForestClassifier)
import shap
shap.initjs()
# Import sample data
diabetes = load_diabetes(as_frame=True)
X = diabetes['data'].iloc[:, :4] # Select first 4 columns
y = diabetes['target']
# Partition data
X_train, X_test, y_train, y_test = train_test_split(X, y, 
                                                    test_size=0.2, 
                                                    random_state=1)
print(f"Training features shape: {X_train.shape}")
print(f"Training target shape: {y_train.shape}\n")
print(f"Test features shape: {X_test.shape}")
print(f"Test target shape: {y_test.shape}")
display(X_train.head())
# Train a simple model
model = RandomForestRegressor(random_state=42)
model.fit(X_train, y_train)

一種常見的獲取SHAP值的方法是使用Explainer對象。接下來創建一個Explainer對象,并為測試數據提取shap_test值:

explainer = shap.Explainer(model)
shap_test = explainer(X_test)
print(f"Shap values length: {len(shap_test)}\n")
print(f"Sample shap value:\n{shap_test[0]}")

shap_test的長度為89,因為它包含了每個測試實例的記錄。從查看第一個測試記錄中,我們可以看到它包含三個屬性:

shap_test[0].base_values:目標的基準值

shap_test[0].data:每個特征的值

shap_test[0].values:每個對象的SHAP值

  • 基準值:基準值(shap_test.base_values),也稱為期望值(explainer.expected_value),是訓練數據中目標值的平均值。
print(f"Expected value: {explainer.expected_value[0]:.1f}")
print(f"Average target value (training data): {y_train.mean():.1f}")
print(f"Base value: {np.unique(shap_test.base_values)[0]:.1f}")

  • shap_test.data 包含與 X_test 相同的值
(shap_test.data == X_test).describe()

  • values:shap_test 最重要的屬性是 values 屬性,因為我們可以通過它訪問 SHAP 值。讓我們將 SHAP 值轉換為 DataFrame,以便于操作:
shap_df = pd.DataFrame(shap_test.values, 
                       columns=shap_test.feature_names, 
                       index=X_test.index)
shap_df

可以看到每條記錄中每個特征的 SHAP 值。如果將這些 SHAP 值加到期望值上,就會得到預測值:

np.isclose(model.predict(X_test), 
           explainer.expected_value[0] + shap_df.sum(axis=1))

現在我們已經有了 SHAP 值,可以進行自定義可視化,如下圖所示,以理解特征的貢獻:

columns = shap_df.apply(np.abs).mean()\
                 .sort_values(ascending=False).index
fig, ax = plt.subplots(1, 2, figsize=(11,4))
sns.barplot(data=shap_df[columns].apply(np.abs), orient='h', 
            ax=ax[0])
ax[0].set_title("Mean absolute shap value")
sns.boxplot(data=shap_df[columns], orient='h', ax=ax[1])
ax[1].set_title("Distribution of shap values");
plt.show()

左側子圖顯示了每個特征的平均絕對 SHAP 值,而右側子圖顯示了各特征的 SHAP 值分布。從這些圖中可以看出,bmi 在所使用的4個特征中貢獻最大。

Shap 內置圖表

雖然我們可以使用 SHAP 值構建自己的可視化圖表,但 shap 包提供了內置的華麗可視化圖表。在本節中,我們將熟悉其中幾種選擇的可視化圖表。我們將查看兩種主要類型的圖表:

  • 全局:可視化特征的整體貢獻。這種類型的圖表顯示了特征在整個數據集上的匯總貢獻。
  • 局部:顯示特定實例中特征貢獻的圖表。這有助于我們深入了解單個預測。
  • 條形圖/全局:對于之前顯示的左側子圖,有一個等效的內置函數,只需幾個按鍵即可調用:
shap.plots.bar(shap_test)

這個簡單但有用的圖表顯示了特征貢獻的強度。該圖基于特征的平均絕對 SHAP 值而生成:shap_df.apply(np.abs).mean()。特征按照從上到下的順序排列,具有最高平均絕對 SHAP 值的特征顯示在頂部。

  • 總結圖/全局:另一個有用的圖是總結圖:
shap.summary_plot(shap_test)

以下是解釋這張圖的指南:

  • 圖的橫軸顯示了特征的 SHAP 值分布。每個點代表數據集中的一個記錄。例如,我們可以看到對于 BMI 特征,點的分布相當散亂,幾乎沒有點位于 0 附近,而對于年齡特征,點更加集中地分布在 0 附近。
  • 點的顏色顯示了特征值。這個額外的維度允許我們看到隨著特征值的變化,SHAP 值如何變化。換句話說,我們可以看到關系的方向。例如,我們可以看到當 BMI 較高時(由熱粉色點表示)SHAP 值傾向于較高,并且當 BMI 較低時(由藍色點表示)SHAP 值傾向于較低。還有一些紫色點散布在整個光譜中。

  • 熱力圖/全局:熱力圖是另一種可視化 SHAP 值的方式。與將 SHAP 值聚合到平均值不同,我們看到以顏色編碼的個體值。特征繪制在 y 軸上,記錄繪制在 x 軸上:
shap.plots.heatmap(shap_test)

這個熱力圖的頂部還補充了每個記錄的預測值(即 f(x))的線圖。

  • Force plot/全局:這個交互式圖表允許我們通過記錄查看 SHAP 值的構成。
shap.initjs()
shap.force_plot(explainer.expected_value, shap_test.values, 
                X_test)

就像熱力圖一樣,x 軸顯示每個記錄。正的 SHAP 值顯示為紅色,負的 SHAP 值顯示為藍色。例如,由于第一個記錄的紅色貢獻比藍色貢獻多,因此該記錄的預測值將高于期望值。

交互性允許我們改變兩個軸。例如,y 軸顯示預測值 f(x),x 軸根據輸出(預測)值排序,如上面的快照所示。

  • 條形圖/局部:現在我們將看一下用于理解個別案例預測的圖表。讓我們從一個條形圖開始:
shap.plots.bar(shap_test[0])

與“ 條形圖/全局 ”中完全相同,只是這次我們將數據切片為單個記錄。

  1. Force plot/局部:Force plot是單個記錄的強制圖。
shap.initjs()
shap.plots.force(shap_test[0])

分類模型的SHAP values/圖表

上面示例是回歸模型,下面我們以分類模型展示SHAP values及可視化:

import numpy as np
np.set_printoptions(formatter={'float':lambda x:"{:.4f}".format(x)})
import pandas as pd
pd.options.display.float_format = "{:.3f}".format
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style='darkgrid', context='talk', palette='rainbow')
from sklearn.datasets import load_diabetes
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
import shap


from sklearn.datasets import fetch_openml


# 加載 Titanic 數據集
titanic = fetch_openml('titanic', version=1, as_frame=True)
df = titanic.frame


# 選擇特征和目標變量
features = ['pclass', 'age', 'sibsp', 'parch', 'fare']
df = df.dropna(subset=features + ['survived'])  # 刪除包含缺失值的行
X = df[features]
y = df['survived']


# 分割數據集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)


# 訓練隨機森林分類器
model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X_train, y_train)

和回歸模型一樣的,shap values 值也是包括base_values 和values 值:

explainer = shap.Explainer(model)
shap_test = explainer(X_test)
print(f"Length of shap_test: {len(shap_test)}\n")
print(f"Sample shap_test:\n{shap_test[0]}")


print(f"Expected value: {explainer.expected_value[1]:.2f}")
print(f"Average target value (training data): {y_train}")
print(f"Base value: {np.unique(shap_test.base_values)[0]:.2f}")


shap_df = pd.DataFrame(shap_test.values[:,:,1], 
                       columns=shap_test.feature_names, 
                       index=X_test.index)
shap_df

我們仔細檢查一下將 shap 值之和添加到預期概率是否會給出預測概率:

np.isclose(model.predict_proba(X_test)[:,1], 
           explainer.expected_value[1] + shap_df.sum(axis=1))

內置圖與回歸模型是一致的,比如:

shap.plots.bar(shap_test[:,:,1])

或者瀑布圖如下:

shap.plots.waterfall(shap_test[:,:,1][0])

示例

看一個具體的用例。我們將找出模型對幸存者預測最不準確的例子,并嘗試理解模型為什么會做出錯誤的預測:

test = pd.concat([X_test, y_test], axis=1)
test['probability'] = model.predict_proba(X_test)[:,1]
test['order'] = np.arange(len(test))
test.query("survived=='1'").nsmallest(5, 'probability')

生存概率為第一個記錄的746。讓我們看看各個特征是如何對這一預測結果產生貢獻的:

ind1 = test.query("survived=='1'")\
           .nsmallest(1, 'probability')['order'].values[0]
shap.plots.waterfall(shap_test[:,:,1][ind1])

主要是客艙等級和年齡拉低了預測值。讓我們在訓練數據中找到類似的例子:

pd.concat([X_train, y_train], 
          axis=1)[(X_train['pclass']==3) & 
                  (X_train['age']==29) & 
                  (X_train['fare'].between(7,8))]

所有類似的訓練實例實際上都沒有幸存?,F在,這就說得通了!這是一個小的分析示例,展示了 SHAP 如何有助于揭示模型為何會做出錯誤預測。

在機器學習和數據科學中,模型的可解釋性一直備受關注。可解釋人工智能(XAI)通過提高模型透明度,增強對模型的信任。SHAP庫是一個重要工具,通過量化特征對預測的貢獻,提供可視化功能。本文介紹了SHAP庫的基礎知識,以及如何使用它來理解回歸和分類模型的預測。通過具體用例,展示了SHAP如何幫助解釋模型錯誤預測。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2024-05-13 11:25:08

概念模型邏輯模型物理模型

2024-11-04 14:33:04

機器學習SHAP黑盒模型

2025-07-15 10:29:17

2025-01-23 08:23:12

2018-10-18 11:00:50

人工智能機器學習模型偏差

2024-10-06 14:01:47

Python裝飾器對象編程

2025-01-06 07:54:13

SPC控制圖工具

2024-07-11 12:14:20

Pythonmapfilter

2024-03-12 17:54:55

容器類型Init

2025-04-30 10:36:17

2023-07-31 07:25:27

2024-07-31 15:11:57

SymPypython數學運算

2022-07-03 08:25:09

OSITCP/IP

2024-08-19 00:01:00

2022-08-18 15:52:13

開發者阿里云

2020-08-27 07:34:50

Zookeeper數據結構

2024-04-09 14:04:38

人工智能機器學習

2017-12-01 12:36:54

LDA模型機器

2024-04-26 14:18:43

機器學習人工智能

2024-02-01 11:57:31

this指針代碼C++
點贊
收藏

51CTO技術棧公眾號

午夜亚洲福利在线老司机| www.久久东京| 一区二区三区产品免费精品久久75| 成人欧美视频在线| 麻豆精品久久久久久久99蜜桃| 成人毛片免费看| 欧美不卡视频一区| 另类小说第一页| 日本大片在线播放| 国产免费久久精品| 国产视频精品网| 伊人网综合在线| 极品少妇一区二区三区| 在线观看亚洲视频| 亚洲色图欧美日韩| 日韩成人综合网站| 欧美日韩亚洲系列| 国产一区二区三区在线免费| 国内在线精品| 成人免费观看av| 国产男人精品视频| 4438国产精品一区二区| 亚洲精品久久久| 亚洲一二在线观看| 熟女丰满老熟女熟妇| 国产中文欧美日韩在线| 在线一区二区三区四区| 成人午夜免费在线| 中文在线观看免费| 中文字幕制服丝袜成人av| 欧美二区在线看| 人人妻人人澡人人爽人人欧美一区| 国产做a爰片久久毛片| 国产91在线播放精品91| 日韩三级av在线| 欧美日韩18| 久久这里有精品| 少妇高潮惨叫久久久久| 亚洲人成亚洲精品| 日韩精品黄色网| 中文字幕 日本| 中文字幕日韩在线| 欧美成人性战久久| 国产黑丝在线视频| 久久xxx视频| 在线观看亚洲精品| 99热成人精品热久久66| 国产无遮挡裸体视频在线观看| 艳妇臀荡乳欲伦亚洲一区| 亚洲AV无码成人精品一区| 成人18在线| 中文字幕国产一区| 亚洲国产午夜伦理片大全在线观看网站| 青青国产在线| 久久久久久免费网| 天堂精品视频| 欧美96在线| 亚洲日穴在线视频| 色婷婷777777仙踪林| 污污的网站在线看| 亚洲成人一二三| 欧美 日韩精品| 天堂久久午夜av| 欧美精品视频www在线观看| 日本高清久久久| 精品亚洲二区| 精品国产sm最大网站| 少妇户外露出[11p]| 亚洲动漫精品| 日韩在线中文视频| 欧美日韩亚洲国产另类| 影音先锋日韩资源| 欧美有码在线视频| 国产成人麻豆免费观看| 精品一区二区精品| 国产精品12| 男操女在线观看| 国产精品色呦呦| 99视频精品全部免费看| 美女91在线看| 欧美日韩一区二区三区高清 | 亚洲国产三级| 88国产精品欧美一区二区三区| 日本视频免费观看| 九九视频精品免费| 国产伦精品一区二区三区照片91| 精品视频二区| 亚洲女同ⅹxx女同tv| 久久久亚洲精品无码| 校园春色亚洲色图| 欧美成人aa大片| 播金莲一级淫片aaaaaaa| 91亚洲成人| 高清欧美一区二区三区| 中文字幕欧美在线观看| 国产成人精品亚洲777人妖| 欧美大陆一区二区| h视频在线免费观看| 欧美性xxxx极品hd满灌| 91看片破解版| 网红女主播少妇精品视频| 久久韩剧网电视剧| 免费黄色网址在线| 国产传媒一区在线| 先锋影音网一区| 91超碰在线| 欧美日韩aaaaa| 中日韩精品一区二区三区| 欧美在线国产| 国产精品久久久久久久久久三级| 亚洲国产福利视频| 国产精品久久久久久久浪潮网站| av片在线免费| 日韩一区二区三区四区五区| 亚洲欧美制服中文字幕| 国产在线观看你懂的| 久久99精品久久久久婷婷| 欧美成人第一区| zzzwww在线看片免费| 日韩一区二区在线看| 成人免费视频入口| 水蜜桃久久夜色精品一区的特点| 国产成人精品福利一区二区三区| 免费大片黄在线观看视频网站| 色综合久久中文字幕综合网| 黄色免费视频网站| 欧美精品一级| 91亚洲国产成人精品性色| 91在线网址| 在线观看日韩国产| 色噜噜日韩精品欧美一区二区| 国产欧美日本| 国产精品日韩高清| 污污的视频在线观看| 欧美一卡二卡在线| 国产67194| 国产乱码精品一区二区三| 欧美aaa在线观看| 日韩成人综合网| 精品国产一区二区三区久久狼5月 精品国产一区二区三区久久久狼 精品国产一区二区三区久久久 | 99久久免费精品| 国产高清www| 91欧美极品| 久久久久久亚洲精品不卡| 99在线小视频| 亚洲一区二区四区蜜桃| 91精产国品一二三| 亚洲特色特黄| 国产一区福利视频| 午夜影院在线播放| 亚洲欧洲激情在线| a片在线免费观看| 中文字幕二三区不卡| 男人的天堂最新网址| 天天射综合网视频| 51蜜桃传媒精品一区二区| 新版中文在线官网| 亚洲国产古装精品网站| 久久国产视频一区| 欧美国产激情二区三区| 三上悠亚在线一区二区| 91精品综合| 国产精品国产亚洲精品看不卡15| 国产福利电影在线播放| 亚洲人午夜精品| 中文字幕乱码视频| 亚洲日本韩国一区| 国产精品手机在线观看| 国产日韩一区| 亚洲国产一区二区精品视频 | 超级碰碰不卡在线视频| 欧美xxxx老人做受| 国产精品白嫩白嫩大学美女| 天堂99x99es久久精品免费| 51久久精品夜色国产麻豆| 噜噜噜噜噜在线视频| 欧美体内she精视频| 日韩激情小视频| 高清av一区二区| 亚洲中文字幕无码中文字| 韩日一区二区三区| 久久久影视传媒| 向日葵污视频在线观看| 亚洲国产精品91| 黄色一区三区| 久久麻豆视频| 久久久免费观看视频| 国产精品二线| 精品国产青草久久久久福利| 成年人av网站| 亚洲精品国产无天堂网2021| 久久国产一区| 国产一区二区视频免费观看| 亚洲激情在线播放| 给我免费观看片在线电影的| 欧美aⅴ一区二区三区视频| 蜜桃视频成人在线观看| 天天操综合520| 亚洲999一在线观看www| 国产网站在线| 久久大大胆人体| 欧美18xxxxx| 日韩一区二区三区视频| 狠狠人妻久久久久久综合| 亚洲精品欧美在线| 欧美18—19性高清hd4k| eeuss国产一区二区三区| 午夜大片在线观看| 久久精品女人| 99热久久这里只有精品| 午夜片欧美伦| 日韩欧美视频一区二区| 久久av国产紧身裤| 亚洲一区二区三区sesese| 精品成人免费一区二区在线播放| 欧美激情综合色综合啪啪五月| 午夜老司机在线观看| 亚洲欧美在线播放| 国产超级av在线| 色婷婷综合网| 日本免费一区二区三区| 久久精品色播| 99re在线观看视频| 在线观看亚洲精品福利片| 国产精品免费视频xxxx| 高清不卡av| 26uuu国产精品视频| 久久一卡二卡| 欧美片一区二区三区| 黄色网址在线免费| 色偷偷av亚洲男人的天堂| 国产毛片在线| 亚洲三级av在线| 国产在线电影| 亚洲视频专区在线| 国产人成在线视频| 揄拍成人国产精品视频| 91精品国产综合久久久久久豆腐| 亚洲欧美在线x视频| 日漫免费在线观看网站| 国产午夜精品麻豆| 青青青草原在线| 亚洲欧美日本精品| 免费黄色片在线观看| 亚洲欧美国产另类| 国产精品秘入口| 中文字幕欧美日韩精品| 成a人片在线观看www视频| 国产性猛交xxxx免费看久久| 91短视频版在线观看www免费| 在线一区二区日韩| www.久久热.com| 久久精品久久精品亚洲人| 黄色一级大片在线免费看产| 欧美精品少妇videofree| 中文字幕中文字幕在线十八区| 欧美日韩成人在线视频| 丝袜综合欧美| 97色在线观看免费视频| 综合另类专区| 国产精品美女久久久久久免费 | 亚洲一区二区视频在线观看| 国产精品30p| 色噜噜夜夜夜综合网| 最新国产中文字幕| 91精品婷婷国产综合久久竹菊| 国产男男gay网站| 精品日韩一区二区三区免费视频| 日韩在线视频第一页| 亚洲欧美制服中文字幕| 免费高清完整在线观看| 欧美精品成人在线| 日韩性xxx| 91亚洲永久免费精品| 福利片在线一区二区| 欧美日韩综合网| 久久国产精品亚洲人一区二区三区 | 日韩美女毛茸茸| 亚洲最大的免费视频网站| 成人综合色站| 成人久久综合| 欧美午夜性视频| 免费人成在线不卡| 少妇搡bbbb搡bbb搡打电话| 久久久亚洲午夜电影| 亚洲波多野结衣| 欧美日韩国产页| 一级黄色片在线播放| 亚洲精品久久久久久久久久久久久| 国产九九在线| 高清欧美性猛交xxxx| 97人人做人人爽香蕉精品| 国产精品视频免费一区| 成人一区二区| 奇米影视亚洲色图| 卡一卡二国产精品| aa一级黄色片| 一区二区三区在线不卡| 特级西西444www高清大视频| 欧美精品一区男女天堂| 免费人成在线观看播放视频| 97在线观看视频| 涩爱av色老久久精品偷偷鲁| 欧美中文娱乐网| 在线国产日韩| 日韩精品aaa| 欧美国产国产综合| 日本中文字幕第一页| 精品少妇一区二区三区在线视频| 在线a人片免费观看视频| 欧美在线www| 国产精品传媒| 亚洲av综合色区| 久久99精品国产麻豆婷婷| 男女黄床上色视频| 亚洲成a人v欧美综合天堂下载 | 日韩免费va| 国产一区二区精品免费| 女人色偷偷aa久久天堂| 五月婷婷六月丁香激情| 久久久久久久久久久久久夜| 日韩欧美三级在线观看| 日韩欧美一区二区视频| 日本高清视频在线观看| 日本在线观看天堂男亚洲 | 国产精品一二三四| 51精品免费网站| 9191国产精品| 免费人成在线观看播放视频 | 黄色免费观看视频网站| 成人午夜私人影院| 久久久精品一区二区涩爱| 91精品中文字幕一区二区三区| 最新国产在线观看| 国产精品成人av在线| 欧美欧美黄在线二区| 凹凸国产熟女精品视频| 成人av动漫在线| 国产在线综合网| 亚洲成人久久电影| aa国产成人| 久久精品午夜一区二区福利| 国产欧美不卡| 欧美 日本 国产| 狠狠久久亚洲欧美专区| 日本免费不卡| 国产精品草莓在线免费观看| 国产va免费精品观看精品视频| 成人免费无码av| 国产日韩v精品一区二区| 中文字幕免费播放| 日韩网站免费观看| 欧美成人高清视频在线观看| 潘金莲一级淫片aaaaa免费看| 国产精品一区免费视频| 青娱乐国产在线| 亚洲精品福利在线| 澳门成人av网| 一区二区不卡在线| 国产精品亚洲人在线观看| 国产一级淫片免费| 亚洲欧美另类人妖| 少妇高潮一区二区三区99| 国产精品啪啪啪视频| 本田岬高潮一区二区三区| 91精品国产高清一区二区三密臀| 一区二区国产精品视频| 青青在线精品| 日本中文字幕在线视频观看| www国产精品av| 中文字幕一区二区三区人妻四季 | av免费不卡| 日韩理论片在线观看| 狠狠色丁香婷婷综合久久片| 国产亚洲欧美久久久久 | 国产色在线观看| 激情欧美一区二区三区中文字幕| 日日欢夜夜爽一区| 成人高潮免费视频| 日韩经典中文字幕| 国产精品xnxxcom| www.爱色av.com| 18欧美乱大交hd1984| 色欲av伊人久久大香线蕉影院| 国产精品久久久久久久午夜| 欧美成人69av| 先锋影音av在线| 精品国产一区二区三区久久影院 | 97久草视频| 免费亚洲婷婷| 欧产日产国产v| 亚洲天堂网在线观看| 视频一区在线| 欧美大尺度做爰床戏| 亚洲一区二区三区四区的| 国产高清一级毛片在线不卡| 国产精品区一区| 国产一区二区日韩精品| 亚洲黄网在线观看| 久久久午夜视频|