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

使用輪廓分數提升時間序列聚類的表現

開發 前端
我們將使用輪廓分數和一些距離指標來執行時間序列聚類實驗,并且進行可視化,一起來了解一下吧。

我們將使用輪廓分數和一些距離指標來執行時間序列聚類實驗,并且進行可視化

讓我們看看下面的時間序列:

如果沿著y軸移動序列添加隨機噪聲,并隨機化這些序列,那么它們幾乎無法分辨,如下圖所示-現在很難將時間序列列分組為簇:

上面的圖表是使用以下腳本創建的:

# Import necessary libraries
 import os
 import pandas as pd
 import numpy as np
 
 # Import random module with an alias 'rand'
 import random as rand
 from scipy import signal
 
 # Import the matplotlib library for plotting
 import matplotlib.pyplot as plt
 
 # Generate an array 'x' ranging from 0 to 5*pi with a step of 0.1
 x = np.arange(0, 5*np.pi, 0.1)
 
 # Generate square, sawtooth, sin, and cos waves based on 'x'
 y_square = signal.square(np.pi * x)
 y_sawtooth = signal.sawtooth(np.pi * x)
 y_sin = np.sin(x)
 y_cos = np.cos(x)
 
 # Create a DataFrame 'df_waves' to store the waveforms
 df_waves = pd.DataFrame([x, y_sawtooth, y_square, y_sin, y_cos]).transpose()
 
 # Rename the columns of the DataFrame for clarity
 df_waves = df_waves.rename(columns={0: 'time',
                                    1: 'sawtooth',
                                    2: 'square',
                                    3: 'sin',
                                    4: 'cos'})
 
 # Plot the original waveforms against time
 df_waves.plot(x='time', legend=False)
 plt.show()
 
 # Add noise to the waveforms and plot them again
 for col in df_waves.columns:
    if col != 'time':
        for i in range(1, 10):
            # Add noise to each waveform based on 'i' and a random value
            df_waves['{}_{}'.format(col, i)] = df_waves[col].apply(lambda x: x + i + rand.random() * 0.25 * i)
 
 # Plot the waveforms with added noise against time
 df_waves.plot(x='time', legend=False)
 plt.show()

現在我們需要確定聚類的基礎。這里有兩種方法:

把接近于一組的波形分組——較低歐幾里得距離的波形將聚在一起。

把看起來相似的波形分組——它們有相似的形狀,但歐幾里得距離可能不低。

距離度量

一般來說,我們希望根據形狀對時間序列進行分組,對于這樣的聚類-可能希望使用距離度量,如相關性,這些度量或多或少與波形的線性移位無關。

讓我們看看上面定義的帶有噪聲的波形對之間的歐幾里得距離和相關性的熱圖:

可以看到歐幾里得距離對波形進行分組是很困難的,因為任何一組波形對的模式都是相似的。例如,除了對角線元素外,square & cos之間的相關形狀與square和square之間的相關形狀非常相似

所有的形狀都可以很容易地使用相關熱圖組合在一起——因為類似的波形具有非常高的相關性(sin-sin對),而像sin和cos這樣的波形幾乎沒有相關性。

輪廓分數

通過上面熱圖和分析,根據高相關性分配組看起來是一個好主意,但是我們如何定義相關閾值呢?看起來像一個迭代過程,容易出現不準確和大量的人工工作。

在這種情況下,我們可以使用輪廓分數(Silhouette score),它為執行的聚類分配一個分數。我們的目標是使輪廓分數最大化。

輪廓分數(Silhouette Score)是一種用于評估聚類質量的指標,它可以幫助你確定數據點是否被正確地分配到它們的簇中。較高的輪廓分數表示簇內數據點相互之間更加相似,而不同簇之間的數據點差異更大,這通常是良好的聚類結果。

輪廓分數的計算方法如下:

  1. 對于每個數據點 i,計算以下兩個值:
  • a(i):數據點 i 到同一簇中所有其他點的平均距離(簇內平均距離)。
  • b(i):數據點 i 到與其不同簇中的所有簇的平均距離,取最小值(最近簇的平均距離)。
  1. 然后,計算每個數據點的輪廓系數 s(i),它定義為:s(i) = \frac{b(i) - a(i)}{\max\{a(i), b(i)\}}
  2. 最后,計算整個數據集的輪廓分數,它是所有數據點的輪廓系數的平均值:\text{輪廓分數} = \frac{1}{N} \sum_{i=1}^{N} s(i)

