日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

kmeans算法_实战 | KMeans 聚类算法

發(fā)布時(shí)間:2023/12/15 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 kmeans算法_实战 | KMeans 聚类算法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. 寫在前面

如果想從事數(shù)據(jù)挖掘或者機(jī)器學(xué)習(xí)的工作,掌握常用的機(jī)器學(xué)習(xí)算法是非常有必要的,常見的機(jī)器學(xué)習(xí)算法:

  • 監(jiān)督學(xué)習(xí)算法:邏輯回歸,線性回歸,決策樹,樸素貝葉斯,K近鄰,支持向量機(jī),集成算法Adaboost等
  • 無監(jiān)督算法:聚類,降維,關(guān)聯(lián)規(guī)則, PageRank等

為了詳細(xì)的理解這些原理,曾經(jīng)看過西瓜書,統(tǒng)計(jì)學(xué)習(xí)方法,機(jī)器學(xué)習(xí)實(shí)戰(zhàn)等書,也聽過一些機(jī)器學(xué)習(xí)的課程,但總感覺話語里比較深?yuàn)W,讀起來沒有耐心,并且理論到處有,而實(shí)戰(zhàn)最重要, 所以在這里想用最淺顯易懂的語言寫一個(gè)白話機(jī)器學(xué)習(xí)算法理論+實(shí)戰(zhàn)系列

個(gè)人認(rèn)為,理解算法背后的idea和使用,要比看懂它的數(shù)學(xué)推導(dǎo)更加重要。idea會(huì)讓你有一個(gè)直觀的感受,從而明白算法的合理性,數(shù)學(xué)推導(dǎo)只是將這種合理性用更加嚴(yán)謹(jǐn)?shù)恼Z言表達(dá)出來而已,打個(gè)比方,一個(gè)梨很甜,用數(shù)學(xué)的語言可以表述為糖分含量90%,但只有親自咬一口,你才能真正感覺到這個(gè)梨有多甜,也才能真正理解數(shù)學(xué)上的90%的糖分究竟是怎么樣的。如果算法是個(gè)梨,本文的首要目的就是先帶領(lǐng)大家咬一口。另外還有下面幾個(gè)目的:

  • 檢驗(yàn)自己對算法的理解程度,對算法理論做一個(gè)小總結(jié)
  • 能開心的學(xué)習(xí)這些算法的核心思想, 找到學(xué)習(xí)這些算法的興趣,為深入的學(xué)習(xí)這些算法打一個(gè)基礎(chǔ)。
  • 每一節(jié)課的理論都會(huì)放一個(gè)實(shí)戰(zhàn)案例,能夠真正的做到學(xué)以致用,既可以鍛煉編程能力,又可以加深算法理論的把握程度。
  • 也想把之前所有的筆記和參考放在一塊,方便以后查看時(shí)的方便。

    學(xué)習(xí)算法的過程,獲得的不應(yīng)該只有算法理論,還應(yīng)該有樂趣和解決實(shí)際問題的能力!

今天是白話機(jī)器學(xué)習(xí)算法理論+實(shí)戰(zhàn)的第八篇 之KMeans聚類算法, 聽到這個(gè)名字,你可別和第七篇K近鄰算法搞混了,K-Means 是一種非監(jiān)督學(xué)習(xí),解決的是聚類問題,這里的K表示的是聚成K類。而之前的K近鄰算法是監(jiān)督學(xué)習(xí)算法,解決的是分類問題,這里的K表示的是K個(gè)鄰居。相差十萬八千里吧, 一條取經(jīng)路呢。一定要區(qū)分開。這個(gè)算法也不是很難,前面說道,K近鄰算法的原理可以用八個(gè)大字叫做“近朱者赤,近墨者黑”來總結(jié),這里我依然放出八個(gè)大字:“人以類聚,物以群分”,形容KMeans最好不過了。

通過今天的學(xué)習(xí),掌握KMeans算法的工作原理,然后會(huì)使用sklearn實(shí)現(xiàn)KMeans聚類,最后我們來做一個(gè)實(shí)戰(zhàn)項(xiàng)目:如何使用KMeans對圖像進(jìn)行分割??下面我們開始吧。

大綱如下:

  • KMeans聚類的工作原理(結(jié)合足球隊(duì)等級(jí)劃分談一談)
  • 20支亞洲足球隊(duì),你能劃分出等級(jí)嗎?(KMeans聚類應(yīng)用)
  • KMeans聚類的實(shí)戰(zhàn):圖像分割OK, let's go!

2. K-Means的工作原理

上面我們說過,K-Means 是一種非監(jiān)督學(xué)習(xí),解決的是聚類問題。K 代表的是 K 類,Means 代表的是中心,你可以理解這個(gè)算法的本質(zhì)是確定 K 類的中心點(diǎn),當(dāng)你找到了這些中心點(diǎn),也就完成了聚類。

那么這里有兩個(gè)問題:如何確定K類的中心點(diǎn)?如何把其他類劃分到K個(gè)類中去?

先別慌, 先和我考慮一個(gè)場景,假設(shè)我有 20 支亞洲足球隊(duì),想要將它們按照成績劃分成 3 個(gè)等級(jí),可以怎樣劃分?

元芳, 你怎么看?

對亞洲足球隊(duì)的水平,你可能也有自己的判斷。比如一流的亞洲球隊(duì)有誰?你可能會(huì)說伊朗或韓國。二流的亞洲球隊(duì)呢?你可能說是中國。三流的亞洲球隊(duì)呢?你可能會(huì)說越南。

其實(shí)這些都是靠我們的經(jīng)驗(yàn)來劃分的,那么伊朗、中國、越南可以說是三個(gè)等級(jí)的典型代表,也就是我們每個(gè)類的中心點(diǎn)。

所以回過頭來,如何確定 K 類的中心點(diǎn)?一開始我們是可以隨機(jī)指派的,當(dāng)你確認(rèn)了中心點(diǎn)后,就可以按照距離將其他足球隊(duì)劃分到不同的類別中。

這也就是 K-Means 的中心思想,就是這么簡單直接。

你可能會(huì)問:如果一開始,選擇一流球隊(duì)是中國,二流球隊(duì)是伊朗,三流球隊(duì)是韓國,中心點(diǎn)選擇錯(cuò)了怎么辦?其實(shí)不用擔(dān)心,K-Means 有自我糾正機(jī)制,在不斷的迭代過程中,會(huì)糾正中心點(diǎn)。中心點(diǎn)在整個(gè)迭代過程中,并不是唯一的,只是你需要一個(gè)初始值,一般算法會(huì)隨機(jī)設(shè)置初始的中心點(diǎn)。

