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

通透!如何從頭構建一個機器學習模型

人工智能 機器學習
在這種情況下,企業需要避免公司進一步流失,并希望對流失概率高的客戶采取行動。有了上述業務需求,所以需要開發一個客戶流失預測模型。

大家好,我是小寒。

今天我將帶領大家一步步的來構建一個機器學習模型。

我們將按照以下步驟開發客戶流失預測分類模型。

  1. 業務理解
  2. 數據收集和準備
  3. 建立機器學習模型
  4. 模型優化
  5. 模型部署

1.業務理解

在開發任何機器學習模型之前,我們必須了解為什么要開發該模型。

這里,我們以客戶流失預測為例。

在這種情況下,企業需要避免公司進一步流失,并希望對流失概率高的客戶采取行動。有了上述業務需求,所以需要開發一個客戶流失預測模型。

2.數據收集和準備

數據采集

數據是任何機器學習項目的核心。沒有數據,我們就無法訓練機器學習模型。

在現實情況下,干凈的數據并不容易獲得。通常,我們需要通過應用程序、調查和許多其他來源收集數據,然后將其存儲在數據存儲中。

在我們的案例中,我們將使用來自 Kaggle 的電信客戶流失數據。它是有關電信行業客戶歷史的開源分類數據,帶有流失標簽。

https://www.kaggle.com/datasets/blastchar/telco-customer-churn

探索性數據分析 (EDA) 和數據清理

首先,我們加載數據集。

import pandas as pd

df = pd.read_csv('WA_Fn-UseC_-Telco-Customer-Churn.csv')
df.head()

接下來,我們將探索數據以了解我們的數據集。

以下是我們將為 EDA 流程執行的一些操作。

  1. 檢查特征和匯總統計數據。
  2. 檢查特征中是否存在缺失值。
  3. 分析標簽的分布(流失)。
  4. 為數值特征繪制直方圖,為分類特征繪制條形圖。
  5. 為數值特征繪制相關熱圖。
  6. 使用箱線圖識別分布和潛在異常值。

首先,我們將檢查特征和匯總統計數據。

df.info()

圖片圖片

df.describe()

df.describe(exclude = 'number')

圖片圖片

讓我們檢查一下缺失的數據。

df.isnull().sum()

可以看到,數據集不包含缺失數據,因此我們不需要執行任何缺失數據處理活動。

然后,我們將檢查目標變量以查看是否存在不平衡情況。

df['Churn'].value_counts()

圖片圖片

存在輕微的不平衡,因為與無客戶流失的情況相比,只有接近 25% 的客戶流失發生。

讓我們再看看其他特征的分布情況,從數字特征開始。

import numpy as np
df['TotalCharges'] = df['TotalCharges'].replace('', np.nan)
df['TotalCharges'] = pd.to_numeric(df['TotalCharges'], errors='coerce').fillna(0)

df['SeniorCitizen'] = df['SeniorCitizen'].astype('str')

df['ChurnTarget'] = df['Churn'].apply(lambda x: 1 if x=='Yes' else 0)

num_features = df.select_dtypes('number').columns
df[num_features].hist(bins=15, figsize=(15, 6), layout=(2, 5))

圖片圖片

我們還將提供除 customerID 之外的分類特征繪圖。

import matplotlib.pyplot as plt
# Plot distribution of categorical features
cat_features = df.drop('customerID', axis =1).select_dtypes(include='object').columns

plt.figure(figsize=(20, 20))
for i, col in enumerate(cat_features, 1):
    plt.subplot(5, 4, i)
    df[col].value_counts().plot(kind='bar')
    plt.title(col)

圖片圖片

然后我們將通過以下代碼看到數值特征之間的相關性。

import seaborn as sns

# Plot correlations between numerical features
plt.figure(figsize=(10, 8))
sns.heatmap(df[num_features].corr())
plt.title('Correlation Heatmap')

圖片圖片

最后,我們將使用基于四分位距(IQR)的箱線圖檢查數值異常值。

# Plot box plots to identify outliers
plt.figure(figsize=(20, 15))
for i, col in enumerate(num_features, 1):
    plt.subplot(4, 4, i)
    sns.boxplot(y=df[col])
    plt.title(col)

圖片圖片

從上面的分析中,我們可以看出,我們不應該解決缺失數據或異常值的問題。

