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

借助LLM實現模型選擇和試驗自動化

譯文 精選
人工智能
代碼生成和評估最近已經成為許多商業產品提供的重要功能,以幫助開發人員處理代碼。LLM還可以進一步用于處理數據科學工作,尤其是模型選擇和試驗。本文將探討如何將自動化用于模型選擇和試驗。

譯者 | 布加迪

審校 | 重樓

大語言模型(LLM)已成為一種工具,從回答問題到生成任務列表,它們在許多方面簡化了我們的工作。如今個人和企業已經使用LLM來幫助完成工作。

代碼生成和評估最近已經成為許多商業產品提供的重要功能,以幫助開發人員處理代碼。LLM還可以進一步用于處理數據科學工作,尤其是模型選擇和試驗。

本文將探討如何將自動化用于模型選擇和試驗。

借助LLM實現模型選擇和試驗自動化

我們將設置用于模型訓練的數據集和用于自動化的代碼。在這個例子中,我們將使用來自Kaggle的信用汽車欺詐數據集。以下是我為預處理過程所做的準備。

import pandas as pd

df = pd.read_csv('fraud_data.csv')
df = df.drop(['trans_date_trans_time', 'merchant', 'dob', 'trans_num', 'merch_lat', 'merch_long'], axis =1)

df = df.dropna().reset_index(drop = True)
df.to_csv('fraud_data.csv', index = False)

我們將只使用一些數據集,丟棄所有缺失的數據。這不是最優的過程,但我們關注的是模型選擇和試驗。

接下來,我們將為我們的項目準備一個文件夾,將所有相關文件放在那里。首先,我們將為環境創建requirements.txt文件。你可以用下面的軟件包來填充它們。

openai
pandas
scikit-learn
pyyaml

接下來,我們將為所有相關的元數據使用YAML文件。這將包括OpenAI API密鑰、要測試的模型、評估度量指標和數據集的位置。

llm_api_key: "YOUR-OPENAI-API-KEY"
default_models:
  - LogisticRegression
  - DecisionTreeClassifier
  - RandomForestClassifier
metrics: ["accuracy", "precision", "recall", "f1_score"]
dataset_path: "fraud_data.csv"

然后,我們導入這個過程中使用的軟件包。我們將依靠Scikit-Learn用于建模過程,并使用OpenAI的GPT-4作為LLM。

import pandas as pd
import yaml
import ast
import re
import sklearn
from openai import OpenAI
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score

此外,我們將設置輔助(helper)函數和信息來幫助該過程。從數據集加載到數據預處理,配置加載器在如下的函數中。

model_mapping = {
    "LogisticRegression": LogisticRegression,
    "DecisionTreeClassifier": DecisionTreeClassifier,
    "RandomForestClassifier": RandomForestClassifier
}

def load_config(config_path='config.yaml'):
    with open(config_path, 'r') as file:
        config = yaml.safe_load(file)
    return config

def load_data(dataset_path):
    return pd.read_csv(dataset_path)

def preprocess_data(df):
    label_encoders = {}
    for column in df.select_dtypes(include=['object']).columns:
        le = LabelEncoder()
        df[column] = le.fit_transform(df[column])
        label_encoders[column] = le
    return df, label_encoders

在同一個文件中,我們將LLM設置為扮演機器學習角色的專家。我們將使用下面的代碼來啟動它。

def call_llm(prompt, api_key):
    client = OpenAI(api_key=api_key)
    response = client.chat.completions.create(
        model="gpt-4",
        messages=[
            {"role": "system", "content": "You are an expert in machine learning and able to evaluate the model well."},
            {"role": "user", "content": prompt}
        ]
    )
    return response.choices[0].message.content.strip()

你可以將LLM模型更改為所需的模型,比如來自Hugging Face的開源模型,但我們建議暫且堅持使用OpenAI。

我將在下面的代碼中準備一個函數來清理LLM結果。這確保了輸出可以用于模型選擇和試驗步驟的后續過程。

def clean_hyperparameter_suggestion(suggestion):
    pattern = r'\{.*?\}'
    match = re.search(pattern, suggestion, re.DOTALL)
    if match:
        cleaned_suggestion = match.group(0)
        return cleaned_suggestion
    else:
        print("Could not find a dictionary in the hyperparameter suggestion.")
        return None

def extract_model_name(llm_response, available_models):
    for model in available_models:
        pattern = r'\b' + re.escape(model) + r'\b'
        if re.search(pattern, llm_response, re.IGNORECASE):
            return model
    return None

