欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線(xiàn)實(shí)戰(zhàn)洞察。

KNN算法從原理到實(shí)戰(zhàn):鳶尾花數(shù)據(jù)集全流程調(diào)參與優(yōu)化

KNN算法從原理到實(shí)戰(zhàn):鳶尾花數(shù)據(jù)集全流程調(diào)參與優(yōu)化 1. 先把KNN這件事想明白一個(gè)不訓(xùn)練的算法憑什么上臺(tái)面K近鄰算法K-Nearest Neighbors簡(jiǎn)稱(chēng)KNN在機(jī)器學(xué)習(xí)里是個(gè)特別有意思的存在。你把訓(xùn)練集喂給它它幾乎什么都不干——不擬合參數(shù)、不更新權(quán)重、不建梯度、不迭代。fit()一調(diào)用時(shí)間基本花在把數(shù)據(jù)存進(jìn)內(nèi)存上。真正干活是在predict()那一刻來(lái)一個(gè)新樣本它把訓(xùn)練集里所有點(diǎn)和這個(gè)新樣本逐個(gè)算一遍距離找出最近的K個(gè)鄰居看這些鄰居大多屬于哪一類(lèi)就把新樣本判成哪一類(lèi)。這套邏輯樸素得像小區(qū)里問(wèn)路——你不知道某個(gè)地方在哪就問(wèn)身邊最近的幾個(gè)人多數(shù)人說(shuō)往東你大概就往東走。我在帶新人的時(shí)候常講一句話(huà)KNN的全部智能都藏在距離和K這兩個(gè)詞里。它沒(méi)有學(xué)到特征和標(biāo)簽之間的映射函數(shù)它學(xué)到的其實(shí)是整個(gè)訓(xùn)練集本身就是模型。這個(gè)特性決定了它的優(yōu)缺點(diǎn)都極其鮮明——實(shí)現(xiàn)簡(jiǎn)單、無(wú)需訓(xùn)練、天然支持多分類(lèi)、對(duì)非線(xiàn)性邊界有一定適應(yīng)力但同時(shí)內(nèi)存占用隨數(shù)據(jù)線(xiàn)性增長(zhǎng)、預(yù)測(cè)慢、對(duì)特征尺度極其敏感、在高維空間里幾乎失效。這篇文章講的是鳶尾花Iris數(shù)據(jù)集上的KNN完整實(shí)現(xiàn)。這個(gè)數(shù)據(jù)集小得可愛(ài)150條樣本4個(gè)特征花萼長(zhǎng)度、花萼寬度、花瓣長(zhǎng)度、花瓣寬度3個(gè)類(lèi)別三個(gè)不同品種每類(lèi)50條。很多人嫌它太簡(jiǎn)單一行代碼準(zhǔn)確率就96%但我偏偏喜歡拿它做教學(xué)載體因?yàn)樗蓛舻娇梢园衙恳粋€(gè)環(huán)節(jié)單獨(dú)拎出來(lái)反復(fù)折騰——你怎么選K、怎么縮放、怎么切分、怎么驗(yàn)證、怎么解釋結(jié)果全都看得清清楚楚不會(huì)有一堆臟數(shù)據(jù)干擾你的判斷。適合誰(shuí)看寫(xiě)過(guò)一點(diǎn)Python、聽(tīng)過(guò)KNN但沒(méi)真正跑通過(guò)全流程的人調(diào)包能出結(jié)果但說(shuō)不清為什么準(zhǔn)確率是96%而不是99%的人想手寫(xiě)一遍KNN理解底層的人。如果你已經(jīng)能熟練做網(wǎng)格搜索和特征工程這篇可能偏基礎(chǔ)但里面關(guān)于標(biāo)準(zhǔn)化順序、維度災(zāi)難、距離度量選擇的那些坑大概率還是能幫你省點(diǎn)時(shí)間。1.1 距離即投票KNN的核心假設(shè)到底是什么任何算法背后都有一套對(duì)世界的假設(shè)KNN的假設(shè)直白得不像話(huà)特征空間里挨得近的樣本標(biāo)簽大概率相同。這句話(huà)聽(tīng)起來(lái)像廢話(huà)但它成立是需要條件的。第一個(gè)條件特征必須能構(gòu)成一個(gè)有意義的度量空間。也就是說(shuō)兩個(gè)樣本之間的距離要真的能反映它們的相似程度。如果你的特征里混了用戶(hù)ID這種純編號(hào)ID1001和ID1002看起來(lái)距離是1但它們之間沒(méi)有任何語(yǔ)義關(guān)聯(lián)這種距離就是假的會(huì)把整個(gè)模型帶偏。第二個(gè)條件各特征的量綱要可比?;ㄝ嚅L(zhǎng)度單位是厘米取值范圍4.3到7.9如果我還加入一個(gè)花瓣面積單位是平方厘米取值可能到20以上。那么在歐氏距離的平方和里面積這個(gè)維度會(huì)完全壓制長(zhǎng)度維度長(zhǎng)度特征等于白給。這就是為什么KNN幾乎必須配標(biāo)準(zhǔn)化不是建議是必須。第三個(gè)條件樣本密度要足夠。KNN是純局部方法它只看鄰居。如果某個(gè)區(qū)域訓(xùn)練樣本極其稀疏那最近的K個(gè)鄰居可能其實(shí)離得很遠(yuǎn)投票結(jié)果的可靠性就大打折扣。所以KNN在樣本分布均勻、類(lèi)別邊界清晰的問(wèn)題上表現(xiàn)好在長(zhǎng)尾、稀疏、類(lèi)別極不平衡的問(wèn)題上容易翻車(chē)。想清楚這三點(diǎn)你就明白為什么很多人拿KNN跑出來(lái)的結(jié)果忽高忽低——不是算法玄學(xué)是這三個(gè)前提被破壞了。我見(jiàn)過(guò)有人把KNN直接用在幾千維的文本TF-IDF向量上然后抱怨KNN效果太差其實(shí)問(wèn)題不在KNN在于高維空間里最近這個(gè)概念已經(jīng)失真了這個(gè)后面會(huì)專(zhuān)門(mén)講。1.2 它和線(xiàn)性模型、樹(shù)模型的根本差別在哪拿KNN和邏輯回歸對(duì)比差別不只在效果更在模型的形態(tài)。邏輯回歸訓(xùn)練完得到的是一組權(quán)重模型被壓縮成幾個(gè)數(shù)字你甚至可以把它寫(xiě)在紙上KNN訓(xùn)練完得到的是一整個(gè)訓(xùn)練集模型體積等于數(shù)據(jù)體積。這是參數(shù)化模型和非參數(shù)化模型的分水嶺。和決策樹(shù)對(duì)比更有意思。決策樹(shù)是在特征空間上切格子切完之后每個(gè)格子給一個(gè)標(biāo)簽切法由訓(xùn)練數(shù)據(jù)決定但一旦確定就固定了KNN不切格子它的決策邊界是隨著查詢(xún)點(diǎn)移動(dòng)的每個(gè)新樣本都會(huì)臨時(shí)劃出一片鄰域。所以KNN的決策邊界可以非常曲折、非常非線(xiàn)性代價(jià)是它沒(méi)法給你一個(gè)可解釋的規(guī)則表。這個(gè)差別帶來(lái)的直接影響是預(yù)測(cè)成本。邏輯回歸預(yù)測(cè)是幾次乘加微秒級(jí)決策樹(shù)預(yù)測(cè)是幾次比較也是微秒級(jí)KNN預(yù)測(cè)要遍歷訓(xùn)練集算距離10萬(wàn)條樣本就是10萬(wàn)次距離計(jì)算。線(xiàn)上服務(wù)里如果QPS高、延遲敏感KNN基本不適合直接懟在請(qǐng)求鏈路上得配近似最近鄰索引或者做預(yù)計(jì)算。1.3 哪些場(chǎng)景該用它哪些場(chǎng)景趁早換我自己的判斷標(biāo)準(zhǔn)很簡(jiǎn)單看三條數(shù)據(jù)量中等偏小萬(wàn)級(jí)到十萬(wàn)級(jí)特征維度不高幾十維以?xún)?nèi)且特征都是數(shù)值型、量綱可以統(tǒng)一——用KNN很合適甚至經(jīng)常能打贏一些復(fù)雜模型。樣本量極大或者維度極高幾百上千維——先別急著上KNN除非你愿意上近似檢索。需要給出為什么這么判的業(yè)務(wù)解釋——KNN能給出因?yàn)楹瓦@5個(gè)歷史樣本最像這種解釋在某些風(fēng)控、推薦場(chǎng)景反而比權(quán)重系數(shù)更好用。實(shí)際落地里KNN出現(xiàn)頻率最高的地方往往不是主模型而是推薦系統(tǒng)的召回層找相似物品/相似用戶(hù)、圖像檢索的相似度匹配、異常檢測(cè)離所有鄰居都遠(yuǎn)的點(diǎn)判為異常、缺失值填補(bǔ)用鄰居的均值填、以及小樣本冷啟動(dòng)場(chǎng)景。這些場(chǎng)景有一個(gè)共同點(diǎn)——相似本身就是業(yè)務(wù)語(yǔ)義不需要額外解釋。2. 核心參數(shù)與原理細(xì)節(jié)K值、距離度量、決策規(guī)則2.1 K值怎么選偏差和方差的那桿秤K是KNN里唯一一個(gè)真正意義上的超參數(shù)它的作用是把局部的尺度調(diào)大調(diào)小。K1的時(shí)候模型完全信任最近的那一個(gè)點(diǎn)。訓(xùn)練集里只要有一個(gè)噪聲點(diǎn)或者標(biāo)錯(cuò)的樣本它周?chē)蜁?huì)被劃出一小塊錯(cuò)誤的領(lǐng)地。這叫過(guò)擬合方差極大換一批訓(xùn)練數(shù)據(jù)決策邊界抖得厲害。準(zhǔn)確率在訓(xùn)練集上永遠(yuǎn)是100%因?yàn)樽罱泥従泳褪撬约簻y(cè)試集上往往明顯掉一檔。K取很大比如K100那就等于每次預(yù)測(cè)都看一大片區(qū)域。極端情況KN所有樣本都參與投票預(yù)測(cè)結(jié)果對(duì)所有輸入都一樣永遠(yuǎn)是多數(shù)類(lèi)。這叫欠擬合偏差極大。所以K的選擇本質(zhì)就是在偏差和方差之間找平衡點(diǎn)。經(jīng)驗(yàn)做法有這么幾條從K sqrt(N)開(kāi)始試N是訓(xùn)練樣本數(shù)。150條樣本開(kāi)方約12所以鳶尾花上可以先試K11或13這類(lèi)奇數(shù)。二分類(lèi)問(wèn)題盡量取奇數(shù)避免平票。多分類(lèi)問(wèn)題平票的可能性低但sklearn內(nèi)部會(huì)按距離加權(quán)或取索引小的類(lèi)行為不一定符合你的預(yù)期能避開(kāi)就避開(kāi)。不要用訓(xùn)練集選K。必須用驗(yàn)證集或者交叉驗(yàn)證否則你會(huì)選出一個(gè)過(guò)擬合的極小K。K通常不會(huì)取到樣本量的很大比例一般不超過(guò)樣本數(shù)的十分之一到五分之一。在鳶尾花上做5折交叉驗(yàn)證掃一遍K你會(huì)看到一個(gè)很典型的U形曲線(xiàn)K從1漲到5左右準(zhǔn)確率快速上升5到15之間平臺(tái)區(qū)很平超過(guò)25之后開(kāi)始緩慢下滑。平臺(tái)的平坦程度說(shuō)明這個(gè)數(shù)據(jù)集類(lèi)別邊界很干凈實(shí)際上K取3到15結(jié)果都差不多在0.95以上。這時(shí)候真正的決策依據(jù)不是哪個(gè)準(zhǔn)確率高0.01而是哪個(gè)更穩(wěn)——我一般會(huì)選平臺(tái)區(qū)中間偏小的值兼顧穩(wěn)定性和局部性。2.2 距離度量不是只有歐氏距離默認(rèn)的歐氏距離是L2范數(shù)公式是各維度差值的平方和再開(kāi)根號(hào)。它在特征維度獨(dú)立、量綱統(tǒng)一、分布比較團(tuán)狀的時(shí)候最合適。曼哈頓距離是L1范數(shù)各維度差值絕對(duì)值求和。它對(duì)異常值更不敏感因?yàn)檎`差不被平方放大。如果某一維偶爾出現(xiàn)離譜的值L1會(huì)比L2穩(wěn)。余弦相似度衡量的是方向而不是長(zhǎng)度。文本向量、embedding向量這種長(zhǎng)度不重要、方向才重要的場(chǎng)景必須用余弦。你在高維稀疏向量上算歐氏距離結(jié)果基本被向量模長(zhǎng)主導(dǎo)完全沒(méi)有意義。閔可夫斯基距離是把上面這些統(tǒng)一起來(lái)的通式參數(shù)p決定具體形態(tài)p1是曼哈頓p2是歐氏p→∞是切比雪夫距離取各維度差值的最大值。sklearn里metricminkowski, p2就是歐氏距離。還有幾個(gè)值得知道但少用的馬氏距離考慮了特征之間的協(xié)方差能消除特征相關(guān)性影響但對(duì)小樣本估計(jì)協(xié)方差矩陣不穩(wěn)漢明距離專(zhuān)門(mén)給離散/二值特征用Jaccard用于集合相似度。選距離度量的判斷順序我一般是這樣的特征有明確物理量綱且相互獨(dú)立→歐氏存在離群點(diǎn)或分布偏斜→曼哈頓向量方向比大小重要→余弦特征間強(qiáng)相關(guān)→考慮馬氏或先做PCA去相關(guān)。2.3 投票規(guī)則與距離加權(quán)標(biāo)準(zhǔn)做法是等權(quán)投票K個(gè)鄰居一人一票。但這里有個(gè)隱含問(wèn)題——K5的時(shí)候最近的鄰居距離可能是1.0最遠(yuǎn)的那個(gè)可能是3.0它們的話(huà)語(yǔ)權(quán)完全一樣這顯然不太合理。weightsdistance就是來(lái)解決這個(gè)的每個(gè)鄰居的票權(quán)按距離的倒數(shù)分配。距離越近權(quán)重越大距離趨近于0時(shí)權(quán)重趨于無(wú)窮大。實(shí)現(xiàn)上sklearn用的是1/d而不是嚴(yán)格的1/d2避免數(shù)值爆炸。效果上距離加權(quán)在小K時(shí)通常能提升一點(diǎn)準(zhǔn)確率尤其在類(lèi)別邊界附近但在噪聲多的數(shù)據(jù)上反而可能放大單個(gè)異常點(diǎn)的影響。我的實(shí)測(cè)經(jīng)驗(yàn)是數(shù)據(jù)干凈、邊界清晰比如鳶尾花等權(quán)和距離加權(quán)差別在1個(gè)百分點(diǎn)以?xún)?nèi)數(shù)據(jù)噪聲大、密度不均等權(quán)反而更穩(wěn)?;貧w任務(wù)里KNN就是取鄰居標(biāo)簽的均值或加權(quán)均值邏輯完全對(duì)應(yīng)。分類(lèi)投票、回歸平均這是同一套思想的兩種輸出形式。2.4 維度災(zāi)難KNN在高維空間為什么會(huì)失靈這一條很關(guān)鍵但很多教程一筆帶過(guò)。高維空間里距離這個(gè)概念會(huì)鈍化。設(shè)想在一維區(qū)間[0,1]里隨機(jī)撒點(diǎn)最近鄰的距離大概在1/N量級(jí)在100維的單位超立方體里撒點(diǎn)任意兩點(diǎn)之間的距離會(huì)高度集中在一個(gè)很窄的范圍內(nèi)最近鄰和最遠(yuǎn)鄰的距離比值趨近于1。這意味著什么意味著最近的那個(gè)鄰居并不比隨便挑一個(gè)點(diǎn)近多少KNN的局部性假設(shè)直接崩塌。有個(gè)粗略的經(jīng)驗(yàn)說(shuō)法KNN在維度超過(guò)20左右就要小心了超過(guò)50基本只能靠降維或者換算法。這不是硬閾值跟樣本量有關(guān)——樣本量隨維度指數(shù)增長(zhǎng)才夠用所以維度和樣本量的關(guān)系比單純的維度數(shù)字更重要。對(duì)策很實(shí)在先做特征選擇把明顯無(wú)關(guān)的維度砍掉。用PCA或者別的降維手段壓到低維再跑KNN很多時(shí)候比直接堆全特征效果還好。如果維度確實(shí)高比如embedding檢索不要用暴力搜索改用近似最近鄰HNSW、IVF之類(lèi)的索引結(jié)構(gòu)現(xiàn)代向量檢索基本都是把這個(gè)思路工程化。2.5 特征縮放不做這一步后面全是白干標(biāo)準(zhǔn)化公式很基礎(chǔ)但值得寫(xiě)清楚因?yàn)楹芏嗉?xì)節(jié)在為什么這么算上$$z \frac{x - \mu}{\sigma}$$其中 μ 是訓(xùn)練集上該特征的均值σ 是訓(xùn)練集上該特征的標(biāo)準(zhǔn)差。變換之后每個(gè)特征的均值是0標(biāo)準(zhǔn)差是1。標(biāo)準(zhǔn)化不改變分布形狀只改尺度和位置。這里有兩個(gè)必須記住的操作禁忌計(jì)算 μ 和 σ 只能用訓(xùn)練集然后把這個(gè) μ、σ 應(yīng)用到驗(yàn)證集和測(cè)試集上。如果用全體數(shù)據(jù)算均值和方差再切分測(cè)試集的信息就泄漏進(jìn)訓(xùn)練過(guò)程了評(píng)估結(jié)果會(huì)虛高。正確做法是scaler.fit(X_train)后scaler.transform(X_test)或者用Pipeline把縮放和模型綁在一起。StandardScaler 對(duì)常數(shù)列標(biāo)準(zhǔn)差為0處理時(shí)會(huì)把該列置0不會(huì)報(bào)錯(cuò)但那一維就廢了。如果某個(gè)特征在訓(xùn)練集里只有一個(gè)值請(qǐng)?zhí)崆白R(shí)別出來(lái)刪掉。除了StandardScaler還有幾種常見(jiàn)選擇MinMaxScaler把值壓到[0,1]適合需要固定范圍或者稀疏數(shù)據(jù)RobustScaler用中位數(shù)和四分位距對(duì)離群點(diǎn)更穩(wěn)Normalizer是行歸一化改的是樣本向量的模長(zhǎng)而不是列的分布別和標(biāo)準(zhǔn)化搞混。在鳶尾花上標(biāo)準(zhǔn)化的影響其實(shí)不大因?yàn)樗膫€(gè)特征本來(lái)就在同一量級(jí)厘米歐氏距離不會(huì)嚴(yán)重失衡。但為了養(yǎng)成習(xí)慣也因?yàn)檫@是通用流程的一部分正式代碼里我還是會(huì)加上。這個(gè)習(xí)慣在你自己接手的真實(shí)數(shù)據(jù)上價(jià)值巨大——我踩過(guò)的最隱蔽的一次坑就是一個(gè)以元為單位的價(jià)格特征和一個(gè)以百分比為單位的比率特征混在一起KNN的準(zhǔn)確率一直在60%左右徘徊標(biāo)準(zhǔn)化之后直接跳到88%。3. 鳶尾花數(shù)據(jù)集實(shí)操?gòu)募虞d到評(píng)估的完整流程3.1 加載數(shù)據(jù)與第一輪觀察先用sklearn自帶的版本省去下載和清洗的功夫。import numpy as np import pandas as pd from sklearn.datasets import load_iris iris load_iris() X pd.DataFrame(iris.data, columnsiris.feature_names) y pd.Series(iris.target, nametarget) print(X.shape) # (150, 4) print(y.value_counts()) # 每類(lèi)各50 print(X.describe().round(2))跑出來(lái)你會(huì)看到各特征的范圍花萼長(zhǎng)度4.3到7.9花萼寬度2.0到4.4花瓣長(zhǎng)度1.0到6.9花瓣寬度0.1到2.5。四個(gè)特征量綱一致但分布寬度差了一倍多花瓣寬度的標(biāo)準(zhǔn)差比花萼寬度小不少說(shuō)明花瓣相關(guān)的特征區(qū)分度可能更高。再看一下類(lèi)別分布三個(gè)類(lèi)各50條完全均衡。這一點(diǎn)很重要——均衡數(shù)據(jù)上準(zhǔn)確率這個(gè)指標(biāo)才可信如果是9:1的不均衡數(shù)據(jù)全猜多數(shù)類(lèi)也有90%準(zhǔn)確率那時(shí)候必須看混淆矩陣、看每類(lèi)的precision和recall。還有一個(gè)必做的動(dòng)作看特征之間的相關(guān)性。print(X.corr().round(2))在鳶尾花上花瓣長(zhǎng)度和花瓣寬度的相關(guān)系數(shù)大約0.96花萼長(zhǎng)度和花瓣長(zhǎng)度大約0.87。高度相關(guān)意味著信息冗余對(duì)KNN來(lái)說(shuō)不致命它不像線(xiàn)性回歸那樣有共線(xiàn)性問(wèn)題但確實(shí)意味著你在重復(fù)計(jì)權(quán)同一個(gè)維度。這也是后面能不能做PCA降維的依據(jù)之一。我一般還會(huì)畫(huà)一下散點(diǎn)圖用花瓣長(zhǎng)度和花瓣寬度做二維投影肉眼就能看出三類(lèi)基本是分開(kāi)的其中一類(lèi)setosa和另外兩類(lèi)完全線(xiàn)性可分另外兩類(lèi)之間只有少量交疊。這解釋了為什么這個(gè)數(shù)據(jù)集的準(zhǔn)確率天花板在96%到98%之間——那2%到4%的錯(cuò)誤幾乎全部來(lái)自后兩類(lèi)的邊界樣本無(wú)論你怎么調(diào)K都是這個(gè)數(shù)。3.2 數(shù)據(jù)劃分與標(biāo)準(zhǔn)化的正確姿勢(shì)劃分訓(xùn)練測(cè)試集固定隨機(jī)種子保證可復(fù)現(xiàn)from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test train_test_split( X, y, test_size0.2, random_state42, stratifyy )stratifyy這個(gè)參數(shù)一定要加。它保證訓(xùn)練集和測(cè)試集里的類(lèi)別比例與原數(shù)據(jù)一致。150條數(shù)據(jù)、3個(gè)類(lèi)如果不分層隨機(jī)切出30條測(cè)試集有概率某一類(lèi)只分到6條甚至更少評(píng)估結(jié)果波動(dòng)會(huì)很大。分層之后每類(lèi)在測(cè)試集里穩(wěn)定出現(xiàn)10條。然后是標(biāo)準(zhǔn)化注意順序from sklearn.preprocessing import StandardScaler scaler StandardScaler() X_train_scaled scaler.fit_transform(X_train) # fit和transform都在訓(xùn)練集 X_test_scaled scaler.transform(X_test) # 只用transform這里有個(gè)細(xì)節(jié)fit_transform(X_train)之后scaler.mean_和scaler.scale_就固定了transform(X_test)用的是訓(xùn)練集的統(tǒng)計(jì)量。如果你寫(xiě)成scaler.fit_transform(X_test)那就是徹頭徹尾的數(shù)據(jù)泄漏測(cè)試集的均值方差參與了變換評(píng)估結(jié)果會(huì)偏樂(lè)觀。這個(gè)坑極其常見(jiàn)我在代碼review里見(jiàn)過(guò)不止一次。更穩(wěn)妥的寫(xiě)法是直接用Pipeline把縮放和模型串成一體交叉驗(yàn)證的時(shí)候sklearn會(huì)自動(dòng)保證每一折的縮放只在該折的訓(xùn)練部分?jǐn)M合from sklearn.pipeline import Pipeline from sklearn.neighbors import KNeighborsClassifier pipe Pipeline([ (scaler, StandardScaler()), (knn, KNeighborsClassifier(n_neighbors5)) ])用Pipeline最大的好處不是代碼短是從結(jié)構(gòu)上消滅了忘記順序的可能性。我現(xiàn)在的習(xí)慣是只要涉及任何需要fit的預(yù)處理一律走Pipeline不給自己犯錯(cuò)的機(jī)會(huì)。3.3 建模、預(yù)測(cè)與評(píng)估from sklearn.metrics import accuracy_score, classification_report, confusion_matrix pipe.fit(X_train, y_train) y_pred pipe.predict(X_test) print(f準(zhǔn)確率: {accuracy_score(y_test, y_pred):.4f}) print(confusion_matrix(y_test, y_pred)) print(classification_report(y_test, y_pred, target_namesiris.target_names))默認(rèn)K5跑出來(lái)測(cè)試集準(zhǔn)確率通常在0.93到0.97之間浮動(dòng)取決于random_state。混淆矩陣會(huì)顯示錯(cuò)誤集中在那兩個(gè)容易混的類(lèi)之間。光看一個(gè)測(cè)試集的結(jié)果不夠30條樣本錯(cuò)一條就是3.3個(gè)百分點(diǎn)波動(dòng)太大。養(yǎng)成習(xí)慣用交叉驗(yàn)證from sklearn.model_selection import cross_val_score scores cross_val_score(pipe, X, y, cv5, scoringaccuracy) print(f5折CV: {scores.mean():.4f} ± {scores.std():.4f})5折交叉驗(yàn)證用的是全部150條數(shù)據(jù)每一折都有120條訓(xùn)練、30條驗(yàn)證最后取5次平均。這個(gè)數(shù)字比單次train_test_split穩(wěn)定得多也是我用來(lái)判斷模型好壞的主要依據(jù)。注意這里的cross_val_score傳入的是完整的X和y內(nèi)部會(huì)自己切分——Pipeline保證了每一折的縮放只在訓(xùn)練折上擬合所以沒(méi)有泄漏。還有一個(gè)指標(biāo)值得看一眼predict_proba。proba pipe.predict_proba(X_test[:5]) print(proba.round(3))KNN輸出的概率就是K個(gè)鄰居里各類(lèi)的占比。K5的話(huà)概率只可能是0、0.2、0.4、0.6、0.8、1.0這幾檔粒度非常粗。如果你需要比較細(xì)的概率估計(jì)比如做排序或者閾值調(diào)整KNN不是好選擇它的概率沒(méi)經(jīng)過(guò)校準(zhǔn)??梢杂肅alibratedClassifierCV包一層或者干脆換邏輯回歸。3.4 手寫(xiě)一遍KNN把黑箱拆開(kāi)調(diào)包調(diào)通了不代表懂了。我強(qiáng)烈建議每個(gè)人手寫(xiě)一遍代碼不超過(guò)40行import numpy as np from collections import Counter class SimpleKNN: def __init__(self, k3, p2): self.k k self.p p def fit(self, X, y): self.X_train np.asarray(X, dtypefloat) self.y_train np.asarray(y) return self def _dist(self, a, b): if self.p 1: return np.abs(a - b).sum(axis1) if self.p 2: return np.sqrt(((a - b) ** 2).sum(axis1)) return np.max(np.abs(a - b), axis1) def predict(self, X): X np.asarray(X, dtypefloat) preds [] for x in X: d self._dist(x, self.X_train) idx np.argsort(d)[:self.k] votes Counter(self.y_train[idx]) preds.append(votes.most_common(1)[0][0]) return np.array(preds)寫(xiě)完自己手動(dòng)標(biāo)準(zhǔn)化一下再跑mu, sigma X_train.mean(0), X_train.std(0) Xtr (X_train - mu) / sigma Xte (X_test - mu) / sigma knn SimpleKNN(k5).fit(Xtr.values, y_train.values) pred knn.predict(Xte.values) print((pred y_test.values).mean())結(jié)果應(yīng)該和sklearn基本一致。手寫(xiě)的價(jià)值在于你會(huì)親眼看到預(yù)測(cè)這一步是O(N×D)的計(jì)算N是訓(xùn)練樣本數(shù)D是維度。這解釋了為什么KNN預(yù)測(cè)慢、為什么大數(shù)據(jù)量下必須上索引結(jié)構(gòu)。你也會(huì)看到argsort是整個(gè)流程的瓶頸——實(shí)際上只需要前K個(gè)用argpartition會(huì)快很多工業(yè)實(shí)現(xiàn)里還會(huì)用堆或者樹(shù)結(jié)構(gòu)。順便說(shuō)一個(gè)優(yōu)化點(diǎn)很多人不知道sklearn的KNN可以預(yù)計(jì)算距離矩陣在特征不變、只反復(fù)調(diào)K的場(chǎng)景下能省一半時(shí)間還有一個(gè)更實(shí)用的技巧是設(shè)置algorithmauto之外顯式指定kd_tree或ball_tree在低維中等數(shù)據(jù)量下比暴力搜索快一個(gè)數(shù)量級(jí)。4. 調(diào)參與性能優(yōu)化把準(zhǔn)確率從96%推到98%4.1 用網(wǎng)格搜索找K和權(quán)重手工試K效率太低直接上GridSearchCV。注意要搜的參數(shù)在Pipeline里帶前綴from sklearn.model_selection import GridSearchCV param_grid { knn__n_neighbors: list(range(1, 31, 2)), knn__weights: [uniform, distance], knn__p: [1, 2] } grid GridSearchCV(pipe, param_grid, cv5, scoringaccuracy, n_jobs-1) grid.fit(X, y) print(grid.best_params_) print(f{grid.best_score_:.4f})參數(shù)空間是15×2×260組每組5折一共300次訓(xùn)練加預(yù)測(cè)在鳶尾花這種規(guī)模上幾秒鐘就跑完了。一個(gè)觀察跑完之后你大概率會(huì)發(fā)現(xiàn)最優(yōu)的K落在3到11之間weights是uniform還是distance差距很小p是1還是2差距也很小。這說(shuō)明在這個(gè)數(shù)據(jù)集上這些超參并不敏感。這時(shí)候別再糾結(jié)了挑一個(gè)泛化誤差曲線(xiàn)平臺(tái)區(qū)靠中間的值定下來(lái)把精力放到別的地方去。但有一種情況需要注意GridSearchCV用的是同一份數(shù)據(jù)做交叉驗(yàn)證選參數(shù)然后再用同一個(gè)best_score_報(bào)告結(jié)果這個(gè)數(shù)字會(huì)略微偏樂(lè)觀因?yàn)閰?shù)是在這同一批數(shù)據(jù)上挑出來(lái)的最優(yōu)值。嚴(yán)格的評(píng)估應(yīng)該留一個(gè)從不參與調(diào)參的測(cè)試集最后單獨(dú)跑一次。我一般這么切先分出20%測(cè)試集鎖起來(lái)剩下80%做交叉驗(yàn)證調(diào)參最后用那20%報(bào)最終結(jié)果且只報(bào)一次。4.2 縮放方式對(duì)結(jié)果的對(duì)比實(shí)驗(yàn)這個(gè)實(shí)驗(yàn)值得親手做一遍體會(huì)一下預(yù)處理選擇會(huì)直接影響指標(biāo)。from sklearn.preprocessing import MinMaxScaler, RobustScaler from sklearn.model_selection import cross_val_score for name, sc in [(none, None), (standard, StandardScaler()), (minmax, MinMaxScaler()), (robust, RobustScaler())]: steps [(knn, KNeighborsClassifier(n_neighbors5))] if sc: steps.insert(0, (scaler, sc)) p Pipeline(steps) s cross_val_score(p, X, y, cv5) print(f{name:9s} {s.mean():.4f} ± {s.std():.4f})在鳶尾花上你會(huì)看到不縮放的結(jié)果其實(shí)只差一點(diǎn)點(diǎn)因?yàn)樗膫€(gè)特征量綱本來(lái)就接近。但如果我把花萼寬度乘以100模擬量綱差異不縮放的準(zhǔn)確率會(huì)立刻掉到0.6以下而標(biāo)準(zhǔn)化版本紋絲不動(dòng)。這個(gè)對(duì)比實(shí)驗(yàn)我每次帶人做都會(huì)做沖擊感比講十遍原理都強(qiáng)。順便提一個(gè)邊界情況如果數(shù)據(jù)里有明顯的極端離群點(diǎn)StandardScaler會(huì)被拉偏因?yàn)榫岛蜆?biāo)準(zhǔn)差都受離群值影響這時(shí)候RobustScaler通常更穩(wěn)。判斷方法很簡(jiǎn)單畫(huà)個(gè)箱線(xiàn)圖看看就清楚了。4.3 大數(shù)據(jù)量下的加速思路鳶尾花只有150條談性能優(yōu)化有點(diǎn)奢侈。但既然講到這把思路說(shuō)清楚對(duì)將來(lái)有用。暴力搜索的復(fù)雜度預(yù)測(cè)單個(gè)樣本是O(N×D)N條查詢(xún)就是O(N×M×D)。N到十萬(wàn)級(jí)、D到百級(jí)單次預(yù)測(cè)就要上千萬(wàn)次運(yùn)算這是不可接受的。第一條路是空間索引。KD樹(shù)在低維經(jīng)驗(yàn)上D20能顯著加速本質(zhì)是把空間遞歸二分查詢(xún)時(shí)剪枝掉不可能包含近鄰的分支。Ball Tree對(duì)高維稍好一些用超球體代替超矩形切分。sklearn里algorithm參數(shù)支持這兩種設(shè)置auto會(huì)讓它自動(dòng)選。但注意維度一高這些樹(shù)的剪枝效率急劇下降最后退化成接近暴力搜索。第二條路是近似最近鄰ANN。放棄精確找到最近的K個(gè)轉(zhuǎn)而以很高概率找到足夠近的K個(gè)換來(lái)數(shù)量級(jí)的速度提升。常見(jiàn)思路有基于圖的把樣本連成近鄰圖查詢(xún)時(shí)在圖上貪心游走、基于量化的把向量空間分桶只在附近桶里找、基于哈希的。這些在檢索場(chǎng)景已經(jīng)成為標(biāo)配文本、圖像、向量數(shù)據(jù)庫(kù)底層基本都是這套東西。第三條路是降維。PCA降到幾十維再跑既緩解維度災(zāi)難又直接降低每次距離計(jì)算的成本雙贏。前提是降維后保留的方差足夠一般看累計(jì)解釋方差到95%以上。第四條路是工程手段預(yù)計(jì)算距離矩陣、批量向量化用矩陣運(yùn)算代替循環(huán)、把訓(xùn)練集常駐內(nèi)存避免重復(fù)加載、用更緊湊的數(shù)據(jù)類(lèi)型float32代替float64內(nèi)存減半、速度提升。這些都是實(shí)現(xiàn)層面的小優(yōu)化累加起來(lái)也很可觀。5. 常見(jiàn)問(wèn)題與排查實(shí)錄5.1 準(zhǔn)確率異常低按這個(gè)順序排查我整理了一個(gè)排查順序從最常見(jiàn)的開(kāi)始第一檢查是否做了縮放。這是頭號(hào)原因占比超過(guò)一半。特征量綱差異大而沒(méi)縮放KNN基本等于只在一個(gè)特征上做判斷。第二檢查縮放是不是做在了劃分之前。如果先對(duì)全量數(shù)據(jù)fit_transform再切分雖然準(zhǔn)確率會(huì)虛高而不是變低但另一個(gè)常見(jiàn)錯(cuò)誤是把fit_transform用在了測(cè)試集上這會(huì)導(dǎo)致訓(xùn)練和測(cè)試的變換標(biāo)準(zhǔn)不一致結(jié)果可能變得很奇怪。第三檢查有沒(méi)有把ID、時(shí)間戳之類(lèi)的列喂進(jìn)去。這類(lèi)特征的距離沒(méi)有語(yǔ)義會(huì)嚴(yán)重稀釋真實(shí)特征的作用。特征列一定要手動(dòng)點(diǎn)一遍名。第四檢查類(lèi)別是否極度不平衡。不平衡時(shí)KNN會(huì)傾向于預(yù)測(cè)多數(shù)類(lèi)整體準(zhǔn)確率看起來(lái)還行但少數(shù)類(lèi)的召回率慘不忍睹。這時(shí)候要看每類(lèi)的指標(biāo)并考慮用weightsdistance或者對(duì)多數(shù)類(lèi)下采樣。第五檢查K值是不是太大。K接近樣本數(shù)時(shí)模型退化所有預(yù)測(cè)趨同。第六檢查是否存在重復(fù)樣本或近重復(fù)樣本導(dǎo)致的泄漏。如果同一條數(shù)據(jù)或幾乎相同的樣本同時(shí)出現(xiàn)在訓(xùn)練集和測(cè)試集KNN會(huì)直接背答案準(zhǔn)確率高得離譜。這在做過(guò)數(shù)據(jù)增強(qiáng)或者按時(shí)間切分不當(dāng)?shù)膱?chǎng)景里很常見(jiàn)。5.2 問(wèn)題速查表現(xiàn)象最可能的原因處理方式準(zhǔn)確率明顯低于預(yù)期未做特征縮放加StandardScaler走Pipeline準(zhǔn)確率虛高接近100%數(shù)據(jù)泄漏或重復(fù)樣本檢查切分邏輯去重縮放只在訓(xùn)練集fit訓(xùn)練集100%、測(cè)試集很差K過(guò)小過(guò)擬合增大K用交叉驗(yàn)證選值所有樣本預(yù)測(cè)成同一類(lèi)K過(guò)大或類(lèi)別極不平衡減小K處理不平衡調(diào)參后提升很小超參不敏感或特征信息不足轉(zhuǎn)去做特征工程別死磕超參維度很高時(shí)效果崩塌維度災(zāi)難特征選擇或降維換ANN索引預(yù)測(cè)速度很慢暴力搜索大樣本KD樹(shù)/Ball樹(shù)或近似檢索概率輸出只有幾檔KNN概率粒度等于1/K增大K或用概率校準(zhǔn)5.3 幾個(gè)我踩過(guò)的坑寫(xiě)下來(lái)省你時(shí)間坑一把predict和predict_proba的結(jié)果混用。前者返回類(lèi)別標(biāo)簽后者返回各類(lèi)占比。有次我在做閾值篩選直接把predict的結(jié)果當(dāng)概率去比較大小邏輯全錯(cuò)排查了半天才發(fā)現(xiàn)類(lèi)型不對(duì)??佣雎蕴卣鞯南嚓P(guān)性做特征越多越好的判斷。加了一堆高度相關(guān)的特征KNN的距離計(jì)算里同一個(gè)信息被反復(fù)計(jì)權(quán)效果反而下降。加特征之前先看相關(guān)性矩陣。坑三在時(shí)間序列數(shù)據(jù)上隨機(jī)切分。KNN天然會(huì)把未來(lái)的信息帶到過(guò)去因?yàn)橄嗨频臉颖驹跁r(shí)間上往往相鄰。時(shí)間序列必須按時(shí)間切分否則評(píng)估結(jié)果毫無(wú)意義??铀囊詾閚_neighbors是唯一要調(diào)的。實(shí)際上metric的選擇在文本、embedding類(lèi)任務(wù)上比K的影響大得多很多人壓根沒(méi)試過(guò)換度量??游逶谛颖旧线^(guò)度相信單次評(píng)估結(jié)果。150條數(shù)據(jù)測(cè)試集30條多對(duì)一個(gè)少對(duì)一個(gè)就是3.3個(gè)百分點(diǎn)。一定要用交叉驗(yàn)證并且報(bào)出均值±標(biāo)準(zhǔn)差而不是報(bào)一個(gè)孤零零的數(shù)字。坑六忘記固定隨機(jī)種子。每次跑結(jié)果都不一樣調(diào)試的時(shí)候根本不知道變化是來(lái)自你的改動(dòng)還是來(lái)自切分。random_state是必備參數(shù)不是可選項(xiàng)。我在實(shí)際使用中的一個(gè)體會(huì)是KNN看起來(lái)是最簡(jiǎn)單的算法之一但它對(duì)數(shù)據(jù)質(zhì)量的敏感度在所有常見(jiàn)模型里排前列。線(xiàn)性模型還能靠權(quán)重把噪聲特征壓下去樹(shù)模型還能靠分裂點(diǎn)忽略無(wú)用維度KNN不行——你給它什么特征它就老老實(shí)實(shí)按這些特征算距離一維都不能糊弄。所以用好KNN的關(guān)鍵從來(lái)不在算法本身而在數(shù)據(jù)準(zhǔn)備那幾步特征選得準(zhǔn)不準(zhǔn)、量綱統(tǒng)一了沒(méi)有、有沒(méi)有混進(jìn)偽特征。把這幾步做扎實(shí)KNN在很多中小規(guī)模問(wèn)題上依然是個(gè)又便宜又穩(wěn)的基線(xiàn)值得在項(xiàng)目早期就先跑一遍看看天花板在哪。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷视频在线碰| 五月天婷婷基地丁香| 丁香婷婷五月综合| 五月丁香天堂网婷婷| 久久码久久无清| 激情综合五月婷婷| 五月天婷婷综合网| 九九免费在线视频| 丁香综合婷婷开心激情网| 婷婷五月天久久久| 99成人精品六| AA片在线观看视频在线播放| 91色综合网| 99爱免费在线视频| 97色色-99久久| 亚洲成片在线观看| AV中文网| 日本狠狠干| 99热97| 五月婷综合性中心| 亚洲天堂亚洲色色色| 伊人婷婷91| 欧美成人在线观看| 99无码精品| www.五月婷婷.com| 色婷久| 婷婷五月无码| 六月婷婷亚洲| 成人色色综合| 亲子乱AV-区二区三区| 日韩黄黄| 九九 激情 网| 亚洲狠狠干| 激情五月天婷婷视频| 丁香五月婷婷狠狠色| 亭亭色网| 综合网色综合| yw国产AV| 综合色、色综合| www.夜夜| 熟妇人妻中文字幕无码老熟妇| 丁香五月骚喷水视频| caop在线| 五月丁香久久呀| 亚州第一黄网| 91麻豆国产三级精品福利在线观看| 九九热AV| 欧美色图天堂网| 97se在线视频| 亚洲另类在线观看| 成人AV免费观看| 亚洲激情高潮| 99热国产在| 免费亚洲婷婷中文字幕| 91pornav在线| 丁香五月影视| 五月开心网| www.zbzhongsen.com| 亚洲色图五月丁香五月婷婷| 婷婷激情五月天桃花网| 成人视频免费观看高清完整版在线观看| 久久大大香| 婷婷色色网站| 亚洲精品国产A久久久久久| 久久五月天综合| 九九热99免费视频| 六月丁香网| 秋霞电影一级黄| 免费AV播放| 亚洲XX网| 九九综合网色全集| 色综合狠狠色| 婷婷综合色图| 亚洲在线操| 亚洲AV第二区国产精品| 非洲一级AV| www.com任你艹| 9|在线观看视频| 99综合久久| 久操综合| 99热这里是精品| 任你爽视频| 香蕉婷婷| 色五月播五月| 熟女少妇内射日韩亚洲| 中文字幕人妻一区二区| www夜夜操comwww| 五月丁香综合久久| 五月婷婷六月色| 综合五月丁香六月婷婷| 99操逼| 九九操操| 丁香婷婷激情综合五月激情| 噜综合| 人人色性网| 色综合性视频| 开心激情网在线| 亚洲色五月婷婷| 大天天伊人| 超碰日日操| 六月丁香啪| 六月激情婷婷| 99热成人| 琪琪狠狠干| 色婷婷狠狠| 综合久久99| 天天干天天操| 色色亚洲五月天| 99re思思热久久| 婷婷五月色播| 九九热在线精品| 被强行糟蹋的女人A片| 五月婷婷久久大片| 欧美五月婷婷综合| 久久婷婷色综合| 99热18| yazhou seshipin| 激情五月婷婷中文字幕| 激情噜噜噜| 大香蕉婷婷五月| 婷婷九月| 综合久久狠狠| 六月丁花香啪啪激情欧美| 大伊久久| 亚美欧色影院| 人人爽亚洲| 五月丁香婷婷老司机| 天天爽天天操| 中文字幕综合色| 日韩在线观看亚洲| 再綫Av免费視品| 婷婷 激情 五月| 午夜不卡成人一区二区| 十一月婷婷激情四射| 大香蕉精品视频| 99性爱视频| 五月天久久小说| 爱超碰性| 亚洲成人网站在线播放| 婷婷丁香五月,狠狠综合| 六月色播| 99热99成人| 激情五月婷| 激情综合网婷婷久久| 婷婷月综合| 色丁香五月婷婷在线| 五月丁香婷婷成人网| 狠狠干婷婷| 色婷婷色久综| 超碰人妻公开在线| 日本激情五月天‘| 国产AV一区二区三区最新精品 | 色六月婷婷| 色综合另类| 亚洲成人综合网在线免费观看| 五月婷婷激情色情网| 色99自拍| 婷婷十月激情综合网| 国产熟女大叫受不了| 激情色色| 激情五月丁香五月| AⅤ网站在线看| www.婷婷六月天| 超碰成人电影| 超碰电影在线播放| 婷婷五月天资源| 99热这里有精品| 久久婷婷五月天激情| 综合激情深爱| 九九久久精品國產| 五月婷婷激情性爱| 青草视频在线播放| 婷婷六月久久| 久操97| 激情五月丁香五月| 97人妻碰碰中文无码久热丝袜| 99操碰| 日日干五月天婷婷| 亚洲综合色婷| 4399在线日本A片| 色天天综合| 三级毛片7979| 五月天成人在线视频丁香| 超碰97在线观看免费| 三级大香蕉网| 国产色色网站网址| 丁香六月婷婷综合| 这里只有精彩亚洲视频推荐| 99无码视频| 玖玖伦理电影| 99九九久久| 五月婷六月综合在线观看| 亚洲成人无码网站| 亚洲色9| 国产精品18久久久| 激情综合五月.....| 4438亚洲欧美| 亭亭玉月丁香| 涩五月婷婷| 五月婷婷伊人网| 青青草大香| 五月婷婷六月丁香色| 99热 在线播放| av在线免费网站 | 色婷婷久久| 另类激情综合| 激情五月天色网站| 97操碰日本女人| 色婷婷狠狠18禁| 欧美韩日AAA网站| 五月天激情网址| 欧美日韩91| 伊人久久五月天综合| 久久的爱大香蕉| 五月丁香色综合| 五月婷婷之综合激情| 伊人婷婷青青cao| 色五月色开心开心五月| 国产精品99久久久久久久女警 | 99riAV国产精品视频| 精品一区二区三区四区五区六区介绍 | 色婷婷色五月另类综合| 播播网色播播| 色狠狠综合网| 精品色色| 丁香五月天资源网| 婷婷五月天激情基地| 丁香五月六月久久综合 | 天天天天操| 思思热视频在线观看| site:picc-up.com| 新99思思视频| 五月视频日本免费观看| 开心丁五月| 成人电影在线免费试看| 国产中文字幕在线视频免费观看 | 国产成人av在线| 九九九AAA热视频| 天天做天天爱天天爽| 精品成人在线观看| 亚洲综合久| 五月天天爽| 婷婷丁香激情| 99视频这里只有精品10| 女人天堂AV| 天堂综合久久 | 人人操 色| 丁香五月婷婷激情97| 色色无码| 丁香五月激情啪啪| 99精品偷自拍| 久久R激情| 丁香五月婷婷基地| 香蕉婷婷五月| 久热天堂| 1000部毛片A片免费观看| A在线观看| 色激情五月| 99性爱| 色五月丁香91| 欧美日本日韩| 天天做天天爱天天做| 九九伦子片| 日韩视频99| 六月天无码网址| 九月丁香| 五月天丁香网| 极品另类| 国产无套精品一区二区| 色五月婷婷色五月| 日本久久爱| 在线VA视频| a网站免费观看| 五月丁香激情怕怕| 热99精品视频五月| 91美女被操| 淫五月停停| 九月婷婷综合| 丁香五月玖玖| 996er热| 五月天丁香综合久久国产| 91超碰在线播放| 超碰人人色| 99ri网站在线观看| 伊人在线视频| 五月婷在线| 欧美大香蕉视频| 99小视频网站| 久久99精品久久只有精品| 人人干人人操人人摸人人做| 婷婷一本和五月丁香| 久久婷婷六月| 激情5月婷婷狠狠干| 六月丁香成人| 99热精品一| 六月丁香婷婷尤物| 久久这里只| 婷婷色欧美激情| 久久九九大香蕉电院| 亚洲五月综合色播| 99精吕视频在线观看了| 久婷婷色| 99精品在线播放| 久久激情五月| 无码任你操| 超碰成人电影| 久久丝袜婷婷| 99久久精品国产色欲| 婷婷综合婷婷| 91色在线/日韩| 狠狠艹狠狠艹| 99re在线观看| 天堂久久丁香| 影音先锋天天日| 亚洲成人av在线播放| 98永久精品| 综合色网站| 97人人操人人| 九九热在线视频,| 精品人妻久久久久久久| 色综合久久88色综合天天99| 丁香五月综合婷婷| 九九视频在线观看视频6| 欧美日韩二区在线| 1024成人在线观看| .精品久久久麻豆国产精品| AA片在线观看视频在线播放| 五月激情小说| www.com在线操视频免费观看| 熟女国产在线一区二区三区四区| 99热这里只有精品1025| 天天操天天操| 色婷婷五月天成人网| 超碰成人免费| 亚洲123区高清入口| 91热网址| 婷婷丁香五月在线播放| 超碰亚洲欧美| 五月天四色房丁香| 午夜天堂一区人妻| 亚洲另类婷婷五月综合| 欧美日韩123| 日本婷婷色| 99亚洲综合| 嫩草视频在线观看| 日本啪啪网| 野战毛片三一3| 99re视频在线播放| 91九色熟女| 99这里有精品视频| 玖玖婷婷色五月| 五月天婷婷丁香社区| 亚洲妇女熟BBW| 久热这里只有精品6官网亚洲| 色情五月天丁香社区| 久久综合香蕉国产国产蜜臀AV| 亚洲精| 色色五月天激情| 五月天婷婷色在线视频免费观看| 五月婷婷婷婷| 婷婷丁香色五月天久久88| 色婷婷小说| 亚洲在线操| 国产精品日日躁夜夜躁| 久月婷婷| 超碰国产在线| 婷婷五月天激情综合网| 色色五月天com| 99精品综合视频| 99热精品99| 亚洲综合久| 色情五月丁香| 激情综合国产| 五月天激情综合网俺也去| 亚洲天堂久久| 26uuu.| 99色综合| 九九精品视频在线6| 伦乱人妻| 超碰成人免费| 深爱激情网五月天| 六月丁香五月婷婷| 色情综合网| 色综合99| 99ri视频在线观看| 亚洲婷婷性爱| 丁香六月婷婷综合麻豆| 99性爱| 日本99在线视频| 中文乱子伦视频| 欧美性生交XXXXX无码小说| 99久久婷婷国产综合| 日本高清综合网五月丁香| 国产精品久久久久9999小说 | 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 五月激情六月丁香| 91精品国产色猫| 操嫩逼电影| 亚洲九九夜夜| 婷婷的五月天另类视频| 无码少妇高潮喷水A片免费| 激情www| 91热视频色网站| 99操逼| a级毛片一区二区免费视频| 99 频99热国里只有精品| 色五月婷婷五月| 亚洲天堂爱爱| 色播五月网| 色婷婷狠狠禁久久| 五月激情网站| 九月大香蕉| 久久人妻伊人| 亚洲免费视频网站| 99视频35精品视频在线观看| 狠狠干综合网| 免费黄色片子| 激情综合播播| 男人综合网| 成人国产网站在线免费看| 五月婷婷九| 激情五婷网| 96丁香婷婷九月蜜桃综合久久| 狠狠五月激情丁香六月| 欧美va欧美va差| 狠狠搞五月天| 91疯狂操操操操| 国产成人精品一区二区三区视频| 99视频精品| 天天插天天插天天插| 99爱视频精品| 五月天丁香成人社| 日韩大片艹艹| 日本97在线看片| 99热精品在线观看| 色五月av| 九九AV| 久久九九国产精品怡红院| 激情五月天之五月婷婷| 综合五月天亚洲婷婷| 色偷偷色婷婷| 成人婷99最新| 丁香花五月天| 4438成人电影| 丁香五月综合| 日日夜夜久| 日韩欧美老妇性视频91久久久| 久久久久99精品成人网站| 欧美激情VA永久在线播放| 91精品综合久久婷婷九色| 26UUU欧美| 狠狠色婷婷丁香六月| 久久婷婷免费| 综合大香蕉| 99惹| 五月色亚洲| 五月婷婷中文字幕| 天天摸人人摸| 九月婷婷久久| 婷婷五月天亚洲综合网| 综合激情五月天| 99热在线中文字幕| 97碰超级人人看| 九九视频在线观看视频6 | 99热在线观看亚洲区| 在线观看免费狠狠色丁香香综合 | 婷婷六月激情| 东京热伊人| 成人五月天丁香| 中文字幕在线资源| 五月熟妇婷婷久久| 欧美Va在线| 综合深爱五月| 婷婷五月丁香六月| 思思热视频| 五月天婷婷激情| www九九热| 亚洲精品又粗又大又爽A片| 97在线观视频免费观看| 九九九九九九热| 无码AV大香线蕉伊人| 潮汕成人AV片在线| 久久免费操| 国产免费一区二区在线A片视频| 狠狠操综合| 亚洲综合字幕色色| 天天射天天射一道本日本社区 | 色五月综合| 99ri精品在线| 国产精品久久久久久久久久| 丁香狠狠色婷婷久久无码视频| 31色区视频免费看| 综合啪啪| 综合色综合| 色播五月网| www.五月婷婷久久.com| 精品夜夜澡人妻无码AV| 欧美婷婷九月| 99亚色色色| 天天日天天操天天干| 天天色综网| 五月丁香久久网| 久久性爱视频| 天堂网色婷婷| 99热这里只有精品98| 激情久久综合网| 色域五月婷婷丁香| 激情图片亚洲| 婷婷之六月丁香| 超级黄色片| 六月丁香成人| 色色色色色色色色色色色色色色,网站| 丁香五月天激情综合| 五月婷婷久久大香蕉| 夜夜躁爽日| 天天天日天天天干| 欧美Va在线| 五月天婷婷色播| 99色6爱9热| 精品乱码视频| 激情婷婷五月久久| AV中文在线| 九色91视频| 综合色吧| 99男人天堂| 99热日| 99五月婷| 先锋资源91| 色综合久久88色综合天天看| 成人免费va| 色停停五月天| 久热这里只有精品6| 五月婷婷在线综合| 婷婷丁香人妻天天爽| 99性爱视频网站| aaa日韩| 五月丁香花开综合网| 久久婷婷一级片| 亭亭五月天黑人2014| 丁香六月成人网| 天天成人综合视频| 欧美精品999| 精品一区二区三区木瓜| 五月丁香六月成人| 91丨九色丨熟女|新版| 婷婷五月天影院| 91一起操| 亚洲V国产V欧美V久久久久久| 99激情| 全部老头和老太XXXXX| 婷婷另类开心| 五月婷婷之激情五月| 婷婷丁香五月欧美人| 九色色| 天天插天天插天天插天天插| 久久五月天色婷婷| 五月丁香啪啪| 久爱综合| 亚洲av午夜精品一区二区| 操逼巨乳91| 五月久久婷婷丁香| VA日本视频| 五月天婷婷在看| 99日韩网站| 色婷婷亚洲婷婷| www.99热视频| 午夜成人片400| 婷婷丁香六月天激情四射网| 超碰93在线观看| 人人爽天天莫| 婷婷六月天亚州| 日日夜夜狠狠| 天天综合网在线| 九九丁香社区欧美激情| 五月天婷婷免费| 五月综合激情视频在线| 狠狠久久婷五月| 激情综合网激情五月天| 国产黄色大片| 天天综合区| 日本精品。999| 1024久婷| 丁香婷婷五月天色综合| 色播五月天激情| 天堂无码人妻精品AV一区| 五月婷婷黄网站大全| 26.uuu丁香五月婷婷| 无码网| 亚洲美女网Va| 亚洲精品久久久久AV无码| WWW久久99久久99久久| 99 re视频一区| 六月婷五月丁香| 亚洲激情综合| 久久综合九色综合97婷婷| 国内久久亭亭| 夜夜爽天操| 97色图片中文字幕视频在线观看| 天天情天天狠天天透| 九九热手机在线视频| 97人人操| 九九精品9| 九九色影视| 五月天婷a| 激情五月丁香五月| 激情綜合網址| 丁香五月天.com| 亚洲天堂热| 五月综合色| 成人AV在线电影| AV伊人青草丁香六月| 综久久久| 色的色综合| 97人人做| 婷婷五月激情综合啪啪| 99热久久最新地址| 777色色色| 色婷婷AⅤ| 26UUU在线观看| 小视频久久久aaa| 精品五月花| 欧美激情五月天在线观看| 婷婷色在线播放| 99热草草| 99精品在| 99性爱| 色色婷| 久久久久婷| 久草婷妨| 五月天五月婷五月激情网| 婷婷丁香六月天| 99爽视频| 极品另类| 丁香五月激情月| 激情五月丁香综合网站| 九八Av| 丁香丁香激情网| 色色色色综合网| 91大屁股精品| 色情五月综合婷婷| www.爱婷婷.com| 天天色综合综合| 99在线精品免费视频| 色五月婷婷天堂| 92久久精品一区二区| 国外亚洲成AV人片在线观看| 综合五月草| 精品五月天| 9操在线| 能看的av| 色五月 五月婷婷| 九九热自拍| 日本婷婷| 国产肏屄大片| 91久久九久久九久久九久久九久久| 97男人天堂| 久久久久久久,99精品视频| 五月天全国最大成人网| 天天揷综合网| www.色擼擼.com| 久久婷婷五月天丁香| 五月丁香六月综合激情网| 超碰人妻公开在线| 色丁香六月| 91seAV| 婷婷爱五月天| 色五月婷婷操逼| 激情综合区| 婷婷午夜| 成人精品一区日本无码网 | 激情五月天视频| 美女天天久久| 天天揷综合网| 九九亚洲视频| 玖玖五月| 天天操人人干| 插少妇综合网| 中文字幕不卡网站| 高清无码网址| 久久97| 开心激情站| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 久99久在线| 一起草AV| 免费视频在线观看的网站| 色综合日日| 人妻五月天激情开心网| 国产免费AV在线| 五月丁香猫咪久久婷婷综合视频激情四射网入口| 久久婷婷成人综合色怡春院| 欧美又粗又大一区二区在线观看| 精品亚洲国产成AV人片传媒| 久久免片| 久久久人妻久久久| 日本eVa一区=区视频| 丁香五月婷老师| www.99热视频| 无码激情AAAAA片-区区| 久久综合五月| 五月天另类小说亚洲| 人妻无码视频网| 五月天激情婷婷| 九九视频免费| Av中文在线| 中文字幕无码人妻少妇免费视频| 色五月超碰| se99视频| 久久久WWW| 91九色最新视频| 五月丁香综合网| 无码一区二区三区四区五区| 91熟妇大香蕉| 思思热在线精品视频| 台湾佬天天日丁香婷婷五月天| 色噜久| 99久热| 色五月婷婷九月| 天天肏屄夜夜爽| 婷婷久久色| 五月综合激情网| 婷婷五月天激情在线| 九九99免费视频| 精品婷婷丁香五| 久久激情五月婷婷| 丁香婷婷视频在线| 五月丁香WWW| 中文字幕激情综合| 色欲五月丁香| 五月天激情小说网| 丁香久久五月婷综合| 99热精品综合| 欧美婷婷六月丁香综合色| 婷婷五月丁香性爱| 五月激情天| 日韩在线9| 午夜色丁香| 日韩一66精品| 人人爱操| 色伊人啪| 天天日P天天射P| 99热亚洲| 可以直接看的AV| 夜夜撸天天操| 五月天激情婷婷丁香| 色噜噜狠狠色综合AV兰草影视| 六月激情网| 91丁香色| 中文字幕丰满孑伦无码专区| 亚洲激情综合| 婷婷五月综合网| 五月丁香最新| 欧美婷婷丁香社区在线播放| 亚洲1区| 久久久18| 久久草中文日韩欧美| 九九精品在线观看视频6| AⅤ色区| 丁香六月婷月91婷月| 久久婷丁香五月| 成人网页在线观看| 丁香亚洲色综合| 色五月丁香com| 日本猛少妇色XXXXX猛叫| 丁香五月天堂网| 婷婷伊人综合中文字幕| 五月天婷婷久久| 五月天开心婷婷激情网站 | 丁香五月婷婷影院| 婷婷五月丁香99| 色香蕉婷婷| ..真实国产乱子伦毛片| 精品国产乱码久久久久夜深人妻| 大香蕉AV在线| 天天日天天色| 极品少妇XXXX精品少妇偷拍| 99操碰| 婷婷色中文字幕| 99热66| 婷婷久久大香蕉| 六月婷婷综合| 这里只有精品视频在线| 五月色丁香| 五月天婷婷基地| 五月天色色网站| 老司机伊人| 丁香久久综合| 深爱丁香激情| 色综合综合网| 激情婷婷啪啪| 婷婷五月丁香六月| 99碰网站| www.久久| 五月丁香| 国产高清av黄色看片| 色综合久久久综合久久网| 九九婷婷热| 九九无毛| 亚洲色图81p| 人妻AV在线观看| 猫咪伊人久久| 大香蕉人妻| 日日杆天天| 色婷婷电影网| 激情色五月天| 久久午夜丁香| 人人操AV| 99极品视频| 伍月婷丁香花全集| 99热这里只有精品66| 激情五月天网| 97人人草| 女同在线9| 婷婷色丁香五月| 色性日本| 婷婷五月天开心网| 武则天精品久久| 五月天婷婷久久| 国产人妻人伦精品一区二区| 亚洲成人在线在线| 午夜日日| 色婷婷小说| 色的色综合| 五月天久久网站| 中文资源在线a | 欧美六月婷婷| 991精品在线视频| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 开心五月婷婷激情| 国模狼狼| 亚洲视频二区| 六月婷伊人| 桃色激情网| 天天干天天日天天操| 色色欧美色色色| 五月天激情网址| 开心激情色婷婷五月天| 五月婷婷综合在线观看| 人妻熟妇国产精品| 丁香五月大香蕉在线99| 日韩精品超碰在线观看| 五月天成人在线视频丁香| 99视频只有这里精品| 色婷操逼| 日韩丁香涩| 91AV婷婷| 欧美激情-区二区三区| 夜夜大香蕉婷婷丁香| 性av| 日本婷久久| 色婷婷先锋| 九九Av| 热婷婷av| 青青夜夜狠狠夜夜狠狠| 五月婷婷婷婷| 亚洲无AV在线中文字幕| 97久久五月丁香婷婷| 台湾综合丁香五月蜜桃| 色婷婷五月天在线观看| 日韩成人无码| 在线网黄| 婷婷五月18永久免费视频| 夜夜爽天天干| 亚洲蜜乳AV| 狠狠999| 婷婷丁香五另类网站| 激情综合九| 亚洲久久视频| 97人人干人人操| 色9999综合久久| A一级操| 亚洲av成人在线| 五月婷婷性爱视频| 五月婷婷co.m| 丁香五月天啪啪| 五月丁香成年黄色| 99热这里只有精品最新| 99在线精品视频| 色五月天丁香婷婷| 色色色色色网站| 国产精产国品一二三在观看| 999热在线视频| 久久婷婷视频| 婷色综合| 婷婷激情五月综合丁| 香蕉久久国产AV一区二区| 婷婷九月亚洲| 亚洲色网址| 五月丁香在线观看国产| hd五月婷婷在线| 甈你aaaaa| 五月婷婷影院| 另类图片五月天激情| www.伊人天堂偷偷婷婷| 99综合免费视频| 九九無碼| 九热视频| 婷婷涩五月| www.99日本| 久久综合五月| 无码任你操| 精品五月花| 日韩精品无码99| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 五月婷婷综合激情| 91色久| 久热久色| 五月天婷婷在线视频| 婷婷五月天影院| 乱码操操| www.超碰在线| 国产精品久久..4399| 99九无网码| 激情床戏| 成人婷99最新| 在线视频你懂得| 六月婷婷色综合| 五月婷婷无码| 五月开心婷婷极品激情| 婷婷激情综合| 琪琪理论片| 欧美性猛交AAAA片黑人 | 色五月婷婷少妇人妻| 婷婷大香蕉| 丁香五月婷婷丫| 人人艹艹艹| 开心五月天激情| 9色天堂| 五月天国产婷婷精品视频在线| 99视频日韩| 操骚货在线| 99爱99操| 日日操夜夜爽| 色五月天综合| 老师高潮流白浆喷水的A片| 99热这里只有免费| 久久免费试看120秒| 无码髙清| 五月天激情国产综合婷婷婷就去爱| 五月天综合婷婷| 狠狠干夜夜干| WWW.国产| 激情综合五| 色欲色香综合网| se色99| 五月天婷婷偷拍| 六月婷婷开心| 五月天开心色情网| 97色干| 99色爱| 天堂爱啪啪| 99热手机在线精品| 秋霞网在线观看理论91| 日韩精品VIP| 日本啪啪网| 91seav| 色色综合日韩| 碰碰碰碰碰99| 99人妻碰碰碰久久久久禁片| 青青操绿aaa一区日v| www.wuyuetian啪啪| 狠狠色狠狠操| 玖玖在线视频福利| 婷婷色色网站| 久久婷婷婷| 再次出发二| 黄色aa观看aaguochan| 综合AV在线| 狠狠狠狠狠狠草| ...婷婷五月综合不卡,国产在线手机 | 天天爽夜夜操| www久久99com| 五月天色色色网| 五月色色色| 丁香六月婷婷色XXXX| 好色婷婷| 国产成人精品一区二三区熟女在线| 深爱激情丁香五月| 操操操操操操婷婷五月天| 丁香五月婷婷激情四射深爱激情| 五夜丁香| 五月天全国最大成人网| 欧洲S级在线观看| 极品少妇XXXX精品少妇偷拍| 真实亲子乱子伦高清在线观看| 婷婷丁香69精华| 涩涩激情五月婷婷| 久久久97| 五月天婷婷丁香基地在线观看| 七七九九色色| 丁香五月婷婷Av| 国产人妻人伦精品一区二区| 99热网址| AAA级久久久精品| 91青娱乐青青草| www夜夜操| www久久99| 自拍盗摄 另类| 快乐婷婷五月天| 五月婷婷丁香六月| 狠狠干,狠狠操| 99re99在线看| 少妇婷婷五月天| 久9免费视频| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 婷婷精品在线| 婷婷丁香五月天熟女丝袜| 9操在线| 91viP在线看| 婷婷激情六月中文| 99re思思精品视频在线观看| 五月天亚洲色| 欧洲亚洲精品| 丰满少妇乱A片无码| 97国产精品女人碰碰| xxxx五月| 亚洲婷婷激情888精品久| 久久亚洲婷婷| 五月婷婷开心丁香| 一区=区操屄高清大全av| 色色五月婷婷| 亚洲视频久久| 日本乱子人伦在线视频| 丁香五月日韩| 日本成人噜噜噜| 五月噜噜| 色久婷婷五月| 婷婷99中文字幕| 大香蕉娱乐| 五月婷婷综合天天操| 日产精品一线二线三线芒果| 丁香六月五月天| 99亚洲精品| 97 A I色色| 丁香五月在线观看完整版| 色婷丁香五月| 日韩色色色色色| 婷婷五月天激情免费在线观看| 综合在线网| 97色婷婷| www.超碰97| 久久天堂女人| 人人爽天天爽| 成人av中文字幕| 丁香久久久| 天天草天天爽| 色99视频| 99热这里只有精品中文字幕| 亚洲欧美一区二区三区四区爱爱动图| 思99热精品久久只有精品| 人妻乱码久久久| 婷婷五月天成人娱乐| 五月丁香婷婷网网网网| 99r这里| 日曰躁夜夜躁2026| 成人看片网站| 色综合久久888| 久热九九| 九九热精品在线| 婷婷五月AA五月在线| 亚洲色色色色色| 国产伊人五月天| 5月婷婷视频网站综合| 天天做天天爱天天摸| 婷婷欧美激情综合| 婷婷五月 丁香六月| 手机看片日日做夜夜| 婷婷五月天99| 91干网站| 99久久天堂婷婷| 在线日韩av| 综合超碰熟| 91精产一区三区免费观看| 综合色影院| 婷婷五月激情黄色| 玖玖热99| 亚洲成人在线在线| 天天操天天干天天射| 久久综合55| 国产小网站| 91无码视频| 色婷婷电影| 狠狠做五月婷婷| 青青草视频福利| 婷婷丁香色无五月| 色五月大| 激情五月天小说网| 国产69精品久久久久999小说| 婷婷五月天桃花网| 操操操91| 日韩成人中文字幕| 丁香五月色色色色| 激情婷婷五月色| 五月天天天色| 91狠狠色| 欧美性生交A片免费看| 久久久久97| 99热免费精品| 婷婷丁香五月视频| 中文字幕av久久爽| 五月婷久久久| 天堂婷婷五月在线| 天天射综合网夜夜操| 天天日天天舔| 精品乱码久久久久| 色网五月婷婷| 在线观看996精品| Av狠狠色丁香婷| 五月丁香六月婷婷综合网缴情| 激情婷婷丁香| 99ri在线视频| 超碰免费电影| 五月天啪啪| 亚洲丁香五月在线观看| 九九热中文| 欧美日韩精品人妻狠狠躁免费视频| 久久机热探花| 色婷婷WWW| 亚洲夜夜操| 99热这里精品| 婷婷伊人欧美| 五月丁香综合| 久久人妻伊人| 99国产在线| 丁香五月天堂亚洲社区| 激情另类综合| 热99热9| 丁香五月婷婷啪| 影音先锋高清无码资源网| 天天插天天射天天干| 开心五月丁香综合久久| 五月婷婷六月丁香| 少妇性BBB搡BBB爽爽爽视頻| 婷婷五月色丁香在线看| 爆乳熟女一区二区三区爆乳| 婷婷五月综合欧美在线播放| 亚洲美女网Va| 青青久在线视频免费观看| 91免费看片| 欧美三级韩国三级日本三斤| 婷婷天堂站| 中文乱子伦视频| 国产精品涩涩涩视频网站| 久久激情天堂| 欧美综合五月丁香五月天| 久久久婷婷| 婷婷成人在线| 很很干在线视频| 亚洲激情网| 亚洲av无码精品色午夜| 91啪级电影| 99久热这里只有精品| 十区av| 色色色.com| 中文字幕在线日亚州9| 婷婷成人AV| 国产VA亚洲VA96| 香蕉久久国产AV一区二区| 九九青青草成人| 激情综合五月婷婷| 狠狠狠狠狠狠草| 日在线V视频在线播放| 99热这里只有精品首页| 超碰国产av| 综合久久五月天| 天天综合天综合久久网| 99在线免费视| 噜噜五月天综合| 2020日日干| 日本在线va| 超碰自拍天堂| 狠狠色综合网站| 天堂无码人妻精品AV一区| 俺来也综合网精品一区| 九九碰九九爱97超| 日韩另类在线观看| 亚洲日日日| Av在线资源| 激情综合网激情五月丁香| 四虎国产精品永久在线国在线| 色婷婷久久| 超碰操网| 久久激情五月婷婷| 天天色99| 久久婷婷丁香视频网| 啪啪小说五月天| 精品9l九九九九九77777| 婷婷丁香激情| 婷婷综合婷婷| 天天干天天 亚洲| WWW.夜夜操.com| 操人妻视频91| 99精品综合| 激情五月天婷婷丁香| 丁香五月影院| 婷婷王月天影院| 六月丁香啪啪啪| 激情五月天第四色| 日韩五月婷婷| 亚洲中文乱字字幕在线永久| 中文字幕在线日亚洲9| av人人操| 热99视频精品| 婷婷久久丁香五月| 亚洲AV影片在线观看| 精品成人在线观看| 激情色情五月天| 能直接看的av网站| 91综合视频在线| 丁香伊人激情| 亚洲精品影视| 五月色亭丁香| 五月婷六月综合在线观看| 天天拍久久| 日本欧美国产| 伊人婷婷五月天| 东京热免费视频网站| www.久久66| www.夜夜操.com| 日本九九网| 天天干天天射色综合| 99色| 色婷婷狠狠爱| 五月丁香六月激情| 99视频热99| 99r久久这里只有精品| 超碰97干| 久久天堂色| 婷婷播播五月天| 91丨九色丨国产打屁股| 五月婷在线影院| 久久婷婷五月免费视频| 亚洲三A| site:esunnet.com| 国产精品久久..4399| 色婷婷色综合激情91| 婷婷五月天干干| 亚洲午夜在线视频| 在线VA视频| 99无码| 玖玖在线视频福利| 超碰在线人人| 成人Av在线大片| 亚洲综合色网| 91日精品| 26uuu最新地址| 九九久久偷拍| 久久婷婷丁香六月天| 亚洲精品V天堂中文字幕| 99成人网站| 婷婷色导航| 激情 五月 婷婷 丁香| 开心婷婷五月| 金桔一区二区ab地址| 综合久久婷婷| 成人网站在线观看视频| 美女激情综合| 中文精品在| av久热| 伊人婷婷五月天| 人妻AV在线| 婷婷综合久久| 久久久免费精彩视频| 深爱激情中文五月天av| 五月天开心网| 99re这里只有精品免费| 97色色视频|