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

KNN中不同距離度量對比和介紹

開發(fā) 前端
k近鄰算法KNN是一種簡單而強(qiáng)大的算法,可用于分類和回歸任務(wù)。他實(shí)現(xiàn)簡單,主要依賴不同的距離度量來判斷向量間的區(qū)別,但是有很多距離度量可以使用,所以本文演示了KNN與三種不同距離度量(Euclidean、Minkowski和Manhattan)的使用。

k近鄰算法KNN是一種簡單而強(qiáng)大的算法,可用于分類和回歸任務(wù)。他實(shí)現(xiàn)簡單,主要依賴不同的距離度量來判斷向量間的區(qū)別,但是有很多距離度量可以使用,所以本文演示了KNN與三種不同距離度量(Euclidean、Minkowski和Manhattan)的使用。

圖片


KNN算法概述

KNN是一種惰性、基于實(shí)例的算法。它的工作原理是將新樣本的特征與數(shù)據(jù)集中現(xiàn)有樣本的特征進(jìn)行比較。然后算法選擇最接近的k個(gè)樣本,其中k是用戶定義的參數(shù)。新樣本的輸出是基于“k”最近樣本的多數(shù)類(用于分類)或平均值(用于回歸)確定的。

有很多距離度量的算法,我們這里選取3個(gè)最常用度量的算法來進(jìn)行演示:

1、歐氏距離 Euclidean Distance

def euclidean_distance(x1, x2):
    return math.sqrt(np.sum((x1 - x2)**2))

euclidean_distance函數(shù)計(jì)算多維空間中兩點(diǎn)(x1和x2)之間的歐氏距離,函數(shù)的工作原理如下:

  • 從x1元素中減去x2,得到對應(yīng)坐標(biāo)之間的差值。
  • 使用**2運(yùn)算將差值平方。
  • 使用np.sum()對差的平方求和。
  • 使用math.sqrt()取總和的平方根。

歐幾里得距離是歐幾里得空間中兩點(diǎn)之間的直線距離。通過計(jì)算歐幾里得距離,可以識別給定樣本的最近鄰居,并根據(jù)鄰居的多數(shù)類(用于分類)或平均值(用于回歸)進(jìn)行預(yù)測。在處理連續(xù)的實(shí)值特征時(shí),使用歐幾里得距離很有幫助,因?yàn)樗峁┝艘环N直觀的相似性度量。

2、曼哈頓距離 Manhattan Distance

兩點(diǎn)坐標(biāo)的絕對差值之和。

def manhattan_distance(x1, x2):
    return np.sum(np.abs(x1 - x2))

Manhattan _distance函數(shù)計(jì)算多維空間中兩點(diǎn)(x1和x2)之間的曼哈頓距離,函數(shù)的工作原理如下:

  • 用np計(jì)算x1和x2對應(yīng)坐標(biāo)的絕對差值。Abs (x1 - x2)
  • 使用np.sum()對絕對差進(jìn)行求和。

曼哈頓距離,也稱為L1距離或出租車距離,是兩點(diǎn)坐標(biāo)的絕對差值之和。它代表了當(dāng)運(yùn)動被限制為網(wǎng)格狀結(jié)構(gòu)時(shí),點(diǎn)之間的最短路徑,類似于在城市街道上行駛的出租車。

在數(shù)據(jù)特征具有不同尺度的情況下,或者當(dāng)問題域的網(wǎng)格狀結(jié)構(gòu)使其成為更合適的相似性度量時(shí),使用曼哈頓距離可能會有所幫助。曼哈頓距離可以根據(jù)樣本的特征來衡量樣本之間的相似性或差異性。

與歐幾里得距離相比,曼哈頓距離對異常值的敏感性較低,因?yàn)樗鼪]有對差異進(jìn)行平方。這可以使它更適合于某些數(shù)據(jù)集或異常值的存在可能對模型的性能產(chǎn)生重大影響的問題。

3、閔可夫斯基距離 Minkowski Distance