下一步是對我們的機器學習模型進行特征選擇,因為我們只想要那些影響預測且在業務中可行的特征。

特征選擇

特征選擇的方法有很多種,通常結合業務知識和技術應用來完成。

但是,本教程將僅使用我們之前做過的相關性分析來進行特征選擇。

首先,讓我們根據相關性分析選擇數值特征。

target = 'ChurnTarget'
num_features = df.select_dtypes(include=[np.number]).columns.drop(target)

# Calculate correlations
correlations = df[num_features].corrwith(df[target])

# Set a threshold for feature selection
threshold = 0.3
selected_num_features = correlations[abs(correlations) > threshold].index.tolist()
selected_cat_features=cat_features[:-1]

selected_features = []
selected_features.extend(selected_num_features)
selected_features.extend(selected_cat_features)
selected_features

你可以稍后嘗試調整閾值,看看特征選擇是否會影響模型的性能。

3.建立機器學習模型

選擇正確的模型

選擇合適的機器學習模型需要考慮很多因素,但始終取決于業務需求。

以下幾點需要記住:

  1. 用例問題。它是監督式的還是無監督式的?是分類式的還是回歸式的?用例問題將決定可以使用哪種模型。
  2. 數據特征。它是表格數據、文本還是圖像?數據集大小是大還是小?根據數據集的不同,我們選擇的模型可能會有所不同。
  3. 模型的解釋難度如何?平衡可解釋性和性能對于業務至關重要。

經驗法則是,在開始復雜模型之前,最好先以較簡單的模型作為基準。

對于本教程,我們從邏輯回歸開始進行模型開發。

分割數據

下一步是將數據拆分為訓練、測試和驗證集。

from sklearn.model_selection import train_test_split

target = 'ChurnTarget' 

X = df[selected_features]
y = df[target]

cat_features = X.select_dtypes(include=['object']).columns.tolist()
num_features = X.select_dtypes(include=['number']).columns.tolist()

#Splitting data into Train, Validation, and Test Set
X_train_val, X_test, y_train_val, y_test = train_test_split(X, y, test_size=0.2, random_state=42, stratify=y)

X_train, X_val, y_train, y_val = train_test_split(X_train_val, y_train_val, test_size=0.25, random_state=42, stratify=y_train_val)

在上面的代碼中,我們將數據分成 60% 的訓練數據集和 20% 的測試和驗證集。

一旦我們有了數據集,我們就可以訓練模型。

訓練模型

如上所述,我們將使用訓練數據訓練 Logistic 回歸模型。

from sklearn.compose import ColumnTransformer
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import OneHotEncoder
from sklearn.linear_model import LogisticRegression


preprocessor = ColumnTransformer(
    transformers=[
        ('num', 'passthrough', num_features),
        ('cat', OneHotEncoder(), cat_features)
    ])

pipeline = Pipeline(steps=[
    ('preprocessor', preprocessor),
    ('classifier', LogisticRegression(max_iter=1000))
])

# Train the logistic regression model
pipeline.fit(X_train, y_train)

模型評估

以下代碼顯示了所有基本分類指標。

from sklearn.metrics import classification_report

# Evaluate on the validation set
y_val_pred = pipeline.predict(X_val)
print("Validation Classification Report:\n", classification_report(y_val, y_val_pred))

# Evaluate on the test set
y_test_pred = pipeline.predict(X_test)
print("Test Classification Report:\n", classification_report(y_test, y_test_pred))

從驗證和測試數據中我們可以看出,流失率(1) 的召回率并不是最好的。這就是為什么我們可以優化模型以獲得最佳結果。

圖片圖片

4.模型優化

優化模型的一種方法是通過超參數優化,它會測試這些模型超參數的所有組合,以根據指標找到最佳組合。

每個模型都有一組超參數,我們可以在訓練之前設置它們。

from sklearn.model_selection import GridSearchCV
# Define the logistic regression model within a pipeline
pipeline = Pipeline(steps=[
    ('preprocessor', preprocessor),
    ('classifier', LogisticRegression(max_iter=1000))
])

# Define the hyperparameters for GridSearchCV
param_grid = {
    'classifier__C': [0.1, 1, 10, 100],
    'classifier__solver': ['lbfgs', 'liblinear']
}

