成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > python 基于空間相似度的K-means軌跡聚類的實現(xiàn)

python 基于空間相似度的K-means軌跡聚類的實現(xiàn)

熱門標(biāo)簽:400電話申請服務(wù)商選什么 在哪里辦理400電話號碼 清遠(yuǎn)360地圖標(biāo)注方法 千陽自動外呼系統(tǒng) 工廠智能電話機器人 平頂山外呼系統(tǒng)免費 江蘇客服外呼系統(tǒng)廠家 西藏智能外呼系統(tǒng)五星服務(wù) 原裝電話機器人

這里分享一些軌跡聚類的基本方法,涉及軌跡距離的定義、kmeans聚類應(yīng)用。
需要使用的python庫如下

import pandas as pd
import numpy as np
import random
import os
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.spatial.distance import cdist
from itertools import combinations
from joblib import Parallel, delayed
from tqdm import tqdm

數(shù)據(jù)讀取

假設(shè)數(shù)據(jù)是每一條軌跡一個excel文件,包括經(jīng)緯度、速度、方向的航班數(shù)據(jù)。我們從文件中讀取該數(shù)據(jù),保存在字典中。
獲取數(shù)據(jù)的地址,假設(shè)在多個文件中

def get_alldata_path(path):
  all_path = pd.DataFrame(columns=['path_root','path0','path1','path2','path','datalist'])
  path0 = os.listdir(path)
  for path_temp0 in path0:
    path1 = os.listdir(path+path_temp0)
    for path_temp1 in path1:
      path2 = os.listdir(path+path_temp0+'\\'+path_temp1)
      for path_temp2 in path2:
        path3 = os.listdir(path+path_temp0+'\\'+path_temp1+'\\'+path_temp2)
        all_path.loc[all_path.shape[0]] = [path,path_temp0,path_temp1,path_temp2,
                            path+path_temp0+'\\'+path_temp1+'\\'+path_temp2+'\\',
                            path3]
  return all_path

這樣你就可以得到你的數(shù)據(jù)的地址,方便后面讀取需要的數(shù)據(jù)

#設(shè)置數(shù)據(jù)根目錄
path = 'yourpath'
#獲取所有數(shù)據(jù)地址
data_path = get_alldata_path(path)

讀取數(shù)據(jù),保存成字典格式,字典的key是這條軌跡的名稱,value值是一個DataFrame,需要包含經(jīng)緯度信息。

def read_data(data_path,idxs):
   '''
   功能:讀取數(shù)據(jù)
   '''
   data = {}
   for idx in idxs:
     path_idx = data_path['path'][idx]
     for dataname in data_path['datalist'][idx]:
       temp = pd.read_excel(path_idx+dataname,header=None)
       temp = temp.loc[:,[4,5,6,8]]
       temp.replace('none',np.nan,inplace=True)
       temp.replace('Trak',np.nan,inplace=True)
       temp = temp.dropna().astype(float)
       temp.columns = ['GPSLongitude','GPSLatitude','direction','speed']
       data[str(idx)+'_'+dataname] = temp
   return data

讀取你想要的數(shù)據(jù),前面讀取到的地址也是一個DataFrame,選擇你想要進行聚類的數(shù)據(jù)讀取進來。

#讀取你想要的數(shù)據(jù)
idxs = [0,1,2]
data = read_data(data_path,idxs)

定義不同軌跡間的距離

這里使用了雙向的Hausdorff距離(雙向豪斯多夫距離)
給定兩條軌跡A和B,其中軌跡A上有n個點,軌跡B上有m個點。它們之間的空間相似距離d定義為:


其中,di ,j 是一條軌跡上的第 i個點到另一條軌跡上的 第 j 個 點之間的多因素歐氏距離??梢? 如果軌跡 A 和 B 越相似, 它們之間的距離就越小, 反之則越大。