它是歐幾里得距離和曼哈頓距離的一般化的表現(xiàn)形式,使用p進(jìn)行參數(shù)化。當(dāng)p=2時(shí),它變成歐氏距離,當(dāng)p=1時(shí),它變成曼哈頓距離。

def minkowski_distance(x1, x2, p):
    return np.power(np.sum(np.power(np.abs(x1 - x2), p)), 1/p)

minkowski_distance函數(shù)計(jì)算多維空間中兩點(diǎn)(x1和x2)之間的閔可夫斯基距離。

當(dāng)你想要控制單個(gè)特征的差異對整體距離的影響時(shí),使用閔可夫斯基距離會很有幫助。通過改變p值,可以調(diào)整距離度量對特征值或大或小差異的靈敏度,使其更適合特定的問題域或數(shù)據(jù)集。

閔可夫斯基距離可以根據(jù)樣本的特征來衡量樣本之間的相似性或不相似性。該算法通過計(jì)算適當(dāng)p值的閔可夫斯基距離,識別出給定樣本的最近鄰居,并根據(jù)鄰居的多數(shù)類(用于分類)或平均值(用于回歸)進(jìn)行預(yù)測。

KNN 算法的代碼實(shí)現(xiàn)

因?yàn)镵NN算法的原理很簡單,所以我們這里直接使用Python實(shí)現(xiàn),這樣也可以對算法有一個(gè)更好的理解:

def knn_euclidean_distance(X_train, y_train, X_test, k):
     # List to store the predicted labels for the test set
     y_pred = []
     
     # Iterate over each point in the test set
     for i in range(len(X_test)):
         distances = []
         # Iterate over each point in the training set
         for j in range(len(X_train)):
             # Calculate the distance between the two points using the Euclidean distance metric
             dist = euclidean_distance(X_test[i], X_train[j])
             distances.append((dist, y_train[j]))
         
         # Sort the distances list by distance (ascending order)
         distances.sort()
         
         # Get the k nearest neighbors
         neighbors = distances[:k]
         
         # Count the votes for each class
         counts = {}
         for neighbor in neighbors:
             label = neighbor[1]
             if label in counts:
                 counts[label] += 1
             else:
                 counts[label] = 1
         
         # Get the class with the most votes
         max_count = max(counts, key=counts.get)
         y_pred.append(max_count)
     
     return y_pred

這個(gè)' knn_euclidean_distance '函數(shù)對于解決分類問題很有用,因?yàn)樗梢愿鶕?jù)' k '個(gè)最近鄰居中的大多數(shù)類進(jìn)行預(yù)測。該函數(shù)使用歐幾里得距離作為相似性度量,可以識別測試集中每個(gè)數(shù)據(jù)點(diǎn)的最近鄰居,并相應(yīng)地預(yù)測它們的標(biāo)簽。我們實(shí)現(xiàn)的代碼提供了一種顯式的方法來計(jì)算距離、選擇鄰居,并根據(jù)鄰居的投票做出預(yù)測。

在使用曼哈頓距離時(shí),KNN算法與歐氏距離保持一致,只需要將距離計(jì)算函數(shù)euclidean_distance修改為manhattan_distance。而閔可夫斯基距離則需要多加一個(gè)參數(shù)p,實(shí)現(xiàn)代碼如下:

def knn_minkowski_distance(X_train, y_train, X_test, k, p):
     # List to store the predicted labels for the test set
     y_pred = []
     
     # Iterate over each point in the test set
     for i in range(len(X_test)):
         distances = []
         # Iterate over each point in the training set
         for j in range(len(X_train)):
             # Calculate the distance between the two points using the Minkowski distance metric
             dist = minkowski_distance(X_test[i], X_train[j], p)
             distances.append((dist, y_train[j]))
         
         # Sort the distances list by distance (ascending order)
         distances.sort()
         
         # Get the k nearest neighbors
         neighbors = distances[:k]
         
         # Count the votes for each class
         counts = {}
         for neighbor in neighbors:
             label = neighbor[1]
             if label in counts:
                 counts[label] += 1
             else:
                 counts[label] = 1
         
         # Get the class with the most votes
         max_count = max(counts, key=counts.get)
         y_pred.append(max_count)
     
     return y_pred