# Perform Grid Search with cross-validation
grid_search = GridSearchCV(pipeline, param_grid, cv=5, scoring='recall')
grid_search.fit(X_train, y_train)

# Best hyperparameters
print("Best Hyperparameters:", grid_search.best_params_)

# Evaluate on the validation set
y_val_pred = grid_search.predict(X_val)
print("Validation Classification Report:\n", classification_report(y_val, y_val_pred))

# Evaluate on the test set
y_test_pred = grid_search.predict(X_test)
print("Test Classification Report:\n", classification_report(y_test, y_test_pred))

圖片圖片

5.部署模型

我們已經構建了機器學習模型。有了模型之后,下一步就是將其部署到生產中。讓我們使用一個簡單的 API 來模擬它。

首先,讓我們再次開發我們的模型并將其保存為 joblib 對象。

import joblib

best_params = {'classifier__C': 10, 'classifier__solver': 'liblinear'}
logreg_model = LogisticRegression(C=best_params['classifier__C'], solver=best_params['classifier__solver'], max_iter=1000)

preprocessor = ColumnTransformer(
    transformers=[
        ('num', 'passthrough', num_features),
        ('cat', OneHotEncoder(), cat_features)])

pipeline = Pipeline(steps=[
    ('preprocessor', preprocessor),
    ('classifier', logreg_model)
])

pipeline.fit(X_train, y_train)

# Save the model
joblib.dump(pipeline, 'logreg_model.joblib')

一旦模型對象準備就緒,我們將創建一個名為 app.py 的 Python 腳本,并將以下代碼放入腳本中。

from fastapi import FastAPI
from pydantic import BaseModel
import joblib
import numpy as np

# Load the logistic regression model pipeline
model = joblib.load('logreg_model.joblib')

# Define the input data for model
class CustomerData(BaseModel):
    tenure: int
    InternetService: str
    OnlineSecurity: str
    TechSupport: str
    Contract: str
    PaymentMethod: str

# Create FastAPI app
app = FastAPI()

# Define prediction endpoint
@app.post("/predict")
def predict(data: CustomerData):
    input_data = {
        'tenure': [data.tenure],
        'InternetService': [data.InternetService],
        'OnlineSecurity': [data.OnlineSecurity],
        'TechSupport': [data.TechSupport],
        'Contract': [data.Contract],
        'PaymentMethod': [data.PaymentMethod]
    }
   
    import pandas as pd
    input_df = pd.DataFrame(input_data)
   
    # Make a prediction
    prediction = model.predict(input_df)
   
    # Return the prediction
    return {"prediction": int(prediction[0])}

if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=8000)

在命令提示符或終端中,運行以下代碼。

uvicorn app:app --reload

有了上面的代碼,我們已經有一個用于接受數據和創建預測的 API。

讓我們在新終端中使用以下代碼嘗試一下。

curl -X POST "http://127.0.0.1:8000/predict" -H "Content-Type: application/json" -d "{\"tenure\": 72, \"InternetService\": \"Fiber optic\", \"OnlineSecurity\": \"Yes\", \"TechSupport\": \"Yes\", \"Contract\": \"Two year\", \"PaymentMethod\": \"Credit card (automatic)\"}"

如你所見,API 結果是一個預測值為 0(Not-Churn)的字典。你可以進一步調整代碼以獲得所需的結果。

責任編輯:武曉燕 來源: 程序員學長
相關推薦

2024-08-15 14:48:57

2020-11-19 10:04:45

人工智能

2024-04-12 14:04:17

機器學習DNN

2021-11-08 17:03:13

IO模型

2017-07-07 14:41:13

機器學習神經網絡JavaScript

2021-11-02 09:40:50

TensorFlow機器學習人工智能

2024-05-23 16:48:42

機器學習算法人工智能

2018-12-17 09:10:52

機器學習TensorFlow容器

2017-10-13 15:59:24

iPhone機器學習iOS

2020-02-21 11:23:11

機器學習技術人生第一份工作

2024-06-24 07:50:00

代碼機器學習

2024-09-30 05:43:44

2020-09-28 12:42:17

機器學習語言GitHub

2022-08-09 13:44:37

機器學習PySpark M數據分析

2021-04-29 15:29:52

機器學習人工智能AI

2023-02-01 08:04:07

測試flask網頁

2022-10-08 00:00:00