def OneWayHausdorffDistance(ptSetA, ptSetB):
  # 計算任意向量之間的距離,假設(shè)ptSetA有n個向量,ptSetB有m個向量
  # 得到矩陣C(n行m列)Cij代表A中都第i個向量到B中第j向量都距離
  dist = cdist(ptSetA, ptSetB, metric='euclidean')
  # np.min(dist,axis=1):計算每一行的的最小值
  # 即:固定點集A的值,求點集A中到集合B的最小值
  return np.max(np.min(dist, axis=1))
	# 計算雙向的Hausdorff距離=====>H(ptSetA,ptSetB)=max(h(ptSetA,ptSetB),h(ptSetB,ptSetA))
	# ptSetA:輸入的第一個點集
	# ptSetB:輸入的第二個點集
	# Hausdorff距離度量了兩個點集間的最大不匹配程度
def HausdorffDistance(ptSetA, ptSetB):
  # 計算雙向的Hausdorff距離距離
  
  res = np.array([
    OneWayHausdorffDistance(ptSetA, ptSetB),
    OneWayHausdorffDistance(ptSetB, ptSetA)
  ])
  return np.max(res) 

計算距離矩陣

每個軌跡數(shù)據(jù)都包含經(jīng)緯度、速度、方向,分別計算距離,然后根據(jù)一定的比例相加,活動最終的距離。

def DistanceMat(data,w=[0.7,0.2,0.1]):
   '''
   功能:計算軌跡段的距離矩陣
   輸出:距離矩陣
   '''
   #要計算的組合
   ptCom = list(combinations(list(data.keys()),2))
   #基于軌跡的距離
   distance_tra = Parallel(n_jobs=8,verbose=False)(delayed(HausdorffDistance)(
          data[ptSet1][['GPSLongitude','GPSLatitude']],data[ptSet2][['GPSLongitude','GPSLatitude']]
          ) for ptSet1,ptSet2 in ptCom)
   distancemat_tra = pd.DataFrame(ptCom)
   distancemat_tra['distance'] = distance_tra 
   distancemat_tra = distancemat_tra.pivot(index=0,columns=1,values='distance')
   for pt1 in data.keys():
     distancemat_tra.loc[str(pt1),str(pt1)] = 0
   distancemat_tra = distancemat_tra.fillna(0)
   distancemat_tra = distancemat_tra.loc[list(data.keys()),list(data.keys())]
   distancemat_tra = distancemat_tra+distancemat_tra.T
   
   #基于方向的距離
   distance_speed = Parallel(n_jobs=8,verbose=False)(delayed(HausdorffDistance)(
          data[ptSet1][['speed']],data[ptSet2][['speed']]
          ) for ptSet1,ptSet2 in ptCom)
   distancemat_speed = pd.DataFrame(ptCom)
   distancemat_speed['distance'] = distance_speed 
   distancemat_speed = distancemat_speed.pivot(index=0,columns=1,values='distance')
   for pt1 in data.keys():
     distancemat_speed.loc[str(pt1),str(pt1)] = 0
   distancemat_speed = distancemat_speed.fillna(0)
   distancemat_speed = distancemat_speed.loc[list(data.keys()),list(data.keys())]
   distancemat_speed = distancemat_speed+distancemat_speed.T
   #基于方向的距離
   distance_direction = Parallel(n_jobs=8,verbose=False)(delayed(HausdorffDistance)(
          data[ptSet1][['direction']],data[ptSet2][['direction']]
          ) for ptSet1,ptSet2 in ptCom)
   distancemat_direction = pd.DataFrame(ptCom)
   distancemat_direction['distance'] = distance_direction 
   distancemat_direction = distancemat_direction.pivot(index=0,columns=1,values='distance')
   for pt1 in data.keys():
     distancemat_direction.loc[str(pt1),str(pt1)] = 0
   distancemat_direction = distancemat_direction.fillna(0)
   distancemat_direction = distancemat_direction.loc[list(data.keys()),list(data.keys())]
   distancemat_direction = distancemat_direction+distancemat_direction.T
   distancemat_tra = (distancemat_tra-distancemat_tra.min().min())/(distancemat_tra.max().max()-distancemat_tra.min().min())
   distancemat_speed = (distancemat_speed-distancemat_speed.min().min())/(distancemat_speed.max().max()-distancemat_speed.min().min())
   distancemat_direction = (distancemat_direction-distancemat_direction.min().min())/(distancemat_direction.max().max()-distancemat_direction.min().min())
   distancemat = w[0]*distancemat_tra+w[1]*distancemat_speed+w[2]*distancemat_direction 
   return distancemat