距離度量對比

我使用的數(shù)據(jù)集是乳腺癌數(shù)據(jù)集,可以在kaggle上直接下載

這個(gè)數(shù)據(jù)集是機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘中廣泛使用的基準(zhǔn)數(shù)據(jù)集,用于二元分類任務(wù)。它是由威廉·h·沃爾伯格(William H. Wolberg)博士及其合作者在20世紀(jì)90年代從麥迪遜的威斯康星大學(xué)醫(yī)院收集的。該數(shù)據(jù)集可通過UCI機(jī)器學(xué)習(xí)存儲庫公開獲取。

Breast Cancer Wisconsin數(shù)據(jù)集包含569個(gè)實(shí)例,每個(gè)實(shí)例有32個(gè)屬性。這些屬性是:

ID number:每個(gè)樣本的唯一標(biāo)識符。

Diagnosis:目標(biāo)變量有兩個(gè)可能的值——“M”(惡性)和“B”(良性)。

剩下的是30個(gè)從乳腺腫塊的細(xì)針抽吸(FNA)的數(shù)字化圖像中計(jì)算出來的特征。它們描述了圖像中細(xì)胞核的特征。對每個(gè)細(xì)胞核計(jì)算每個(gè)特征,然后求平均值,得到10個(gè)實(shí)值特征:

  • Radius:從中心到周邊點(diǎn)的平均距離。
  • Texture:灰度值的標(biāo)準(zhǔn)偏差。
  • Perimeter:細(xì)胞核的周長。
  • Area:細(xì)胞核的面積。
  • Smoothness:半徑長度的局部變化。
  • Compactness:周長2/面積- 1.0。
  • Concavity:輪廓中凹部分的嚴(yán)重程度。
  • Concave points:輪廓的凹部分的數(shù)目。
  • Symmetry:細(xì)胞核的對稱性。
  • Fractal dimension:“Coastline approximation”- 1

對每張圖像計(jì)算這十個(gè)特征的平均值、標(biāo)準(zhǔn)誤差和最小或最大值(三個(gè)最大值的平均值),總共得到30個(gè)特征。數(shù)據(jù)集不包含任何缺失的屬性值。

由于數(shù)據(jù)集包含30個(gè)特征,我們需要對數(shù)據(jù)集進(jìn)行特征選擇。這種方法的主要目的是通過選擇與目標(biāo)變量具有強(qiáng)線性關(guān)系的較小的特征子集來降低數(shù)據(jù)集的維數(shù)。通過選擇高相關(guān)性的特征,目的是保持模型的預(yù)測能力,同時(shí)減少使用的特征數(shù)量,潛在地提高模型的性能和可解釋性。這里需要注意的是,該方法只考慮特征與目標(biāo)變量之間的線性關(guān)系,如果底層關(guān)系是非線性的,或者特征之間存在重要的交互作用,則該方法可能無效。

讀取數(shù)據(jù)并計(jì)算相關(guān)系數(shù):

df = pd.read_csv('/kaggle/input/breast-cancer-wisconsin-data/data.csv')
 corr = df.corr()
 corr_threshold = 0.6
 selected_features = corr.index[np.abs(corr['diagnosis']) >= corr_threshold]
 new_cancer_data = df[selected_features]

訓(xùn)練代碼:

X_train_np = np.array(X_train)
 X_test_np = np.array(X_test)
 
 # Convert y_train and y_test to numpy arrays
 y_train_np = np.array(y_train)
 y_test_np = np.array(y_test)
 
 k_values = list(range(1, 15))
 accuracies = []
 
 for k in k_values:
     y_pred = knn_euclidean_distance(X_train_np, y_train_np, X_test_np, k)
     accuracy = accuracy_score(y_test_np, y_pred)
     accuracies.append(accuracy)
 
 # Create a data frame to store k values and accuracies
 results_df = pd.DataFrame({'k': k_values, 'Accuracy': accuracies})
 
 # Create the interactive plot using Plotly
 fig = px.line(results_df, x='k', y='Accuracy', title='KNN Accuracy for Different k Values', labels={'k': 'k', 'Accuracy': 'Accuracy'})
 fig.show()
 
 # Get the best k value
 best_k = k_values[accuracies.index(max(accuracies))]
 best_accuracy = max(accuracies)
 print("Best k value is:", best_k , "where accuracy is:" ,best_accuracy)

上面代碼使用歐幾里得距離將KNN算法應(yīng)用于分類問題,同時(shí)改變鄰居的數(shù)量(k)以找到最高精度的最佳k值。它使用訓(xùn)練集(X_train_np和y_train_np)來訓(xùn)練模型,使用測試集(X_test_np和y_test_np)來進(jìn)行預(yù)測和評估模型的性能。

k是KNN算法的一個(gè)超參數(shù),選擇正確的k值對于實(shí)現(xiàn)最佳模型性能至關(guān)重要,因?yàn)閗值太小可能導(dǎo)致過擬合,而k值太大可能導(dǎo)致欠擬合。通過可視化k值與其對應(yīng)的精度之間的關(guān)系,可以深入了解模型的性能,并為問題選擇最合適的k值。

閔可夫斯基距離的代碼修改如下:

# Run the KNN algorithm on the test set for different k and p values
 k_values = list(range(1, 15))
 p_values = list(range(1, 6))
 results = []
 
 for k in k_values:
     for p in p_values:
         y_pred = knn_minkowski_distance(X_train_np, y_train_np, X_test_np, k, p)
         accuracy = accuracy_score(y_test_np, y_pred)
         results.append((k, p, accuracy))
 
 # Create a data frame to store k, p values, and accuracies
 results_df = pd.DataFrame(results, columns=['k', 'p', 'Accuracy'])
 
 # Create the 3D plot using Plotly
 fig = go.Figure(data=[go.Scatter3d(
     x=results_df['k'],
     y=results_df['p'],
     z=results_df['Accuracy'],
     mode='markers',
     marker=dict(
         size=4,
         color=results_df['Accuracy'],
         colorscale='Viridis',
         showscale=True,
         opacity=0.8
    ),
     text=[f"k={k}, p={p}, Acc={acc:.2f}" for k, p, acc in results]
 )])
 
 fig.update_layout(scene=dict(
     xaxis_title='k',
     yaxis_title='p',
     zaxis_title='Accuracy'
 ))
 
 fig.show()

為了進(jìn)一步改善我們的結(jié)果,我們還可以數(shù)據(jù)集進(jìn)行縮放。應(yīng)用特征縮放的主要目的是確保所有特征具有相同的尺度,這有助于提高基于距離的算法(如KNN)的性能。在KNN算法中,數(shù)據(jù)點(diǎn)之間的距離對確定它們的相似度起著至關(guān)重要的作用。如果特征具有不同的尺度,則算法可能會更加重視尺度較大的特征,從而導(dǎo)致次優(yōu)預(yù)測。通過將特征縮放到均值和單位方差為零,算法可以平等地對待所有特征,從而獲得更好的模型性能。

本文將使用StandardScaler()和MinMaxScaler()來擴(kuò)展我們的數(shù)據(jù)集。StandardScaler和MinMaxScaler是機(jī)器學(xué)習(xí)中兩種流行的特征縮放技術(shù)。這兩種技術(shù)都用于將特征轉(zhuǎn)換為公共尺度,這有助于提高許多機(jī)器學(xué)習(xí)算法的性能,特別是那些依賴于距離的算法,如KNN或支持向量機(jī)(SVM)。