其中,N 是數據點的總數。

輪廓分數的取值范圍在 -1 到 1 之間,具體含義如下:

  • 輪廓分數接近1:表示簇內數據點相似度高,不同簇之間的差異很大,是一個好的聚類結果。
  • 輪廓分數接近0:表示數據點在簇內的相似度與簇間的差異相當,可能是重疊的聚類或者不明顯的聚類。
  • 輪廓分數接近-1:表示數據點更適合分配到其他簇,不同簇之間的差異相比簇內差異更小,通常是一個糟糕的聚類結果。

一些重要的知識點:

在所有點上的高平均輪廓分數(接近1)表明簇的定義良好且明顯。

低或負的平均輪廓分數(接近-1)表明重疊或形成不良的集群。

0左右的分數表示該點位于兩個簇的邊界上。

聚類

現在讓我們嘗試對時間序列進行分組。我們已經知道存在四種不同的波形,因此理想情況下應該有四個簇。

歐氏距離

pca = decomposition.PCA(n_compnotallow=2)
 pca.fit(df_man_dist_euc)
 df_fc_cleaned_reduced_euc = pd.DataFrame(pca.transform(df_man_dist_euc).transpose(), 
                                              index = ['PC_1','PC_2'],
                                              columns = df_man_dist_euc.transpose().columns)
 
 index = 0
 range_n_clusters = [2, 3, 4, 5, 6, 7, 8]
 
 # Iterate over different cluster numbers
 for n_clusters in range_n_clusters:
    # Create a subplot with silhouette plot and cluster visualization
    fig, (ax1, ax2) = plt.subplots(1, 2)
    fig.set_size_inches(15, 7)
 
    # Set the x and y axis limits for the silhouette plot
    ax1.set_xlim([-0.1, 1])
    ax1.set_ylim([0, len(df_man_dist_euc) + (n_clusters + 1) * 10])
 
    # Initialize the KMeans clusterer with n_clusters and random seed
    clusterer = KMeans(n_clusters=n_clusters, n_init="auto", random_state=10)
    cluster_labels = clusterer.fit_predict(df_man_dist_euc)
 
    # Calculate silhouette score for the current cluster configuration
    silhouette_avg = silhouette_score(df_man_dist_euc, cluster_labels)
    print("For n_clusters =", n_clusters, "The average silhouette_score is :", silhouette_avg)
    sil_score_results.loc[index, ['number_of_clusters', 'Euclidean']] = [n_clusters, silhouette_avg]
    index += 1
     
    # Calculate silhouette values for each sample
    sample_silhouette_values = silhouette_samples(df_man_dist_euc, cluster_labels)
     
    y_lower = 10
 
    # Plot the silhouette plot
    for i in range(n_clusters):
        # Aggregate silhouette scores for samples in the cluster and sort them
        ith_cluster_silhouette_values = sample_silhouette_values[cluster_labels == i]
        ith_cluster_silhouette_values.sort()
 
        # Set the y_upper value for the silhouette plot
        size_cluster_i = ith_cluster_silhouette_values.shape[0]
        y_upper = y_lower + size_cluster_i
 
        color = cm.nipy_spectral(float(i) / n_clusters)
 
        # Fill silhouette plot for the current cluster
        ax1.fill_betweenx(np.arange(y_lower, y_upper), 0, ith_cluster_silhouette_values, facecolor=color, edgecolor=color, alpha=0.7)
 
        # Label the silhouette plot with cluster numbers
        ax1.text(-0.05, y_lower + 0.5 * size_cluster_i, str(i))
        y_lower = y_upper + 10 # Update y_lower for the next plot
 
    # Set labels and title for the silhouette plot
    ax1.set_title("The silhouette plot for the various clusters.")
    ax1.set_xlabel("The silhouette coefficient values")
    ax1.set_ylabel("Cluster label")
 
    # Add vertical line for the average silhouette score
    ax1.axvline(x=silhouette_avg, color="red", linestyle="--")
    ax1.set_yticks([]) # Clear the yaxis labels / ticks
    ax1.set_xticks([-0.1, 0, 0.2, 0.4, 0.6, 0.8, 1])
 
    # Plot the actual clusters
    colors = cm.nipy_spectral(cluster_labels.astype(float) / n_clusters)
    ax2.scatter(df_fc_cleaned_reduced_euc.transpose().iloc[:, 0], df_fc_cleaned_reduced_euc.transpose().iloc[:, 1],
                marker=".", s=30, lw=0, alpha=0.7, c=colors, edgecolor="k")
 
    # Label the clusters and cluster centers
    centers = clusterer.cluster_centers_
    ax2.scatter(centers[:, 0], centers[:, 1], marker="o", c="white", alpha=1, s=200, edgecolor="k")
 
    for i, c in enumerate(centers):
        ax2.scatter(c[0], c[1], marker="$%d$" % i, alpha=1, s=50, edgecolor="k")
 
    # Set labels and title for the cluster visualization
    ax2.set_title("The visualization of the clustered data.")
    ax2.set_xlabel("Feature space for the 1st feature")
    ax2.set_ylabel("Feature space for the 2nd feature")
 
    # Set the super title for the whole plot
    plt.suptitle("Silhouette analysis for KMeans clustering on sample data with n_clusters = %d" % n_clusters,
                  fnotallow=14, fnotallow="bold")
 
 plt.savefig('sil_score_eucl.png')
 plt.show()