AdminUser數據庫鑒權

2025-03-04 08:00:00

機器學習Rust開發

2021-09-02 08:02:50

深度學習Kubernetes集群管理

2020-10-14 14:18:33

機器學習機器學習架構人工智能
點贊
收藏

51CTO技術棧公眾號

久久精品人人做人人爽| 欧美亚洲一区二区在线| 国产欧美日韩一区二区三区| 国产免费一级视频| 日本久久黄色| 精品国免费一区二区三区| 97国产在线播放| 1区2区3区在线观看| 国产成人免费在线观看| 日产精品久久久一区二区福利 | 中文在线资源观看网站视频免费不卡| 91精品久久久久久综合乱菊| 五月婷婷激情网| 99久久亚洲精品蜜臀| 精品国产1区2区3区| 日韩免费高清在线| 黄网站在线观| 国产精品久99| 欧美日韩综合精品| www.国产精品视频| 蜜臀91精品一区二区三区 | 亚洲综合激情五月| 香蕉视频黄色片| 国产麻豆精品久久一二三| 日韩免费av一区二区| 欧美成人片在线观看| 欧美先锋资源| 亚洲精品网站在线播放gif| 亚欧精品在线视频| 韩日一区二区| 欧美日韩在线免费| 成年人看的毛片| 动漫一区在线| 国产精品久久久久久久久晋中 | 欧美性受xxxx| 国内性生活视频| 久久亚洲导航| 亚洲精品免费在线观看| 亚洲精品一区二区毛豆| 九九九伊在人线综合| 成人av免费在线观看| 亚洲影院色在线观看免费| 中文字幕码精品视频网站| 蜜乳av另类精品一区二区| 午夜精品久久久久久久99热| 老女人性淫交视频| 在线精品国产| 欧美成人精品三级在线观看 | 婷婷激情综合| 最近更新的2019中文字幕| 中文字幕一区二区三区人妻电影| 欧美毛片免费观看| 亚洲精品福利在线观看| 潘金莲一级淫片aaaaa| 视频在线观看免费影院欧美meiju 视频一区中文字幕精品 | 国产高清精品网站| 91性高湖久久久久久久久_久久99| 中文字幕欧美色图| 久久99久久久欧美国产| 国产精品偷伦免费视频观看的| 超碰在线97观看| 免费久久99精品国产| 国产精品一区二区三区毛片淫片 | jizzyou欧美16| 欧美亚洲日本一区| 亚洲一区日韩精品| 国产成人久久精品一区二区三区| 正在播放亚洲一区| 亚洲午夜精品在线观看| 久久精品国产亚洲5555| 日韩av在线免费播放| 在线免费观看成年人视频| 欧美男gay| 日韩中文字幕av| 欧美视频www| 伊人久久亚洲美女图片| 欧美亚洲激情在线| 中文天堂在线播放| 国产精品系列在线播放| 国产一区二区三区黄| 日本视频在线观看一区二区三区| 亚洲国产精品激情在线观看 | 亚洲欧美日韩国产综合精品二区| 国产精品777| 99产精品成人啪免费网站| 成人一区二区三区在线观看| 久久久免费看| 午夜视频在线看| 一区二区三区 在线观看视频| 国产 日韩 亚洲 欧美| 日韩精选视频| 日韩久久久精品| 能免费看av的网站| 一区二区电影在线观看| 欧美中文在线免费| 国产精品高潮呻吟久久久| 成人h动漫精品一区二| 日韩精品电影网站| 久久青青色综合| 欧美亚洲国产怡红院影院| 国产人妻精品午夜福利免费| 国产成人精品三级高清久久91| 欧美日韩成人精品| 日韩不卡高清视频| 成人黄色在线网站| 亚洲一区二区三区精品动漫| 99riav视频在线观看| 欧美色欧美亚洲另类二区| 国产精品手机在线观看| 色999日韩| 日本高清视频精品| 丁香六月色婷婷| 亚洲欧美一区二区在线观看| www一区二区www免费| 日韩成人久久| 最近2019年日本中文免费字幕| 日产精品久久久久| 国产精品自产自拍| 亚洲一区三区电影在线观看| 国产啪精品视频| 亚洲人成网站色ww在线| 添女人荫蒂视频| 我不卡伦不卡影院| 国产精品91久久久| 日韩一级免费视频| 亚洲乱码国产乱码精品精可以看 | 午夜精彩国产免费不卡不顿大片| 日产日韩在线亚洲欧美| 国产香蕉在线观看| 亚洲欧美综合色| 免费看国产黄色片| 亚州综合一区| 91黑丝高跟在线| 丰满熟妇乱又伦| 亚洲精品国产第一综合99久久 | 亚洲天堂久久av| 天天综合网入口| 成人激情文学综合网| 国产激情在线看| 欧美久久一区二区三区| xxxxx成人.com| 在线观看xxxx| 国产精品无码永久免费888| 欧美成人免费高清视频| 免费观看久久av| 欧美综合第一页| 免费成人av电影| 日韩欧美在线观看| 免费在线观看你懂的| 新狼窝色av性久久久久久| 国产一区二区三区高清| 是的av在线| 亚洲人成在线观看| 樱花视频在线免费观看| 国产片一区二区| 亚洲77777| 91精品天堂福利在线观看| 国产专区欧美专区| 国产视频在线播放| 日韩欧美在线不卡| 国产一级做a爱免费视频| 成人爱爱电影网址| aa在线免费观看| 欧美一区电影| 91在线中文字幕| 波多野结衣精品| 亚洲乱码一区二区| 伊人免费在线观看高清版| 国产精品国产自产拍高清av| 亚洲理论中文字幕| 狠狠综合久久| 狼狼综合久久久久综合网| 成人福利av| 日韩中文在线视频| 亚洲av无码一区二区三区性色| 亚洲一级片在线观看| 国产精品一区二区入口九绯色| 日日摸夜夜添夜夜添亚洲女人| 亚洲人成77777| 亚洲2区在线| 51视频国产精品一区二区| 国产高清免费av在线| 欧美妇女性影城| 国产午夜视频在线| 久久久欧美精品sm网站| wwwwwxxxx日本| 伊人久久亚洲影院| 先锋影音网一区| 999久久久久久久久6666| 欧美亚洲激情视频| 欧美jizz18性欧美| 亚洲国产精品系列| 一级黄色片网站| 性欧美大战久久久久久久久| 免费看污片的网站| 国产高清一区日本| 五月婷婷深爱五月| 极品中文字幕一区| 亚洲欧洲精品一区二区| 超碰成人97| 国产欧美精品一区二区三区-老狼| 俺来俺也去www色在线观看| 在线亚洲国产精品网| 丰满人妻熟女aⅴ一区| 在线观看区一区二| 国产一级二级三级| 中文字幕欧美三区| 99re久久精品国产| 国产麻豆成人传媒免费观看| 免费看国产黄色片| 国产精品视区| 久久久久久久9| 成人同人动漫免费观看| 国产综合第一页| 日韩三级不卡| 国产一区二区丝袜| 亚洲天堂一区二区| 国内免费久久久久久久久久久 | 色综合久久88| 老司机精品视频在线观看6| 亚洲欧美一区二区三区在线| 亚洲AV无码成人片在线观看| 欧美精品在线一区二区三区| 日韩综合在线观看| 五月综合激情网| 久久久久性色av无码一区二区| 国产精品福利av| 欧美福利第一页| 久久久久久综合| 国产黑丝一区二区| 成人午夜碰碰视频| 日本r级电影在线观看| 久久综合综合久久综合| 老司机午夜av| 久久综合激情| 一本久道综合色婷婷五月| 国产一区二区三区久久| 日韩国产成人无码av毛片| 中文字幕日韩一区二区不卡| 致1999电视剧免费观看策驰影院| 欧美理论在线播放| 品久久久久久久久久96高清| 日韩欧美国产大片| 九色综合日本| 亚洲ab电影| 欧美日韩三区四区| 国产一区99| 日韩视频精品| 第四色成人网| 曰韩不卡视频| 欧美1区2区3区| 8x8ⅹ国产精品一区二区二区| 一区二区三区四区电影| 中文字幕第50页| 欧美在线高清| 日韩精品在线中文字幕| 狠狠干成人综合网| 久久久999视频| 日韩二区三区在线观看| 国产一级做a爰片久久| 蜜桃视频第一区免费观看| 男女无套免费视频网站动漫| 美女精品一区二区| 一区二区在线免费看| 国产美女久久久久| 性活交片大全免费看| 2017欧美狠狠色| 欧美极品jizzhd欧美18| 亚洲精品视频一区| 国产一级在线观看视频| 日韩欧美在线视频日韩欧美在线视频 | 日韩激情图片| 好吊色视频988gao在线观看| 黄色亚洲在线| 欧美日韩中文在线视频| 免费成人在线观看视频| 欧美性受xxxx黒人xyx性爽| 白白色 亚洲乱淫| 黄色片网站免费| 亚洲精品视频在线观看网站| 国产精品1234区| 欧美性videosxxxxx| 国产成人精品a视频| 亚洲精品成人久久| 日本精品一区二区三区在线播放| 欧美极品欧美精品欧美视频| 欧美大片高清| 91精品国自产在线观看| 欧美日韩xxxx| 天堂а√在线中文在线| 亚洲主播在线| 国产成人强伦免费视频网站| 91视频免费观看| 日韩在线中文字幕视频| 色综合久久久久综合99| 99草在线视频| 一本色道久久综合狠狠躁篇怎么玩| 国产丝袜在线| 国产精品扒开腿做爽爽爽男男| 视频一区在线| 亚洲一区二区三区乱码| 99国产精品久久久久久久 | 国产精品va无码一区二区三区| 欧美日韩第一区日日骚| 午夜在线视频免费| 久久夜色精品国产| 浪潮色综合久久天堂| 高清免费日韩| 天天做天天爱天天爽综合网| 人妻无码视频一区二区三区 | 国产91社区| 日韩理论片av| 成人黄色片视频| 成人三级伦理片| 精品人妻伦九区久久aaa片| 91国产成人在线| 午夜av免费在线观看| 欧美乱大交xxxxx另类电影| 精品女同一区二区三区在线观看| 久久久久资源| 国产一区二区高清| 在线xxxxx| 一区二区三区中文免费| 正在播放亚洲精品| 亚洲欧美日韩久久久久久| 91黄页在线观看| 成人av蜜桃| 综合激情婷婷| 一级片黄色免费| 中文字幕视频一区二区三区久| 欧美一区二区三区网站| 日韩av影片在线观看| 国产美女精品写真福利视频| 国产精品裸体一区二区三区| 欧美午夜a级限制福利片| 亚洲一级片免费观看| 欧美国产精品中文字幕| 超碰在线97观看| 在线播放日韩精品| 亚洲第一会所| 三级三级久久三级久久18| 日韩在线卡一卡二| 精品无码在线观看| 欧美熟乱第一页| porn视频在线观看| 国产精品爽爽爽| 小处雏高清一区二区三区| 中国黄色片一级| 亚洲另类色综合网站| www.国产麻豆| 国内成人精品视频| 偷拍精品福利视频导航| 凹凸日日摸日日碰夜夜爽1| 国产亚洲精品超碰| 亚洲性在线观看| 久久不射电影网| 国产成人福利av| 免费看又黄又无码的网站| 不卡的av电影| 午夜精品一区二| 色一情一乱一区二区| 国产一区二区久久久久| 在线观看av的网址| 不卡免费追剧大全电视剧网站| 你懂的国产视频| 亚洲四色影视在线观看| 国产一区二区三区四区五区3d| 大桥未久一区二区三区| 不卡的av在线| 最近中文字幕免费观看| 久久网福利资源网站| 伊人www22综合色| 日韩久久一级片| 综合久久给合久久狠狠狠97色 | 亚洲视频电影图片偷拍一区| 99只有精品| 欧美做暖暖视频| 久久久青草青青国产亚洲免观| 一区二区三区免费在线| 久久久久久久久久久网站| 国产伦精品一区二区三区视频| 亚洲第一色av| 精品欧美激情精品一区| 男人和女人做事情在线视频网站免费观看 | 日韩激情视频一区二区| 91免费在线播放| 亚洲一卡二卡在线观看| 欧美精品999| 免费黄色成人| 久草福利在线观看| 一本一道波多野结衣一区二区| 麻豆网站在线免费观看| 国内视频一区| 久久成人羞羞网站| 97免费在线观看视频| 北条麻妃久久精品| 亚洲另类av| 久久精品aⅴ无码中文字字幕重口| 91福利国产成人精品照片| a视频在线免费看|