那下面就給出K-Means的工作原理,兩步就搞定,就是那兩個(gè)問題的解決:

  • 選取 K 個(gè)點(diǎn)作為初始的類中心點(diǎn),這些點(diǎn)一般都是從數(shù)據(jù)集中隨機(jī)抽取的;
  • 將每個(gè)點(diǎn)分配到最近的類中心點(diǎn),這樣就形成了 K 個(gè)類,然后重新計(jì)算每個(gè)類的中心點(diǎn);(這個(gè)怎么算最近,一般是歐幾里得距離公式, 那么怎么重新計(jì)算每個(gè)類的中心點(diǎn), 每個(gè)維度的平均值就可以的)
  • 重復(fù)第二步,直到類不發(fā)生變化,或者你也可以設(shè)置最大迭代次數(shù),這樣即使類中心點(diǎn)發(fā)生變化,但是只要達(dá)到最大迭代次數(shù)就會(huì)結(jié)束。
  • 什么?還不明白??好吧,那直接看看亞洲球隊(duì)聚類的例子吧

    3. 如何給亞洲球隊(duì)做聚類

    對于機(jī)器來說需要數(shù)據(jù)才能判斷類中心點(diǎn),所以下面整理了 2015-2019 年亞洲球隊(duì)的排名,如下表所示。

    我來說明一下數(shù)據(jù)概況。

    其中 2019 年國際足聯(lián)的世界排名,2015 年亞洲杯排名均為實(shí)際排名。2018 年世界杯中,很多球隊(duì)沒有進(jìn)入到?jīng)Q賽圈,所以只有進(jìn)入到?jīng)Q賽圈的球隊(duì)才有實(shí)際的排名。如果是亞洲區(qū)預(yù)選賽 12 強(qiáng)的球隊(duì),排名會(huì)設(shè)置為 40。如果沒有進(jìn)入亞洲區(qū)預(yù)選賽 12 強(qiáng),球隊(duì)排名會(huì)設(shè)置為 50。我們怎么做聚類呢?可以跟著我的思路走了:

    • 首先,針對上面的排名,我們需要做的就是數(shù)據(jù)規(guī)范化,你可以把這些值劃分到[0,1]或者按照均值為 0,方差為 1 的正態(tài)分布進(jìn)行規(guī)范化。我先把數(shù)值規(guī)范化到了[0,1]空間中,得到了下面的數(shù)值表:如果我們隨機(jī)選取中國、日本、韓國為三個(gè)類的中心點(diǎn),我們就需要看下這些球隊(duì)到中心點(diǎn)的距離。

    • 下面就是把其其他樣本根據(jù)距離中心點(diǎn)的遠(yuǎn)近劃分到這三個(gè)類中去,有關(guān)距離可以參考KNN那一篇博客。?常用的有歐氏距離,曼哈頓距離等。這里采用歐式距離。

    • 歐氏距離是最常用的距離計(jì)算方式,這里選擇歐氏距離作為距離的標(biāo)準(zhǔn),計(jì)算每個(gè)隊(duì)伍分別到中國、日本、韓國的距離,然后根據(jù)距離遠(yuǎn)近來劃分。我們看到大部分的隊(duì),會(huì)和中國隊(duì)聚類到一起。這里我整理了距離的計(jì)算過程,比如中國和中國的歐氏距離為 0,中國和日本的歐式距離為 0.732003。如果按照中國、日本、韓國為 3 個(gè)分類的中心點(diǎn),歐氏距離的計(jì)算結(jié)果如下表所示:然后我們再重新計(jì)算這三個(gè)類的中心點(diǎn),如何計(jì)算呢?最簡單的方式就是取平均值,然后根據(jù)新的中心點(diǎn)按照距離遠(yuǎn)近重新分配球隊(duì)的分類,再根據(jù)球隊(duì)的分類更新中心點(diǎn)的位置。計(jì)算過程這里不展開,最后一直迭代(重復(fù)上述的計(jì)算過程:計(jì)算中心點(diǎn)和劃分分類)到分類不再發(fā)生變化,可以得到以下的分類結(jié)果:所以我們能看出來第一梯隊(duì)有日本、韓國、伊朗、沙特、澳洲;第二梯隊(duì)有中國、伊拉克、阿聯(lián)酋、烏茲別克斯坦;第三梯隊(duì)有卡塔爾、泰國、越南、阿曼、巴林、朝鮮、印尼、敘利亞、約旦、科威特和巴勒斯坦。

    這個(gè)就是KMeans進(jìn)行聚類的過程了。簡單點(diǎn),就是反復(fù)兩個(gè)過程:

    • 確定中心點(diǎn)
    • 把其他的點(diǎn)按照距中心點(diǎn)的遠(yuǎn)近歸到相應(yīng)的中心點(diǎn)

    上面這個(gè)也可以使用sklearn中的K-Means進(jìn)行實(shí)戰(zhàn)一下子,作為圖像分割圖像的準(zhǔn)備期。

    4. KMeans聚類實(shí)戰(zhàn):如何使用KMeans對圖像進(jìn)行分割?

    還是老規(guī)矩,我們在實(shí)戰(zhàn)之前,先看一下如何調(diào)用sklearn實(shí)現(xiàn)KMeans。

    4.1 如何使用sklearn中的KMeans算法

    sklearn 是 Python 的機(jī)器學(xué)習(xí)工具庫,如果從功能上來劃分,sklearn 可以實(shí)現(xiàn)分類、聚類、回歸、降維、模型選擇和預(yù)處理等功能。這里我們使用的是 sklearn 的聚類函數(shù)庫,因此需要引用工具包,具體代碼如下:

    from sklearn.cluster import KMeans

    當(dāng)然 K-Means 只是 sklearn.cluster 中的一個(gè)聚類庫,實(shí)際上包括 K-Means 在內(nèi),sklearn.cluster 一共提供了 9 種聚類方法,比如 Mean-shift,DBSCAN,Spectral clustering(譜聚類)等。這些聚類方法的原理和 K-Means 不同,這里不做介紹。

    我們看下 K-Means 如何創(chuàng)建:

    KMeans(n_clusters=8, init='k-means++', n_init=10, max_iter=300, tol=0.0001, precompute_distances='auto', verbose=0, random_state=None, copy_x=True, n_jobs=1, algorithm='auto')

    這些參數(shù)解釋一下:

    • n_clusters: 即 K 值,一般需要多試一些 K 值來保證更好的聚類效果。你可以隨機(jī)設(shè)置一些 K 值,然后選擇聚類效果最好的作為最終的 K 值;max_iter:最大迭代次數(shù),如果聚類很難收斂的話,設(shè)置最大迭代次數(shù)可以讓我們及時(shí)得到反饋結(jié)果,否則程序運(yùn)行時(shí)間會(huì)非常長;
    • n_init:初始化中心點(diǎn)的運(yùn)算次數(shù),默認(rèn)是 10。程序是否能快速收斂和中心點(diǎn)的選擇關(guān)系非常大,所以在中心點(diǎn)選擇上多花一些時(shí)間,來爭取整體時(shí)間上的快速收斂還是非常值得的。由于每一次中心點(diǎn)都是隨機(jī)生成的,這樣得到的結(jié)果就有好有壞,非常不確定,所以要運(yùn)行 n_init 次, 取其中最好的作為初始的中心點(diǎn)。如果 K 值比較大的時(shí)候,你可以適當(dāng)增大 n_init 這個(gè)值;
    • init:即初始值選擇的方式,默認(rèn)是采用優(yōu)化過的 k-means++ 方式,你也可以自己指定中心點(diǎn),或者采用 random 完全隨機(jī)的方式。自己設(shè)置中心點(diǎn)一般是對于個(gè)性化的數(shù)據(jù)進(jìn)行設(shè)置,很少采用。random 的方式則是完全隨機(jī)的方式,一般推薦采用優(yōu)化過的 k-means++ 方式;
    • algorithm:k-means 的實(shí)現(xiàn)算法,有“auto” “full”“elkan”三種。一般來說建議直接用默認(rèn)的"auto"。簡單說下這三個(gè)取值的區(qū)別,如果你選擇"full"采用的是傳統(tǒng)的 K-Means 算法,“auto”會(huì)根據(jù)數(shù)據(jù)的特點(diǎn)自動(dòng)選擇是選擇“full”還是“elkan”。我們一般選擇默認(rèn)的取值,即“auto” 。
    • 在創(chuàng)建好 K-Means 類之后,就可以使用它的方法,最常用的是 fit 和 predict 這個(gè)兩個(gè)函數(shù)。你可以單獨(dú)使用 fit 函數(shù)和 predict 函數(shù),也可以合并使用 fit_predict 函數(shù)。其中 fit(data) 可以對 data 數(shù)據(jù)進(jìn)行 k-Means 聚類。predict(data) 可以針對 data 中的每個(gè)樣本,計(jì)算最近的類。

    下面我們先跑一遍20支亞洲球隊(duì)的聚類問題:


    # coding: utf-8
    from sklearn.cluster import KMeans
    from sklearn import preprocessing
    import pandas as pd
    import numpy as np
    # 輸入數(shù)據(jù)
    data = pd.read_csv('data.csv', encoding='gbk')
    train_x = data[["2019年國際排名","2018世界杯","2015亞洲杯"]]
    df = pd.DataFrame(train_x)
    kmeans = KMeans(n_clusters=3)
    # 規(guī)范化到[0,1]空間
    min_max_scaler=preprocessing.MinMaxScaler()
    train_x=min_max_scaler.fit_transform(train_x)
    # kmeans算法
    kmeans.fit(train_x)
    predict_y = kmeans.predict(train_x)
    # 合并聚類結(jié)果,插入到原數(shù)據(jù)中
    result = pd.concat((data,pd.DataFrame(predict_y)),axis=1)
    result.rename({0:u'聚類'},axis=1,inplace=True)
    print(result)

    運(yùn)行結(jié)果如下:


    國家 ?2019年國際排名 ?2018世界杯 ?2015亞洲杯 ?聚類
    0 ? ? ? 中國 ? ? ? ? 73 ? ? ? 40 ? ? ? ?7 ? 2
    1 ? ? ? 日本 ? ? ? ? 60 ? ? ? 15 ? ? ? ?5 ? 0
    2 ? ? ? 韓國 ? ? ? ? 61 ? ? ? 19 ? ? ? ?2 ? 0
    3 ? ? ? 伊朗 ? ? ? ? 34 ? ? ? 18 ? ? ? ?6 ? 0
    4 ? ? ? 沙特 ? ? ? ? 67 ? ? ? 26 ? ? ? 10 ? 0
    5 ? ? ?伊拉克 ? ? ? ? 91 ? ? ? 40 ? ? ? ?4 ? 2
    6 ? ? ?卡塔爾 ? ? ? ?101 ? ? ? 40 ? ? ? 13 ? 1
    7 ? ? ?阿聯(lián)酋 ? ? ? ? 81 ? ? ? 40 ? ? ? ?6 ? 2
    8 ? 烏茲別克斯坦 ? ? ? ? 88 ? ? ? 40 ? ? ? ?8 ? 2
    9 ? ? ? 泰國 ? ? ? ?122 ? ? ? 40 ? ? ? 17 ? 1
    10 ? ? ?越南 ? ? ? ?102 ? ? ? 50 ? ? ? 17 ? 1
    11 ? ? ?阿曼 ? ? ? ? 87 ? ? ? 50 ? ? ? 12 ? 1
    12 ? ? ?巴林 ? ? ? ?116 ? ? ? 50 ? ? ? 11 ? 1
    13 ? ? ?朝鮮 ? ? ? ?110 ? ? ? 50 ? ? ? 14 ? 1
    14 ? ? ?印尼 ? ? ? ?164 ? ? ? 50 ? ? ? 17 ? 1
    15 ? ? ?澳洲 ? ? ? ? 40 ? ? ? 30 ? ? ? ?1 ? 0
    16 ? ? 敘利亞 ? ? ? ? 76 ? ? ? 40 ? ? ? 17 ? 1
    17 ? ? ?約旦 ? ? ? ?118 ? ? ? 50 ? ? ? ?9 ? 1
    18 ? ? 科威特 ? ? ? ?160 ? ? ? 50 ? ? ? 15 ? 1
    19 ? ?巴勒斯坦 ? ? ? ? 96 ? ? ? 50 ? ? ? 16 ? 1

    4.2 如何用KMeans對圖像進(jìn)行分割?

    圖像分割就是利用圖像自身的信息,比如顏色、紋理、形狀等特征進(jìn)行劃分,將圖像分割成不同的區(qū)域,劃分出來的每個(gè)區(qū)域就相當(dāng)于是對圖像中的像素進(jìn)行了聚類。單個(gè)區(qū)域內(nèi)的像素之間的相似度大,不同區(qū)域間的像素差異性大。這個(gè)特性正好符合聚類的特性,所以你可以把圖像分割看成是將圖像中的信息進(jìn)行聚類。當(dāng)然聚類只是分割圖像的一種方式,除了聚類,我們還可以基于圖像顏色的閾值進(jìn)行分割,或者基于圖像邊緣的信息進(jìn)行分割等。

    將微信開屏封面進(jìn)行分割。

    我們現(xiàn)在用 K-Means 算法對微信頁面進(jìn)行分割。微信開屏圖如下所示:我們先設(shè)定下聚類的流程,聚類的流程和分類差不多,如圖所示:在準(zhǔn)備階段里,我們需要對數(shù)據(jù)進(jìn)行加載。因?yàn)樘幚淼氖菆D像信息,我們除了要獲取圖像數(shù)據(jù)以外,還需要獲取圖像的尺寸和通道數(shù),然后基于圖像中每個(gè)通道的數(shù)值進(jìn)行數(shù)據(jù)規(guī)范化。這里我們需要定義個(gè)函數(shù) load_data,來幫我們進(jìn)行圖像加載和數(shù)據(jù)規(guī)范化。代碼如下:

    # 加載圖像,并對數(shù)據(jù)進(jìn)行規(guī)范化
    def load_data(filePath):
    ? ?# 讀文件
    ? ?f = open(filePath,'rb')
    ? ?data = []
    ? ?# 得到圖像的像素值
    ? ?img = image.open(f)
    ? ?# 得到圖像尺寸
    ? ?width, height = img.size
    ? ?for x in range(width):
    ? ? ? ?for y in range(height):
    ? ? ? ? ? ?# 得到點(diǎn)(x,y)的三個(gè)通道值
    ? ? ? ? ? ?c1, c2, c3 = img.getpixel((x, y))
    ? ? ? ? ? ?data.append([c1, c2, c3])
    ? ?f.close()
    ? ?# 采用Min-Max規(guī)范化
    ? ?mm = preprocessing.MinMaxScaler()
    ? ?data = mm.fit_transform(data)
    ? ?return np.mat(data), width, height

    因?yàn)?jpg 格式的圖像是三個(gè)通道 (R,G,B),也就是一個(gè)像素點(diǎn)具有 3 個(gè)特征值。這里我們用 c1、c2、c3 來獲取平面坐標(biāo)點(diǎn) (x,y) 的三個(gè)特征值,特征值是在 0-255 之間。

    為了加快聚類的收斂,我們需要采用 Min-Max 規(guī)范化對數(shù)據(jù)進(jìn)行規(guī)范化。我們定義的 load_data 函數(shù)返回的結(jié)果包括了針對 (R,G,B) 三個(gè)通道規(guī)范化的數(shù)據(jù),以及圖像的尺寸信息。在定義好 load_data 函數(shù)后,我們直接調(diào)用就可以得到相關(guān)信息,代碼如下:

    # 加載圖像,得到規(guī)范化的結(jié)果img,以及圖像尺寸
    img, width, height = load_data('./weixin.jpg')

    假設(shè)我們想要對圖像分割成 2 部分,在聚類階段,我們可以將聚類數(shù)設(shè)置為 2,這樣圖像就自動(dòng)聚成 2 類。代碼如下:

    # 用K-Means對圖像進(jìn)行2聚類
    kmeans =KMeans(n_clusters=2)
    kmeans.fit(img)
    label = kmeans.predict(img)
    # 將圖像聚類結(jié)果,轉(zhuǎn)化成圖像尺寸的矩陣
    label = label.reshape([width, height])
    # 創(chuàng)建個(gè)新圖像pic_mark,用來保存圖像聚類的結(jié)果,并設(shè)置不同的灰度值
    pic_mark = image.new("L", (width, height))
    for x in range(width):
    ? ?for y in range(height):
    ? ? ? ?# 根據(jù)類別設(shè)置圖像灰度, 類別0 灰度值為255, 類別1 灰度值為127
    ? ? ? ?pic_mark.putpixel((x, y), int(256/(label[x][y]+1))-1)
    pic_mark.save("weixin_mark.jpg", "JPEG")

    代碼中有一些參數(shù),下面說一下這些參數(shù)的作用和設(shè)置方法:

    我們使用了 fit 和 predict 這兩個(gè)函數(shù)來做數(shù)據(jù)的訓(xùn)練擬合和預(yù)測,因?yàn)閭魅氲膮?shù)是一樣的,我們可以同時(shí)進(jìn)行 fit 和 predict 操作,這樣我們可以直接使用 fit_predict(data) 得到聚類的結(jié)果。得到聚類的結(jié)果 label 后,實(shí)際上是一個(gè)一維的向量,我們需要把它轉(zhuǎn)化成圖像尺寸的矩陣。label 的聚類結(jié)果是從 0 開始統(tǒng)計(jì)的,當(dāng)聚類數(shù)為 2 的時(shí)候,聚類的標(biāo)識(shí) label=0 或者 1。
    如果你想對圖像聚類的結(jié)果進(jìn)行可視化,直接看 0 和 1 是看不出來的,還需要將 0 和 1 轉(zhuǎn)化為灰度值。灰度值一般是在 0-255 的范圍內(nèi),我們可以將 label=0 設(shè)定為灰度值 255,label=1 設(shè)定為灰度值 127。具體方法是用 int(256/(label[x][y]+1))-1。可視化的時(shí)候,主要是通過設(shè)置圖像的灰度值進(jìn)行顯示。所以我們把聚類 label=0 的像素點(diǎn)都統(tǒng)一設(shè)置灰度值為 255,把聚類 label=1 的像素點(diǎn)都統(tǒng)一設(shè)置灰度值為 127。原來圖像的灰度值是在 0-255 之間,現(xiàn)在就只有 2 種顏色(也就是灰度為 255,和灰度 127)。

    有了這些灰度信息,我們就可以用 image.new 創(chuàng)建一個(gè)新的圖像,用 putpixel 函數(shù)對新圖像的點(diǎn)進(jìn)行灰度值的設(shè)置,最后用 save 函數(shù)保存聚類的灰度圖像。這樣你就可以看到聚類的可視化結(jié)果了,如下圖所示:如果我們想要分割成 16 個(gè)部分,該如何對不同分類設(shè)置不同的顏色值呢?這里需要用到 skimage 工具包,它是圖像處理工具包。你需要使用 pip install scikit-image 來進(jìn)行安裝。這段代碼可以將聚類標(biāo)識(shí)矩陣轉(zhuǎn)化為不同顏色的矩陣:

    from skimage import color
    # 將聚類標(biāo)識(shí)矩陣轉(zhuǎn)化為不同顏色的矩陣
    label_color = (color.label2rgb(label)*255).astype(np.uint8)
    label_color = label_color.transpose(1,0,2)
    images = image.fromarray(label_color)
    images.save('weixin_mark_color.jpg')

    代碼中,我使用 skimage 中的 label2rgb 函數(shù)來將 label 分類標(biāo)識(shí)轉(zhuǎn)化為顏色數(shù)值,因?yàn)槲覀兊念伾捣秶荹0,255],所以還需要乘以 255 進(jìn)行轉(zhuǎn)化,最后再轉(zhuǎn)化為 np.uint8 類型。unit8 類型代表無符號(hào)整數(shù),范圍是 0-255 之間。

    得到顏色矩陣后,你可以把它輸出出來,這時(shí)你發(fā)現(xiàn)輸出的圖像是顛倒的,原因可能是圖像源拍攝的時(shí)候本身是倒置的。我們需要設(shè)置三維矩陣的轉(zhuǎn)置,讓第一維和第二維顛倒過來,也就是使用 transpose(1,0,2),將原來的 (0,1,2)順序轉(zhuǎn)化為 (1,0,2) 順序,即第一維和第二維互換。

    最后我們使用 fromarray 函數(shù),它可以通過矩陣來生成圖片,并使用 save 進(jìn)行保存。最后得到的分類標(biāo)識(shí)顏色化圖像是這樣的:剛才我們做的是聚類的可視化。如果我們想要看到對應(yīng)的原圖,可以將每個(gè)簇(即每個(gè)類別)的點(diǎn)的 RGB 值設(shè)置為該簇質(zhì)心點(diǎn)的 RGB 值,也就是簇內(nèi)的點(diǎn)的特征均為質(zhì)心點(diǎn)的特征。

    我給出了完整的代碼,代碼中,我可以把范圍為 0-255 的數(shù)值投射到 1-256 數(shù)值之間,方法是對每個(gè)數(shù)值進(jìn)行加 1,你可以自己來運(yùn)行下:

    # -*- coding: utf-8 -*-
    # 使用K-means對圖像進(jìn)行聚類,并顯示聚類壓縮后的圖像
    import numpy as np
    import PIL.Image as image
    from sklearn.cluster import KMeans
    from sklearn import preprocessing
    import matplotlib.image as mpimg
    # 加載圖像,并對數(shù)據(jù)進(jìn)行規(guī)范化
    def load_data(filePath):
    ? ?# 讀文件
    ? ?f = open(filePath,'rb')
    ? ?data = []
    ? ?# 得到圖像的像素值
    ? ?img = image.open(f)
    ? ?# 得到圖像尺寸
    ? ?width, height = img.size
    ? ?for x in range(width):
    ? ? ? ?for y in range(height):
    ? ? ? ? ? ?# 得到點(diǎn)(x,y)的三個(gè)通道值
    ? ? ? ? ? ?c1, c2, c3 = img.getpixel((x, y))
    ? ? ? ? ? ?data.append([(c1+1)/256.0, (c2+1)/256.0, (c3+1)/256.0])
    ? ?f.close()
    ? ?return np.mat(data), width, height
    # 加載圖像,得到規(guī)范化的結(jié)果imgData,以及圖像尺寸
    img, width, height = load_data('./weixin.jpg')
    # 用K-Means對圖像進(jìn)行16聚類
    kmeans =KMeans(n_clusters=16)
    label = kmeans.fit_predict(img)
    # 將圖像聚類結(jié)果,轉(zhuǎn)化成圖像尺寸的矩陣
    label = label.reshape([width, height])
    # 創(chuàng)建個(gè)新圖像img,用來保存圖像聚類壓縮后的結(jié)果
    img=image.new('RGB', (width, height))
    for x in range(width):
    ? ?for y in range(height):
    ? ? ? ?c1 = kmeans.cluster_centers_[label[x, y], 0]
    ? ? ? ?c2 = kmeans.cluster_centers_[label[x, y], 1]
    ? ? ? ?c3 = kmeans.cluster_centers_[label[x, y], 2]
    ? ? ? ?img.putpixel((x, y), (int(c1*256)-1, int(c2*256)-1, int(c3*256)-1))
    img.save('weixin_new.jpg')

    結(jié)果如下:你可以看到我沒有用到 sklearn 自帶的 MinMaxScaler,而是自己寫了 Min-Max 規(guī)范化的公式。這樣做的原因是我們知道 RGB 每個(gè)通道的數(shù)值在[0,255]之間,所以我們可以用每個(gè)通道的數(shù)值 +1/256,這樣數(shù)值就會(huì)在[0,1]之間。

    對圖像做了 Min-Max 空間變換之后,還可以對其進(jìn)行反變換,還原出對應(yīng)原圖的通道值。對于點(diǎn) (x,y),我們找到它們所屬的簇 label[x,y],然后得到這個(gè)簇的質(zhì)心特征,用 c1,c2,c3 表示:

    c1 = kmeans.cluster_centers_[label[x, y], 0]
    c2 = kmeans.cluster_centers_[label[x, y], 1]
    c3 = kmeans.cluster_centers_[label[x, y], 2]

    因?yàn)?c1, c2, c3 對應(yīng)的是數(shù)據(jù)規(guī)范化的數(shù)值,因此我們還需要進(jìn)行反變換,即:

    c1=int(c1*256)-1
    c2=int(c2*256)-1
    c3=int(c3*256)-1

    然后用 img.putpixel 設(shè)置點(diǎn) (x,y) 反變換后得到的特征值。最后用 img.save 保存圖像。

    5. 總結(jié)

    好了,寫到這關(guān)于KMeans,就要結(jié)束了。下面快速的回顧一下:

    首先,通過足球隊(duì)聚類的例子引出了KMeans聚類的工作原理,簡單來說兩步,你可以回憶回憶。

    然后,通過KMeans實(shí)現(xiàn)了對圖像分割的實(shí)戰(zhàn),另外我們還學(xué)習(xí)了如何在 Python 中如何對圖像進(jìn)行讀寫,具體的代碼如下,上文中也有相應(yīng)代碼,你也可以自己對應(yīng)下:

    import PIL.Image as image
    # 得到圖像的像素值
    img = image.open(f)
    # 得到圖像尺寸
    width, height = img.size

    這里會(huì)使用 PIL 這個(gè)工具包,它的英文全稱叫 Python Imaging Library,顧名思義,它是 Python 圖像處理標(biāo)準(zhǔn)庫。同時(shí)我們也使用到了 skimage 工具包(scikit-image),它也是圖像處理工具包。用過 Matlab 的同學(xué)知道,Matlab 處理起圖像來非常方便。skimage 可以和它相媲美,集成了很多圖像處理函數(shù),其中對不同分類標(biāo)識(shí)顯示不同的顏色。在 Python 中圖像處理工具包,我們用的是 skimage 工具包。

    好了,KMeans的故事就到這里吧。

    參考:

    • http://note.youdao.com/noteshare?id=10dac8bb5d83358ffe73c792e1490a7b&sub=C7A3E74A1088435ABBE11AB91AC37194
    • https://time.geekbang.org/
    公眾號(hào):Python數(shù)據(jù)分析實(shí)戰(zhàn)與AI干貨

    關(guān)注我,一起進(jìn)步!

    點(diǎn)個(gè)在看,么么噠!

    總結(jié)

    以上是生活随笔為你收集整理的kmeans算法_实战 | KMeans 聚类算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    国产精品69久久久久 | 一本一本久久aa综合精品 | 精品视频国产一区 | 亚洲国产中文字幕在线视频综合 | 一区二区视频免费在线观看 | 久久噜噜少妇网站 | 中文av在线播放 | 黄色大片网 | 福利区在线观看 | 99久久婷婷国产综合亚洲 | 欧美一级片播放 | 国产麻豆精品一区 | 中文字幕中文 | 中文字幕超清在线免费 | 日本精品视频网站 | 99精品国产成人一区二区 | 一级淫片在线观看 | 国产精品久久一卡二卡 | 日韩高清在线一区 | 日韩试看| 日韩久久精品一区二区三区下载 | japanesexxx乱女另类 | 亚洲成a人片在线观看网站口工 | 18做爰免费视频网站 | 日韩免费一级a毛片在线播放一级 | 欧美一区二区在线 | 在线免费观看麻豆视频 | 8090yy亚洲精品久久 | 国产成人精品一区二区三区福利 | 99久久er热在这里只有精品66 | 精品久久久久一区二区国产 | 久久精品www人人爽人人 | 黄色特级片| 日本精品在线视频 | 亚洲精品伦理在线 | 免费国产视频 | 91av蜜桃| 久久69av| 成年人毛片在线观看 | 久久国产精品视频 | 天天爱天天操天天干 | 精品福利在线观看 | 欧洲精品码一区二区三区免费看 | 国产精品久久久久久五月尺 | 在线激情电影 | 亚洲高清av在线 | 欧美极品一区二区三区 | 欧美色888| 91精品视频在线看 | 911国产在线观看 | 国产系列在线观看 | 六月丁香综合 | 国产二区av | 精品国产视频一区 | 免费av大全 | 超碰九九 | 中文字幕丝袜 | 中文字幕久久亚洲 | 日韩在线电影一区 | 91av在线精品 | 国产精品成久久久久 | 久久综合给合久久狠狠色 | 日韩av资源在线观看 | 亚洲成av人片在线观看香蕉 | 国产一区二区手机在线观看 | 在线电影av| 日韩视频一区二区三区 | 欧美一级电影片 | 色欧美日韩 | 中文字幕婷婷 | 成人精品国产免费网站 | 国内揄拍国产精品 | 香蕉在线观看 | 亚洲天天综合网 | 久久激情视频 久久 | 开心色激情网 | 9热精品 | 91麻豆网 | 日韩视频区| 激情久久久久 | 国产91在线 | 美洲 | 久久99精品国产99久久 | 欧美日韩1区2区 | 日批网站在线观看 | 国产成人三级三级三级97 | 久久国产电影院 | 黄色软件在线看 | 欧美大片www | 久久99视频 | 色停停五月天 | 精品美女久久久久 | 亚洲高清精品在线 | 四虎www com| 中文字幕免 | 精品专区一区二区 | 国产午夜三级一二三区 | 日本电影久久 | 国产理论一区二区三区 | 91亚洲在线观看 | 久久新 | 日韩av成人免费看 | 久久免费精品视频 | 欧美日韩一区二区三区不卡 | 天天干夜夜干 | 日p在线观看 | 日日夜夜天天射 | 狠狠色狠狠色综合日日小说 | 久久免费久久 | 欧美激精品 | 欧美日韩视频在线一区 | 91在线免费播放视频 | 一区二区三区国产精品 | 亚洲国产精品电影在线观看 | www.啪啪.com| 在线a亚洲视频播放在线观看 | 欧美性天天 | 五月天丁香亚洲 | 丁香婷婷综合色啪 | 成人av高清在线 | 高清国产在线一区 | 91麻豆精品国产91久久久无限制版 | 国产色视频一区 | 国产精品国产毛片 | 欧美激情操 | 99久久精品免费看国产一区二区三区 | 国产精品久久久久久久久久免费 | 久草在线免费电影 | 91色网址| 久久只精品99品免费久23小说 | 日韩欧美一级二级 | .国产精品成人自产拍在线观看6 | 免费久久网 | 99免费观看视频 | 久久香蕉电影网 | 91干干干| av在线在线 | 日本精品久久久一区二区三区 | 麻豆免费视频观看 | 免费视频网 | 日日摸日日添夜夜爽97 | 99久久精品免费一区 | 国产精品毛片 | 九九热re | 亚洲电影院 | 国产手机精品视频 | 久久试看| 国产精品一区二区三区免费视频 | 日韩精品欧美专区 | 亚洲精品999 | 精品视频www | 久久久精品国产一区二区三区 | 91桃色视频 | 日日天天av| 欧美aa一级 | 国产一级免费观看 | 黄色一级大片在线观看 | 午夜三级影院 | 国产99久久久国产精品免费二区 | 美女视频a美女大全免费下载蜜臀 | 婷婷六月综合网 | 超薄丝袜一二三区 | 欧美了一区在线观看 | 中文字幕在线观看播放 | 天天爽天天爽 | 久久成人视屏 | 久久污视频| 国产 日韩 在线 亚洲 字幕 中文 | 99免费在线播放99久久免费 | 国产高清在线不卡 | 免费福利小视频 | 国产免费小视频 | 久久久精品欧美一区二区免费 | 日韩,中文字幕 | 最近最新mv字幕免费观看 | 欧美成年黄网站色视频 | 一区二区三区视频在线 | 91xav| 久久色视频 | 国产午夜麻豆影院在线观看 | 精品久久久久久久久中文字幕 | 91在线精品观看 | 2019中文字幕网站 | 日韩欧美视频一区 | 欧美人牲 | 中文字幕精品在线 | 国产手机在线视频 | 免费看十八岁美女 | 精品久久久久久国产91 | 9999在线视频 | 久久午夜影院 | 日韩欧美国产精品 | 精品国产免费av | 日韩av影视在线观看 | 国产美女视频一区 | 国产人成一区二区三区影院 | 国产在线色| a特级毛片 | 日韩美在线 | 美女视频黄的免费的 | 97色国产 | 91原创在线观看 | 成人av网页 | 97看片| 久久1区 | 91国内产香蕉 | 欧美日韩国产区 | 4438全国亚洲精品在线观看视频 | 人人添人人 | 成人av电影免费 | 一区二区三区www | 九月婷婷人人澡人人添人人爽 | 人人澡人人爽欧一区 | 免费国产在线观看 | 13日本xxxxxⅹxxx20 | 国产精品观看在线亚洲人成网 | av女优中文字幕在线观看 | 中文字幕在线观 | 欧美激情综合网 | 日韩免费中文字幕 | 久久天堂精品视频 | 中文字幕欧美日韩va免费视频 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 亚洲人天堂 | 免费观看性生活大片3 | 亚洲精品 在线视频 | 国产精品一区二区三区观看 | 国产精品一区在线观看你懂的 | 九九九电影免费看 | 成人一级黄色片 | 国产a级片免费观看 | 国产不卡一区二区视频 | 免费久久99精品国产婷婷六月 | 日韩免费在线观看视频 | 中文字幕一区二区三区四区视频 | 日本爱爱免费视频 | 国产精品av免费 | 在线播放 一区 | 久久 一区 | 精品女同一区二区三区在线观看 | 一区二区三区四区五区在线 | 久久久久久久综合色一本 | 亚洲精品伦理在线 | 成人午夜精品久久久久久久3d | 免费涩涩网站 | 女女av在线 | 国产在线a免费观看 | 高清精品在线 | 99操视频 | 国产精品麻豆91 | 97av在线视频免费播放 | 天天色天天搞 | 五月天久久久 | 亚洲精品资源 | 成人av免费在线看 | 亚洲永久精品一区 | 日韩成人高清在线 | 午夜精品一区二区三区四区 | www.99av| 天天操天天射天天操 | 欧美一区在线观看视频 | 97在线视频网站 | 黄色福利网站 | 天天干天天操天天操 | 在线成人一区 | 综合色综合色 | 亚洲国产999| av高清不卡 | 久久综合网色—综合色88 | 悠悠av资源片 | 国产女v资源在线观看 | 999视频在线观看 | 日韩激情第一页 | 97av视频| 黄色片网站大全 | 亚洲免费在线观看视频 | 在线a亚洲视频播放在线观看 | 国产精品成人在线观看 | 久久久精品一区二区 | 亚洲不卡av一区二区三区 | 五月婷香 | 中文字幕2021 | 伊人伊成久久人综合网小说 | 97国产精品久久 | 精品视频免费观看 | 热久久最新地址 | www.香蕉视频在线观看 | 国产欧美日韩视频 | 免费看精品久久片 | 嫩草av在线 | 日韩三级不卡 | 天天操网| 国产精品免费观看视频 | 亚洲女在线 | 久久丁香 | 国产精品嫩草影视久久久 | 欧美成人影音 | 蜜桃视频日韩 | 精品国产91亚洲一区二区三区www | 成人av教育 | 国产精品欧美久久久久久 | 国产精品女教师 | 五月婷av | 久久免费视频4 | 精品在线免费观看 | 日日天天av| 黄色在线小网站 | 五月综合婷| 国产亚洲精品久 | 在线你懂| 日本中文字幕高清 | 国产精品久久久久永久免费看 | 精品人妖videos欧美人妖 | 人人干干人人 | 久久免费美女视频 | 中文字幕av全部资源www中文字幕在线观看 | 天天爱天天操天天射 | 久久久久久草 | 伊人久久婷婷 | 日韩免费精品 | 日韩不卡高清 | 在线观看色视频 | 91禁在线观看 | 草久草久 | 国产精品va最新国产精品视频 | 日韩欧美视频在线观看免费 | 九九热久久免费视频 | 国产字幕在线看 | 免费亚洲成人 | 婷婷在线色 | 91精品国产91久久久久 | 免费看v片网站 | 欧美在线观看禁18 | 中文字幕中文字幕 | 国产精品热 | 成人av视屏 | av网站播放 | 男女视频国产 | 97电影手机 | 久久久久久久久久影视 | 97精品国产91久久久久久久 | 久久精品一区二区三区视频 | 九九九免费视频 | 欧美色伊人| av理论电影 | 久久伦理 | 久草在线视频资源 | 亚洲高清91 | 久久久精品 一区二区三区 国产99视频在线观看 | 亚洲天堂网在线观看视频 | 欧美伦理电影一区二区 | 日韩在线观看中文字幕 | 麻豆视频免费看 | 亚洲自拍偷拍色图 | 丁香视频全集免费观看 | 亚洲aⅴ免费在线观看 | 久久久激情视频 | 久久不见久久见免费影院 | 狠狠狠综合 | 国产精品视频全国免费观看 | a天堂最新版中文在线地址 久久99久久精品国产 | 99热在线看 | 免费特级黄色片 | 亚洲视频综合 | 免费的黄色av | 免费看黄在线观看 | 成人在线视频免费观看 | 国产99免费视频 | 九九九在线观看视频 | 视频二区在线视频 | 开心丁香婷婷深爱五月 | 午夜av免费观看 | 视频一区二区精品 | 日本中出在线观看 | 中文字幕 国产专区 | 香蕉影视在线观看 | 久久久久99999 | 日本韩国中文字幕 | 天天综合婷婷 | 国产精品久久久久久久久久久久久 | 最新精品国产 | 美女视频久久久 | 成人天堂网 | av在线收看 | 麻花豆传媒一二三产区 | 欧美日韩国产一区 | 久久综合精品一区 | 国内精品久久久久久久影视麻豆 | 国产一区二区不卡视频 | 91最新视频在线观看 | 国产视频在线免费 | 黄色毛片大全 | 欧美日韩高清国产 | 日本公妇在线观看 | 在线观看视频日韩 | 亚洲精品五月天 | 五月天丁香亚洲 | 激情五月在线视频 | 99视频在线免费观看 | 国产精品美乳一区二区免费 | 91插插视频 | av在线一二三区 | 欧美精选一区二区三区 | 欧美日韩免费在线观看视频 | 丁香 婷婷 激情 | 国产亚洲精品久久久久久无几年桃 | 91久草视频 | 亚洲精品国偷自产在线99热 | 久久国产a| 在线精品一区二区 | 久久精品久久久久久久 | 久久综合九色 | 香蕉久草 | 中文国产成人精品久久一 | 天天se天天cao天天干 | 天天性天天草 | 久久激情小说 | 成人av资源网站 | 六月激情网 | 亚洲免费在线观看视频 | 国产在线观看a | 免费成人在线观看视频 | 久久久久久久久影视 | 最新国产精品亚洲 | 日日日操操 | 欧洲精品久久久久毛片完整版 | 国产高清视频免费观看 | 日韩欧美国产成人 | 国产香蕉97碰碰久久人人 | 国产美女无遮挡永久免费 | 亚洲一区二区观看 | 久久久久免费精品 | 91视频电影 | 在线欧美最极品的av | 久久久高清 | 日本婷婷色 | 久草在线视频国产 | 69国产成人综合久久精品欧美 | 又黄又刺激的视频 | 亚洲日韩欧美一区二区在线 | 亚洲视频专区在线 | 又色又爽又黄 | av电影免费 | 激情综合婷婷 | 又爽又黄又无遮挡网站动态图 | 日韩性网站| 免费看片日韩 | av在线播放观看 | 国产69精品久久久久久久久久 | 国产a级精品 | 国产精品99精品久久免费 | 中文字幕在线乱 | 久久视频精品在线观看 | 96av麻豆蜜桃一区二区 | 国产黄色av网站 | 久久只精品99品免费久23小说 | 99精品区 | 91在线网址 | 精品亚洲免费 | 国产小视频免费在线观看 | 国产精品毛片久久久久久久 | 久久久久久黄色 | 久久中文精品视频 | 国产在线观看高清视频 | 亚洲国产精品电影 | 狠狠干狠狠色 | 久久五月天婷婷 | 亚洲不卡av一区二区三区 | www.久久免费视频 | 日韩专区中文字幕 | 欧美一级性生活 | 黄色的网站免费看 | 国产中文在线字幕 | 久久免费大片 | 国产黄色片网站 | 国产剧情在线一区 | 免费观看www7722午夜电影 | 亚洲精品电影在线 | 久草久草视频 | 色综合久 | 中文字幕亚洲精品日韩 | 美女黄频 | 黄色在线观看网站 | 一区二区伦理电影 | 999视频在线播放 | 奇米影音四色 | 日本黄色免费在线观看 | 午夜视频亚洲 | 国产精品6| 丁香花在线观看视频在线 | 久久av免费电影 | 91经典在线 | 欧美一区二区三区四区夜夜大片 | 国产在线高清视频 | 欧美天堂视频在线 | 性色xxxxhd | 人成电影网| 精品久久久久国产 | 免费三级骚 | 中文字幕一区二区三区四区久久 | 亚洲一区二区高潮无套美女 | 人人狠狠| 国产精品免费看久久久8精臀av | 91理论电影 | 天天操天天能 | 天天爱天天干天天爽 | 日韩xxxxxxxxx| 亚洲精品乱码久久久久 | 成片免费观看视频大全 | 久久精品一区二区三区国产主播 | 欧美精品久久久久久久久久丰满 | 国际精品久久久久 | 久久久穴 | 一级片视频免费观看 | 色婷婷99| 国产永久网站 | 色资源二区在线视频 | 91爱看片 | 超碰人人草 | 日本特黄一级 | 国产性天天综合网 | www黄色软件 | 日韩91精品| 丁香婷婷激情 | 国产综合视频在线观看 | 在线看v片| 999电影免费在线观看2020 | 久久久www成人免费毛片 | 欧美一区二区三区免费看 | 久久激情视频 | 一区中文字幕 | 国产欧美中文字幕 | 日韩av手机在线观看 | 国产精品二区在线观看 | 最近最新最好看中文视频 | 国产一区二区三区在线 | 色爽网站 | 久久99国产精品免费网站 | 欧美日韩另类在线观看 | 五月天中文字幕mv在线 | 免费黄色av| 久久精品一区八戒影视 | 久久高清毛片 | 中文字幕 第二区 | 亚洲国产人午在线一二区 | 久久久久久久久免费 | 超碰97人人射妻 | 免费a现在观看 | 成人在线观看免费视频 | 在线免费观看视频你懂的 | 黄a网 | 在线亚洲午夜片av大片 | www.色五月.com| 国产不卡免费av | 色综合夜色一区 | 91高清免费观看 | 蜜臀久久99精品久久久酒店新书 | 免费a视频| 中文字幕在线观看第二页 | 免费精品视频在线 | 久久免费高清视频 | 日韩成人免费在线观看 | 久久字幕 | 久久久久久久网站 | 亚洲电影久久久 | 国产精品露脸在线 | 97超碰香蕉 | 一级黄色在线视频 | 在线观看你懂的网址 | 亚洲丝袜一区二区 | 国产 日韩 在线 亚洲 字幕 中文 | 亚洲精品视频在线播放 | 中文在线最新版天堂 | 日韩欧美视频免费看 | 免费看的av片 | 91精品一区二区三区蜜臀 | 色多多污污 | 欧美日韩在线电影 | 欧美精品资源 | 亚洲男人天堂a | 丰满少妇久久久 | 国产精彩视频一区二区 | 亚洲小视频在线观看 | 青青视频一区 | 久久精品视频免费 | 在线视频精品播放 | 黄a网 | 久久6精品| 成人av av在线 | 色狠狠综合天天综合综合 | 午夜影院一级 | 国产精品大片在线观看 | 国产成人精品一区二区三区网站观看 | 欧美日韩国产网站 | 国产中文字幕网 | 精品亚洲欧美无人区乱码 | 亚洲精品美女在线 | 999热线在线观看 | 免费看片网页 | 日韩免费高清在线 | 久草网在线视频 | 一区二区三区福利 | 99热最新在线 | 日韩精品视频免费专区在线播放 | 欧美特一级片 | 国产精品高清一区二区三区 | 最新不卡av | 久久国产精品99精国产 | 亚洲欧美视频在线播放 | 国产69精品久久久久久 | 久草综合视频 | 国产免费三级在线观看 | 丁香午夜| av免费试看 | 91av在线不卡 | 亚洲小视频在线观看 | 亚洲伦理中文字幕 | 丁香花在线观看免费完整版视频 | 国内精品在线观看视频 | 超碰97免费 | 99热在线免费观看 | 国产精品s色 | 国产精品国内免费一区二区三区 | 成人黄色在线看 | 亚洲精品女人 | 久久久99精品免费观看app | 成人免费观看a | 高潮毛片无遮挡高清免费 | 五月婷社区 | 国产色拍拍拍拍在线精品 | 91免费看黄色 | 日本女人逼 | 国产精品普通话 | 天天干天天做天天操 | 国产精品久久久久高潮 | 四虎国产精品永久在线国在线 | 国产精品一区在线 | 国产精品18久久久久久久久久久久 | 美女网色 | 免费国产黄线在线观看视频 | 色播五月激情综合网 | 国产一级片播放 | 亚洲专区视频在线观看 | 九九交易行官网 | 精品亚洲va在线va天堂资源站 | 亚洲一区二区视频 | 在线免费观看黄 | 亚洲成人软件 | 欧美精品日韩 | 伊人久久一区 | 九色精品 | 综合在线亚洲 | 激情一区二区三区欧美 | 丁香花在线视频观看免费 | 最新日韩视频 | 日本少妇视频 | 久久精品国产免费看久久精品 | 天天干天天干天天操 | 国产成人久久77777精品 | 日韩精品在线免费播放 | 国产精品久久一 | 亚洲桃花综合 | 日韩在线看片 | 午夜狠狠干 | 日韩免费电影网站 | 久草在线视频国产 | 久久午夜视频 | 探花视频在线观看 | 国产成人一区二区精品非洲 | 波多野结衣动态图 | 免费毛片一区二区三区久久久 | 国产五月色婷婷六月丁香视频 | 一区二区三区在线免费播放 | 91禁在线看 | 日韩一区二区三免费高清在线观看 | 国产综合精品一区二区三区 | 欧美一区二区三区不卡 | 国内丰满少妇猛烈精品播 | 久久综合狠狠综合久久综合88 | 久久久久国产精品视频 | 婷婷综合久久 | 国产香蕉久久精品综合网 | 免费一级日韩欧美性大片 | av成人免费在线看 | 在线观看中文av | 国产一区二区在线免费视频 | 欧美激情视频在线观看免费 | 中文字幕在线高清 | 99色资源 | 国产成人av网站 | 欧美精品免费视频 | 一区二区三区高清在线观看 | 国产手机在线观看视频 | 亚洲黄污 | 一级片在线 | 欧美日韩国产高清视频 | 中文一区在线观看 | 欧美乱码精品一区二区 | 国产成人在线看 | 在线看国产一区 | 久久黄色片子 | 亚洲一级电影在线观看 | 欧美大片mv免费 | 亚洲伦理一区 | 亚洲精品男女 | 成人免费一区二区三区在线观看 | 黄色一级大片在线观看 | 国产乱老熟视频网88av | 992tv成人免费看片 | 美女网站视频久久 | 久久精品99久久久久久2456 | 三三级黄色片之日韩 | 日韩欧美aaa | 91av精品| 日韩二区三区在线观看 | 操操操日日 | 国产精品专区h在线观看 | 亚洲国产高清视频 | 国产精品黄色在线观看 | 99视频在线免费观看 | 夜夜高潮夜夜爽国产伦精品 | 91手机电影 | 亚洲视频国产 | 黄色视屏免费在线观看 | 狠狠色伊人亚洲综合网站野外 | 亚洲日日夜夜 | 日本久久综合网 | 99久久网站| 国产美女在线观看 | 亚洲欧美国产精品va在线观看 | 黄色大片中国 | 色婷婷在线播放 | 婷婷综合久久 | 97人人澡人人爽人人模亚洲 | 午夜精品三区 | 国际av在线 | 超碰97在线资源站 | 国产日韩欧美在线 | 久久久久久久久久久久久9999 | 在线播放第一页 | 97精品超碰一区二区三区 | 日韩二区三区在线观看 | 波多野结衣一区三区 | 黄网站色成年免费观看 | 日韩视频一区二区三区在线播放免费观看 | 国产二区免费视频 | 国产精品国产三级国产不产一地 | 日韩视频区 | 中文字幕在线高清 | 国产亚州av | 综合网伊人 | 亚洲高清网站 | 日韩一区二区免费播放 | 日韩av中文 | 久久综合九色综合97_ 久久久 | 久久久久久麻豆 | 国语麻豆| 日本资源中文字幕在线 | 国产精品资源在线 | 成人精品视频久久久久 | 久久99久久99精品免观看软件 | 丁香五月亚洲综合在线 | 婷婷成人亚洲综合国产xv88 | 2020天天干天天操 | 日韩二区在线播放 | 亚洲最新在线视频 | 91人人射 | 久草电影网 | 久久综合五月天婷婷伊人 | 欧美a级成人淫片免费看 | 香蕉视频一级 | 国产伦精品一区二区三区免费 | 精品久久在线 | 国产亚洲精品成人 | 亚洲视屏在线播放 | 人人看黄色| 黄色a视频| 美女视频免费一区二区 | 韩国精品福利一区二区三区 | 中午字幕在线观看 | 国产精品久久久久久久妇 | 成人在线视频观看 | 亚洲一区网 | 国内精品久久久久久久影视麻豆 | 国产96在线观看 | 久久精品视频在线 | 日韩午夜剧场 | 国产视频一区二区三区在线 | 国产精品福利在线播放 | 国产一级片一区二区三区 | aaa免费毛片 | 男女激情片在线观看 | 日韩av线观看| 亚洲一区二区精品视频 | 中文在线a∨在线 | 99久久er热在这里只有精品66 | www四虎影院 | 久久精品韩国 | 91亚洲成人| 亚洲最新av在线 | 天天干天天射天天插 | 日韩一二三 | 精品久久久久一区二区国产 | 四虎免费在线观看视频 | 96国产在线 | 一区二区三区在线不卡 | 久久伊人八月婷婷综合激情 | 久久天天躁狠狠躁夜夜不卡公司 | 狠狠干成人综合网 | 免费黄av| 黄色特级片| 免费观看全黄做爰大片国产 | 一区二区三区在线观看免费视频 | 欧美三级高清 | 蜜桃视频在线观看一区 | 国产精品美女在线观看 | 99国产一区二区三精品乱码 | 亚洲一区二区视频在线播放 | 亚洲午夜大片 | 国产精品久久久久免费 | 狠狠久久综合 | 亚洲精品国产精品国自产在线 | 精品一二三区视频 | 欧美成人精品欧美一级乱 | 玖玖999| 国产精品久久久久永久免费看 | 激情视频在线高清看 | 国产探花在线看 | 国产精品99久久久精品免费观看 | 亚洲欧美婷婷六月色综合 | 日韩精品一区二区三区免费视频观看 | 在线看国产日韩 | 欧美a级在线免费观看 | 在线一区二区三区 | 亚洲视频高清 | 91九色蝌蚪国产 | 99精品国产一区二区 | 久久免费视频播放 | 中文字幕精 | 欧美日韩国产伦理 | 国产美女免费视频 | 三级在线播放视频 | 欧美精品你懂的 | av看片网址 | 激情视频免费观看 | 毛片永久新网址首页 | 国产精品自产拍在线观看网站 | 99久久精品免费 | 国产亚洲精品久久久久久移动网络 | 在线免费观看黄网站 | 国产午夜亚洲精品 | 麻豆91精品 | 精品国产乱码久久久久久三级人 | 国产一区成人在线 | 激情深爱五月 | 99资源网 | 啪啪动态视频 | 96香蕉视频 | 韩日电影在线免费看 | 91亚洲精品视频 | 日韩电影精品一区 | 亚洲第一中文网 | 色在线亚洲 | 白丝av免费观看 | 五月婷婷综合在线视频 | 久久久www免费电影网 | 999久久精品| 久久久免费电影 | 日韩精品中文字幕在线不卡尤物 | 激情电影影院 | 一区二区三区电影大全 | 久久久久久久国产精品影院 | 亚洲欧美日韩精品久久久 | 精品理论片| 久久久久久国产精品免费 | 911国产| 国产 欧美 日产久久 | 亚洲成人欧美 | 亚洲a成人v | 一本一本久久a久久精品牛牛影视 | 在线色亚洲 | 福利片免费看 | 久久激情小视频 | 国产亚洲在线观看 | 99久久久久久 | 国产视频在线免费 | 中文字幕 成人 | av 一区 二区 久久 | 国产96视频 | 日韩欧美高清一区二区三区 | 欧美日韩在线看 | 91人人澡人人爽人人精品 | 免费看在线看www777 | 成人午夜黄色 | 在线观看日韩专区 | 天天色综合1 | 国产精品毛片久久久久久久久久99999999 | 欧美一区二区三区在线观看 | av黄色大片| 五月激情久久久 | 99中文在线| 欧美analxxxx| 久久久久久片 | 色视频成人在线观看免 | 欧美一区二区三区免费看 | 操操操干干干 | 亚洲日本va在线观看 | 国产91成人在在线播放 | 国产精品久久久久999 | 在线观看av网 | 精品国产1区2区 | 色综合久久五月天 | 国产精品一区二区免费在线观看 | 免费在线观看不卡av | 精品国产乱码 | 中文字幕在线观看完整版 | 亚洲永久字幕 | 日韩av午夜在线观看 | 亚洲综合在线五月天 | 激情丁香月 | 国产拍揄自揄精品视频麻豆 | 99热九九这里只有精品10 | 免费婷婷 | 一级免费黄色 | 天天操天天射天天 | 五月天久久精品 | 色久av| 欧美成人精品三级在线观看播放 | 在线观看色网 | 97成人在线观看视频 | 美女视频黄是免费的 | av一本久道久久波多野结衣 | 国产精久久久 | 国产成人91| 在线看国产精品 | 亚洲成人精品久久久 | 青草草在线视频 | 美女久久99 | 国产中文字幕在线观看 | 久久久国产一区 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 欧美一级久久 | 久久久精品二区 | 97超在线视频 | 久草精品视频 | 国产成人精品999在线观看 | 日韩精品中文字幕在线播放 | a级片在线播放 | 国产亚洲精品久久久网站好莱 | 日日干天夜夜 | 亚洲九九九在线观看 | 激情黄色一级片 | 中文字幕在线视频一区 | 欧美日韩国产一区二区在线观看 | 中文字幕免费一区 | www.狠狠色.com | 在线观看免费黄色 | 91香蕉国产| 丝袜美腿在线视频 | 男女啪啪视屏 | 日本中文字幕电影在线免费观看 | 亚洲伊人av | 日韩二区三区在线 | 911国产精品| 免费在线观看黄 | 91在线观看黄| 97精品国产91久久久久久久 | 日韩字幕| 亚洲天堂网在线观看视频 | 天天插天天干 | 69国产成人综合久久精品欧美 | 在线国产视频 | 中文字幕精品一区二区三区电影 | 97国产在线视频 | 久久毛片高清国产 | 黄色看片 | 国产欧美中文字幕 | 精品免费观看视频 | 国产成人亚洲在线电影 | 五月婷婷亚洲 | 精品一区二区三区久久 | 黄色一级大片在线免费看国产一 | 国产精品久久二区 | 日韩电影一区二区在线观看 | 丁香国产视频 | 国产韩国日本高清视频 | 国产精品三级视频 | 成人在线一区二区三区 | 亚洲视频 中文字幕 | 日韩色视频在线观看 | 久久黄色a级片 | 五月天激情视频 | 国产呻吟在线 | 麻豆国产在线播放 | 在线免费观看麻豆视频 | 精品久久国产 | 国产精品99久久久久久久久 | 一级黄色片在线观看 | 欧美巨乳波霸 |