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

免費Python機器學習課程九:K均值聚類

人工智能 機器學習
K均值聚類是最流行和廣泛使用的無監督學習模型。它也稱為群集,因為它通過群集數據來工作。與監督學習模型不同,非監督模型不使用標記數據。

K聚類是什么意思?

K均值聚類是最流行和廣泛使用的無監督學習模型。它也稱為群集,因為它通過群集數據來工作。與監督學習模型不同,非監督模型不使用標記數據。

該算法的目的不是預測任何標簽。而是更好地了解數據集并對其進行標記。

[[360705]]

在k均值聚類中,我們將數據集聚類為不同的組。

這是k均值聚類算法的工作原理

(1) 第一步是隨機初始化一些點。這些點稱為簇質心。

免費Python機器學習課程九:K均值聚類

在上圖中,紅色和藍色點是群集質心。

您可以選擇任意數量的群集質心。但是簇質心的數量必須少于數據點的總數。

(2) 第二步是群集分配步驟。在此步驟中,我們需要遍歷每個綠點。根據點是否更靠近紅色或藍色點,我們需要將其分配給其中一個點。

換句話說,根據綠色點是紅色還是藍色來著色,具體取決于它是靠近藍色簇質心還是紅色簇質心。

免費Python機器學習課程九:K均值聚類

(3) 下一步是移動群集質心。現在,我們必須對分配給紅色聚類質心的所有紅點取平均值,然后將紅色聚類質心移至該平均值。我們需要對藍色簇質心執行相同的操作。

現在,我們有了新的簇質心。我們必須回到編號2(集群分配步驟)。我們需要將點重新排列到新的群集質心。在那之后重復第三。

數字2和3需要重復幾次,直到兩個聚類質心都位于合適的位置,如下圖所示。

免費Python機器學習課程九:K均值聚類

看,我們只是按照分配給它們的簇質心對所有綠色點進行了著色。藍色簇質心位于藍色簇的中心,紅色簇質心位于紅色簇的中心。

當我們開發該算法時,將會稍微清楚一點。我們將對此進行更詳細的討論。

開發算法

我將用于此算法的數據集是從安德魯·伍(Andrew Ng)在Coursera的機器學習課程中獲得的。這是開發k均值算法的分步指南:

(1) 導入必要的包和數據集

  1. import pandas as pd 
  2. import numpy as np 
  3. df1 = pd.read_excel('dataset.xlsx', sheet_name='ex7data2_X'header=None
  4. df1.head() 
免費Python機器學習課程九:K均值聚類

數據集只有兩列。我采用了兩個特色數據集,因為它很容易可視化。當您看到視覺效果時,該算法將對您更容易理解。但是,相同的算法也將適用于多維數據集。

我將DataFrame df1轉換為Numpy數組,因為我們將在此過程中處理其他數組:

  1. X = np.array(df1) 

現在,我將按照上面討論的三個步驟進行操作。

(2) 第一步是隨機初始化質心。

我將從數據集中隨機初始化三個點。首先,我將在0和數據集長度之間選擇三個數字。

  1. import randomrandominit_centroids = random.sample(range(0, len(df1)), 3) 
  2. init_centroids 

輸出:

  1. [95, 30, 17] 

使用這三個數字作為索引,并獲取這些索引的數據點。

  1. centroids = [] 
  2. for i in init_centroids: 
  3.     centroids.append(df1.loc[i]) 
  4. centroids 

輸出:

  1. [0 3.907793 
  2. 1 5.094647 
  3. Name: 95, dtype: float64, 
  4. 0 2.660466 
  5. 1 5.196238 
  6. Name: 30, dtype: float64, 
  7. 0 3.007089 
  8. 1 4.678978 
  9. Name: 17, dtype: float64] 

這三點是我們最初的質心。

我將它們轉換為二維數組。因為這是我比較熟悉的格式。

  1. centroids = np.array(centroids) 

輸出:

  1. array([[3.90779317, 5.09464676], 
  2. [2.66046572, 5.19623848], 
  3. [3.00708934, 4.67897758]]) 

(3) 實施群集分配步驟。

在這一步中,我們將遍歷數據集中的所有數據點。

一個數據點表示一行數據

讓我們看一行數據,了解如何將這些數據分配給集群。

我們將計算所有三個質心的數據距離。然后將該數據點分配給距離最短的質心。

如我們所見,我們必須計算兩個點之間的許多距離。讓我們開發一個計算距離的函數。

  1. def calc_distance(X1, X2): 
  2.     return(sum((X1 - X2)**2))**0.5 

開發一個函數,將每個數據點分配給一個質心。我們的"質心"數組只有三個值。因此,我們有三個索引:0、1、2。我們將為每個數據點分配這些索引之一。

  1. def findClosestCentroids(ic, X): 
  2.     assigned_centroid = [] 
  3.     for i in X: 
  4.         distance=[] 
  5.         for j in ic: 
  6.             distance.append(calc_distance(i, j)) 
  7.         assigned_centroid.append(np.argmin(distance)) 
  8.     return assigned_centroid 

此功能是將數據點分配給群集的功能。讓我們使用此函數來計算每個數據點的質心:

  1. get_centroids = findClosestCentroids(centroids, X) 
  2. get_centroids 

部分輸出:

  1. [2, 
  2. 0, 
  3. 0, 
  4. 2, 
  5. 1, 
  6. 2, 
  7. 2, 
  8. 2, 
  9. 1, 
  10. 1, 
  11. 2, 
  12. 2, 
  13. 2, 
  14. 2, 
  15. 2, 
  16. 2, 
  17. 0, 

總輸出很長。因此,我在這里顯示部分輸出。輸出中的第一個質心為2,這意味著將其分配給質心列表的索引2。

(4) 最后一步是根據數據點的平均值移動質心

在這一步中,我們將取每個質心的所有數據點的平均值,然后將質心移動到該平均值。

例如,我們將在索引2處找到分配給質心的所有點的平均值,然后將質心2移至平均值。對索引0和1的質心也執行相同的操作。

讓我們定義一個函數來做到這一點:

  1. def calc_centroids(clusters, X): 
  2.     new_centroids = [] 
  3.     new_df = pd.concat([pd.DataFrame(X), pd.DataFrame(clusters, columns=['cluster'])], 
  4.                       axis=1
  5.     for c in set(new_df['cluster']): 
  6.         current_cluster = new_df[new_df['cluster'] == c][new_df.columns[:-1]] 
  7.         cluster_mean = current_cluster.mean(axis=0
  8.         new_centroids.append(cluster_mean) 
  9.     return new_centroids 

這些都是我們需要開發的所有功能。

正如我之前所討論的,我們需要重復此群集分配過程,并多次移動質心,直到質心處于合適的位置。

對于此問題,我選擇重復此過程10次。我將在每次迭代后繼續繪制質心和數據,以直觀地向您展示其工作方式。

  1. for i in range(10): 
  2.     get_centroids = findClosestCentroids(centroids, X) 
  3.     centroids = calc_centroids(get_centroids, X) 
  4.     #print(centroids) 
  5.     plt.figure() 
  6.     plt.scatter(np.array(centroids)[:, 0], np.array(centroids)[:, 1], color='black'
  7.     plt.scatter(X[:, 0], X[:, 1], alpha=0.1) 
  8.     plt.show() 
免費Python機器學習課程九:K均值聚類

經過五次迭代,將質心設置為其最佳位置。因此,他們此后不再更改職位。

我建議,在嘗試降維之前,請運行上面的所有代碼以使其學習好。

否則,您可能會感到不知所措!另外,由于我們已經詳細解釋了該算法,因此我現在將加快執行速度。

降維

我想解釋一下這種算法的至少一個用例。一種非常有用的用例是降維。

想一想圖像。圖像中可能有太多不同的像素。在任何計算機視覺問題中,如果我們可以縮小圖片的尺寸,則設備讀取該圖片的速度將大大提高!是不是

我們可以使用剛剛開發的算法來縮小圖片的尺寸。

我將使用青蛙的圖片來說明這一點:

免費Python機器學習課程九:K均值聚類

> Image By Author

我將這張照片上傳到了與筆記本相同的文件夾中。讓我們導入這個:

  1. import cv2 
  2. im = cv2.imread('frog.png') 
  3. im 

輸出:

  1. array([[[  2,  57,  20], 
  2.         [  2,  57,  20], 
  3.         [  2,  57,  21], 
  4.         ..., 
  5.         [  0,   5,   3], 
  6.         [  8,  12,  11], 
  7.         [ 91,  94,  93]],       [[  2,  56,  20], 
  8.         [  1,  54,  20], 
  9.         [  1,  56,  19], 
  10.         ..., 
  11.         [  0,   2,   1], 
  12.         [  7,   9,   8], 
  13.         [ 91,  92,  91]],       [[  2,  55,  20], 
  14.         [  2,  53,  19], 
  15.         [  1,  54,  18], 
  16.         ..., 
  17.         [  2,   4,   2], 
  18.         [  8,  11,   9], 
  19.         [ 91,  93,  91]],       ...,       [[  6,  76,  27], 
  20.         [  6,  77,  26], 
  21.         [  6,  78,  28], 
  22.         ..., 
  23.         [  6,  55,  18], 
  24.         [ 13,  61,  25], 
  25.         [ 94, 125, 102]],       [[  9,  79,  31], 
  26.         [ 11,  81,  33], 
  27.         [ 12,  82,  32], 
  28.         ..., 
  29.         [  6,  56,  19], 
  30.         [ 14,  61,  27], 
  31.         [ 96, 126, 103]],       [[ 43, 103,  63], 
  32.         [ 44, 107,  66], 
  33.         [ 46, 106,  66], 
  34.         ..., 
  35.         [ 37,  81,  50], 
  36.         [ 47,  88,  59], 
  37.         [118, 145, 126]]], dtype=uint8

檢查數組的形狀,

  1. im.sgape 

輸出:

  1. (155, 201, 3) 

我將整個數組除以255,以使所有值從0到1。

然后將其重塑為155 * 201 x 3,使其成為二維數組。因為我們之前開發了二維數組的所有函數。

  1. im = (im/255).reshape(155*201, 3) 

如您在上方所見,有許多不同的像素值。我們要減少它并僅保留10像素值。

讓我們初始化10個隨機索引,

  1. randomrandom_index = random.sample(range(0, len(im)), 10) 

現在,像上一個示例一樣找到質心:

  1. centroids = [] 
  2. for i in random_index: 
  3.     centroids.append(im[i]) 
  4. centroids = np.array(centroids) 

輸出:

  1. array([[0.00392157, 0.21176471, 0.06666667], 
  2. [0.03529412, 0.2627451 , 0.09803922], 
  3. [0.29411765, 0.3254902 , 0.26666667], 
  4. [0.00784314, 0.18431373, 0.05882353], 
  5. [0.29019608, 0.49411765, 0.28235294], 
  6. [0.5254902 , 0.61176471, 0.48627451], 
  7. [0.04313725, 0.23921569, 0.09803922], 
  8. [0.00392157, 0.23529412, 0.0745098 ], 
  9. [0.00392157, 0.20392157, 0.04705882], 
  10. [0.22352941, 0.48235294, 0.40784314]]) 

現在,我也將" im"轉換為數組,

  1. im = np.array(im) 

數據準備就緒。現在,我們可以繼續進行集群過程。但是這次,我將不進行可視化。因為數據不再是二維的。因此,可視化并不容易。

  1. for i in range(20): 
  2.     get_centroids = findClosestCentroids(centroids, im) 
  3.     centroids = calc_centroids(get_centroids, im) 

我們現在得到了更新的質心。

  1. centroids 

輸出:

  1. [0 0.017726 
  2. 1 0.227360 
  3. 2 0.084389 
  4. dtype: float64, 
  5. 0 0.119791 
  6. 1 0.385882 
  7. 2 0.247633 
  8. dtype: float64, 
  9. 0 0.155117 
  10. 1 0.492051 
  11. 2 0.331497 
  12. dtype: float64, 
  13. 0 0.006217 
  14. 1 0.048596 
  15. 2 0.019410 
  16. dtype: float64, 
  17. 0 0.258289 
  18. 1 0.553290 
  19. 2 0.406759 
  20. dtype: float64, 
  21. 0 0.728167 
  22. 1 0.764610 
  23. 2 0.689944 
  24. dtype: float64, 
  25. 0 0.073519 
  26. 1 0.318513 
  27. 2 0.170943 
  28. dtype: float64, 
  29. 0 0.035116 
  30. 1 0.273665 
  31. 2 0.114766 
  32. dtype: float64, 
  33. 0 0.010810 
  34. 1 0.144621 
  35. 2 0.053192 
  36. dtype: float64, 
  37. 0 0.444197 
  38. 1 0.617780 
  39. 2 0.513234 
  40. dtype: float64] 

這是最后一步。我們只會保留這10點。

如果還打印get_centroids,您將看到集群分配。

現在,我們要遍歷整個數組" im",并將數據更改為其相應的簇質心值。這樣,我們將僅具有這些質心值。

我不想更改原始數組,而是要制作一個副本并在那里進行更改。

  1. imim_recovered = im.copy() 
  2. for i in range(len(im)): 
  3.     im_recovered[i] = centroids[get_centroids[i]] 

您還記得,我們在一開始就更改了圖像的尺寸,使其成為二維數組。我們現在需要將其更改為原始形狀。

  1. im_recoveredim_recovered = im_recovered.reshape(155, 201, 3) 

在這里,我將并排繪制原始圖像和縮小后的圖像,以顯示差異:

  1. im1 = cv2.imread('frog.png') 
  2. import matplotlib.image as mpimg 
  3. fig,ax = plt.subplots(1,2) 
  4. ax[0].imshow(im1) 
  5. ax[1].imshow(im_recovered) 

免費Python機器學習課程九:K均值聚類

> Image by Author

看,我們如此大地減小了圖像的尺寸。不過,它看起來像只青蛙!但是計算機閱讀起來會快得多!

結論

在本文中,我解釋了k均值聚類的工作原理以及如何從頭開始開發k均值聚類算法。我還解釋了如何使用此算法來縮小圖像尺寸。請嘗試使用其他圖像。

這是我在本文中使用的數據集的鏈接。

https://github.com/rashida048/Machine-Learning-With-Python/blob/master/kmean.xlsx

這個是代碼:

https://github.com/rashida048/Machine-Learning-With-Python/blob/master/k_mean_clustering_final.ipynb

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2023-12-01 16:27:05

機器學習無監督學習

2024-05-27 00:05:00

2020-12-24 06:54:45

Python機器學習多類分類邏輯回歸

2020-12-20 20:31:56

Python機器學習多元線性回歸

2020-12-19 10:54:25

機器學習線性回歸算法

2020-12-23 07:54:56

Python機器學習邏輯回歸算法

2020-05-13 15:57:59

聚類分析算法監督學習

2020-12-25 10:08:53

Python機器學習神經網絡算法

2020-12-22 07:09:01

Python機器學習多項式回歸

2020-12-27 21:14:06

Python機器學習算法

2021-01-01 14:59:51

Python機器學習算法

2020-12-28 08:26:51

Python機器學習數據集

2018-05-28 15:33:09

無監督學習算法Python

2017-11-13 12:53:14

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

2017-09-11 09:20:14

機器學習無監督學習聚類

2024-07-16 10:35:42

2018-04-08 22:32:02

2019-05-29 07:59:54

機器學習深度學習自然語言

2022-10-28 15:19:28

機器學習距離度量數據集

2025-05-22 10:06:49

點贊
收藏

51CTO技術棧公眾號

亚洲一区二区人妻| 亚洲第一黄色网址| 污视频网站在线免费| 国产精品一区二区男女羞羞无遮挡| 色狠狠久久aa北条麻妃 | 亚洲av无码一区二区三区网址| 1区2区在线| 久久精品欧美日韩精品 | 白白操在线视频| 国产情侣一区二区| 亚洲欧洲综合| 伊人久久免费视频| 国产精品一级无码| 超碰aⅴ人人做人人爽欧美| 日本一区二区三区免费乱视频 | 极品粉嫩国产18尤物| 欧美香蕉爽爽人人爽| 久久99久久精品| 97免费在线视频| 欧美激情 一区| 亚洲视频国产精品| 欧美伊人久久大香线蕉综合69 | 免费在线观看黄色网| 懂色av一区二区三区免费看| 热久久这里只有| 成人免费视频国产免费观看| 亚洲成a人片77777在线播放| 67194成人在线观看| 男女啪啪免费视频网站| 免费黄色电影在线观看| 91亚洲国产成人精品一区二三 | 欧美视频在线观看视频| 成年人在线观看视频| 成人精品一区二区三区中文字幕 | 免费观看在线一区二区三区| 色综合天天综合给合国产| 无码人妻精品一区二区蜜桃百度| 番号集在线观看| 99久免费精品视频在线观看| 成人午夜在线视频一区| 97人妻一区二区精品视频| 在线不卡欧美| 欧美精品在线观看91| 美女100%露胸无遮挡| 日本午夜精品久久久| 日韩欧美国产三级| 嫩草视频免费在线观看| 性高爱久久久久久久久| 高跟丝袜欧美一区| 97在线国产视频| 麻豆视频在线| 欧美国产禁国产网站cc| 久久久久久一区| 日本成人动漫在线观看| 国产乱人伦偷精品视频不卡 | 久久久久久久久久网| av香蕉成人| 中文字幕在线不卡一区| 先锋影音日韩| 波多野结衣在线网站| 久久精品日韩一区二区三区| 免费国产一区二区| 午夜视频www| www.日韩精品| 国产经品一区二区| 亚洲精品福利网站| 国产成人亚洲综合a∨婷婷| 91亚洲va在线va天堂va国| 91久久久久久久久久久久| 日韩高清不卡一区二区| 国产精品美女www| 青青艹在线观看| 免费在线成人网| 国产日韩精品入口| 一级久久久久久久| 国产一区不卡精品| 成人av影视在线| 黄色美女一级片| 91污片在线观看| 日韩精品在在线一区二区中文| 福利片在线观看| 最新国产精品久久精品| 欧美日韩dvd| 蜜桃在线视频| 日本精品视频一区二区| 超碰在线播放91| 国产成人视屏| 精品乱码亚洲一区二区不卡| 中文字幕乱码一区| 国产精品美女久久久久久不卡| 国产亚洲精品美女久久久久| 91视频免费看片| 天天做综合网| 欧美激情乱人伦一区| 国产一级18片视频| 美女在线视频一区| 成人av男人的天堂| 国产玉足榨精视频在线观看| 最新日韩在线视频| 欧美日韩成人免费视频| 四虎4545www国产精品| 欧美精品日韩一区| 日韩精品一区二区三区高清免费| 欧美激情在线精品一区二区三区| 日韩小视频在线| 国产精品18p| 免费一级欧美片在线观看| 成人在线免费观看一区| 国产在线黄色| 亚洲国产一区二区三区| 老熟妇仑乱视频一区二区| 国产一区二区三区视频在线| 日韩高清免费观看| 91ts人妖另类精品系列| 激情综合中文娱乐网| 欧美黄色免费网站| 真实新婚偷拍xxxxx| 国产福利一区二区| 久久国产主播精品| 91国内在线| 欧美性xxxxxx少妇| 水蜜桃av无码| 欧美影院一区| 国产欧美精品一区二区三区-老狼 国产欧美精品一区二区三区介绍 国产欧美精品一区二区 | 精品裸体舞一区二区三区| 日韩一级片在线免费观看| 极品中文字幕一区| 成人av资源在线播放| 免费毛片在线| 亚洲第一主播视频| 99精品视频国产| 欧美久久综合网| 7777精品视频| 亚洲精品国产精品国| 亚洲色图都市小说| 国产精品自拍视频在线| 亚洲精品中文字幕99999| 欧美成人亚洲成人| 曰批又黄又爽免费视频| 久久婷婷成人综合色| 僵尸世界大战2 在线播放| 亚洲精品第一| 中文字幕日韩精品在线观看| 超碰超碰超碰超碰| 91丨九色丨尤物| 久久亚洲中文字幕无码| 成人资源在线| 欧美精品激情视频| 亚洲狼人综合网| 一区二区三区国产| 久久无码人妻一区二区三区| 国产精品久久占久久| 国产精品视频久久| 69视频在线| 欧美日韩久久一区| 刘亦菲国产毛片bd| 免播放器亚洲一区| 亚洲欧洲国产精品久久| 成人免费一区| 菠萝蜜影院一区二区免费| 一本色道久久综合熟妇| 国产精品进线69影院| 欧美日韩精品区别| 欧美在线网站| 国产精品sss| 精品人人视频| 亚洲欧美日韩国产中文专区| 无码人妻精品一区二区三区蜜桃91| ww亚洲ww在线观看国产| 久久久久久久久久福利| 欧美偷拍自拍| 川上优av一区二区线观看| 天堂av最新在线| 精品国一区二区三区| 国产精品第一页在线观看| 高清国产午夜精品久久久久久| 日韩视频免费播放| 女同久久另类99精品国产| 97色在线视频观看| 一区二区三区日| 国产精品第四页| 国产一级免费大片| 欧美1级日本1级| 国产精品亚洲综合天堂夜夜| av网在线观看| 欧美日韩精品欧美日韩精品| 黄色av片三级三级三级免费看| 天堂精品中文字幕在线| 亚洲一区影院| 精品三级国产| 欧美激情一区二区三区久久久| 亚洲国产成人在线观看| 色综合网站在线| 欧美日韩生活片| 久久99精品网久久| 妞干网这里只有精品| 1313精品午夜理伦电影| 2019精品视频| 99se视频在线观看| 日韩午夜激情av| 国产精品99精品| 国产精品乱人伦中文| 国产资源中文字幕| 在线精品观看| 日韩欧美精品在线不卡| gogo大尺度成人免费视频| 日韩视频在线观看免费| 天堂在线视频免费| 91久久精品一区二区二区| 国产jizz18女人高潮| 国产丶欧美丶日本不卡视频| 熟妇人妻无乱码中文字幕真矢织江| 99久久夜色精品国产亚洲狼| 国产精品国产精品| 精品91久久| 日韩视频免费在线观看| 欧洲成人av| 日韩天堂在线观看| 五月婷婷中文字幕| 久久亚洲影视婷婷| 成年人网站av| 国产精品尤物| 亚洲精品偷拍视频| 欧美高清视频看片在线观看| 91麻豆精品秘密入口| 欧美大片1688| 欧美日韩国产999| 国产二区视频在线观看| 亚洲精品成人av| 国产剧情精品在线| 欧美日韩国产影院| 爱爱视频免费在线观看| 欧美国产精品专区| 麻豆精品国产传媒av| 久久国产精品99久久人人澡| 无罩大乳的熟妇正在播放| 欧美日一区二区在线观看| 欧美性bbwbbwbbwhd| www.丝袜精品| 91久久精品日日躁夜夜躁国产| 欧美日韩尤物久久| 91精品国产沙发| 91福利国产在线观看菠萝蜜| 国产午夜精品视频免费不卡69堂| 天堂在线视频免费| 精品成人一区二区三区四区| 在线观看色网站| 欧美视频13p| 欧美精品一区二区成人| 亚洲激情在线激情| 911国产在线| 亚洲国产精品av| 亚洲а∨天堂久久精品2021| 暴力调教一区二区三区| 久久aaaa片一区二区| 久久精品av麻豆的观看方式| 欧美伦理片在线观看| 久久亚洲图片| 亚洲熟妇国产熟妇肥婆| 国内在线观看一区二区三区| 中文字幕超清在线免费观看| 色男人天堂综合再现| 日韩欧美亚洲精品| 欧美欧美黄在线二区| 美女亚洲精品| 私拍精品福利视频在线一区| 国模一区二区三区私拍视频| 91蝌蚪精品视频| 久久av免费观看| 欧美人妖视频| 久久伦理网站| 一区二区导航| 亚洲欧美丝袜| 午夜精品毛片| 一区精品视频| 欧美aaaa视频| 99亚洲国产精品| 黄色精品一区| 五十路熟女丰满大屁股| 老司机精品导航| 亚洲欧美国产日韩综合| 久久精品99国产精品日本| 国产精品v日韩精品v在线观看| 国产老妇另类xxxxx| 欧洲在线免费视频| 国产激情精品久久久第一区二区| 在线观看av免费观看| 99国产精品久久久| 蜜桃av免费看| 中文字幕电影一区| 国产亚洲精品久久久久久豆腐| 一区二区三区四区在线免费观看| 免费一级黄色大片| 午夜激情一区二区| 一区精品在线观看| 日韩一区二区在线看| 亚洲精品人妻无码| 精品亚洲精品福利线在观看| 永久免费在线观看视频| 欧美成人国产va精品日本一级| 欧美性video| 91精品国产色综合| 国产精品成人3p一区二区三区| 国产成人精品日本亚洲11| 天美av一区二区三区久久| 亚洲永久激情精品| 精品69视频一区二区三区Q| 日韩免费毛片视频| 韩国欧美一区二区| 性欧美13一14内谢| 一区二区三区中文字幕在线观看| 国产精品6666| 51午夜精品国产| 亚洲av成人精品一区二区三区在线播放| 亚洲美女在线看| 成人影院在线看| 国产成人精品久久二区二区91 | 天堂网www中文在线| 亚洲天堂日韩电影| 国产欧洲在线| 91精品久久久久久久| 蜜桃一区av| 宅男一区二区三区| 亚洲免费网站| 日本少妇xxx| 国产婷婷一区二区| 在线观看中文字幕视频| 91精品国产综合久久婷婷香蕉| 五月天婷婷在线观看| 日韩中文在线不卡| 日韩高清在线| 国产精品日韩一区二区三区 | 亚洲成人三级| 欧美亚洲国产成人精品| 91丨精品丨国产| 麻豆成人av| 国产精品videosex极品| 欧美成人xxxxx| av一本久道久久综合久久鬼色| 亚洲AV成人无码精电影在线| 一本大道av一区二区在线播放| 特黄aaaaaaaaa真人毛片| 久久这里有精品| 日本肉肉一区 | 国产精品欧美在线观看| 欧美中文字幕在线观看视频| 蜜桃传媒麻豆第一区在线观看| 久久美女免费视频| 黑人欧美xxxx| 免费av网站在线播放| 久久全球大尺度高清视频| 国产精品国产亚洲精品| 亚洲一区二区三区色| 奇米影视7777精品一区二区| 国产精品无码久久久久一区二区| 性久久久久久久久| 国产精品久久婷婷| 美女撒尿一区二区三区| 成人黄色91| 在线播放 亚洲| 国产一区二区免费视频| 貂蝉被到爽流白浆在线观看| 欧洲国内综合视频| 色的视频在线免费看| 国产欧美va欧美va香蕉在| 成人一区不卡| 中文字幕视频三区| 国产精品久久久久天堂| 亚洲av无码乱码国产精品fc2| 视频在线观看一区二区| 日本美女久久| 午夜免费电影一区在线观看| 国产真实乱对白精彩久久| 日韩av毛片在线观看| 精品视频一区三区九区| gogo在线观看| dy888夜精品国产专区| 欧美日韩99| 国产精品成人一区二区三区电影毛片| 狠狠久久亚洲欧美专区| 亚洲av电影一区| 国产精品久久久久久久app| jvid福利在线一区二区| 亚洲最大成人在线观看| 亚洲综合精品自拍| 五月婷婷激情在线| 欧美中文字幕在线视频| 欧美日韩色图| 欧美xxxxxbbbbb| 亚洲超丰满肉感bbw| 免费理论片在线观看播放老| 国产高清在线不卡| 精品久久成人| 奇米777在线| 精品欧美一区二区三区| 97人人在线| 91av免费看| 99热这里只有精品8| 97在线观看免费高| 精品女同一区二区|