可以看到無論分成多少簇,數據都是混合的,并不能為任何數量的簇提供良好的輪廓分數。這與我們基于歐幾里得距離熱圖的初步評估的預期一致

相關性

pca = decomposition.PCA(n_compnotallow=2)
 pca.fit(df_man_dist_corr)
 df_fc_cleaned_reduced_corr = pd.DataFrame(pca.transform(df_man_dist_corr).transpose(), 
                                              index = ['PC_1','PC_2'],
                                              columns = df_man_dist_corr.transpose().columns)
 
 index=0
 range_n_clusters = [2,3,4,5,6,7,8]
 for n_clusters in range_n_clusters:
    # Create a subplot with 1 row and 2 columns
    fig, (ax1, ax2) = plt.subplots(1, 2)
    fig.set_size_inches(15, 7)
 
    # The 1st subplot is the silhouette plot
    # The silhouette coefficient can range from -1, 1 but in this example all
    # lie within [-0.1, 1]
    ax1.set_xlim([-0.1, 1])
    # The (n_clusters+1)*10 is for inserting blank space between silhouette
    # plots of individual clusters, to demarcate them clearly.
    ax1.set_ylim([0, len(df_man_dist_corr) + (n_clusters + 1) * 10])
 
    # Initialize the clusterer with n_clusters value and a random generator
    # seed of 10 for reproducibility.
    clusterer = KMeans(n_clusters=n_clusters, n_init="auto", random_state=10)
    cluster_labels = clusterer.fit_predict(df_man_dist_corr)
 
    # The silhouette_score gives the average value for all the samples.
    # This gives a perspective into the density and separation of the formed
    # clusters
    silhouette_avg = silhouette_score(df_man_dist_corr, cluster_labels)
    print(
        "For n_clusters =",
        n_clusters,
        "The average silhouette_score is :",
        silhouette_avg,
    )
    sil_score_results.loc[index,['number_of_clusters','corrlidean']] = [n_clusters,silhouette_avg]
    index=index+1
     
    sample_silhouette_values = silhouette_samples(df_man_dist_corr, cluster_labels)
     
    y_lower = 10
    for i in range(n_clusters):
        # Aggregate the silhouette scores for samples belonging to
        # cluster i, and sort them
        ith_cluster_silhouette_values = sample_silhouette_values[cluster_labels == i]
 
        ith_cluster_silhouette_values.sort()
 
        size_cluster_i = ith_cluster_silhouette_values.shape[0]
        y_upper = y_lower + size_cluster_i
 
        color = cm.nipy_spectral(float(i) / n_clusters)
        ax1.fill_betweenx(
            np.arange(y_lower, y_upper),
            0,
            ith_cluster_silhouette_values,
            facecolor=color,
            edgecolor=color,
            alpha=0.7,
        )
 
        # Label the silhouette plots with their cluster numbers at the middle
        ax1.text(-0.05, y_lower + 0.5 * size_cluster_i, str(i))
 
        # Compute the new y_lower for next plot
        y_lower = y_upper + 10 # 10 for the 0 samples
 
    ax1.set_title("The silhouette plot for the various clusters.")
    ax1.set_xlabel("The silhouette coefficient values")
    ax1.set_ylabel("Cluster label")
 
    # The vertical line for average silhouette score of all the values
    ax1.axvline(x=silhouette_avg, color="red", linestyle="--")
 
    ax1.set_yticks([]) # Clear the yaxis labels / ticks
    ax1.set_xticks([-0.1, 0, 0.2, 0.4, 0.6, 0.8, 1])
 
    # 2nd Plot showing the actual clusters formed
    colors = cm.nipy_spectral(cluster_labels.astype(float) / n_clusters)
     
    ax2.scatter(
        df_fc_cleaned_reduced_corr.transpose().iloc[:, 0], 
        df_fc_cleaned_reduced_corr.transpose().iloc[:, 1], marker=".", s=30, lw=0, alpha=0.7, c=colors, edgecolor="k"
    )
     
 #     for i in range(len(df_fc_cleaned_cleaned_reduced.transpose().iloc[:, 0])):
 #                         ax2.annotate(list(df_fc_cleaned_cleaned_reduced.transpose().index)[i], 
 #                                     (df_fc_cleaned_cleaned_reduced.transpose().iloc[:, 0][i], 
 #                                       df_fc_cleaned_cleaned_reduced.transpose().iloc[:, 1][i] + 0.2))
         
    # Labeling the clusters
    centers = clusterer.cluster_centers_
    # Draw white circles at cluster centers
    ax2.scatter(
        centers[:, 0],
        centers[:, 1],
        marker="o",
        c="white",
        alpha=1,
        s=200,
        edgecolor="k",
    )
 
    for i, c in enumerate(centers):
        ax2.scatter(c[0], c[1], marker="$%d$" % i, alpha=1, s=50, edgecolor="k")
 
    ax2.set_title("The visualization of the clustered data.")
    ax2.set_xlabel("Feature space for the 1st feature")
    ax2.set_ylabel("Feature space for the 2nd feature")
 
    plt.suptitle(
        "Silhouette analysis for KMeans clustering on sample data with n_clusters = %d"
        % n_clusters,
        fnotallow=14,
        fnotallow="bold",
    )
 
 plt.show()