def validate_hyperparameters(model_class, hyperparameters):
    valid_params = model_class().get_params()
    invalid_params = []
    for param, value in hyperparameters.items():
        if param not in valid_params:
            invalid_params.append(param)
        else:
            if param == 'max_features' and value == 'auto':
                print(f"Invalid value for parameter '{param}': '{value}'")
                invalid_params.append(param)
    if invalid_params:
        print(f"Invalid hyperparameters for {model_class.__name__}: {invalid_params}")
        return False
    return True

def correct_hyperparameters(hyperparameters, model_name):
    corrected = False
    if model_name == "RandomForestClassifier":
        if 'max_features' in hyperparameters and hyperparameters['max_features'] == 'auto':
            print("Correcting 'max_features' from 'auto' to 'sqrt' for RandomForestClassifier.")
            hyperparameters['max_features'] = 'sqrt'
            corrected = True
    return hyperparameters, corrected

然后,我們將需要該函數來啟動模型和評估訓練過程。下面的代碼將用于通過接受分割器數據集、我們要映射的模型名稱以及超參數來訓練模型。結果將是度量指標和模型對象。

def train_and_evaluate(X_train, X_test, y_train, y_test, model_name, hyperparameters=None):
    if model_name not in model_mapping:
        print(f"Valid model names are: {list(model_mapping.keys())}")
        return None, None

    model_class = model_mapping.get(model_name)
    try:
        if hyperparameters:
            hyperparameters, corrected = correct_hyperparameters(hyperparameters, model_name)
            if not validate_hyperparameters(model_class, hyperparameters):
                return None, None
            model = model_class(**hyperparameters)
        else:
            model = model_class()
    except Exception as e:
        print(f"Error instantiating model with hyperparameters: {e}")
        return None, None
    try:
        model.fit(X_train, y_train)
    except Exception as e:
        print(f"Error during model fitting: {e}")
        return None, None


    y_pred = model.predict(X_test)
    metrics = {
        "accuracy": accuracy_score(y_test, y_pred),
        "precision": precision_score(y_test, y_pred, average='weighted', zero_division=0),
        "recall": recall_score(y_test, y_pred, average='weighted', zero_division=0),
        "f1_score": f1_score(y_test, y_pred, average='weighted', zero_division=0)
    }
    return metrics, model

準備就緒后,我們就可以設置自動化過程了。有幾個步驟我們可以實現自動化,其中包括:

1.訓練和評估所有模型

2. LLM選擇最佳模型

3. 檢查最佳模型的超參數調優

4. 如果LLM建議,自動運行超參數調優

def run_llm_based_model_selection_experiment(df, config):
    #Model Training
    X = df.drop("is_fraud", axis=1)
    y = df["is_fraud"]
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

    available_models = config['default_models']
    model_performance = {}

    for model_name in available_models:
        print(f"Training model: {model_name}")
        metrics, _ = train_and_evaluate(X_train, X_test, y_train, y_test, model_name)
        model_performance[model_name] = metrics
        print(f"Model: {model_name} | Metrics: {metrics}")

    #LLM selecting the best model
    sklearn_version = sklearn.__version__
    prompt = (
        f"I have trained the following models with these metrics: {model_performance}. "
        "Which model should I select based on the best performance?"
    )
    best_model_response = call_llm(prompt, config['llm_api_key'])
    print(f"LLM response for best model selection:\n{best_model_response}")

    best_model = extract_model_name(best_model_response, available_models)
    if not best_model:
        print("Error: Could not extract a valid model name from LLM response.")
        return
    print(f"LLM selected the best model: {best_model}")

    #Check for hyperparameter tuning
    prompt_tuning = (
        f"The selected model is {best_model}. Can you suggest hyperparameters for better performance? "
        "Please provide them in Python dictionary format, like {'max_depth': 5, 'min_samples_split': 4}. "
        f"Ensure that all suggested hyperparameters are valid for scikit-learn version {sklearn_version}, "
        "and avoid using deprecated or invalid values such as 'max_features': 'auto'. "
        "Don't provide any explanation or return in any other format."
    )
    tuning_suggestion = call_llm(prompt_tuning, config['llm_api_key'])
    print(f"Hyperparameter tuning suggestion received:\n{tuning_suggestion}")

    cleaned_suggestion = clean_hyperparameter_suggestion(tuning_suggestion)
    if cleaned_suggestion is None:
        suggested_params = None
    else:
        try:
            suggested_params = ast.literal_eval(cleaned_suggestion)
            if not isinstance(suggested_params, dict):
                print("Hyperparameter suggestion is not a valid dictionary.")
                suggested_params = None
        except (ValueError, SyntaxError) as e:
            print(f"Error parsing hyperparameter suggestion: {e}")
            suggested_params = None

    #Automatically run hyperparameter tuning if suggested
    if suggested_params:
        print(f"Running {best_model} with suggested hyperparameters: {suggested_params}")
        tuned_metrics, _ = train_and_evaluate(
            X_train, X_test, y_train, y_test, best_model, hyperparameters=suggested_params
        )
        print(f"Metrics after tuning: {tuned_metrics}")
    else:
        print("No valid hyperparameters were provided for tuning.")

