1. 程式人生 > >Matplotlib&seaborn筆記1--資料skewness與displot相關預處理

Matplotlib&seaborn筆記1--資料skewness與displot相關預處理

最近在學習kaggle預測房價的大神程式碼。其中有很多地方涉及到了我的知識盲區。。。慢慢來吧,先做好知識儲備,再去系統再現程式碼。本文主要講的是待預測值的分佈。而且我覺得對於迴歸問題,研究預測值的分佈是很有必要的,因此做一個記錄。
先看程式碼:

# !/usr/bin/python3                                               
# -*-coding:UTF-8-*-                                              
# By WILL                                                         
import pandas as pd import numpy as np import seaborn as sns import pylab as plt #或者import matplotlib.pyplot as plt一樣的 #假設data是我們要預測的值 plt.style.use(
"ggplot") #影象美化 data = np.random.randn(1000)#生成1000個標準正態分佈的點 data = pd.DataFrame(data) sns.distplot(data)#看下方紅字描述 plt.show() print
(data.describe())#該列的描述:列的均值 方差 標準差 四分位數 最值等資訊 print("data的skewness:",data.skew()) print("data的peakedness:",data.kurt())

輸出:
在這裡插入圖片描述

                 0#因為是DataFrame,所以肯定有一個column。
count  1000.000000
mean      0.050196#1000樣本點比較少,理論上為0
std       0.963622#理論值為1
min      -2.765893
25%      -0.581325#1/4分位點
50%       0.041425#1/2分位點
75%       0.733161#3/4分位點
max       3.162707
data的skewness: 0   -0.00365
dtype: float64
data的peakedness: 0   -0.149678
dtype: float64

分析

1. seaborn是對matplolib的一個補充,而不是取代,要二者相結合。使用方式:

import seaborn as sns

安裝方式:pip install seaborn
2. displot()集合了matplotlib的hist()與核函式估計kdeplot的功能,增加了rugplot分佈觀測條顯示與利用scipy庫fit擬合引數分佈的新穎用途。
上面意思就是:displot不僅有直方圖的功能,還有kdeplot(seaborn的一個核函式估計畫圖函式)的功能。
3.關於plt.style.use(“ggplot”)
若不加這一句,圖片是這樣的。所以這句話的意思就是美觀。
在這裡插入圖片描述
4.關於斜度與峰度
詳細請見:
偏度(skewness)和峰度(kurtosis)
我這裡簡單總結一下:
skewness就是三階中心距,kurotosis就是4階的。
sk表示的是左偏還是右偏(>0,右偏)(<0左偏)。=0就是正態分佈
ku是尾巴的胖瘦或者高低。峰度包括正態分佈(峰度值=3),厚尾(峰度值>3),瘦尾(峰度值<3)