使用前面讀取的數(shù)據(jù),計算不同軌跡間的距離矩陣,缺點在于計算時間會隨著軌跡數(shù)的增大而指數(shù)增長。

distancemat = DistanceMat(data,w=[0.7,0.2,0.1])

k-means聚類

獲得了不同軌跡間的距離矩陣后,就可以進行聚類了。這里選擇k-means,為了得到更好的結(jié)果,聚類前的聚類中心選取也經(jīng)過了一些設(shè)計,排除了隨機選擇,而是選擇盡可能遠(yuǎn)的軌跡點作為 初始中心。
初始化聚類“中心”。隨機選取一條軌跡作為第一類的中心, 即選取一個軌跡序列作為聚類的初始“中心。然后在剩下的 L - 1 個序列中選取一個序列 X 2 作為第二類的中心 C 2 , 設(shè)定一個閾值 q, 使其到第一類的中心 C 1 的距離大于q。

class KMeans:
  def __init__(self,n_clusters=5,Q=74018,max_iter=150):
     self.n_clusters = n_clusters #聚類數(shù)
     self.Q = Q
     self.max_iter = max_iter  # 最大迭代數(shù)
     
  def fit(self,distancemat):
     #選擇初始中心
     best_c = random.sample(distancemat.columns.tolist(),1)  
     for i in range(self.n_clusters-1):
       best_c += random.sample(distancemat.loc[(distancemat[best_c[-1]]>self.Q)(~distancemat.index.isin(best_c))].index.tolist(),1) 
     center_init = distancemat[best_c] #選擇最小的樣本組合為初始質(zhì)心
     self._init_center = center_init
     #迭代停止條件
     iter_ = 0
     run = True
     #開始迭代
     while (iter_self.max_iter)(run==True):
       #聚類聚類標(biāo)簽更新
       labels_ = np.argmin(center_init.values,axis=1)
       #聚類中心更新
       best_c_ = [distancemat.iloc[labels_== i,labels_==i].sum().idxmin() for i in range(self.n_clusters)]
       center_init_ = distancemat[best_c_]
       #停止條件
       iter_ += 1
       if best_c_ == best_c:
          run = False
       center_init = center_init_.copy()
       best_c = best_c_.copy()
     #記錄數(shù)據(jù)
     self.labels_ = np.argmin(center_init.values,axis=1)
     self.center_tra = center_init.columns.values
     self.num_iter = iter_
     self.sse = sum([sum(center_init.iloc[self.labels_==i,i]) for i in range(self.n_clusters)])

應(yīng)用聚類,根據(jù)平方誤差和SSE結(jié)合手肘法確定最佳的聚類數(shù),使用最佳的聚類數(shù)獲得最后聚類模型。

 #聚類,保存不同的sse
SSE = []
for i in range(2,30):
 kmeans = KMeans(n_clusters=i,Q=0.01,max_iter=150)
 kmeans.fit(distancemat)
 SSE.append(kmeans.sse)
#畫圖
plt.figure(0)
plt.plot(SSE)
plt.show()

#使用最好的結(jié)果進行聚類
n_clusters=12
kmeans = KMeans(n_clusters=n_clusters,Q=0.01,max_iter=150)
kmeans.fit(distancemat)
kmeans.sse #輸出sse
kmeans.labels_ #輸出標(biāo)簽
kmeans.center_tra #輸出聚類中心

#畫圖,不同類的軌跡使用不同的顏色
plt.figure(1)
for i in range(n_clusters):
  for name in distancemat.columns[kmeans.labels_==i]:
    plt.plot(data[name].loc[:,'GPSLongitude'],data[name].loc[:,'GPSLatitude'],c=sns.xkcd_rgb[list(sns.xkcd_rgb.keys())[i]])
plt.show()

#保存每一個軌跡屬于哪一類
kmeans_result = pd.DataFrame(columns=['label','id'])
for i in range(n_clusters):
  kmeans_result.loc[i] = [i,distancemat.columns[kmeans.labels_==i].tolist()]