在上面的代碼中,我指定了LLM如何根據試驗評估我們的每個模型。我們使用以下提示根據模型的性能來選擇要使用的模型。

prompt = (
        f"I have trained the following models with these metrics: {model_performance}. "
        "Which model should I select based on the best performance?")

你始終可以更改提示,以實現模型選擇的不同規則。

一旦選擇了最佳模型,我將使用以下提示來建議應該使用哪些超參數用于后續過程。我還指定了Scikit-Learn版本,因為超參數因版本的不同而有變化。

prompt_tuning = (
        f"The selected model is {best_model}. Can you suggest hyperparameters for better performance? "
        "Please provide them in Python dictionary format, like {'max_depth': 5, 'min_samples_split': 4}. "
        f"Ensure that all suggested hyperparameters are valid for scikit-learn version {sklearn_version}, "
        "and avoid using deprecated or invalid values such as 'max_features': 'auto'. "
        "Don't provide any explanation or return in any other format.")

你可以以任何想要的方式更改提示,比如通過更大膽地嘗試調優超參數,或添加另一種技術。

我把上面的所有代碼放在一個名為automated_model_llm.py的文件中。最后,添加以下代碼以運行整個過程。

def main():
    config = load_config()
    df = load_data(config['dataset_path'])
    df, _ = preprocess_data(df)
    run_llm_based_model_selection_experiment(df, config)


if __name__ == "__main__":
    main()

一旦一切準備就緒,你就可以運行以下代碼來執行代碼。

python automated_model_llm.py

輸出:

LLM selected the best model: RandomForestClassifier
Hyperparameter tuning suggestion received:
{
'n_estimators': 100,
'max_depth': None,
'min_samples_split': 2,
'min_samples_leaf': 1,
'max_features': 'sqrt',
'bootstrap': True
}
Running RandomForestClassifier with suggested hyperparameters: {'n_estimators': 100, 'max_depth': None, 'min_samples_split': 2, 'min_samples_leaf': 1, 'max_features': 'sqrt', 'bootstrap': True}
Metrics after tuning: {'accuracy': 0.9730041532071989, 'precision': 0.9722907483489197, 'recall': 0.9730041532071989, 'f1_score': 0.9724045530119824}

這是我試驗得到的示例輸出。它可能和你的不一樣。你可以設置提示和生成參數,以獲得更加多變或嚴格的LLM輸出。然而,如果你正確構建了代碼的結構,可以將LLM運用于模型選擇和試驗自動化。

結論

LLM已經應用于許多使用場景,包括代碼生成。通過運用LLM(比如OpenAI GPT模型),我們就很容易委派LLM處理模型選擇和試驗這項任務,只要我們正確地構建輸出的結構。在本例中,我們使用樣本數據集對模型進行試驗,讓LLM選擇和試驗以改進模型。

原文標題:Model Selection and Experimentation Automation with LLMs作者:Cornellius Yudha Wijaya

責任編輯:姜華 來源: 51CTO內容精選
相關推薦

2024-06-11 10:41:14

2021-11-29 18:11:33

自動化現代化網絡優化

2015-10-21 15:08:25

電纜自動化

2022-07-05 08:26:10

Python報表自動化郵箱

2020-05-29 09:03:36

SD-WAN自動化網絡

2021-10-14 09:55:28

AnsibleanacronLinux

2020-01-16 09:00:00

AI人工智能ML

2017-12-17 21:58:18

2021-09-17 15:56:14

數據平臺自動化

2018-01-30 10:24:41

2024-11-27 08:14:43

2009-12-23 16:27:49

WPF UI自動化模型

2023-09-01 09:21:03

Python自動化測試

