精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

在线一区二区三区视频| 91麻豆国产福利在线观看宅福利| 翔田千里一区二区| 中文字幕欧美国内| 99热这里只有精品2| 9999精品成人免费毛片在线看| 久久亚洲综合av| 国产在线一区二区三区| 国产在线视频卡一卡二| 激情五月色综合国产精品| 欧美精品一二三| 久久黄色片视频| www国产在线观看| 26uuu国产电影一区二区| 91天堂在线观看| 国产成人无码精品| 一区二区三区在线电影| 国产亚洲精品成人av久久ww| 亚洲区 欧美区| 色成人免费网站| 亚洲国产精品久久久久婷婷884| 色婷婷精品国产一区二区三区| 亚洲第一成年人网站| 日本伊人午夜精品| 5566日本婷婷色中文字幕97| 日韩在线中文字幕视频| 欧美日韩在线二区| 日韩第一页在线| 永久免费看片在线观看| 99只有精品| 日韩欧美高清在线视频| 国产日本在线播放| 午夜在线激情影院| 中文字幕在线观看不卡| 日韩欧美电影一区二区| 午夜成人鲁丝片午夜精品| 国产成人啪午夜精品网站男同| 国产精品一区二区三区毛片淫片| www.欧美色| 亚洲一区成人| 91av视频在线观看| 欧美亚洲天堂网| 欧美日韩亚洲一区二区三区在线| 久久精品久久久久电影| eeuss中文字幕| blacked蜜桃精品一区| 国产视频在线一区二区| 一区二区免费在线观看视频| 一区三区自拍| 精品奇米国产一区二区三区| 色男人天堂av| 日韩欧美中文字幕在线视频| 欧美一区二区大片| 亚洲综合在线一区二区| 大胆国模一区二区三区| 制服.丝袜.亚洲.另类.中文| 日本三级黄色网址| 欧美黄页免费| 欧美一区二区三区免费| 少妇性l交大片7724com| 日韩欧美另类中文字幕| 欧美精品一区二区三区久久久| 丝袜熟女一区二区三区| 嫩草国产精品入口| 亚洲欧美日韩网| 国产调教在线观看| 婷婷丁香综合| 久久69精品久久久久久国产越南| 国产真实夫妇交换视频| 最新日韩欧美| 国产成人精品综合| 在线免费观看日韩视频| 国产精一品亚洲二区在线视频| 粉嫩av一区二区三区免费观看 | 啊啊啊久久久| 欧美午夜丰满在线18影院| 激情六月丁香婷婷| 国产成人毛片| 日韩一区二区三区四区五区六区| 亚洲日本久久久| 妖精一区二区三区精品视频| 中文字幕一精品亚洲无线一区| 亚洲区一区二区三| 亚洲午夜一级| 国产精欧美一区二区三区| 一卡二卡在线观看| 成人午夜免费电影| 日本一区二区不卡高清更新| 日本激情在线观看| 亚洲国产综合在线| 91在线视频观看免费| 国产精品1区| 日韩成人在线视频| 老熟妇高潮一区二区三区| 最新日韩欧美| 成人乱色短篇合集| 深夜视频在线免费| 亚洲欧美电影一区二区| 国产黄色一级网站| 99精品女人在线观看免费视频| 亚洲第一二三四五区| 亚洲精品国产精品国自| 国内精品久久久久久久97牛牛 | 久久综合桃花网| 日本在线中文字幕一区| 色悠悠久久久久| 日韩成年人视频| 久久国产福利国产秒拍| 快播亚洲色图| 直接在线观看的三级网址| 一本久久精品一区二区| jjzz黄色片| 久久性感美女视频| 日本国产高清不卡| 亚洲国产一二三区| 成人欧美一区二区三区小说| 丰满人妻中伦妇伦精品app| 久久av偷拍| 色婷婷综合久久久久| 中文字幕激情小说| 成人免费视频免费观看| 手机成人av在线| 先锋欧美三级| 亚洲人永久免费| 成年人免费看毛片| 国产大陆精品国产| 欧美日韩亚洲国产成人| 国产精品亚洲d| 亚洲人成五月天| 国产成人亚洲精品自产在线| 国产成人日日夜夜| www.99riav| 亚洲精品大片| 色琪琪综合男人的天堂aⅴ视频| 天天干天天色综合| 久久久久国产成人精品亚洲午夜| 成人黄色大片网站| 超碰97久久| 欧美片一区二区三区| 国产精品羞羞答答在线| 中文字幕制服丝袜一区二区三区| 天天天干夜夜夜操| 激情综合网站| 日本午夜人人精品| 欧美在线一卡| 日韩欧美在线国产| 免费观看av网站| 久久精品道一区二区三区| 免费成人深夜夜行视频| 韩国成人动漫| 亚洲人成伊人成综合网久久久| 五月婷婷激情视频| 国产色一区二区| 天天操天天摸天天爽| 欧美亚洲激情| 成人h视频在线| a视频在线观看| 日韩欧美一级二级三级久久久| 强行糟蹋人妻hd中文| 国产精品一级在线| 日韩精品综合在线| 日本精品影院| 国产精品成熟老女人| 最新av网站在线观看| 欧美日韩国产一二三| 国产又粗又硬又长又爽| 懂色av中文一区二区三区| 免费无码毛片一区二三区| 欧美性生活一级片| 国产成人精品久久| 日本不卡视频| 精品国产乱码久久久久久牛牛 | 欧美日韩亚洲综合一区二区三区| 你懂得视频在线观看| 国产一区不卡视频| 天堂…中文在线最新版在线| 欧美欧美黄在线二区| 成人黄色av播放免费| 日本色护士高潮视频在线观看| 亚洲国模精品私拍| 国产精品无码粉嫩小泬| 1024精品合集| 亚洲天堂2024| 免费高清在线一区| 996这里只有精品| 亚洲精品国产动漫| 成人自拍性视频| 蜜桃麻豆影像在线观看| 日韩视频免费中文字幕| 天天干天天草天天射| 欧美性大战久久久久久久蜜臀| 久久久精品视频免费观看| 97精品视频在线观看自产线路二| 三级a三级三级三级a十八发禁止| 午夜精品视频| 天天综合色天天综合色hd| jazzjazz国产精品久久| 国产精品久久久久久久av大片| 丁香花在线高清完整版视频| 国产亚洲欧美另类中文| www.成人在线观看| 欧美性大战久久久久久久 | 亚洲美女色禁图| 一区二区三区四区欧美日韩| 午夜先锋成人动漫在线| 亚洲a一级视频| 成人做爰视频www网站小优视频| 久久深夜福利免费观看| 毛片免费在线播放| 精品乱码亚洲一区二区不卡| 一级片在线免费观看视频| 黑人巨大精品欧美一区二区| 妺妺窝人体色www在线下载| 久久精品水蜜桃av综合天堂| 国产精品成人无码专区| 国产在线不卡一卡二卡三卡四卡| 亚洲国产精品久久久久爰色欲| 欧美~级网站不卡| 亚洲国产午夜伦理片大全在线观看网站 | 国产精品国产三级国产专业不 | 91福利在线免费| 久久久av一区| 99re在线视频| 亚洲视频精品在线| 天堂视频中文在线| 亚洲成年人在线播放| 国内精品偷拍视频| 欧美精三区欧美精三区 | 日韩一区二区三区在线视频| 亚洲无码久久久久| 91黄色免费版| 亚洲不卡在线视频| 一本到一区二区三区| 国产小视频在线免费观看| 亚洲国产毛片aaaaa无费看 | 欧美狂野另类xxxxoooo| 免费在线不卡av| 在线观看网站黄不卡| 午夜精品一区二| 91国产精品成人| 一级黄色在线观看| 欧美在线视频你懂得| www.久久视频| 欧美性猛交一区二区三区精品| 青青国产在线视频| 欧美日韩国产在线播放网站| 一女二男一黄一片| 7777精品伊人久久久大香线蕉经典版下载 | 国产一二三四视频| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | а√在线中文在线新版| 97高清免费视频| 神马久久午夜| 国产99在线|中文| 欧美国产日韩电影| 成人妇女淫片aaaa视频| 99综合久久| 91av免费看| 国产成人tv| 久久综合久久久| 精品国产aⅴ| 一区二区免费在线观看| 一区二区三区四区日韩| 2018中文字幕第一页| 99精品国产福利在线观看免费| 2022亚洲天堂| 美女视频黄a大片欧美| 91丝袜超薄交口足| 大胆亚洲人体视频| jizz欧美性20| 中文字幕巨乱亚洲| 欧美另类视频在线观看| 香蕉成人啪国产精品视频综合网| 91精品国产综合久久久蜜臀九色| 欧洲激情一区二区| 亚洲a视频在线| 亚洲免费av网址| 免费av毛片在线看| 国内精品模特av私拍在线观看| 不卡av播放| 成人黄色在线播放| 牛牛精品成人免费视频| 五月天久久综合网| 激情另类综合| 狠狠热免费视频| 高清免费成人av| 无码h肉动漫在线观看| 综合在线观看色| 国产成人免费观看视频| 欧美日韩极品在线观看一区| 国精品人妻无码一区二区三区喝尿 | 国产精品视频专区| 白嫩白嫩国产精品| 日韩中文一区二区三区| 国内精品久久久久久久影视蜜臀 | 欧美成年人在线观看| 日本在线啊啊| 91九色国产社区在线观看| 老司机精品在线| 婷婷视频在线播放| 免费看亚洲片| 国产精品嫩草69影院| 国产精品三级视频| 日本三级一区二区| 欧美一级搡bbbb搡bbbb| 欧美另类自拍| 国外成人在线播放| 欧美经典影片视频网站| 色大师av一区二区三区| 亚洲人成毛片在线播放女女| 欧美激情国内自拍| 国产精品女主播av| 日韩欧美在线观看免费| 亚洲精品一区二区三区影院| 麻豆视频网站在线观看| 国产精品第一第二| 色婷婷狠狠五月综合天色拍| 成年丰满熟妇午夜免费视频| 另类欧美日韩国产在线| www色com| 日韩欧美国产高清91| 天堂av中文字幕| 欧美激情精品在线| 国产精品igao视频网网址不卡日韩| 欧美色网站导航| 久久久久久av| 麻豆影视在线观看_| 日本人成精品视频在线| 麻豆精品少妇| 欧日韩免费视频| 国产精品1区2区| 国产精品成人69xxx免费视频| 91成人免费在线视频| 日产精品久久久久久久性色| 97精品在线观看| 盗摄牛牛av影视一区二区| 女人色极品影院| 国产精品18久久久久久久网站| 顶臀精品视频www| 7777精品伊人久久久大香线蕉完整版| 婷婷在线视频| 国产日韩欧美成人| 国产精品88久久久久久| 中文字幕22页| 成人欧美一区二区三区| 亚洲一区二区影视| 日韩在线高清视频| 亚洲影视资源| 国产成人亚洲综合无码| 国产福利一区二区三区视频在线| 五月天婷婷色综合| 欧美一级午夜免费电影| 免费看电影在线| 国产综合欧美在线看| 亚洲一区二区网站| 在线免费看黄视频| 欧洲av一区二区嗯嗯嗯啊| 日本中文在线| 99视频国产精品免费观看| 亚洲一级影院| 成年人免费观看视频网站| 欧美在线综合视频| 精品黄色免费中文电影在线播放| 亚洲自拍偷拍在线| 亚洲黄网站黄| 久久久久久久久久久久| 欧美日韩成人激情| 色爱综合区网| 狠狠色综合网站久久久久久久| 亚洲欧美视频| 成人一级黄色大片| 精品福利二区三区| 欧美美女日韩| 中文字幕欧美日韩一区二区| 成人午夜免费电影| 欧美在线视频精品| 色与欲影视天天看综合网| 日本中文字幕在线一区| 日韩在线不卡一区| 亚洲一级二级三级| 国产在线视频网站| 91入口在线观看| 久久国产主播| 国产又黄又爽又无遮挡| 日韩精品免费综合视频在线播放| 国产成人午夜性a一级毛片| 久久久国内精品| 国产日韩欧美激情| 亚洲成人77777| 国产精品热视频| 亚洲国产激情| 一区二区三区在线播放视频| 亚洲国产精品成人va在线观看| 91超碰碰碰碰久久久久久综合| 国产成人在线小视频| 国产日产欧美一区| 性一交一乱一色一视频麻豆| 国产91色在线免费| 国产综合婷婷| 国产性生活大片|