當選擇的簇數為4時,我們可以清楚地看到分離的簇,其他結果通常比歐氏距離要好得多。

歐幾里得距離與相關廓形評分的比較

輪廓分數表明基于相關性的距離矩陣在簇數為4時效果最好,而在歐氏距離的情況下效果就不那么明顯了結論

總結

在本文中,我們研究了如何使用歐幾里得距離和相關度量執行時間序列聚類,并觀察了這兩種情況下的結果如何變化。如果我們在評估聚類時結合Silhouette,我們可以使聚類步驟更加客觀,因為它提供了一種很好的直觀方式來查看聚類的分離情況。

責任編輯:華軒 來源: DeepHub IMBA
相關推薦

2017-11-13 12:53:14

時間序列數據數據k-均值

2024-07-16 10:35:42

2010-05-05 18:01:29

Oracle時間

2023-03-27 23:42:29

樹狀圖開發可視化

2025-05-22 10:06:49

2024-02-04 09:34:56

時間序列傳感器MTS

2025-03-06 00:00:00

2024-07-18 13:13:58

2025-01-14 13:32:47

2025-03-31 08:28:24

大型語言模型LLMDeepSeek

2021-01-06 08:14:21

時間序列數據庫數據庫

2022-11-14 07:52:14

時間序列數據庫CPU

2010-01-14 11:48:48

OracleOLTP

2013-05-30 08:57:07

wifi無線網絡無線

2024-05-08 14:05:03

時間序列數據

2023-11-10 16:04:46

遞歸圖Python

2022-07-11 08:00:00

開源工具DoppelGANg

2011-07-12 10:43:20

JAVA類加載