2021-07-14 13:11:02

papermillJupyterPython

2013-09-11 09:04:48

2023-08-17 10:14:58

物聯網家庭自動化

2020-03-31 10:58:35

網絡自動化SD-WAN軟件定義網絡

2022-01-14 11:51:00

測試工具自動化

2022-11-15 17:07:40

開發自動化前端

2018-08-31 09:55:38

Ansible網絡自動化
點贊
收藏

51CTO技術棧公眾號

精品日韩在线| av电影在线观看网址| 亚洲美女黄色| 伊人一区二区三区久久精品| 日韩亚洲国产中文字幕欧美| 一区二区三区四区五区精品| av男人天堂av| 久久蜜桃资源一区二区老牛| 久久久91精品国产| 亚洲黄色在线网站| 久久久91麻豆精品国产一区| 精品久久久久久久久久久久久久| 亚洲三区四区| 欧美巨乳在线| 岛国av在线一区| 成人激情视频网| 午夜精品久久久久久久久久久久久蜜桃 | 日韩精品导航| 欧美高清www午色夜在线视频| 怡红院av亚洲一区二区三区h| 老司机精品视频在线观看6| 91丨porny丨国产入口| 亚洲综合在线播放| 91禁在线观看| 蜜臀久久99精品久久久久宅男| 亚州av一区二区| 久久婷婷国产麻豆91| 性色国产成人久久久精品 | 5566av亚洲| 另类小说综合网| 在线观看国产成人| 亚洲少妇自拍| 久久久亚洲天堂| 欧美日韩精品亚洲精品| 国内精品免费午夜毛片| 91 在线视频观看| 中文在线中文资源| 亚洲成人资源网| 公共露出暴露狂另类av| 国产youjizz在线| 91老师片黄在线观看| 国产福利一区二区三区在线观看| 一级二级三级视频| 免费人成在线不卡| 国产精品久久二区| 中文字幕在线日本| 美女尤物久久精品| 日本免费久久高清视频| 中文字幕视频网站| 午夜影院日韩| 国产精品高潮在线| 精品国产www| 免费在线观看不卡| 91久热免费在线视频| 国产又粗又黄又爽视频| 韩国欧美国产一区| 97影院在线午夜| 好吊视频一二三区| 不卡的电视剧免费网站有什么| 国产精品成人一区二区三区| 蜜桃视频在线观看www| 不卡视频一二三四| 欧美激情第一页在线观看| 黄色av网站在线| 中文字幕av资源一区| 一区二区三区国产福利| 国产欧美日韩三区| 亚洲成人精品电影在线观看| yw视频在线观看| 中文字幕在线免费不卡| 永久免费在线看片视频| 免费av不卡在线观看| 午夜亚洲福利老司机| 久久久久久久久久久久久久国产| 免费黄色片在线观看| 狠狠色狠狠色合久久伊人| 亚洲永久在线观看| 男人天堂一区二区| 久久影音资源网| 在线国产伦理一区| 金瓶狂野欧美性猛交xxxx| 国产一区二区亚洲| 亚洲欧美第一页| 来吧亚洲综合网| 黑人一区二区| 国产精品吹潮在线观看| 99在线观看免费| 久久这里只有精品6| 国产一区一区三区| 美女露胸视频在线观看| 555www色欧美视频| 亚洲专区区免费| 亚洲有吗中文字幕| 欧美最猛黑人xxxx黑人猛叫黄| 怡春院在线视频| 成人国产亚洲欧美成人综合网| 日韩精品在在线一区二区中文| 国产二区三区在线| 91国产丝袜在线播放| 中文字幕在线播放一区二区| heyzo久久| 欧美区在线播放| 中文字字幕在线中文乱码| 成人网页在线观看| 欧美 日韩 国产 在线观看| 亚洲欧美韩国| 精品国产区一区| 九九热久久免费视频| 亚洲在线播放| 懂色中文一区二区三区在线视频| 99中文字幕一区| 精品久久久久久中文字幕一区奶水 | 深夜福利免费在线观看| 一区二区三区色| 日本不卡一区在线| 久久成人高清| 97在线观看视频国产| www日本在线| ...av二区三区久久精品| 无码人妻丰满熟妇区毛片| 91精品国产自产在线丝袜啪| 日韩中文字幕视频在线观看| 精品国产乱子伦| 91女人视频在线观看| 草草草视频在线观看| 日韩欧乱色一区二区三区在线 | 欧美视频日韩视频| 李宗瑞91在线正在播放| 亚洲精品护士| 国产精品theporn88| 丝袜在线视频| 日韩欧美一区在线| 国产一区二区视频在线观看免费| 美女视频黄a大片欧美| 欧洲一区二区日韩在线视频观看免费| 九色porny丨国产首页在线| 欧美哺乳videos| 久久久精品人妻一区二区三区四| 国产原创一区二区三区| 宅男av一区二区三区| 日韩五码电影| 久久亚洲成人精品| 精品美女www爽爽爽视频| 亚洲人精品一区| 久久国产午夜精品理论片最新版本| 中文字幕欧美在线观看| 99精品国产视频| 国产h视频在线播放| 国产一区在线电影| 7m第一福利500精品视频| 日本精品一区二区在线观看| 亚洲一区电影777| 97色在线视频观看| 国产男男gay网站| 亚洲日本韩国一区| 欧洲成人午夜精品无码区久久| 中国成人一区| 国产精品区二区三区日本| av资源一区| 日韩精品久久久久| 一级片免费在线播放| 欧美激情中文不卡| 99九九精品视频| 激情久久综合| 欧美精品亚洲精品| jizz免费一区二区三区| 久久久国产精品亚洲一区| 精品人妻aV中文字幕乱码色欲 | 久久久久国产精品夜夜夜夜夜| 成人天堂资源www在线| 日韩免费视频播放| 欧美一区二区性| 91久久中文字幕| 大桥未久在线视频| 中文字幕亚洲综合久久| 国产夫妻性生活视频| 午夜精品久久一牛影视| 无码 人妻 在线 视频| 精彩视频一区二区| 99热亚洲精品| 日韩理论电影大全| 国产精品12| 久久69成人| 午夜精品久久17c| 中文字幕在线免费| www国产精品| 精品国产一区二区三区久久狼黑人 | 91午夜理伦私人影院| 啊啊啊久久久| 亚洲一区二区伦理| 日韩欧美亚洲在线| 中文字幕日韩在线| 国产精品久久久久aaaa九色| 一色桃子av在线| 亚洲视频自拍偷拍| 亚洲av无码一区二区乱子伦| 日韩欧美a级成人黄色| caoporn91| 中文字幕二三区不卡| 伊人久久久久久久久| 日韩国产精品久久久| 99在线免费视频观看| 天天天综合网| 欧美日韩精品久久| 国产精品白浆| 亚洲free性xxxx护士白浆| 台湾佬成人网| 欧美激情视频一区二区三区不卡 | theporn国产在线精品| 国产中文日韩欧美| 欧美91看片特黄aaaa| 久久久久久久久久久网站| 拍真实国产伦偷精品| 国产一区二区三区精品久久久| 深爱激情五月婷婷| 91精品国产综合久久香蕉的特点| 99久久久无码国产精品免费蜜柚| 亚洲午夜久久久久中文字幕久| 欧美一区免费观看| 国产精品无人区| www..com.cn蕾丝视频在线观看免费版| www.在线欧美| 美女网站视频在线观看| 国产乱国产乱300精品| 三年中文在线观看免费大全中国| 日韩中文字幕av电影| 久久久久久久久久久久久国产精品 | bt欧美亚洲午夜电影天堂| 亚洲一级片免费观看| 久久av老司机精品网站导航| jizz大全欧美jizzcom| 日韩中文字幕区一区有砖一区| 国产乱子夫妻xx黑人xyx真爽| 日韩午夜在线| 成人中文字幕在线播放| 亚洲全部视频| 波多野结衣乳巨码无在线| aa亚洲婷婷| 自慰无码一区二区三区| 亚洲免费婷婷| 37pao成人国产永久免费视频| 亚洲欧美日韩在线观看a三区| 黄色激情在线视频| 一区二区精品| 午夜视频在线瓜伦| 日本亚洲欧美天堂免费| 亚洲欧美视频二区| 久久99在线观看| 超级砰砰砰97免费观看最新一期 | 欧美日韩大片一区二区三区| 神马久久影院| 日韩精品电影网站| 久久综合99| 日韩中文在线字幕| 黄色在线成人| 欧美成人黑人猛交| 理论片日本一区| 超级砰砰砰97免费观看最新一期| 国产69精品一区二区亚洲孕妇| 天天躁日日躁狠狠躁av麻豆男男| av电影天堂一区二区在线观看| 特级西西人体wwwww| 国产欧美日产一区| 国产成人av免费在线观看| 亚洲一区在线观看免费观看电影高清| 日韩av女优在线观看| 欧美日韩免费观看中文| 久久国产香蕉视频| 欧美一二三区精品| 亚洲欧洲精品视频| 日韩视频一区在线| 深夜av在线| 国产日本欧美在线观看| 成人h动漫免费观看网站| 蜜桃视频日韩| 天天做天天爱天天爽综合网| 国产精品久久久久久久久电影网| 午夜亚洲伦理| 99久久综合网| 久久毛片高清国产| avove在线播放| 日韩欧美国产骚| 国产男男gay网站| 国产在线不卡一区二区三区| 精品国产精品久久一区免费式| 日韩精品久久一区二区三区| 国产精品精品| 青青草国产精品视频| 日韩和欧美一区二区三区| 97人人爽人人| 91美女片黄在线观看91美女| 91视频一区二区| 精品一区二区三区蜜桃在线| 亚洲视频一区二区在线观看| 91久久国产视频| 欧美日韩国产高清一区二区| 丰满人妻一区二区| 在线视频免费一区二区| 青春草在线视频| 国产精品久久久久久久久男| 在线精品国产亚洲| 亚洲高清视频一区二区| 亚洲v欧美v另类v综合v日韩v| 国模吧视频一区| 午夜久久久精品| 99re热这里只有精品视频| 神马久久精品综合| 日本乱码高清不卡字幕| 国产综合视频在线| 久久久精品电影| 国产一区二区三区朝在线观看| 国产精品一区免费观看| 久久精品青草| 日本在线一二三区| 国产亚洲va综合人人澡精品| 日本少妇做爰全过程毛片| 337p亚洲精品色噜噜| 国产精品ⅴa有声小说| 久久久亚洲国产天美传媒修理工| 97精品资源在线观看| 日韩电影免费观看高清完整| 日韩视频不卡| 欧美夫妇交换xxx| 一区二区三区中文在线观看| 11024精品一区二区三区日韩| 永久555www成人免费| 成人黄色免费短视频| 久久婷婷开心| 国产亚洲精品自拍| 日韩av手机在线播放| 亚洲国产综合色| 丰满人妻熟女aⅴ一区| 欧美国产中文字幕| 这里视频有精品| www.国产在线播放| 成人激情小说乱人伦| 亚洲国产精品午夜在线观看| 精品少妇一区二区三区日产乱码| а天堂中文在线官网| 91在线观看免费高清| 91精品蜜臀一区二区三区在线| 日韩va在线观看| 亚洲美女淫视频| www.国产黄色| 欧美噜噜久久久xxx| 超碰在线亚洲| 怡红院av亚洲一区二区三区h| 久久综合九色综合欧美亚洲| 亚洲天堂一区在线| 国产一区二区三区在线| 九七电影院97理论片久久tvb| 中文字幕综合在线观看| 国产麻豆欧美日韩一区| 久久99久久98精品免观看软件 | 毛葺葺老太做受视频| 久久久久久免费网| 综合久久中文字幕| 久久影院模特热| 国产精品国产| 成人久久久久久久久| 亚洲国产成人私人影院tom| 亚洲字幕av一区二区三区四区| 久久亚洲一区二区三区四区五区高 | 久久亚洲国产精品一区二区| 中文字幕第24页| 91精品国产综合久久精品图片| 久草在线视频福利| 欧美一区二区在线视频观看| 日本女优在线视频一区二区| 尤物在线免费视频| 亚洲国产精品va在线看黑人动漫| 色戒汤唯在线| 在线视频一区观看| av亚洲产国偷v产偷v自拍| 久久久久久91亚洲精品中文字幕| 尤物精品国产第一福利三区 | 久久久久久国产精品免费播放| 亚洲国产高清自拍| 国产精品第一国产精品| 精品国产一区二区三区在线| 91丝袜国产在线播放| 一区二区视频播放| 久久欧美在线电影| 日本一区二区在线看| 精品人妻在线视频| 欧美性色综合网| 搞黄网站在线看| 亚洲综合欧美日韩| aaa国产一区| 国产巨乳在线观看| 欧美野外猛男的大粗鳮| 91精品亚洲| 真实乱视频国产免费观看 | 国产乱子伦三级在线播放| 日韩欧美在线不卡| 1024在线看片你懂得| 色一情一乱一伦一区二区三区| 国产乱子伦一区二区三区国色天香| 国产在线观看黄色| 欧美成人精品在线播放|