到此這篇關(guān)于python 基于空間相似度的K-means軌跡聚類的實現(xiàn)的文章就介紹到這了,更多相關(guān)python K-means軌跡聚類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python中的單繼承與多繼承實例分析
  • 詳細(xì)總結(jié)Python類的多繼承知識
  • Python進階學(xué)習(xí)之帶你探尋Python類的鼻祖-元類
  • python利用K-Means算法實現(xiàn)對數(shù)據(jù)的聚類案例詳解
  • python類的繼承鏈實例分析
  • python-pandas創(chuàng)建Series數(shù)據(jù)類型的操作
  • python調(diào)用stitcher類自動實現(xiàn)多個圖像拼接融合功能
  • Python繪制分類圖的方法
  • python實現(xiàn)批量提取指定文件夾下同類型文件
  • 詳解python函數(shù)傳參傳遞dict/list/set等類型的問題
  • Python中的類對象示例詳解
  • 淺談Python類的單繼承相關(guān)知識

標(biāo)簽:隨州 西安 日照 安慶 錦州 天水 白城 股票

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python 基于空間相似度的K-means軌跡聚類的實現(xiàn)》,本文關(guān)鍵詞  python,基于,空間,相似,度,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python 基于空間相似度的K-means軌跡聚類的實現(xiàn)》相關(guān)的同類信息!
  • 本頁收集關(guān)于python 基于空間相似度的K-means軌跡聚類的實現(xiàn)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    人九九综合九九宗合| 久久av.com| 视频一区二区在线播放| 久久视频在线| 亚洲视频电影图片偷拍一区| 99久久99热久久精品免费看| 欧美成人三级在线播放| 中文字幕无码毛片免费看| 18欧美亚洲精品| 成人黄色网址在线观看| 欧美人交a欧美精品| 精品久久久91| 无码国产精品久久一区免费| 欧美色视频一区二区三区在线观看| 亚洲制服丝袜在线播放| 极品国产91在线网站| 粉嫩喷白浆久久| 久久精品国产亚洲一区二区三区| 热re99久久精品国产99热| 盗摄系列偷拍视频精品tp| 四虎影院成人在线观看| 欧美自拍大量在线观看| 亚洲精品98久久久久久中文字幕| 欧美 日韩 综合| 伊人久久视频| 美女啪啪无遮挡免费久久网站| 日本特黄一级片| 欧洲永久精品大片ww免费漫画| 久久久精品2019中文字幕神马| 99re8在线精品视频免费播放| 国模私拍视频在线观看| 午夜精品一区二区三| 欧美日韩精品欧美日韩精品一| 中文字幕乱码日本亚洲一区二区| 日本美女一区二区三区| 国产视频xxx| 亚洲AV成人精品| 夜夜嗨av一区二区三区四季av| 日韩精品成人免费观看视频| 免费日韩av片| 欧美激情小视频| 台湾佬中文娱乐网欧美电影| 亚洲一区 欧美| 午夜精品久久久久久久第一页按摩| 亚洲国产精品尤物yw在线观看| 日韩欧美激情四射| 久久午夜国产精品| 免费观看不卡av| 日韩综合第一页| 在线亚洲精品福利网址导航| 国产精品伦理一区| 久久美女艺术照精彩视频福利播放| 欧美性猛交xxxxx少妇| 亚洲最大在线| 性欧美1819sex性高清大胸| 欧美激情中文字幕一区二区| 亚洲日本久久| 日韩av片免费在线观看| 欧美日韩国产经典色站一区二区三区| 在线看片成人| 欧美激情极品视频| 欧美独立站高清久久| 免费精品一区二区三区在线观看| 国产综合精品一区二区三区| 欧美黄色直播| 精品高清久久| 欧美在线精品一区二区三区| 国内外成人在线视频| 亚洲理伦在线| wwwwxxxx日韩| 欧美日韩在线播放三区四区| 91精品国产亚洲| 99在线高清视频在线播放| 国产午夜精品一区二区三区| 91精品一久久香蕉国产线看观看| 欧美一级欧美三级| 性欧美videos另类hd| 日韩毛片在线观看| 久久久久无码国产精品| 在线观看免费视频高清游戏推荐| av在线免费一区| 国产精品免费人成网站| 国产高清在线| 国产精品区一区二区三在线播放| 欧美一区二区三区男人的天堂| 国产一区二区精品久久| 亚洲一区二区三区美女| 国产日韩三区| 波多野吉衣av| 日本五十路女优| 伊人久久大香线蕉综合网蜜芽| 高清在线一区| 成人免费av片| 亚洲视频小说图片| 亚洲丁香婷深爱综合| 波多野结衣在线一区| 日韩成人高清在线| 中文字幕中文字幕99| 26uuuu精品一区二区| 美女免费视频一区| 国产在线精品一区二区夜色| 亚洲国产裸拍裸体视频在线观看乱了中文| 卡通欧美亚洲| 日本精品在线免费观看| 水蜜桃久久夜色精品一区的特点| 亚洲国产精品午夜在线观看| 日本www高清| 五月婷婷欧美激情| 亚洲精品二三区| 久草综合在线观看| 亚洲视频中文字幕在线观看| 高清成人免费视频| 东京热av一区| 一色道久久88加勒比一| 黄色免费大全亚洲| 国产精品国产三级国产aⅴ浪潮| 亚洲性视频大全| 毛片在线免费视频| 天堂av一区二区三区| 看看黄色一级片| 国产亚洲成av人片在线观看| 国产午夜久久av| 日韩美女福利视频| 狠狠干夜夜草| 免费午夜视频在线观看| 中文字幕不卡三区| 无套内谢丰满少妇中文字幕| 欧美日韩尤物久久| 日韩精品日韩在线观看| 久热精品视频在线观看一区| 亚洲精品一区二区三区影院| 国产xxxxxxxxx| 日韩欧美在线观看一区二区三区| 国产91|九色| 国产很黄免费观看久久| 国产精品va无码一区二区三区| 粉嫩的18在线观看极品精品| 成人国产免费视频| 国产无遮挡一区二区三区毛片日本| 久久久久久亚洲精品不卡4k岛国| 日韩色视频在线观看| 国产成人无码精品| 国产视频中文字幕在线观看| 美国黄色a级片| 欧美视频在线播放一区| 7777精品伊人久久久大香线蕉最新版| 欧美日韩激情视频一区二区三区| 午夜不卡久久精品无码免费| 亚洲欧美强伦一区二区| 欧美乱大交xxxxx另类| 中文字幕中文字幕在线中一区高清| 日韩8x8x| 中文字幕免费不卡| 日韩精品专区| 美女在线视频一区| 欧美一区二区三区在线视频| 男人天堂手机在线| 国产欧美一区二区三区不卡高清| 欧美美女网站色| 亚洲精华一区二区三区| 亚洲综合免费观看高清完整版| 丁香婷婷在线观看| 偷窥自拍亚洲色图精选| 91国内精品在线视频| 国产91精品捆绑调教| 人人澡人人爽| 成人羞羞视频播放网站| 日本中文字幕一区| 成本人h片动漫网站在线观看| 国产一级片免费在线观看| 色网在线观看| 91精品啪在线观看国产18| 亚洲爱爱视频| 日韩欧美第二区在线观看| 日本在线观看大片免费视频| 日本国产在线观看| 精品国产乱码久久久久久蜜坠欲下| 色爱av综合网| 亚洲综合国产精品| 欧美日韩国产另类一区| 欧美激情综合五月色丁香| 日本中文字幕网| 福利一区视频| 中文字幕日本视频| 欧美精品一区二| 香蕉亚洲视频| 日韩精品在线免费观看视频| 国产亚洲精品bt天堂精选| 四虎永久在线高清国产精品| 欧美激情喷水视频| 午夜精品久久久久久久久久| 国产麻豆视频一区二区| 另类国产ts人妖高潮视频| aaa级黄色片| 国产精品成人av久久| 神马午夜电影一区二区三区在线观看| 精品久久久久久亚洲| 色琪琪一区二区三区亚洲区| www.4438全国最大| 忘忧草精品久久久久久久高清| 国产欧美一区二区精品久导航| h片在线免费看| 在线观看理论片| 国产麻豆剧果冻传媒观看hd高清| 激情综合网av| 久久久久久久久国产一区| 九九九久久国产免费| 在线视频99| 成人网18免费软件大全| 国产精品网红福利| 拔插拔插海外华人免费| 999久久久久久| 天天av导航| 欧美三级视频在线播放| 国产精品久久免费观看| 青青国产91久久久久久| 色综合91久久精品中文字幕| 91精品黄色片免费大全| 五月天福利视频| 成人国产激情在线| 麻豆av福利av久久av| 国产午夜精品一区理论片| 999这里有精品| 色偷偷综合网| 天堂精品中文字幕在线| 欧美国产97人人爽人人喊| 国产欧美第一页| 亚洲日本丝袜连裤袜办公室| 欧美aaaaa性bbbbb小妇| 亚洲伊人色欲综合网| 午夜成人亚洲理伦片在线观看| 成年女人18级毛片毛片免费| 视频精品一区二区| 中文字幕一区二区不卡| 欧美精品一级二级| 精品国产一区二区三区香蕉沈先生| 日本暖暖在线视频| 日韩美女视频19| 国产在线观看免费视频软件| 色av中文字幕| 日韩电影免费观看中文字幕| 黄色录像特级片| 青青草综合在线| 日本欧美国产| 成人婷婷网色偷偷亚洲男人的天堂| 免费看又色又爽又黄网站| 91丨九色丨蝌蚪富婆spa| 日韩久久免费av| 久久中文在线| 不卡一区在线观看| 国产精品羞羞答答在线观看| av色综合久久天堂av综合| 青青草久久伊人| 人人做人人澡人人爽欧美| 国产天堂在线| 国产嫩草影院久久久久| 久久天天做天天爱综合色| 午夜激情视频在线播放| 亚洲图片欧美日韩| 日韩欧美的一区| 国产精品白浆流出视频| 欧美色图在线观看| 久久理论电影网| 青青草国产在线| av先锋影院| 亚洲国产99精品国自产| 欧美一区二区激情| 韩国一区二区在线播放| 男人天堂2020| eeuss影院www在线播放| av在线导航| 波多野结衣50连登视频| 亚洲丝袜精品| 欧美国产亚洲一区| 美女扒开腿免费视频| 狠狠色丁香久久婷婷综| 中文字幕一区二区在线播放| 老司机久久99久久精品播放免费| 久久精品视频5| 欧美第一页草草影院浮力| 大香伊人久久| 亚洲成色在线综合网站2018站| 狠狠综合久久av一区二区小说| 日本久久久久久久| 国产精品三级久久久久久电影| www.欧美色图| 男人舔女人下面高潮视频| 青青草国产成人久久91网| 超碰超碰超碰超碰| 欧美做暖暖视频| 精精国产xxxx视频在线动漫| 亚洲深夜福利视频| 久久久神马电影| 中文字幕不卡在线播放| 欧美国产精品劲爆| 亚洲精品国产一区二区三区| 草草久视频在线观看电影资源| 91成人在线观看喷潮教学| 日b视频在线观看| 极品美女一区二区三区视频| av男人天堂一区| 性欧美精品中出| 国产欧美日韩免费观看| 国产精品青草久久| 久久久久久久久久影院| 免费男女羞羞的视频网站在线观看| 日韩电影在线观看网站| 人妻妺妺窝人体色www聚色窝| 91黄色在线观看| 很黄很黄激情成人| 一区二区三区国产在线| 精品国产免费无码久久久| 久久欧美一区二区| 国产黄色免费视频| 欧美mv日韩mv亚洲| 国产福利一区二区三区视频| 日韩一区三区| 精品视频一区在线视频| 亚洲欧美激情网| 国产精品九九九| 美女视频黄免费| 久久精品女人天堂| 成人精品小蝌蚪| 国产成人精品免费久久久久| 另类美女黄大片| 成人精品一区二区三区四区| 中文不卡在线| 一区二区三区视频免费|