使用不同的尺度和不同的距離函數(shù)訓(xùn)練KNN,可以進(jìn)行比較并選擇最適合數(shù)據(jù)集的技術(shù)。我們得到了以下結(jié)果:

圖片

可以使用柱狀圖表示來更好地分析和理解這些結(jié)果。

圖片

總結(jié)

根據(jù)上面的結(jié)果,我們可以得到以下的結(jié)論:

在不進(jìn)行特征縮放時(shí),歐幾里得距離和閔可夫斯基距離都達(dá)到了0.982456的最高精度。

曼哈頓離在所有情況下的精度都比較低,這表明歐幾里得或閔可夫斯基距離可能更適合這個(gè)問題。當(dāng)閔可夫斯基距離度量中的p值為2時(shí),它等于歐幾里得距離。在我們這個(gè)實(shí)驗(yàn)中這兩個(gè)指標(biāo)的結(jié)果是相同的,也證明了這是正確的。

對于歐幾里得和閔可夫斯基距離度量,不應(yīng)用任何特征縮放就可以獲得最高的精度。而對于曼哈頓距離,與非縮放數(shù)據(jù)相比,StandardScaler和MinMaxScaler都提高了模型的性能。這表明特征縮放的影響取決于所使用的距離度量。

最佳k值:最佳k值取決于距離度量和特征縮放技術(shù)。例如,k=11是不應(yīng)用縮放并且使用歐幾里得距離或閔可夫斯基距離時(shí)的最佳值,而k=9是使用曼哈頓距離時(shí)的最佳值。當(dāng)應(yīng)用特征縮放時(shí),最佳k值通常較低,范圍在3到11之間。

最后,該問題的最佳KNN模型使用歐式距離度量,無需任何特征縮放,在k=11個(gè)鄰居時(shí)達(dá)到0.982456的精度。這應(yīng)該是我們這個(gè)數(shù)據(jù)集在使用KNN時(shí)的最佳解。


責(zé)任編輯:華軒 來源: DeepHub IMBA
相關(guān)推薦

2015-07-28 10:43:38

js\height\

2024-06-27 00:46:10

機(jī)器學(xué)習(xí)向量相似度

2022-10-28 15:19:28

機(jī)器學(xué)習(xí)距離度量數(shù)據(jù)集

2023-07-12 15:43:01

DevSecOps軟件安全

2017-05-18 14:53:23

圖像分類人工智能數(shù)據(jù)集

2024-04-10 10:34:15

2010-01-20 09:34:26

List<T>

2010-07-23 15:17:43

Perl use

2024-04-24 12:03:20

2010-01-07 09:48:11

2011-09-02 14:45:43

Oracle臨時(shí)表SQL Server臨

2023-10-08 08:41:04

JavaPython編程語言

2010-06-17 09:30:44

LINQ to SQL

2009-03-06 13:47:07

開發(fā)人員SOA

2010-12-23 13:56:55

SharePointIntranet

2010-06-07 19:57:36

UML和模式應(yīng)用

2010-04-15 16:38:48

遠(yuǎn)距離無線局域網(wǎng)

2009-12-17 16:02:58

紅旗Linux

2010-02-04 14:29:45

C++ typenam

2010-02-23 14:24:50

WCF狀態(tài)保存
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