2014-07-02 10:34:08

聚類算法算法

2024-06-17 16:02:58

點贊
收藏

51CTO技術棧公眾號

日韩影片在线播放| 91福利视频在线观看| 日韩av片免费观看| 久久av色综合| 91理论电影在线观看| 国产成人+综合亚洲+天堂| 中文字幕在线观看二区| 日韩三级精品| 岛国av一区二区| 亚洲欧洲日韩精品| 日本黄视频在线观看| 久久久国产精品一区二区中文| 在线观看欧美日韩| 日本黄色大片在线观看| 三上悠亚亚洲一区| 一区二区三区精品| 日韩av一区二区三区在线| 精品人妻一区二区三区换脸明星| 欧美中文字幕| 久久久久久久久久久人体| 久久视频精品在线观看| av综合网址| 91精品国产一区二区三区蜜臀| 久久精品国产精品亚洲色婷婷| 免费的黄网站在线观看| 久久综合网色—综合色88| 91视频99| 一级黄在线观看| 裸体一区二区| 欧美1区2区视频| 亚洲成年人在线观看| 丁香花在线影院| 中文字幕在线免费不卡| 久久国产一区二区| 国产丰满果冻videossex| 免费人成在线不卡| 日韩美女激情视频| 男女视频免费看| 欧美在线高清| 日韩一区二区精品视频| 在线国产视频一区| 美女久久久久| 日韩成人在线视频观看| 黄色av电影网站| 51vv免费精品视频一区二区| 欧美精品99久久久**| 亚洲综合色在线观看| 色在线视频观看| 欧美日韩在线视频一区| 一二三四视频社区在线| 丁香花高清在线观看完整版| 伊人一区二区三区| 精品一区二区三区毛片| 超碰在线最新| 一区二区三区成人| 成年在线观看视频| 日本电影在线观看| 亚洲国产裸拍裸体视频在线观看乱了| 91免费国产精品| 日本动漫理论片在线观看网站| 亚洲男同性恋视频| 狠狠精品干练久久久无码中文字幕| 麻豆视频在线观看免费网站| 国产视频不卡一区| 亚洲精品在线视频观看| 欧美尤物美女在线| 亚洲精品日日夜夜| 99久久久精品视频| av资源在线| 欧美性猛交xxxx乱大交| 国产激情在线观看视频| 国产成人福利夜色影视| 9191国产精品| 香蕉视频污视频| 中文字幕av一区二区三区人| 亚洲色图综合久久| 国产麻豆a毛片| 欧美日本不卡| 8x海外华人永久免费日韩内陆视频 | 337人体粉嫩噜噜噜| 凹凸成人精品亚洲精品密奴| 日韩一区二区久久久| 黄色一级片在线| 国产日韩欧美高清免费| 国产精品久久在线观看| 国产老女人乱淫免费| 岛国一区二区三区| 欧美韩国日本精品一区二区三区| 成人av毛片| 亚洲黄网站在线观看| 黄色成人在线看| 日韩色淫视频| 91精品国产91久久久久久一区二区| 国产成人精品一区二区三区在线观看 | 亚洲精品传媒| 亚洲第一主播视频| 国产视频在线视频| 精品亚洲a∨一区二区三区18| 欧美精品一区二区三区蜜桃| 亚洲av无码一区二区三区人 | 国产无一区二区| 免费cad大片在线观看| 中文字幕乱码在线播放| 欧美乱熟臀69xxxxxx| 免费的av网站| 国产精品久久久久久麻豆一区软件| 久久久久久av| 一级片aaaa| 久久久久久免费毛片精品| 国产高清免费在线| 免费观看一级欧美片| 欧美一区二区三区视频在线观看| 少妇按摩一区二区三区| 外国成人激情视频| 日韩av色在线| 欧美一级免费片| 亚洲视频在线观看一区| 无遮挡又爽又刺激的视频| 日韩欧美激情| 国产亚洲激情在线| 粉嫩aⅴ一区二区三区| 国产自产高清不卡| 日本成人三级电影网站| 成人高潮aa毛片免费| 欧美精品免费视频| 阿v天堂2014| 亚洲综合精品四区| 国产精品一 二 三| 自拍亚洲图区| 69堂国产成人免费视频| 国产黄色大片免费看| 国产精品日韩| 国内外成人免费视频| 日本欧美电影在线观看| 91精品婷婷国产综合久久竹菊| 鲁丝一区二区三区| 久久久久99| 欧美一级片免费观看| 欧美男人天堂| 日韩精品免费在线| 日韩在线视频免费播放| 成人av网站免费观看| 精品人妻人人做人人爽| 国产精品视频一区视频二区 | 熟女少妇a性色生活片毛片| 日本人妖一区二区| 天天综合狠狠精品| 欧美日韩亚洲国产| 一个人看的www久久| 国产黄网在线观看| 国产性天天综合网| 国产精品一区二区小说| 色777狠狠狠综合伊人| 国产精品免费福利| 欧美日韩视频在线播放| 欧美日韩国产成人在线免费| 欧美xxxx精品| 国产主播一区二区| 日韩视频一二三| 97一区二区国产好的精华液| 欧美激情一区二区三级高清视频| www.成人免费视频| 午夜久久久久久久久| 免费a v网站| 久久精品一区二区三区中文字幕| 欧美日韩亚洲一区二区三区四区| 欧美成人黑人| 中文字幕亚洲欧美日韩在线不卡 | 免费福利视频一区二区三区| 伊人激情综合网| 国产又粗又猛又爽又黄91| 《视频一区视频二区| 自拍一级黄色片| 在线播放亚洲| 日本在线观看一区二区| 日本一区二区中文字幕| 欧美大片在线看免费观看| 天天操天天射天天| 色婷婷综合激情| 国产精品夜夜夜爽阿娇| 国产盗摄视频一区二区三区| 国模无码视频一区二区三区| 奇米色欧美一区二区三区| 成人黄色av播放免费| 黄页在线观看免费| 伊人亚洲福利一区二区三区| 国产喷水福利在线视频| 天天做天天摸天天爽国产一区| 免费在线观看污| 国产自产v一区二区三区c| 欧美啪啪免费视频| 91亚洲成人| 久久婷婷开心| 亚洲综合资源| 欧美性在线视频| 毛片在线播放a| 日韩av在线精品| 一二三区在线播放| 欧美日韩国产一区二区三区| 蜜桃视频最新网址| 97se亚洲国产综合自在线| 国产九九热视频| 夜久久久久久| 男女激烈动态图| 精品大片一区二区| 国产精品伊人日日| 亚洲天堂网站| 日本精品一区二区三区在线播放视频 | 超碰在线一区| 91精品久久久久久久久青青| 在线免费看h| 欧美日本精品在线| www黄在线观看| 亚洲精品一区久久久久久| 国产按摩一区二区三区| 欧美午夜电影一区| 国产精品美女久久久久av爽| 有坂深雪av一区二区精品| 欧美大波大乳巨大乳| 99在线精品免费| 亚洲精品中文字幕乱码无线| 视频一区欧美精品| 日韩日韩日韩日韩日韩| 午夜电影亚洲| 日韩视频在线观看视频| 欧美丝袜一区| 日本不卡免费新一二三区| 人人精品视频| 国产三级精品在线不卡| 日韩影片在线观看| 91老司机精品视频| 欧美少妇激情| 国产精品视频一区二区高潮| 国产免费不卡| 日本成熟性欧美| 中文av在线全新| 欧美一级视频免费在线观看| 国产网站在线| 午夜精品久久久久久久白皮肤| 任你弄在线视频免费观看| 欧美日本高清视频| 影音先锋中文在线视频| 欧美猛交ⅹxxx乱大交视频| dy888亚洲精品一区二区三区| 精品国内自产拍在线观看| 欧美激情二区| 久久在线精品视频| 国产视频在线播放| 久久亚洲精品毛片| 丝袜美腿av在线| 欧美交受高潮1| 国内精彩免费自拍视频在线观看网址| 久久男人资源视频| 激情视频网站在线播放色| 97精品国产91久久久久久| 国产一二在线播放| 2018中文字幕一区二区三区| 中文字幕成在线观看| 国产福利成人在线| 国产精品黄色片| 成人网在线免费看| 中文字幕一区二区三区四区久久| 国产精品福利视频| 女人抽搐喷水高潮国产精品| 久久影院理伦片| 精品国产一区二区三区小蝌蚪| 色999五月色| 欧美fxxxxxx另类| 夜夜添无码一区二区三区| 亚洲一区中文| 污网站免费在线| 国产精品18久久久久久vr| 国产精品扒开腿做爽爽爽a片唱戏| av电影一区二区| 女人裸体性做爰全过| 亚洲欧美日韩在线| 日本一二三区视频| 欧美性一区二区| 国产黄色一区二区| 日韩国产精品一区| 日本在线视频网| 午夜精品福利视频| 不卡亚洲精品| 国产精品12| 欧美亚洲高清| 欧美激情亚洲天堂| 日韩av中文字幕一区二区三区| 国产精品嫩草影院8vv8| 成年人午夜久久久| 日日操免费视频| 午夜欧美视频在线观看| 夜夜嗨av禁果av粉嫩avhd| 精品久久久久香蕉网| 国产大片在线免费观看| 欧美高清在线视频观看不卡| 欧美大胆成人| 国产富婆一区二区三区 | 黄色一级视频播放| 性欧美精品高清| 色黄视频免费看| 欧美激情综合网| 日本一区二区不卡在线| 欧美日韩在线播放一区| 色综合久久网女同蕾丝边| xvideos亚洲| 激情开心成人网| 国产伦精品一区二区三区| 日韩电影免费网站| 日本成年人网址| 国产精品99久久久| 日韩欧美黄色网址| 欧美性色19p| 秋霞网一区二区| 欧美人与性动交| 动漫一区二区三区| 视频一区视频二区视频| 亚洲美女毛片| 性生活一级大片| 国产精品区一区二区三区| 麻豆久久久久久久久久| 欧美va日韩va| 精品国产白色丝袜高跟鞋| 国产成人av在线播放| 欧美爱爱网站| 青草视频在线观看视频| 国产一区二区女| 男人天堂资源网| 91国偷自产一区二区三区观看 | 精品视频一区二区三区| 亚洲精品乱码久久久久久蜜桃91| 久久国产精品毛片| 亚洲色图14p| 亚洲成人1区2区| 亚洲精品无码久久久| 久热爱精品视频线路一| 祥仔av免费一区二区三区四区| 日韩在线导航| 日本中文字幕一区二区视频 | 亚洲成人你懂的| 午夜精品一二三区| 超碰91人人草人人干| 日韩高清一区| 国产欧美123| 国产成人av一区二区三区在线 | 日韩一区二区久久| 香蕉视频污视频| 岛国精品视频在线播放| 五月婷婷六月丁香综合| 2019中文字幕在线| 亚洲精品中文字幕99999| 久久精品国产精品亚洲色婷婷| 久久天堂av综合合色蜜桃网| 影音先锋在线国产| 亚洲人成电影网站色…| 欧美性理论片在线观看片免费| 日韩wuma| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲波多野结衣| 欧美成人女星排行榜| 91豆花视频在线播放| 久久视频在线观看中文字幕| 日韩国产在线一| 大地资源高清在线视频观看| 91精品国产丝袜白色高跟鞋| 欧美人动性xxxxz0oz| 国产一区福利视频| 天堂va蜜桃一区二区三区| 高清国产在线观看| 日韩一区二区三区高清免费看看 | 亚洲成av人片一区二区| 亚洲三级中文字幕| 国产精品久久久久久一区二区| 四虎8848精品成人免费网站| 欧美精品色视频| 亚洲不卡在线观看| 国产女主播在线写真| 成人日韩av在线| 99国产精品| 国精产品一区二区三区| 91精品国产免费| 神马久久午夜| 正在播放一区| 99久久伊人网影院| 在线视频你懂得| 国内精品久久久久久中文字幕| 国产精品羞羞答答在线观看| 在线观看免费av网址| 亚洲第一激情av| 成人不用播放器| 国产视频99| 美国十次了思思久久精品导航| 午夜69成人做爰视频| 精品性高朝久久久久久久| 香蕉成人在线| 免费日韩中文字幕| 伊人一区二区三区| 国产三区四区在线观看| 高清日韩一区| 老色鬼精品视频在线观看播放| 日本少妇久久久|