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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【算法竞赛学习】二手车交易价格预测-Task2数据分析

發布時間:2023/12/15 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【算法竞赛学习】二手车交易价格预测-Task2数据分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

二手車交易價格預測-Task2 數據分析

二、 EDA-數據探索性分析

Tip:此部分為零基礎入門數據挖掘的 Task2 EDA-數據探索性分析 部分,帶你來了解數據,熟悉數據,和數據做朋友,歡迎大家后續多多交流。

賽題:零基礎入門數據挖掘 - 二手車交易價格預測

地址:https://tianchi.aliyun.com/competition/entrance/231784/introduction?spm=5176.12281957.1004.1.38b02448ausjSX

2.1 EDA目標

  • EDA的價值主要在于熟悉數據集,了解數據集,對數據集進行驗證來確定所獲得數據集可以用于接下來的機器學習或者深度學習使用。

  • 當了解了數據集之后我們下一步就是要去了解變量間的相互關系以及變量與預測值之間的存在關系。

  • 引導數據科學從業者進行數據處理以及特征工程的步驟,使數據集的結構和特征集讓接下來的預測問題更加可靠。

  • 完成對于數據的探索性分析,并對于數據進行一些圖表或者文字總結并打卡。

2.2 內容介紹

  • 載入各種數據科學以及可視化庫:
    • 數據科學庫 pandas、numpy、scipy;
    • 可視化庫 matplotlib、seabon;
    • 其他;
  • 載入數據:
    • 載入訓練集和測試集;
    • 簡略觀察數據(head()+shape);
  • 數據總覽:
    • 通過describe()來熟悉數據的相關統計量
    • 通過info()來熟悉數據類型
  • 判斷數據缺失和異常
    • 查看每列的存在nan情況
    • 異常值檢測
  • 了解預測值的分布
    • 總體分布概況(無界約翰遜分布等)
    • 查看skewness and kurtosis
    • 查看預測值的具體頻數
  • 特征分為類別特征和數字特征,并對類別特征查看unique分布
  • 數字特征分析
    • 相關性分析
    • 查看幾個特征得 偏度和峰值
    • 每個數字特征得分布可視化
    • 數字特征相互之間的關系可視化
    • 多變量互相回歸關系可視化
  • 類型特征分析
    • unique分布
    • 類別特征箱形圖可視化
    • 類別特征的小提琴圖可視化
    • 類別特征的柱形圖可視化類別
    • 特征的每個類別頻數可視化(count_plot)
  • 用pandas_profiling生成數據報告
  • 2.3 代碼示例

    2.3.1 載入各種數據科學以及可視化庫

    以下庫都是pip install 安裝, 有特殊情況我會單獨說明
    例如 pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple

    #coding:utf-8 #導入warnings包,利用過濾器來實現忽略警告語句。 import warnings warnings.filterwarnings('ignore')import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns import missingno as msno

    2.3.2 載入數據

    ## 1) 載入訓練集和測試集; Train_data = pd.read_csv('train.csv', sep=' ') Test_data = pd.read_csv('testA.csv', sep=' ')

    所有特征集均脫敏處理(方便大家觀看)

    • name - 汽車編碼
    • regDate - 汽車注冊時間
    • model - 車型編碼
    • brand - 品牌
    • bodyType - 車身類型
    • fuelType - 燃油類型
    • gearbox - 變速箱
    • power - 汽車功率
    • kilometer - 汽車行駛公里
    • notRepairedDamage - 汽車有尚未修復的損壞
    • regionCode - 看車地區編碼
    • seller - 銷售方
    • offerType - 報價類型
    • creatDate - 廣告發布時間
    • price - 汽車價格
    • v_0’, ‘v_1’, ‘v_2’, ‘v_3’, ‘v_4’, ‘v_5’, ‘v_6’, ‘v_7’, ‘v_8’, ‘v_9’, ‘v_10’, ‘v_11’, ‘v_12’, ‘v_13’,‘v_14’(根據汽車的評論、標簽等大量信息得到的embedding向量)【人工構造 匿名特征】
    ## 2) 簡略觀察數據(head()+shape) Train_data.head().append(Train_data.tail()) SaleIDnameregDatemodelbrandbodyTypefuelTypegearboxpowerkilometer...v_5v_6v_7v_8v_9v_10v_11v_12v_13v_1401234149995149996149997149998149999
    07362004040230.061.00.00.06012.5...0.2356760.1019880.1295490.0228160.097462-2.8818032.804097-2.4208210.7952920.914762
    122622003030140.012.00.00.0015.0...0.2647770.1210040.1357310.0265970.020582-4.9004822.096338-1.030483-1.7226740.245522
    21487420040403115.0151.00.00.016312.5...0.2514100.1149120.1651470.0621730.027075-4.8467491.8035591.565330-0.832687-0.229963
    37186519960908109.0100.00.01.019315.0...0.2742930.1103000.1219640.0333950.000000-4.5095991.285940-0.501868-2.438353-0.478699
    411108020120103110.051.00.00.0685.0...0.2280360.0732050.0918800.0788190.121534-1.8962400.9107830.9311102.8345181.923482
    14999516397820000607121.0104.00.01.016315.0...0.2802640.0003100.0484410.0711580.0191741.988114-2.9839730.589167-1.304370-0.302592
    14999618453520091102116.0110.00.00.012510.0...0.2532170.0007770.0840790.0996810.0793711.839166-2.7746152.5539940.924196-0.272160
    1499971475872010100360.0111.01.00.0906.0...0.2333530.0007050.1188720.1001180.0979142.439812-1.6306772.2901971.8919220.414931
    149998459072006031234.0103.01.00.015615.0...0.2563690.0002520.0814790.0835580.0814982.075380-2.6337191.4149370.431981-1.659014
    1499991776721999020419.0286.00.01.019312.5...0.2844750.0000000.0400720.0625430.0258191.978453-3.1799130.031724-1.483350-0.342674

    10 rows × 31 columns

    Train_data.shape (150000, 31) Test_data.head().append(Test_data.tail()) SaleIDnameregDatemodelbrandbodyTypefuelTypegearboxpowerkilometer...v_5v_6v_7v_8v_9v_10v_11v_12v_13v_14012344999549996499974999849999
    1500006693220111212222.045.01.01.031315.0...0.2644050.1218000.0708990.1065580.078867-7.050969-0.8546264.8001510.620011-3.664654
    1500011749601999021119.0210.00.00.07512.5...0.2617450.0000000.0967330.0137050.0523833.679418-0.729039-3.796107-1.541230-0.757055
    15000253562009030482.0210.00.00.01097.0...0.2602160.1120810.0780820.0620780.050540-4.9266901.0011060.8265620.1382260.754033
    15000350688201004050.000.00.01.01607.0...0.2604660.1067270.0811460.0759710.048268-4.8646370.5054931.8703790.3660381.312775
    1500041614281997070326.0142.00.00.07515.0...0.2509990.0000000.0778060.0286000.0817093.616475-0.673236-3.197685-0.025678-0.101290
    19999520903199605034.044.00.00.011615.0...0.2846640.1300440.0498330.0288070.004616-5.9785111.303174-1.207191-1.981240-0.357695
    199996708199910110.000.00.00.07515.0...0.2681010.1080950.0660390.0254680.025971-3.9138251.759524-2.075658-1.1548470.169073
    19999766932004041249.010.01.01.022415.0...0.2694320.1057240.1176520.0574790.015669-4.6390650.6547131.137756-1.3905310.254420
    199998969002002000827.010.00.01.033415.0...0.2611520.0004900.1373660.0862160.0513831.833504-2.8286872.465630-0.911682-2.057353
    19999919338420041109166.061.0NaN1.0689.0...0.2287300.0003000.1035340.0806250.1242642.914571-1.1352700.5476282.094057-1.552150

    10 rows × 30 columns

    Test_data.shape (50000, 30)

    要養成看數據集的head()以及shape的習慣,這會讓你每一步更放心,導致接下里的連串的錯誤, 如果對自己的pandas等操作不放心,建議執行一步看一下,這樣會有效的方便你進行理解函數并進行操作

    2.3.3 總覽數據概況

  • describe種有每列的統計量,個數count、平均值mean、方差std、最小值min、中位數25% 50% 75% 、以及最大值 看這個信息主要是瞬間掌握數據的大概的范圍以及每個值的異常值的判斷,比如有的時候會發現999 9999 -1 等值這些其實都是nan的另外一種表達方式,有的時候需要注意下
  • info 通過info來了解數據每列的type,有助于了解是否存在除了nan以外的特殊符號異常
  • ## 1) 通過describe()來熟悉數據的相關統計量 Train_data.describe() SaleIDnameregDatemodelbrandbodyTypefuelTypegearboxpowerkilometer...v_5v_6v_7v_8v_9v_10v_11v_12v_13v_14countmeanstdmin25%50%75%max
    150000.000000150000.0000001.500000e+05149999.000000150000.000000145494.000000141320.000000144019.000000150000.000000150000.000000...150000.000000150000.000000150000.000000150000.000000150000.000000150000.000000150000.000000150000.000000150000.000000150000.000000
    74999.50000068349.1728732.003417e+0747.1290218.0527331.7923690.3758420.224943119.31654712.597160...0.2482040.0449230.1246920.0581440.061996-0.0010000.0090350.0048130.000313-0.000688
    43301.41452761103.8750955.364988e+0449.5360407.8649561.7606400.5486770.417546177.1684193.919576...0.0458040.0517430.2014100.0291860.0356923.7723863.2860712.5174781.2889881.038685
    0.0000000.0000001.991000e+070.0000000.0000000.0000000.0000000.0000000.0000000.500000...0.0000000.0000000.0000000.0000000.000000-9.168192-5.558207-9.639552-4.153899-6.546556
    37499.75000011156.0000001.999091e+0710.0000001.0000000.0000000.0000000.00000075.00000012.500000...0.2436150.0000380.0624740.0353340.033930-3.722303-1.951543-1.871846-1.057789-0.437034
    74999.50000051638.0000002.003091e+0730.0000006.0000001.0000000.0000000.000000110.00000015.000000...0.2577980.0008120.0958660.0570140.0584841.624076-0.358053-0.130753-0.0362450.141246
    112499.250000118841.2500002.007111e+0766.00000013.0000003.0000001.0000000.000000150.00000015.000000...0.2652970.1020090.1252430.0793820.0874912.8443571.2550221.7769330.9428130.680378
    149999.000000196812.0000002.015121e+07247.00000039.0000007.0000006.0000001.00000019312.00000015.000000...0.2918380.1514201.4049360.1607910.22278712.35701118.81904213.84779211.1476698.658418

    8 rows × 30 columns

    Test_data.describe() SaleIDnameregDatemodelbrandbodyTypefuelTypegearboxpowerkilometer...v_5v_6v_7v_8v_9v_10v_11v_12v_13v_14countmeanstdmin25%50%75%max
    50000.00000050000.0000005.000000e+0450000.00000050000.00000048587.00000047107.00000048090.00000050000.00000050000.000000...50000.00000050000.00000050000.00000050000.00000050000.00000050000.00000050000.00000050000.00000050000.00000050000.000000
    174999.50000068542.2232802.003393e+0746.8445208.0562401.7821850.3734050.224350119.88362012.595580...0.2486690.0450210.1227440.0579970.062000-0.017855-0.013742-0.013554-0.0031470.001516
    14433.90106761052.8081335.368870e+0449.4695487.8194771.7607360.5464420.417158185.0973873.908979...0.0446010.0517660.1959720.0292110.0356533.7479853.2312582.5159621.2865971.027360
    150000.0000000.0000001.991000e+070.0000000.0000000.0000000.0000000.0000000.0000000.500000...0.0000000.0000000.0000000.0000000.000000-9.160049-5.411964-8.916949-4.123333-6.112667
    162499.75000011203.5000001.999091e+0710.0000001.0000000.0000000.0000000.00000075.00000012.500000...0.2437620.0000440.0626440.0350840.033714-3.700121-1.971325-1.876703-1.060428-0.437920
    174999.50000052248.5000002.003091e+0729.0000006.0000001.0000000.0000000.000000109.00000015.000000...0.2578770.0008150.0958280.0570840.0587641.613212-0.355843-0.142779-0.0359560.138799
    187499.250000118856.5000002.007110e+0765.00000013.0000003.0000001.0000000.000000150.00000015.000000...0.2653280.1020250.1254380.0790770.0874892.8327081.2629141.7643350.9414690.681163
    199999.000000196805.0000002.015121e+07246.00000039.0000007.0000006.0000001.00000020000.00000015.000000...0.2916180.1532651.3588130.1563550.21477512.33887218.85621812.9504985.9132732.624622

    8 rows × 29 columns

    ## 2) 通過info()來熟悉數據類型 Train_data.info() <class 'pandas.core.frame.DataFrame'> RangeIndex: 150000 entries, 0 to 149999 Data columns (total 31 columns): SaleID 150000 non-null int64 name 150000 non-null int64 regDate 150000 non-null int64 model 149999 non-null float64 brand 150000 non-null int64 bodyType 145494 non-null float64 fuelType 141320 non-null float64 gearbox 144019 non-null float64 power 150000 non-null int64 kilometer 150000 non-null float64 notRepairedDamage 150000 non-null object regionCode 150000 non-null int64 seller 150000 non-null int64 offerType 150000 non-null int64 creatDate 150000 non-null int64 price 150000 non-null int64 v_0 150000 non-null float64 v_1 150000 non-null float64 v_2 150000 non-null float64 v_3 150000 non-null float64 v_4 150000 non-null float64 v_5 150000 non-null float64 v_6 150000 non-null float64 v_7 150000 non-null float64 v_8 150000 non-null float64 v_9 150000 non-null float64 v_10 150000 non-null float64 v_11 150000 non-null float64 v_12 150000 non-null float64 v_13 150000 non-null float64 v_14 150000 non-null float64 dtypes: float64(20), int64(10), object(1) memory usage: 35.5+ MB Test_data.info() <class 'pandas.core.frame.DataFrame'> RangeIndex: 50000 entries, 0 to 49999 Data columns (total 30 columns): SaleID 50000 non-null int64 name 50000 non-null int64 regDate 50000 non-null int64 model 50000 non-null float64 brand 50000 non-null int64 bodyType 48587 non-null float64 fuelType 47107 non-null float64 gearbox 48090 non-null float64 power 50000 non-null int64 kilometer 50000 non-null float64 notRepairedDamage 50000 non-null object regionCode 50000 non-null int64 seller 50000 non-null int64 offerType 50000 non-null int64 creatDate 50000 non-null int64 v_0 50000 non-null float64 v_1 50000 non-null float64 v_2 50000 non-null float64 v_3 50000 non-null float64 v_4 50000 non-null float64 v_5 50000 non-null float64 v_6 50000 non-null float64 v_7 50000 non-null float64 v_8 50000 non-null float64 v_9 50000 non-null float64 v_10 50000 non-null float64 v_11 50000 non-null float64 v_12 50000 non-null float64 v_13 50000 non-null float64 v_14 50000 non-null float64 dtypes: float64(20), int64(9), object(1) memory usage: 11.4+ MB

    2.3.4 判斷數據缺失和異常

    ## 1) 查看每列的存在nan情況 Train_data.isnull().sum() SaleID 0 name 0 regDate 0 model 1 brand 0 bodyType 4506 fuelType 8680 gearbox 5981 power 0 kilometer 0 notRepairedDamage 0 regionCode 0 seller 0 offerType 0 creatDate 0 price 0 v_0 0 v_1 0 v_2 0 v_3 0 v_4 0 v_5 0 v_6 0 v_7 0 v_8 0 v_9 0 v_10 0 v_11 0 v_12 0 v_13 0 v_14 0 dtype: int64 Test_data.isnull().sum() SaleID 0 name 0 regDate 0 model 0 brand 0 bodyType 1413 fuelType 2893 gearbox 1910 power 0 kilometer 0 notRepairedDamage 0 regionCode 0 seller 0 offerType 0 creatDate 0 v_0 0 v_1 0 v_2 0 v_3 0 v_4 0 v_5 0 v_6 0 v_7 0 v_8 0 v_9 0 v_10 0 v_11 0 v_12 0 v_13 0 v_14 0 dtype: int64 # nan可視化 missing = Train_data.isnull().sum() missing = missing[missing > 0] missing.sort_values(inplace=True) missing.plot.bar() <matplotlib.axes._subplots.AxesSubplot at 0x111b156dba8>

    通過以上兩句可以很直觀的了解哪些列存在 “nan”, 并可以把nan的個數打印,主要的目的在于 nan存在的個數是否真的很大,如果很小一般選擇填充,如果使用lgb等樹模型可以直接空缺,讓樹自己去優化,但如果nan存在的過多、可以考慮刪掉

    # 可視化看下缺省值 msno.matrix(Train_data.sample(250)) <matplotlib.axes._subplots.AxesSubplot at 0x111b16e75f8>

    msno.bar(Train_data.sample(1000)) <matplotlib.axes._subplots.AxesSubplot at 0x111b1936f98>

    # 可視化看下缺省值 msno.matrix(Test_data.sample(250)) <matplotlib.axes._subplots.AxesSubplot at 0x111b1b4ba20>

    msno.bar(Test_data.sample(1000)) <matplotlib.axes._subplots.AxesSubplot at 0x111b1bc5978>

    測試集的缺省和訓練集的差不多情況, 可視化有四列有缺省,notRepairedDamage缺省得最多

    ## 2) 查看異常值檢測 Train_data.info() <class 'pandas.core.frame.DataFrame'> RangeIndex: 150000 entries, 0 to 149999 Data columns (total 31 columns): SaleID 150000 non-null int64 name 150000 non-null int64 regDate 150000 non-null int64 model 149999 non-null float64 brand 150000 non-null int64 bodyType 145494 non-null float64 fuelType 141320 non-null float64 gearbox 144019 non-null float64 power 150000 non-null int64 kilometer 150000 non-null float64 notRepairedDamage 150000 non-null object regionCode 150000 non-null int64 seller 150000 non-null int64 offerType 150000 non-null int64 creatDate 150000 non-null int64 price 150000 non-null int64 v_0 150000 non-null float64 v_1 150000 non-null float64 v_2 150000 non-null float64 v_3 150000 non-null float64 v_4 150000 non-null float64 v_5 150000 non-null float64 v_6 150000 non-null float64 v_7 150000 non-null float64 v_8 150000 non-null float64 v_9 150000 non-null float64 v_10 150000 non-null float64 v_11 150000 non-null float64 v_12 150000 non-null float64 v_13 150000 non-null float64 v_14 150000 non-null float64 dtypes: float64(20), int64(10), object(1) memory usage: 35.5+ MB

    可以發現除了notRepairedDamage 為object類型其他都為數字 這里我們把他的幾個不同的值都進行顯示就知道了

    Train_data['notRepairedDamage'].value_counts() 0.0 111361 - 24324 1.0 14315 Name: notRepairedDamage, dtype: int64

    可以看出來‘ - ’也為空缺值,因為很多模型對nan有直接的處理,這里我們先不做處理,先替換成nan

    Train_data['notRepairedDamage'].replace('-', np.nan, inplace=True) Train_data['notRepairedDamage'].value_counts() 0.0 111361 1.0 14315 Name: notRepairedDamage, dtype: int64 Train_data.isnull().sum() SaleID 0 name 0 regDate 0 model 1 brand 0 bodyType 4506 fuelType 8680 gearbox 5981 power 0 kilometer 0 notRepairedDamage 24324 regionCode 0 seller 0 offerType 0 creatDate 0 price 0 v_0 0 v_1 0 v_2 0 v_3 0 v_4 0 v_5 0 v_6 0 v_7 0 v_8 0 v_9 0 v_10 0 v_11 0 v_12 0 v_13 0 v_14 0 dtype: int64 Test_data['notRepairedDamage'].value_counts() 0.0 37249 - 8031 1.0 4720 Name: notRepairedDamage, dtype: int64 Test_data['notRepairedDamage'].replace('-', np.nan, inplace=True)

    以下兩個類別特征嚴重傾斜,一般不會對預測有什么幫助,故這邊先刪掉,當然你也可以繼續挖掘,但是一般意義不大

    Train_data["seller"].value_counts() 0 149999 1 1 Name: seller, dtype: int64 Train_data["offerType"].value_counts() 0 150000 Name: offerType, dtype: int64 del Train_data["seller"] del Train_data["offerType"] del Test_data["seller"] del Test_data["offerType"]

    2.3.5 了解預測值的分布

    Train_data['price'] 0 1850 1 3600 2 6222 3 2400 4 5200... 149995 5900 149996 9500 149997 7500 149998 4999 149999 4700 Name: price, Length: 150000, dtype: int64 Train_data['price'].value_counts() 500 2337 1500 2158 1200 1922 1000 1850 2500 1821... 25321 1 8886 1 8801 1 37920 1 8188 1 Name: price, Length: 3763, dtype: int64 ## 1) 總體分布概況(無界約翰遜分布等) import scipy.stats as st y = Train_data['price'] plt.figure(1); plt.title('Johnson SU') sns.distplot(y, kde=False, fit=st.johnsonsu) plt.figure(2); plt.title('Normal') sns.distplot(y, kde=False, fit=st.norm) plt.figure(3); plt.title('Log Normal') sns.distplot(y, kde=False, fit=st.lognorm) <matplotlib.axes._subplots.AxesSubplot at 0x111b1ee82b0>

    價格不服從正態分布,所以在進行回歸之前,它必須進行轉換。雖然對數變換做得很好,但最佳擬合是無界約翰遜分布

    ## 2) 查看skewness and kurtosis sns.distplot(Train_data['price']); print("Skewness: %f" % Train_data['price'].skew()) print("Kurtosis: %f" % Train_data['price'].kurt()) Skewness: 3.346487 Kurtosis: 18.995183

    Train_data.skew(), Train_data.kurt() (SaleID 6.017846e-17name 5.576058e-01regDate 2.849508e-02model 1.484388e+00brand 1.150760e+00bodyType 9.915299e-01fuelType 1.595486e+00gearbox 1.317514e+00power 6.586318e+01kilometer -1.525921e+00notRepairedDamage 2.430640e+00regionCode 6.888812e-01creatDate -7.901331e+01price 3.346487e+00v_0 -1.316712e+00v_1 3.594543e-01v_2 4.842556e+00v_3 1.062920e-01v_4 3.679890e-01v_5 -4.737094e+00v_6 3.680730e-01v_7 5.130233e+00v_8 2.046133e-01v_9 4.195007e-01v_10 2.522046e-02v_11 3.029146e+00v_12 3.653576e-01v_13 2.679152e-01v_14 -1.186355e+00dtype: float64, SaleID -1.200000name -1.039945regDate -0.697308model 1.740483brand 1.076201bodyType 0.206937fuelType 5.880049gearbox -0.264161power 5733.451054kilometer 1.141934notRepairedDamage 3.908072regionCode -0.340832creatDate 6881.080328price 18.995183v_0 3.993841v_1 -1.753017v_2 23.860591v_3 -0.418006v_4 -0.197295v_5 22.934081v_6 -1.742567v_7 25.845489v_8 -0.636225v_9 -0.321491v_10 -0.577935v_11 12.568731v_12 0.268937v_13 -0.438274v_14 2.393526dtype: float64) sns.distplot(Train_data.skew(),color='blue',axlabel ='Skewness') <matplotlib.axes._subplots.AxesSubplot at 0x111b484ab38>

    sns.distplot(Train_data.kurt(),color='orange',axlabel ='Kurtness') <matplotlib.axes._subplots.AxesSubplot at 0x111b4953940>

    skew、kurt說明參考https://www.cnblogs.com/wyy1480/p/10474046.html

    ## 3) 查看預測值的具體頻數 plt.hist(Train_data['price'], orientation = 'vertical',histtype = 'bar', color ='red') plt.show()

    查看頻數, 大于20000得值極少,其實這里也可以把這些當作特殊得值(異常值)直接用填充或者刪掉,再前面進行

    # log變換 z之后的分布較均勻,可以進行log變換進行預測,這也是預測問題常用的trick plt.hist(np.log(Train_data['price']), orientation = 'vertical',histtype = 'bar', color ='red') plt.show()

    2.3.6 特征分為類別特征和數字特征,并對類別特征查看unique分布

    數據類型

    • name - 汽車編碼
    • regDate - 汽車注冊時間
    • model - 車型編碼
    • brand - 品牌
    • bodyType - 車身類型
    • fuelType - 燃油類型
    • gearbox - 變速箱
    • power - 汽車功率
    • kilometer - 汽車行駛公里
    • notRepairedDamage - 汽車有尚未修復的損壞
    • regionCode - 看車地區編碼
    • seller - 銷售方 【以刪】
    • offerType - 報價類型 【以刪】
    • creatDate - 廣告發布時間
    • price - 汽車價格
    • v_0’, ‘v_1’, ‘v_2’, ‘v_3’, ‘v_4’, ‘v_5’, ‘v_6’, ‘v_7’, ‘v_8’, ‘v_9’, ‘v_10’, ‘v_11’, ‘v_12’, ‘v_13’,‘v_14’(根據汽車的評論、標簽等大量信息得到的embedding向量)【人工構造 匿名特征】
    # 分離label即預測值 Y_train = Train_data['price'] # 這個區別方式適用于沒有直接label coding的數據 # 這里不適用,需要人為根據實際含義來區分 # 數字特征 # numeric_features = Train_data.select_dtypes(include=[np.number]) # numeric_features.columns # # 類型特征 # categorical_features = Train_data.select_dtypes(include=[np.object]) # categorical_features.columns numeric_features = ['power', 'kilometer', 'v_0', 'v_1', 'v_2', 'v_3', 'v_4', 'v_5', 'v_6', 'v_7', 'v_8', 'v_9', 'v_10', 'v_11', 'v_12', 'v_13','v_14' ]categorical_features = ['name', 'model', 'brand', 'bodyType', 'fuelType', 'gearbox', 'notRepairedDamage', 'regionCode',] # 特征nunique分布 for cat_fea in categorical_features:print(cat_fea + "的特征分布如下:")print("{}特征有個{}不同的值".format(cat_fea, Train_data[cat_fea].nunique()))print(Train_data[cat_fea].value_counts()) name的特征分布如下: name特征有個99662不同的值 708 282 387 282 55 280 1541 263 203 233... 5074 1 7123 1 11221 1 13270 1 174485 1 Name: name, Length: 99662, dtype: int64 model的特征分布如下: model特征有個248不同的值 0.0 11762 19.0 9573 4.0 8445 1.0 6038 29.0 5186... 245.0 2 209.0 2 240.0 2 242.0 2 247.0 1 Name: model, Length: 248, dtype: int64 brand的特征分布如下: brand特征有個40不同的值 0 31480 4 16737 14 16089 10 14249 1 13794 6 10217 9 7306 5 4665 13 3817 11 2945 3 2461 7 2361 16 2223 8 2077 25 2064 27 2053 21 1547 15 1458 19 1388 20 1236 12 1109 22 1085 26 966 30 940 17 913 24 772 28 649 32 592 29 406 37 333 2 321 31 318 18 316 36 228 34 227 33 218 23 186 35 180 38 65 39 9 Name: brand, dtype: int64 bodyType的特征分布如下: bodyType特征有個8不同的值 0.0 41420 1.0 35272 2.0 30324 3.0 13491 4.0 9609 5.0 7607 6.0 6482 7.0 1289 Name: bodyType, dtype: int64 fuelType的特征分布如下: fuelType特征有個7不同的值 0.0 91656 1.0 46991 2.0 2212 3.0 262 4.0 118 5.0 45 6.0 36 Name: fuelType, dtype: int64 gearbox的特征分布如下: gearbox特征有個2不同的值 0.0 111623 1.0 32396 Name: gearbox, dtype: int64 notRepairedDamage的特征分布如下: notRepairedDamage特征有個2不同的值 0.0 111361 1.0 14315 Name: notRepairedDamage, dtype: int64 regionCode的特征分布如下: regionCode特征有個7905不同的值 419 369 764 258 125 137 176 136 462 134... 6414 1 7063 1 4239 1 5931 1 7267 1 Name: regionCode, Length: 7905, dtype: int64 # 特征nunique分布 for cat_fea in categorical_features:print(cat_fea + "的特征分布如下:")print("{}特征有個{}不同的值".format(cat_fea, Test_data[cat_fea].nunique()))print(Test_data[cat_fea].value_counts()) name的特征分布如下: name特征有個37453不同的值 55 97 708 96 387 95 1541 88 713 74.. 22270 1 89855 1 42752 1 48899 1 11808 1 Name: name, Length: 37453, dtype: int64 model的特征分布如下: model特征有個247不同的值 0.0 3896 19.0 3245 4.0 3007 1.0 1981 29.0 1742... 242.0 1 240.0 1 244.0 1 243.0 1 246.0 1 Name: model, Length: 247, dtype: int64 brand的特征分布如下: brand特征有個40不同的值 0 10348 4 5763 14 5314 10 4766 1 4532 6 3502 9 2423 5 1569 13 1245 11 919 7 795 3 773 16 771 8 704 25 695 27 650 21 544 15 511 20 450 19 450 12 389 22 363 30 324 17 317 26 303 24 268 28 225 32 193 29 117 31 115 18 106 2 104 37 92 34 77 33 76 36 67 23 62 35 53 38 23 39 2 Name: brand, dtype: int64 bodyType的特征分布如下: bodyType特征有個8不同的值 0.0 13985 1.0 11882 2.0 9900 3.0 4433 4.0 3303 5.0 2537 6.0 2116 7.0 431 Name: bodyType, dtype: int64 fuelType的特征分布如下: fuelType特征有個7不同的值 0.0 30656 1.0 15544 2.0 774 3.0 72 4.0 37 6.0 14 5.0 10 Name: fuelType, dtype: int64 gearbox的特征分布如下: gearbox特征有個2不同的值 0.0 37301 1.0 10789 Name: gearbox, dtype: int64 notRepairedDamage的特征分布如下: notRepairedDamage特征有個2不同的值 0.0 37249 1.0 4720 Name: notRepairedDamage, dtype: int64 regionCode的特征分布如下: regionCode特征有個6971不同的值 419 146 764 78 188 52 125 51 759 51... 7753 1 7463 1 7230 1 826 1 112 1 Name: regionCode, Length: 6971, dtype: int64

    2.3.7 數字特征分析

    numeric_features.append('price') numeric_features ['power','kilometer','v_0','v_1','v_2','v_3','v_4','v_5','v_6','v_7','v_8','v_9','v_10','v_11','v_12','v_13','v_14','price'] Train_data.head() SaleIDnameregDatemodelbrandbodyTypefuelTypegearboxpowerkilometer...v_5v_6v_7v_8v_9v_10v_11v_12v_13v_1401234
    07362004040230.061.00.00.06012.5...0.2356760.1019880.1295490.0228160.097462-2.8818032.804097-2.4208210.7952920.914762
    122622003030140.012.00.00.0015.0...0.2647770.1210040.1357310.0265970.020582-4.9004822.096338-1.030483-1.7226740.245522
    21487420040403115.0151.00.00.016312.5...0.2514100.1149120.1651470.0621730.027075-4.8467491.8035591.565330-0.832687-0.229963
    37186519960908109.0100.00.01.019315.0...0.2742930.1103000.1219640.0333950.000000-4.5095991.285940-0.501868-2.438353-0.478699
    411108020120103110.051.00.00.0685.0...0.2280360.0732050.0918800.0788190.121534-1.8962400.9107830.9311102.8345181.923482

    5 rows × 29 columns

    ## 1) 相關性分析 price_numeric = Train_data[numeric_features] correlation = price_numeric.corr() print(correlation['price'].sort_values(ascending = False),'\n') price 1.000000 v_12 0.692823 v_8 0.685798 v_0 0.628397 power 0.219834 v_5 0.164317 v_2 0.085322 v_6 0.068970 v_1 0.060914 v_14 0.035911 v_13 -0.013993 v_7 -0.053024 v_4 -0.147085 v_9 -0.206205 v_10 -0.246175 v_11 -0.275320 kilometer -0.440519 v_3 -0.730946 Name: price, dtype: float64 f , ax = plt.subplots(figsize = (7, 7))plt.title('Correlation of Numeric Features with Price',y=1,size=16)sns.heatmap(correlation,square = True, vmax=0.8) <matplotlib.axes._subplots.AxesSubplot at 0x111b6ed5b70>

    del price_numeric['price'] ## 2) 查看幾個特征得 偏度和峰值 for col in numeric_features:print('{:15}'.format(col), 'Skewness: {:05.2f}'.format(Train_data[col].skew()) , ' ' ,'Kurtosis: {:06.2f}'.format(Train_data[col].kurt()) ) power Skewness: 65.86 Kurtosis: 5733.45 kilometer Skewness: -1.53 Kurtosis: 001.14 v_0 Skewness: -1.32 Kurtosis: 003.99 v_1 Skewness: 00.36 Kurtosis: -01.75 v_2 Skewness: 04.84 Kurtosis: 023.86 v_3 Skewness: 00.11 Kurtosis: -00.42 v_4 Skewness: 00.37 Kurtosis: -00.20 v_5 Skewness: -4.74 Kurtosis: 022.93 v_6 Skewness: 00.37 Kurtosis: -01.74 v_7 Skewness: 05.13 Kurtosis: 025.85 v_8 Skewness: 00.20 Kurtosis: -00.64 v_9 Skewness: 00.42 Kurtosis: -00.32 v_10 Skewness: 00.03 Kurtosis: -00.58 v_11 Skewness: 03.03 Kurtosis: 012.57 v_12 Skewness: 00.37 Kurtosis: 000.27 v_13 Skewness: 00.27 Kurtosis: -00.44 v_14 Skewness: -1.19 Kurtosis: 002.39 price Skewness: 03.35 Kurtosis: 019.00 ## 3) 每個數字特征得分布可視化 f = pd.melt(Train_data, value_vars=numeric_features) g = sns.FacetGrid(f, col="variable", col_wrap=2, sharex=False, sharey=False) g = g.map(sns.distplot, "value")

    可以看出匿名特征相對分布均勻

    ## 4) 數字特征相互之間的關系可視化 sns.set() columns = ['price', 'v_12', 'v_8' , 'v_0', 'power', 'v_5', 'v_2', 'v_6', 'v_1', 'v_14'] sns.pairplot(Train_data[columns],size = 2 ,kind ='scatter',diag_kind='kde') plt.show()

    Train_data.columns Index(['SaleID', 'name', 'regDate', 'model', 'brand', 'bodyType', 'fuelType','gearbox', 'power', 'kilometer', 'notRepairedDamage', 'regionCode','creatDate', 'price', 'v_0', 'v_1', 'v_2', 'v_3', 'v_4', 'v_5', 'v_6','v_7', 'v_8', 'v_9', 'v_10', 'v_11', 'v_12', 'v_13', 'v_14'],dtype='object') Y_train 0 1850 1 3600 2 6222 3 2400 4 5200... 149995 5900 149996 9500 149997 7500 149998 4999 149999 4700 Name: price, Length: 150000, dtype: int64

    此處是多變量之間的關系可視化,可視化更多學習可參考很不錯的文章 https://www.jianshu.com/p/6e18d21a4cad

    ## 5) 多變量互相回歸關系可視化 fig, ((ax1, ax2), (ax3, ax4), (ax5, ax6), (ax7, ax8), (ax9, ax10)) = plt.subplots(nrows=5, ncols=2, figsize=(24, 20)) # ['v_12', 'v_8' , 'v_0', 'power', 'v_5', 'v_2', 'v_6', 'v_1', 'v_14'] v_12_scatter_plot = pd.concat([Y_train,Train_data['v_12']],axis = 1) sns.regplot(x='v_12',y = 'price', data = v_12_scatter_plot,scatter= True, fit_reg=True, ax=ax1)v_8_scatter_plot = pd.concat([Y_train,Train_data['v_8']],axis = 1) sns.regplot(x='v_8',y = 'price',data = v_8_scatter_plot,scatter= True, fit_reg=True, ax=ax2)v_0_scatter_plot = pd.concat([Y_train,Train_data['v_0']],axis = 1) sns.regplot(x='v_0',y = 'price',data = v_0_scatter_plot,scatter= True, fit_reg=True, ax=ax3)power_scatter_plot = pd.concat([Y_train,Train_data['power']],axis = 1) sns.regplot(x='power',y = 'price',data = power_scatter_plot,scatter= True, fit_reg=True, ax=ax4)v_5_scatter_plot = pd.concat([Y_train,Train_data['v_5']],axis = 1) sns.regplot(x='v_5',y = 'price',data = v_5_scatter_plot,scatter= True, fit_reg=True, ax=ax5)v_2_scatter_plot = pd.concat([Y_train,Train_data['v_2']],axis = 1) sns.regplot(x='v_2',y = 'price',data = v_2_scatter_plot,scatter= True, fit_reg=True, ax=ax6)v_6_scatter_plot = pd.concat([Y_train,Train_data['v_6']],axis = 1) sns.regplot(x='v_6',y = 'price',data = v_6_scatter_plot,scatter= True, fit_reg=True, ax=ax7)v_1_scatter_plot = pd.concat([Y_train,Train_data['v_1']],axis = 1) sns.regplot(x='v_1',y = 'price',data = v_1_scatter_plot,scatter= True, fit_reg=True, ax=ax8)v_14_scatter_plot = pd.concat([Y_train,Train_data['v_14']],axis = 1) sns.regplot(x='v_14',y = 'price',data = v_14_scatter_plot,scatter= True, fit_reg=True, ax=ax9)v_13_scatter_plot = pd.concat([Y_train,Train_data['v_13']],axis = 1) sns.regplot(x='v_13',y = 'price',data = v_13_scatter_plot,scatter= True, fit_reg=True, ax=ax10) <matplotlib.axes._subplots.AxesSubplot at 0x111b47b2b38>

    2.3.8 類別特征分析

    ## 1) unique分布 for fea in categorical_features:print(Train_data[fea].nunique()) 99662 248 40 8 7 2 2 7905 categorical_features ['name','model','brand','bodyType','fuelType','gearbox','notRepairedDamage','regionCode'] ## 2) 類別特征箱形圖可視化# 因為 name和 regionCode的類別太稀疏了,這里我們把不稀疏的幾類畫一下 categorical_features = ['model','brand','bodyType','fuelType','gearbox','notRepairedDamage'] for c in categorical_features:Train_data[c] = Train_data[c].astype('category')if Train_data[c].isnull().any():Train_data[c] = Train_data[c].cat.add_categories(['MISSING'])Train_data[c] = Train_data[c].fillna('MISSING')def boxplot(x, y, **kwargs):sns.boxplot(x=x, y=y)x=plt.xticks(rotation=90)f = pd.melt(Train_data, id_vars=['price'], value_vars=categorical_features) g = sns.FacetGrid(f, col="variable", col_wrap=2, sharex=False, sharey=False, size=5) g = g.map(boxplot, "value", "price")

    Train_data.columns Index(['SaleID', 'name', 'regDate', 'model', 'brand', 'bodyType', 'fuelType','gearbox', 'power', 'kilometer', 'notRepairedDamage', 'regionCode','creatDate', 'price', 'v_0', 'v_1', 'v_2', 'v_3', 'v_4', 'v_5', 'v_6','v_7', 'v_8', 'v_9', 'v_10', 'v_11', 'v_12', 'v_13', 'v_14'],dtype='object') ## 3) 類別特征的小提琴圖可視化 catg_list = categorical_features target = 'price' for catg in catg_list :sns.violinplot(x=catg, y=target, data=Train_data)plt.show()

    categorical_features = ['model','brand','bodyType','fuelType','gearbox','notRepairedDamage'] ## 4) 類別特征的柱形圖可視化 def bar_plot(x, y, **kwargs):sns.barplot(x=x, y=y)x=plt.xticks(rotation=90)f = pd.melt(Train_data, id_vars=['price'], value_vars=categorical_features) g = sns.FacetGrid(f, col="variable", col_wrap=2, sharex=False, sharey=False, size=5) g = g.map(bar_plot, "value", "price")

    ## 5) 類別特征的每個類別頻數可視化(count_plot) def count_plot(x, **kwargs):sns.countplot(x=x)x=plt.xticks(rotation=90)f = pd.melt(Train_data, value_vars=categorical_features) g = sns.FacetGrid(f, col="variable", col_wrap=2, sharex=False, sharey=False, size=5) g = g.map(count_plot, "value")

    2.3.9 用pandas_profiling生成數據報告

    用pandas_profiling生成一個較為全面的可視化和數據報告(較為簡單、方便) 最終打開html文件即可

    import pandas_profiling pfr = pandas_profiling.ProfileReport(Train_data) pfr.to_file("./example.html") HBox(children=(FloatProgress(value=0.0, description='variables', max=29.0, style=ProgressStyle(description_wid…HBox(children=(FloatProgress(value=0.0, description='correlations', max=6.0, style=ProgressStyle(description_w…HBox(children=(FloatProgress(value=0.0, description='interactions [continuous]', max=729.0, style=ProgressStyl…HBox(children=(FloatProgress(value=0.0, description='table', max=1.0, style=ProgressStyle(description_width='i…HBox(children=(FloatProgress(value=0.0, description='missing', max=4.0, style=ProgressStyle(description_width=…HBox(children=(FloatProgress(value=0.0, description='warnings', max=3.0, style=ProgressStyle(description_width…HBox(children=(FloatProgress(value=0.0, description='package', max=1.0, style=ProgressStyle(description_width=…HBox(children=(FloatProgress(value=0.0, description='build report structure', max=1.0, style=ProgressStyle(des…

    2.4 經驗總結

    所給出的EDA步驟為廣為普遍的步驟,在實際的不管是工程還是比賽過程中,這只是最開始的一步,也是最基本的一步。

    接下來一般要結合模型的效果以及特征工程等來分析數據的實際建模情況,根據自己的一些理解,查閱文獻,對實際問題做出判斷和深入的理解。

    最后不斷進行EDA與數據處理和挖掘,來到達更好的數據結構和分布以及較為強勢相關的特征


    數據探索在機器學習中我們一般稱為EDA(Exploratory Data Analysis):

    是指對已有的數據(特別是調查或觀察得來的原始數據)在盡量少的先驗假定下進行探索,通過作圖、制表、方程擬合、計算特征量等手段探索數據的結構和規律的一種數據分析方法。

    數據探索有利于我們發現數據的一些特性,數據之間的關聯性,對于后續的特征構建是很有幫助的。

  • 對于數據的初步分析(直接查看數據,或.sum(), .mean(),.descirbe()等統計函數)可以從:樣本數量,訓練集數量,是否有時間特征,是否是時許問題,特征所表示的含義(非匿名特征),特征類型(字符類似,int,float,time),特征的缺失情況(注意缺失的在數據中的表現形式,有些是空的有些是”NAN”符號等),特征的均值方差情況。

  • 分析記錄某些特征值缺失占比30%以上樣本的缺失處理,有助于后續的模型驗證和調節,分析特征應該是填充(填充方式是什么,均值填充,0填充,眾數填充等),還是舍去,還是先做樣本分類用不同的特征模型去預測。

  • 對于異常值做專門的分析,分析特征異常的label是否為異常值(或者偏離均值較遠或者事特殊符號),異常值是否應該剔除,還是用正常值填充,是記錄異常,還是機器本身異常等。

  • 對于Label做專門的分析,分析標簽的分布情況等。

  • 進步分析可以通過對特征作圖,特征和label聯合做圖(統計圖,離散圖),直觀了解特征的分布情況,通過這一步也可以發現數據之中的一些異常值等,通過箱型圖分析一些特征值的偏離情況,對于特征和特征聯合作圖,對于特征和label聯合作圖,分析其中的一些關聯性。

  • 總結

    以上是生活随笔為你收集整理的【算法竞赛学习】二手车交易价格预测-Task2数据分析的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    99精品影视 | 玖玖在线资源 | 日韩在线电影 | 日本黄色免费在线观看 | 色福利网站 | 99re6热在线精品视频 | 在线观看中文字幕 | 亚洲久草在线 | 九九视频在线观看视频6 | 欧美aa在线观看 | 又色又爽的网站 | 18网站在线观看 | 在线观看视频福利 | 亚洲色图激情文学 | 激情深爱 | 97色涩| 视频一区在线免费观看 | 日韩精品第1页 | 免费在线观看成人小视频 | 国产精品毛片久久久久久久 | 午夜精品一区二区三区免费 | 国产日韩欧美精品在线观看 | 99久久99久久综合 | 久草在线一免费新视频 | 久久久国产一区二区三区 | 狠狠色丁香婷婷综合基地 | 久久久精品综合 | 欧美日在线 | 婷婷色在线视频 | 国产在线一线 | 国产99久| 美女久久 | 9在线观看免费高清完整版 玖玖爱免费视频 | 日韩精品专区在线影院重磅 | 国产欧美在线一区 | 特级西西444www大精品视频免费看 | 色婷婷精品大在线视频 | 国产黄色精品在线观看 | 涩av在线 | 一区二区不卡在线观看 | 99九九热只有国产精品 | 国产日韩精品一区二区 | 成人午夜黄色 | 九九电影在线 | 欧美成天堂网地址 | 精品久久91| 精品久久综合 | 精品国产乱码久久久久久三级人 | 日本精品视频免费观看 | 亚洲精品在线观看av | 亚洲欧美日韩在线看 | 精品国产一区在线观看 | 国产精品久久久久久久久久妇女 | 91视频com | 人九九精品 | 国产综合在线视频 | 成人久久久久久久久 | 日韩国产精品久久 | 深爱激情亚洲 | 国产一级小视频 | 天天天天爱天天躁 | 99热最新网址 | 丁香花在线视频观看免费 | 91麻豆精品国产91久久久无限制版 | 欧美三人交 | 免费男女网站 | 婷婷激情5月天 | 亚洲精品在线免费 | 日韩婷婷| 少妇视频在线播放 | 久久99国产精品自在自在app | 国产69精品久久久久久 | 久久久一本精品99久久精品66 | 欧产日产国产69 | 天天操天天谢 | 福利二区视频 | 久久午夜电影院 | 日韩在线无 | 国产黄色大全 | 久久精品成人欧美大片古装 | 免费看日韩片 | 最近中文字幕国语免费av | 在线视频成人 | 亚洲乱码久久 | 97色在线| 9999在线视频 | 91亚·色 | 91视频啪 | 国产大片免费久久 | 一本一道波多野毛片中文在线 | 日韩中文字幕免费视频 | 在线看国产 | 欧美日韩国产精品爽爽 | 久久人人干 | 四虎国产精品免费观看视频优播 | 韩日av一区二区 | 三级黄色免费 | 天天·日日日干 | 丁香激情综合 | 色狠狠一区二区 | 久久免费99精品久久久久久 | 成人网页在线免费观看 | 日韩中文在线电影 | 亚洲综合视频在线观看 | 欧美另类激情 | 国产精品久久片 | wwwwwww黄| 久久精品视频4 | 精品国产一二三四区 | 91一区啪爱嗯打偷拍欧美 | 天天夜操| 亚洲综合导航 | 亚洲黄色在线 | 亚洲高清资源 | 久久久久久久久久网站 | 国产99视频在线观看 | 色综合久久久久网 | 天天天天天天天天操 | 97视频人人澡人人爽 | 96亚洲精品久久久蜜桃 | 操少妇视频 | 182午夜在线观看 | 国产一区视频在线观看免费 | 国产一级免费av | 国产又粗又猛又黄又爽的视频 | 丝袜美女视频网站 | 久草热久草视频 | 日韩videos高潮hd | 三级av在线播放 | 亚洲特级毛片 | 天天干天天摸天天操 | 欧美一级日韩免费不卡 | 中文亚洲欧美日韩 | 日韩欧美在线免费观看 | 六月激情丁香 | 天天激情综合网 | 色综合咪咪久久网 | 国产精品成人久久久 | 99r在线| 亚洲国产99| 午夜精品一区二区三区在线观看 | 久久久久免费精品国产小说色大师 | 日韩精品免费一区二区 | 久久怡红院 | 色网站免费在线看 | 国产精品九九久久99视频 | 综合色综合 | 美女免费黄网站 | a级片网站 | 狠狠操狠狠 | 国产精品成人免费精品自在线观看 | 国产在线精品一区二区 | 亚洲性少妇性猛交wwww乱大交 | 国产精品午夜在线 | 日韩欧美精品免费 | 国产高清免费 | www.神马久久 | 免费成人结看片 | 久草在线 | 在线视频在线观看 | 能在线观看的日韩av | 中文字幕在线观看视频网站 | 国产综合在线视频 | 国产精品免费久久久久影院仙踪林 | 日韩高清毛片 | 91在线视频网址 | 丁香一区二区 | 久久综合久久综合久久综合 | 国产极品尤物在线 | 亚洲欧美视频一区二区三区 | 丁香五月网久久综合 | 天天色天天操综合网 | 免费黄色av.| 97色在线观看免费视频 | 日韩精品一区二区在线视频 | 国产日产精品一区二区三区四区 | 国产精品99精品久久免费 | 国产精品爽爽久久久久久蜜臀 | 午夜精品三区 | 免费的成人av | 欧美日韩高清一区二区三区 | 国产一区 在线播放 | 久久久91精品国产一区二区三区 | 黄p网站在线观看 | 中文字幕a在线 | av在线免费观看网站 | 国产一级片在线播放 | 9999毛片 | 99夜色| 亚洲高清视频在线观看 | 国产成a人亚洲精v品在线观看 | 国产精品久久久久久久99 | 久久99国产精品免费网站 | 日日碰狠狠添天天爽超碰97久久 | 欧美 亚洲 另类 激情 另类 | 毛片激情永久免费 | 99精品视频免费看 | 91av中文| 日韩精品一区二区三区丰满 | 久久av黄色| 亚洲少妇自拍 | 国产精品专区h在线观看 | 中文字幕在线观看免费高清完整版 | 99国产情侣在线播放 | 久久精品这里热有精品 | 亚洲一区不卡视频 | 91pony九色丨交换 | 一区二区影院 | 日韩激情视频在线 | 免费视频三区 | 天天色草 | 91在线永久 | 伊人影院在线观看 | 亚洲国产精品资源 | 91伊人久久大香线蕉蜜芽人口 | 国产精品区免费视频 | 久99久久 | 欧美一区二区三区特黄 | www.天天色 | 人人爽人人爽人人片av免 | 夜夜嗨av色一区二区不卡 | 欧美另类视频 | 国产成人免费高清 | 色综合 久久精品 | 欧美日韩69| 国产精品久久久久久久久久久免费看 | 天天色天天搞 | 欧美精品中文在线免费观看 | 人人超碰97 | 精品一区二区免费在线观看 | 久久久久久久久久久免费视频 | 久久久久久欧美二区电影网 | 久久免费视频播放 | 天天色天天操天天爽 | 中国老女人日b | 日韩伦理片hd | 国产成人精品网站 | 九九免费精品 | 国产无套精品久久久久久 | 日韩高清网站 | 色婷婷88av视频一二三区 | 18国产精品福利片久久婷 | 国产在线小视频 | 久久综合狠狠综合久久狠狠色综合 | 亚洲国产精品人久久电影 | 亚洲热久久 | 亚av在线 | 2021国产精品视频 | 精品亚洲va在线va天堂资源站 | 国产最新精品视频 | 91日韩在线| 四虎在线视频免费观看 | 高清不卡毛片 | 中文字幕在线看视频国产中文版 | 91传媒激情理伦片 | 日本久久久久久久久久久 | 国产精品在线看 | 中文字幕第一页在线播放 | 国产精品欧美久久久久三级 | 91欧美视频网站 | 久久99精品国产麻豆婷婷 | 国产综合片 | 91在线看| 久草电影网 | 午夜影院一级 | 天天射网站 | 亚洲激情在线播放 | av一级久久| 国产成人av一区二区三区在线观看 | 欧美国产亚洲精品久久久8v | 狠狠88综合久久久久综合网 | 久久精品一区二 | 久久你懂的 | 最新日韩在线 | 婷婷五天天在线视频 | 国产真实在线 | 最新中文字幕在线播放 | 国产精品手机在线播放 | 黄色av电影免费观看 | 五月天综合婷婷 | 天天色草| 四虎在线免费观看视频 | 日韩在线在线 | 911香蕉视频 | 亚洲另类视频在线观看 | 波多野结衣精品 | 日韩精品免费在线视频 | 日韩美女黄色片 | 西西大胆免费视频 | 91视频国产免费 | 午夜婷婷在线观看 | 中文一区二区三区在线观看 | 9797在线看片亚洲精品 | 91一区啪爱嗯打偷拍欧美 | 欧美日韩一区二区三区视频 | 一区二区三区在线观看免费视频 | 日韩精品久久久免费观看夜色 | 国产日产精品一区二区三区四区的观看方式 | 国产精品青青 | 国产视频一区二区在线 | 欧美精品一区二区在线观看 | а天堂中文最新一区二区三区 | 五月婷婷激情综合网 | 国产精品av一区二区 | 亚洲 精品在线视频 | 欧美吞精 | 久久五月天综合 | 啪一啪在线 | 99精品免费在线观看 | 天天综合网天天综合色 | 久久久这里有精品 | 亚洲伊人av | 日韩久久精品一区二区 | 国产精品久久久久一区二区三区共 | 国产亚洲精品久久久久久网站 | 91在线资源 | 久久 地址 | 91久久久久久久一区二区 | 国产精品自产拍在线观看 | 亚洲影视资源 | 亚洲 中文字幕av | 精品国产一区二区三区久久 | 日韩欧美在线观看一区二区三区 | 日韩欧美在线观看一区二区三区 | 香蕉视频在线看 | 色婷婷av一区 | 五月天伊人 | 中文字幕在线观看第三页 | 国产做aⅴ在线视频播放 | 天天做日日爱夜夜爽 | 91福利在线导航 | 亚洲91视频 | 视频在线精品 | 日韩激情免费视频 | 精品999在线观看 | 国产视频精品免费 | 国产成人一区二区在线观看 | 91精品在线免费观看视频 | 久久亚洲精品电影 | 国产日韩精品一区二区在线观看播放 | www.狠狠操.com| www.色午夜| 欧美日韩国产综合一区二区 | 97色狠狠 | 久草在线精品观看 | 九九免费观看视频 | 九九视频在线 | 超碰人人超 | 亚洲另类xxxx | 亚洲精品国产精品乱码不99热 | 一级淫片在线观看 | 久久成年人 | 天天综合网天天 | 中文字幕永久 | 在线免费视频a | 狠狠的日 | 亚洲区另类春色综合小说 | 激情网站免费观看 | 96亚洲精品久久久蜜桃 | 天堂视频一区 | 深夜国产在线 | 精品视频在线免费观看 | 伊人网站 | 成人午夜电影久久影院 | 欧美日韩免费在线观看视频 | 久久久久久久久网站 | 9在线观看免费高清完整版在线观看明 | 免费av网站在线看 | 天天射天天做 | 中文字幕在线播放视频 | 色婷婷综合成人av | 91亚洲夫妻 | 久久午夜鲁丝片 | 九九影视理伦片 | 国产精品久久久久久电影 | 偷拍视频一区 | 亚洲成色777777在线观看影院 | 天天做综合网 | 色诱亚洲精品久久久久久 | 中文字幕在线影院 | 精品国产大片 | 久久成人高清 | 免费观看一级特黄欧美大片 | 色婷婷视频在线 | 久久成人18免费网站 | 在线国产小视频 | 国产视频 亚洲视频 | 国产精品欧美激情在线观看 | 中文字幕欧美日韩va免费视频 | 在线天堂v| 97综合视频| 玖玖综合网 | 激情电影在线观看 | 久在线观看 | 国产高清无线码2021 | 中文字幕在线观看国产 | 免费看三级黄色片 | 黄色亚洲免费 | 91麻豆精品国产91久久久使用方法 | 国产视频精品网 | 波多野结衣久久精品 | 欧美国产日韩一区二区三区 | 97在线看| 亚洲高清资源 | 91爱在线| 久久综合毛片 | 免费美女av | 国产一区二区三区免费观看视频 | 亚洲国产欧美一区二区三区丁香婷 | 日韩一区二区在线免费观看 | 四虎影视国产精品免费久久 | 欧美性生活大片 | 国产一区二区三精品久久久无广告 | 91原创在线观看 | 免费看国产a | 日韩一级理论片 | 又黄又爽又刺激视频 | 波多野结衣视频一区二区 | 成人午夜电影在线观看 | 亚洲视频久久久 | 国产成人综合在线观看 | 91超在线| 欧美夫妻性生活电影 | 精品久久综合 | 最新午夜电影 | 日韩免费观看视频 | 亚洲成成品网站 | 九色在线| 久久69精品久久久久久久电影好 | 欧美激情另类 | 久久 一区 | 午夜在线观看影院 | 欧美日韩在线观看一区二区三区 | 99精品视频免费观看视频 | 99色视频 | 国产精品高清在线观看 | 91夜夜夜 | av福利在线免费观看 | 国产成人在线观看免费 | 天天摸夜夜操 | 香蕉影院在线 | 亚洲精品免费在线 | av在线8| 日韩av线观看 | 91免费的视频在线播放 | 四虎在线观看 | 高清视频一区二区三区 | 一级片视频免费观看 | 在线观看激情av | 美女视频黄免费的久久 | 国产盗摄精品一区二区 | 国产午夜精品免费一区二区三区视频 | 99视频网址 | 日韩高清成人在线 | 久久五月网| 久久久久久久久久久免费 | 西西444www大胆高清图片 | 超碰在线国产 | 91黄在线看 | 日本免费一二三区 | 伊人影院得得 | 天天干天天摸 | 久久在线免费观看 | 国产精品第二页 | 亚洲一区日韩精品 | 超碰在线网 | 亚洲精品tv | 一本之道乱码区 | av在线等 | 日韩成人精品在线观看 | 久久综合免费视频影院 | 天天色天天干天天 | 国产黄色在线看 | 色婷婷骚婷婷 | 美女视频免费一区二区 | 国产高清日韩 | 免费在线播放 | 天天做天天爱夜夜爽 | 欧美最猛性xxxxx免费 | 操综合| 成人动漫精品一区二区 | 亚洲精品黄 | 三级黄色理论片 | 日日日爽爽爽 | 成年人视频在线免费观看 | 欧美在线不卡一区 | 久久久 激情 | 婷婷丁香六月 | 国产日本亚洲高清 | 亚洲狠狠操 | 五月激情丁香 | 人人爽人人做 | 中文字幕在线中文 | 久久久久国产a免费观看rela | 四虎国产精品免费观看视频优播 | 最近日本韩国中文字幕 | 日本久久片| 国内精品在线一区 | 欧美一级性生活 | 天天操福利视频 | 中文字幕第 | 91精品国产综合久久婷婷香蕉 | 久草视频在线新免费 | 激情网在线视频 | 午夜精品三区 | 成人黄色电影免费观看 | 香蕉视频色| 日韩美女av在线 | 久久综合网色—综合色88 | 九色91av| 精品国产一区二区三区在线观看 | 国产精品一级在线 | 日本狠狠干 | 91av在| 黄色免费观看网址 | 五月天婷婷视频 | 欧美日韩免费在线观看视频 | 欧美一级日韩免费不卡 | 国产不卡免费av | 欧美亚洲精品一区 | 久久中文字幕在线视频 | 麻豆果冻剧传媒在线播放 | 日本在线观看一区二区三区 | av看片网| 亚洲精品h| 国产成人福利片 | 麻豆影视在线免费观看 | 另类老妇性bbwbbw高清 | 日韩国产在线观看 | 天天曰视频 | 欧美人体xx| 国产色啪 | 久草在线免费电影 | 国产91电影在线观看 | 成人亚洲免费 | 五月激情天 | 99在线看 | 国产精品欧美一区二区 | 久久久国产精品成人免费 | 亚洲精品影院在线观看 | 日韩欧美在线免费 | 91精品国产高清自在线观看 | 一本大道久久精品懂色aⅴ 五月婷社区 | 99r在线| 在线观看视频在线 | 久久精品99国产精品亚洲最刺激 | 黄色一级免费网站 | 一区二区三区日韩在线 | 粉嫩av一区二区三区四区在线观看 | 国产在线精品一区二区 | 日韩在线不卡 | 最近中文字幕大全中文字幕免费 | 中文字幕人成不卡一区 | 国产精品久久毛片 | 免费在线观看成人 | 日韩午夜小视频 | 欧美一级大片在线观看 | 91精品国产99久久久久 | 亚洲婷婷免费 | 97超碰人人澡人人 | 国产字幕av | 国产成人精品一二三区 | 99tvdz@gmail.com| 波多野结衣精品在线 | 涩涩爱夜夜爱 | 国产精品对白一区二区三区 | 日韩精品免费一区二区在线观看 | 91一区二区三区久久久久国产乱 | 最近日韩免费视频 | 美女免费网视频 | 午夜少妇一区二区三区 | 国内三级在线 | 精品国产精品国产偷麻豆 | 色视频 在线 | 国产一级黄色免费看 | 国产精品久久久久久久久久久久久久 | 久久久久久国产精品免费 | 日本女人的性生活视频 | 在线a视频免费观看 | 国产一级视频在线观看 | av电影免费在线看 | 国产精品久久99综合免费观看尤物 | 国产最新视频在线 | 国产精品久久久久久久久久久久午夜 | 国产欧美日韩精品一区二区免费 | 西西人体4444www高清视频 | 国内亚洲精品 | 六月激情婷婷 | 国产91精品久久久久久 | 日韩有码欧美 | 在线观看久久久久久 | 天堂中文在线播放 | 久草在线官网 | 国内精品久久久久久中文字幕 | 香蕉视频在线免费 | 亚洲国产中文字幕在线 | 国产福利在线免费观看 | 亚洲精品日韩av | 手机在线中文字幕 | 国产日韩欧美视频在线观看 | 日韩伦理片一区二区三区 | 日韩av男人的天堂 | 国产一区二区在线免费 | 成av在线 | 国产精品12 | 97超碰色偷偷 | 激情视频免费在线观看 | av一区在线播放 | 99久热在线精品视频观看 | 在线看v片 | 一区二区三区在线观看免费视频 | 欧美精品久久久久久久 | 五月综合激情 | 国产生活一级片 | 国产女做a爱免费视频 | 日本乱码在线 | 久久精品免视看 | 麻花豆传媒mv在线观看 | 少妇性色午夜淫片aaaze | 性色av香蕉一区二区 | 在线 视频 一区二区 | 一区二区三区免费播放 | 国产精品字幕 | 中文字幕成人网 | 久久精品日本啪啪涩涩 | 日韩网站一区 | 精品日韩在线一区 | 成人亚洲网 | 天天干天天操 | a视频在线播放 | 亚洲精品永久免费视频 | 久久性生活片 | 天天摸天天操天天舔 | 久久96国产精品久久99漫画 | 国产精品免费视频网站 | 日本久久综合网 | 天天伊人网 | av在线免费在线观看 | 亚洲人片在线观看 | 天天做夜夜做 | 国产精品一区二区av日韩在线 | 一级欧美一级日韩 | 麻豆免费在线播放 | 视频国产在线观看18 | 日韩午夜一级片 | 免费在线播放av电影 | 国产精品嫩草影院9 | 日韩精品一区二区在线 | 国产一区二区视频在线 | 国内精品久久久久影院优 | 五月开心激情网 | 97精品超碰一区二区三区 | 91视频88av| 欧美精品在线观看免费 | 成人aaa毛片 | www.久久婷婷 | 久久婷婷色综合 | 国产成人免费网站 | 最新婷婷色 | 精品 激情| 国产精品久久久久久久久久不蜜月 | 午夜视频在线观看欧美 | 久久久精品久久 | 久久国产精品视频免费看 | 欧美激情第八页 | 中文字幕精 | 天天综合成人 | 国产在线91精品 | 国际精品网 | 亚洲精品白浆高清久久久久久 | 国产精品一区免费观看 | 久久99久久99精品免费看小说 | 成人污视频在线观看 | 成人精品国产 | 在线观看色网 | 色综合狠狠干 | 成人免费观看完整版电影 | 色激情五月 | 99视频这里有精品 | 91人人网 | 狠狠躁夜夜a产精品视频 | 中文字幕色在线 | 国产精品av久久久久久无 | 日韩欧美国产激情在线播放 | 高清国产午夜精品久久久久久 | 久久综合成人 | 最新中文字幕 | 91桃色在线观看视频 | 国产黄在线看 | 婷色| 国产成人精品午夜在线播放 | 九月婷婷综合网 | 色婷婷久久一区二区 | 国产五码一区 | 91毛片在线 | 久久久精品欧美一区二区免费 | 蜜臀av在线一区二区三区 | 91香蕉亚洲精品 | 国产精品四虎 | 日本精品中文字幕 | 国产一二三四在线视频 | 五月婷社区 | 日韩精品黄| 岛国片在线 | 日韩精品视频一二三 | 国产高清成人 | 国产一区二区三区免费在线观看 | 免费激情在线电影 | av软件在线观看 | 欧美一区二区视频97 | a√国产免费a | 亚洲精选久久 | 国产69精品久久久久久 | 亚洲国产精品成人综合 | 欧美一级性生活视频 | 久久久91精品国产一区二区三区 | 日韩videos高潮hd | 在线视频欧美精品 | 色欧美88888久久久久久影院 | 日韩电影在线观看一区二区三区 | 欧美另类交在线观看 | 在线免费观看视频 | 国产黄色片久久 | 国产精品观看 | 免费视频黄| 免费视频99 | 激情视频免费在线 | 婷婷六月色 | 亚洲码国产日韩欧美高潮在线播放 | 国内外成人在线视频 | 亚洲精品久久久蜜臀下载官网 | 99精品视频在线免费观看 | 国产中文字幕精品 | 丁香5月婷婷久久 | 亚洲视频免费在线看 | 日韩一区二区三区免费视频 | 久久精品国产亚洲a | 午夜免费福利片 | 2021av在线| 亚洲国产字幕 | 曰韩在线| 亚洲va男人天堂 | 欧美成人91| а中文在线天堂 | 99精品视频在线播放观看 | 99自拍视频在线观看 | 国产视频一区在线播放 | 99在线精品视频 | 操操操com| 天天插日日射 | 亚洲欧美成人在线 | 久久99精品国产 | 色丁香久久 | 久久国产成人午夜av影院潦草 | 亚洲六月丁香色婷婷综合久久 | 狠狠躁夜夜a产精品视频 | 九九免费在线看完整版 | 97在线观看 | 久久国产视频网站 | 亚洲一二三区精品 | 国产黄色网 | 成人在线观看av | 国产一级二级三级视频 | 在线va视频 | 狠狠色网 | av一本久道久久波多野结衣 | 日本精品一区二区三区在线观看 | 亚洲电影在线看 | 婷婷综合视频 | 丁香婷婷激情国产高清秒播 | 久久免费视频播放 | 欧美一级免费高清 | 五月开心色| 国产精品久久久久久久久久久久久 | 国产一级三级 | 在线电影 你懂得 | 毛片网在线 | 91精品视频在线免费观看 | 日韩大片在线免费观看 | 日韩在线字幕 | 久久久久久久99 | 2024av在线播放 | 一区二区三区国产精品 | 91九色蝌蚪视频网站 | 在线看毛片网站 | 超碰在线观看97 | 成人免费在线视频 | 在线播放亚洲 | 久久av伊人 | 亚洲a网 | 91成人精品在线 | 色婷婷久久一区二区 | www久久久 | 国产精品久久久久久婷婷天堂 | 日本系列中文字幕 | 国产成人香蕉 | av免费在线观看网站 | 国产精品一区二区三区99 | 丁香花中文在线免费观看 | 91精品1区 | 国产九九在线 | 午夜影院一级 | 久久久久久久av麻豆果冻 | 国产成人一二片 | 中文字幕亚洲欧美日韩2019 | 久久精品国产一区二区电影 | 日韩在线免费视频 | 亚洲人成影院在线 | 黄色大片入口 | 亚洲高清视频在线播放 | 日本中文不卡 | 亚洲视频免费在线观看 | 日韩在线视频在线观看 | 日韩欧美成人网 | 麻豆播放 | 久久午夜电影院 | 91人人在线| 日本不卡一区二区三区在线观看 | 欧美日韩国产亚洲乱码字幕 | 国产福利在线免费观看 | 成人国产综合 | 日韩色综合网 | 日本中文字幕影院 | 99精品视频一区 | 天天爽网站 | 亚洲综合在线五月天 | 97在线观视频免费观看 | 天天干天天玩天天操 | 国产成人99久久亚洲综合精品 | 99久久婷婷国产综合亚洲 | 综合久久影院 | 日韩美av在线 | 波多野结衣小视频 | 国产精品免费视频一区二区 | free. 性欧美.com | 综合中文字幕 | 一级片免费观看视频 | 国产无吗一区二区三区在线欢 | 日韩中文字幕电影 | 国产糖心vlog在线观看 | 狠狠狠狠狠狠天天爱 | 91探花在线 | 久草久草在线 | 激情在线免费视频 | 久久tv| 天堂在线成人 | 国产女人免费看a级丨片 | 精品国内 | 日本黄色片一区二区 | 在线播放亚洲 | 曰韩在线 | 97视频播放 | 91麻豆精品国产91久久久久久久久 | 日韩电影中文字幕 | 亚洲视频在线免费观看 | 五月天最新网址 | 狠狠黄| 久久中国精品 | 久久99精品久久久久婷婷 | www.黄色网.com | 2024国产精品视频 | 免费观看一级视频 | 黄色官网在线观看 | 国产一级二级视频 | 国产又粗又猛又黄又爽 | 在线观看日本高清mv视频 | 日韩黄色大片在线观看 | 色婷婷伊人 | 久久毛片网站 | 天堂va在线观看 | 嫩模bbw搡bbbb搡bbbb | 一区二区精品在线观看 | 国产高清在线精品 | 久久精品中文字幕少妇 | 免费看国产一级片 | 成人一级片免费看 | 久久久久综合精品福利啪啪 | 伊人色综合久久天天网 | 亚洲免费在线播放视频 | 国产精品男女 | 欧美性久久久 | av免费看电影 | 国产第一页在线播放 | 国产在线播放观看 | 天天干天天做 | 亚洲精品免费在线 | 日韩久久精品一区二区 | 免费观看完整版无人区 | 探花视频在线版播放免费观看 | 国产精品婷婷午夜在线观看 | 亚洲午夜精品久久久久久久久久久久 | 五月天堂色 | 国产精品系列在线观看 | 国产99久久| 久久久久欧美精品 | 又污又黄的网站 | 欧美最新另类人妖 | 日韩精品极品视频 | 999久久国产 | 在线看黄色的网站 | 久久久电影网站 | 国产精品九九九九九九 | 波多野结衣在线播放视频 | 久久精品视频18 | 中文字幕在线第一页 | 狠狠色噜噜狠狠 | 婷婷五情天综123 | 国产网站av | 麻豆免费视频 | 93久久精品日日躁夜夜躁欧美 | 一本一本久久a久久精品牛牛影视 | 一级黄色毛片 | 久久人人爽av | 日韩videos高潮hd | 免费aa大片 | 1000部国产精品成人观看 | 久久久综合电影 | 欧美成人在线免费 | 在线视频国产区 | 久久精品日产第一区二区三区乱码 | 久久免费视频在线观看 | 欧美一区二区三区在线观看 | 亚洲影音先锋 | 黄色片视频在线观看 | 久久精品黄 | 免费网站污 | 日韩中字在线观看 | 精品视频999| 久久av在线 | 在线视频一区观看 | 久久亚洲区 | 午夜免费在线观看 | 91天堂影院| 日韩精品中文字幕在线播放 | 日韩在线中文字幕 | 精品国产精品久久 | 国产一级高清 | 伊人伊成久久人综合网站 | 久久久网站 | 国产免费影院 | 国产精品毛片久久久久久 | 午夜免费电影院 | 在线日韩中文字幕 | 久久久午夜精品理论片中文字幕 | 国产高清无线码2021 | 就色干综合 | 国产成人一二片 | 日韩中文字幕免费在线观看 | 久久精品人人做人人综合老师 | 99久热在线精品视频观看 | 欧美日韩性 | 亚洲第一av在线播放 | 日韩欧美视频一区二区 | 麻豆视传媒官网免费观看 | 中文字幕在线影视资源 | 国产女人免费看a级丨片 | 中文字幕免费高清 | 国产精品69av| 久久免费中文视频 | 96精品在线 | 国产成在线观看免费视频 | 欧美另类老妇 | aa一级片| 欧美日本一二三 | 欧美日本不卡视频 | 成人中文字幕在线观看 | 亚洲最快最全在线视频 | 日韩午夜电影院 | 亚洲视频h| 久久人人艹 | 天堂av免费 | 欧美视频日韩视频 | 黄色成年 | 日韩网站在线观看 | 亚洲黄色av网址 | 欧美性免费 | 午夜久操| 久久久精品国产一区二区三区 | 亚洲成人精品在线观看 | 日韩欧美在线视频一区二区三区 | 亚洲最大av在线播放 | 亚洲精品美女视频 | 欧美日韩国产精品爽爽 | 欧美 日韩 成人 | 久久久一本精品99久久精品66 | 美女久久久久久久 | 中文字幕色在线 | 97碰视频| 一级黄色电影网站 | 国产黄色在线 | 懂色av一区二区在线播放 | 国产中文字幕第一页 | 手机色站 | 亚洲精品女人久久久 | 久久视频在线观看免费 | 美女网站在线看 | 成人免费看黄 | 四虎影视精品成人 |