99热免费精品在线观看| 亚洲一区二区三区免费| 中文字幕一区二区三中文字幕| 国产伦精品免费视频| 538任你躁在线精品视频网站| 视频亚洲一区二区| 色综合久久66| 国产亚洲精品久久久久久久| 亚洲av毛片成人精品| 免费成人美女在线观看.| 欧美激情精品久久久久久蜜臀| 国产乱了高清露脸对白| 欧美啪啪网站| 欧美日韩中文字幕在线视频| 香蕉视频在线网址| 欧美3p视频在线观看| 国产精品一卡二| 国产精品久久久久久一区二区| 久久久久无码国产精品| 日韩国产在线| 日韩福利视频在线观看| 性欧美videossex精品| aaa在线播放视频| 国产精品色在线| 久久国产一区| 高清毛片aaaaaaaaa片| 久久精品999| 欧美一乱一性一交一视频| 国产盗摄x88av| 欧美hd在线| 亚洲人成网在线播放| 亚洲精品乱码久久久久久蜜桃图片| 欧美日韩破处视频| 欧美午夜片在线看| 97在线播放视频| 大菠萝精品导航| 亚洲综合一区在线| 杨幂一区欧美专区| 触手亚洲一区二区三区| 91免费在线看| 精品国产第一页| 韩国av在线免费观看| 国产美女娇喘av呻吟久久| 国产精品视频xxxx| 艳妇乳肉豪妇荡乳av无码福利| 国产精品综合色区在线观看| 国语自产偷拍精品视频偷| 懂色av懂色av粉嫩av| 午夜片欧美伦| 久久手机精品视频| 91免费公开视频| 97精品国产福利一区二区三区| 亚洲品质视频自拍网| 亚洲乱码国产乱码精品精大量| 黄色美女久久久| 亚洲国产精品久久| 亚洲男女在线观看| 欧美大片网址| 亚洲女人天堂色在线7777| 给我看免费高清在线观看| 日韩av午夜| 亚洲精品视频网上网址在线观看| 波多野结衣av在线免费观看| 视频国产一区| 最近更新的2019中文字幕| 日本污视频网站| 日本一区二区高清不卡| 日韩中文在线不卡| h色网站在线观看| 国产综合欧美| 91国产视频在线播放| 一二三区免费视频| 裸体一区二区三区| 97超碰最新| 四虎永久在线精品免费网址| 337p粉嫩大胆噜噜噜噜噜91av| 久热国产精品视频一区二区三区| 免费黄色在线视频网站| 国产精品网曝门| 日本一区二区三区四区五区六区| 欧美videossex另类| 欧美日韩在线观看视频| 天天干天天操天天玩| 成人午夜888| 亚洲激情电影中文字幕| 欧美人与性囗牲恔配| 亚洲精品成人无限看| 性欧美办公室18xxxxhd| 波多野结衣影片| 国产精品原创巨作av| 精品国产综合| 色哟哟免费在线观看 | 超碰国产精品久久国产精品99| 韩国av电影在线观看| 国产日韩欧美不卡在线| 黄色成人在线免费观看| 国产高清不卡| 日韩一本二本av| 瑟瑟视频在线观看| 欧美成人高清| 国产成人免费av电影| www.中文字幕| 国产精品人成在线观看免费| 成年人网站国产| 福利一区视频| 日韩电影在线观看中文字幕| 天天爽天天爽天天爽| 99精品福利视频| 国产日韩欧美在线| 日韩精品视频无播放器在线看| 国产精品久久福利| 无码精品国产一区二区三区免费| 欧美一区一区| 在线电影av不卡网址| 久草视频在线观| 国产麻豆欧美日韩一区| 亚洲精品国产一区| 伊人久久av| 亚洲第一网站免费视频| www.av成人| 免费av成人在线| 欧美精品七区| av在线播放资源| 欧美va亚洲va香蕉在线| 国产美女久久久久久| 日本成人在线一区| 免费在线成人av| √天堂8资源中文在线| 欧美一区二区三区不卡| 97精品在线播放| 日韩中文字幕一区二区三区| 久久精品国产第一区二区三区最新章节 | 成人在线一区二区三区| 桥本有菜av在线| 精品福利在线| 伊人久久大香线蕉av一区二区| 欧美 日韩 精品| 99精品久久免费看蜜臀剧情介绍| 日韩a级黄色片| 国产精品视频一区视频二区| 亚洲无亚洲人成网站77777| wwwwww国产| 91视频免费播放| 免费 成 人 黄 色| 麻豆一区二区| 5566日本婷婷色中文字幕97| 手机看片一区二区| 亚洲韩国精品一区| 一级黄色免费视频| 在线成人欧美| 精品国产一区二区三区麻豆小说| 91老司机福利在线| 亚洲精品www| 成年人免费高清视频| 91丨porny丨中文| 亚洲国产精品久久久久爰色欲| 三级精品视频| 国产精品都在这里| 在线看黄色av| 欧美一区二区三区男人的天堂| 动漫性做爰视频| 国产99久久精品| 午夜免费福利小电影| 西野翔中文久久精品字幕| 欧美专区国产专区| 国产露出视频在线观看| 欧美三级在线视频| 老女人性淫交视频| caoporm超碰国产精品| 女性女同性aⅴ免费观女性恋| 神马香蕉久久| 国产精品久久久久久久久粉嫩av| 午夜视频在线免费观看| 欧美精品成人一区二区三区四区| 久久国产精品国语对白| 99久久综合色| 天天爱天天操天天干| 久久久久久久久国产一区| 国产精品对白刺激久久久| 一个人看的www视频在线免费观看 一个人www视频在线免费观看 | 亚洲欧美一区二区三区孕妇| 美女扒开腿免费视频| 天堂av在线一区| 亚洲第一综合网站| 校园春色另类视频| 国产一区红桃视频| 7777kkk亚洲综合欧美网站| 一区二区在线视频| 懂色av蜜臀av粉嫩av分享吧| 91福利在线观看| 欧美成人三级视频| 久久免费午夜影院| 午夜免费福利视频在线观看| 影音先锋日韩资源| 视频三区二区一区| 动漫av一区| 国产精品亚洲一区二区三区| 成人三级小说| 日韩一级黄色av| 亚洲av成人无码网天堂| 欧美一区二区三区的| 无码人妻丰满熟妇精品| 一区二区三区精品久久久| 人人妻人人藻人人爽欧美一区| 狠狠色丁香九九婷婷综合五月| 黄色网页免费在线观看| 欧美成人激情| 欧美成人免费在线| eeuss国产一区二区三区四区| 国产精品成人av在线| 国产蜜臀av在线播放| 深夜精品寂寞黄网站在线观看| 欧美一级特黄aaaaaa| 91精品国产一区二区三区| 中文字幕一区二区三区四区欧美| 一区二区三区精品视频在线| 日本伦理一区二区三区| 91年精品国产| 国模私拍在线观看| 国产成人精品亚洲午夜麻豆| 久久国产激情视频| 久久在线精品| 女人天堂av手机在线| 亚洲一级特黄| 亚洲成人动漫在线| 97视频精品| 色一情一乱一伦一区二区三区 | 五月婷婷一区| 婷婷亚洲精品| 国产精品日韩一区二区三区| 国产精品日本一区二区不卡视频| 国产成人一区二区| 波多野结衣先锋影音| 66视频精品| 久久精品99久久香蕉国产色戒| 4438x全国最大成人| 日韩专区在线视频| 欧美牲交a欧美牲交aⅴ免费真| 亚洲夜间福利| 屁屁影院ccyy国产第一页| 亚洲精品tv久久久久久久久久| 亚洲福利av在线| 欧美限制电影| 天天综合狠狠精品| 精品72久久久久中文字幕| 免费观看成人高| 欧美午夜寂寞| 久久大片网站| 婷婷国产精品| 欧美自拍资源在线| 精品久久精品| 日本一区精品| 第一会所sis001亚洲| 亚洲精品第一区二区三区| 日韩黄色大片| 黄瓜视频免费观看在线观看www| 欧美超碰在线| 50度灰在线观看| 欧美激情aⅴ一区二区三区| 五月天激情图片| 亚洲成人资源| 国产91对白刺激露脸在线观看| 国产一区二区三区成人欧美日韩在线观看 | 777午夜精品福利在线观看| 女人高潮被爽到呻吟在线观看| 欧美亚洲在线视频| 日本精品在线中文字幕| 成人av在线网址| 香蕉免费一区二区三区在线观看| 国产美女精品久久久| 一本色道久久综合亚洲精品酒店| 色女人综合av| 欧美二区不卡| 91传媒久久久| 美女视频免费一区| 免费在线观看日韩av| 91香蕉视频在线| www中文在线| 亚洲一区二区在线视频| 国产精品一区无码| 欧美乱妇15p| 人妻精品一区二区三区| 亚洲天堂免费视频| www在线免费观看视频| 91tv亚洲精品香蕉国产一区7ujn| 色豆豆成人网| 亚洲在线视频福利| 亚州av一区| 99re99热| 久久福利毛片| 伊人精品视频在线观看| 91在线观看地址| 手机免费观看av| 亚洲综合丁香婷婷六月香| 免费的毛片视频| 91精品国产91久久综合桃花| 深夜福利在线观看直播| 色999日韩欧美国产| 九色porny丨入口在线| 成人黄色中文字幕| 亚洲免费成人av在线| japanese在线播放| 日韩国产欧美视频| 老司机午夜免费福利| 中文字幕一区二区三| 一级成人黄色片| 欧美大胆人体bbbb| 尤物网在线观看| 69**夜色精品国产69乱| 日本伊人久久| 色一情一乱一伦一区二区三区 | 网站黄在线观看| 伦伦影院午夜日韩欧美限制| 不卡一二三区| 国产精品制服诱惑| 亚洲一区二区| 亚洲无吗一区二区三区| 92精品国产成人观看免费 | chinese偷拍一区二区三区| 久久久爽爽爽美女图片| 9999在线精品视频| 色婷婷精品国产一区二区三区| 亚洲深夜激情| 国产伦精品一区二区三区88av| ㊣最新国产の精品bt伙计久久| 久久久久久久久久久影院 | 日本成人网址| 国产精品av网站| 亚洲另类春色校园小说| 欧美在线999| 色欲无码人妻久久精品| 国产精品三级视频| 秋霞精品一区二区三区| 精品无码久久久久久国产| 国产福利在线免费观看| 91成人理论电影| 亚洲天天综合| www.偷拍.com| 一区二区在线观看av| a网站在线观看| 久青草国产97香蕉在线视频| 在线成人免费| 五月天综合婷婷| 韩国av一区二区| 九九热最新地址| 欧美一区二区三区四区高清| 黄色国产网站在线播放| 成人免费自拍视频| 久久久久免费av| 午夜免费福利网站| 亚洲黄色免费网站| 亚洲精品综合网| 久久久久久国产免费| 牛牛影视久久网| 夫妻免费无码v看片| 久久久久久久久久久99999| 黄色av网站免费观看| 亚洲一区av在线播放| 成人黄色在线| 一本—道久久a久久精品蜜桃| 国产真实乱对白精彩久久| 欧美精品99久久久| 亚洲精品国产综合久久| 大胆人体一区| 亚洲国产一区二区三区在线| 久久成人免费网站| 69av.com| 日韩精品免费在线观看| 亚洲天堂1区| 黄色录像特级片| 波多野洁衣一区| 成人午夜精品视频| 久色乳综合思思在线视频| 影音先锋欧美激情| 亚洲熟妇av一区二区三区漫画| 久久九九99视频| 97超视频在线观看| 久久全国免费视频| 国产影视精品一区二区三区| 日本精品一区在线| 午夜精品影院在线观看| 成人免费黄色网页| 91久久精品国产91久久性色tv | 国内精品免费午夜毛片| 国产精品美女久久久久久不卡 | 日韩久久一区| 日本精品久久久久久久久久| 2024国产精品| 国产精品一区二区黑人巨大| 91国偷自产一区二区三区的观看方式| 九九视频免费观看视频精品| 午夜av中文字幕| 欧美日韩国产在线| 快射视频在线观看| 美女黄毛**国产精品啪啪| 精品中文字幕一区二区| 国产精品黄色网| 久久视频中文字幕| 国产一区二区三区91| 久草免费资源站|