代碼及數據集鏈接
鏈接:https://pan.baidu.com/s/1tLLIPUmADk48TZpAHy-g1A 密碼:bqmz
特徵理解的基本工作流程
- 數據有沒有組織?是以表格形式存在還是非結構化文本格式
- 每列的數據是是定性還是定量的,單元格中的數字代表字符串還是數值
- 每列處於哪個等級? 定類、定序、定距還是定比
- 我們可以用什麼圖表?
基礎概念
數據結構的不同
- 結構化數據:
有組織的數據,可以分成觀察值和特徵的數據,一般以表格的的形式組織(行是觀察值,列是特徵) - 非結構化數據:
不遵循標準組織結構(例如表格)的數據。例如文本或者圖像
數據類型
- 定量數據:本質上是數值,應該是衡量某樣東西的數量。例如(💰)
- 定性數據:本質上是類別,描述某樣東西的性質。例如(人名,地名)
有時數據可以同時是定性和定量的。例如餐廳評分(1~5🌟)雖然是數,但是也可以表示類別。
- 如果公佈出來的平均分是帶小數的例如(4.7顆🌟)那麼當前數據爲定量的
- 如果(1~5🌟)對應的分別是【討厭、還行、喜歡、喜愛、特別喜愛】那麼當前數據爲定性的
定性/定量數據區分示例
數據集爲舊金山工資數據集
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
plt.style.use('fivethirtyeight')
salary_ranges = pd.read_csv('data/Salary_Ranges_by_Job_Classification.csv',index_col=0)
salary_ranges.head()
- 先看看前幾行數據,已經能夠看出一些數據的分類了,例如Biweekly High Rate 是工資的選項 該列應該爲定量數據 Job Code應該是一段編碼用來區分不同的工作職位,那麼該列數據應該是個定性數據
- 通過dataframe.info()查看下數據的行列數,以及數據類型,是否有缺失值,可以看出並沒有缺失值。
- 使用describe方法查看一些定量數據的描述性統計
- describe 默認描述定量列若是沒有定量列,也會描述定性列
- 前文提到過定量數據的定性數據之間具有模糊性,describe默認int,float型爲定量列,object爲定性列。具體的需要自己單獨去細分
- Union Code明顯不是定量雖然該列是數字型但是不代表數量,代表某個工會的代碼
- Biweekly High Rate 之前分析過應該是定量數據這裏併爲展示,是因爲$的原因所以之後會進行單獨的處理,將這一列處理成定量數據
當前很重要的步驟就是選取我們感興趣的特徵進行單獨分析
- 例如定量列Biweekly High Rate(雙週最高工資)和一個定性列Grade(工作種類)這兩個特徵應該是有一定的內在聯繫的。
- 爲保證數據類型正確,移除工資前的$並改稱folat類型
- 1356行
- 2列自己選取的
- 雙週最高工資:定量列,代表某個部門平均最高工資
- 工作種類:工資對應的部門,代碼代表一個部門所以是定性的
由於定性定量數據之間的模糊性,會進一步將數據細分成四個等級
數據的四個等級
數據定性定量後可以繼續分類
- 定類等級(nominal level)
- 定序等級(ordinal level)
- 定距等級(interval level)
- 定比等級(ratio level)
每個等級有不同的控制和數學操作等級
目的:決定了可以執行的可視化類型和操作
定類等級
結構性最弱,該等級只按名稱分類,該數據都是定性的
可執行的數學操作
- 由於定性數據所以不可以執行加減法,平均值等定量數學操作
- 不過可以使用value_counts()進行計數
- 通過條形圖餅圖等可視化手段觀察規律
定類等級分析示例
- 還是舊金山工資數據集
- 之前討論過Grade爲工作種類 是定類等級通過value_counts()進行計數,並且可視化
- 可以看出出現最多的種類爲00000,以爲這這個種類爲衆數
- 也可以通過繪製餅圖來進行可視化分析
定序等級
定序等級繼承了定類等級的所有屬性,且有重要的附加屬性
- 定序等級的數據可以自然排序
- 可以認爲列中的某些數據比其他數據更好或更大(這樣就可以有區分比較)
- 與定類等級一樣定序等級天然數據屬性任然是類別
- 例如考試成績 ABCD這屬於定序等級 可以認爲A比B好 但是仍然是類別屬性
即使評分(1~10)也是類別
可執行的數學操作
- 計數
- 比較和排序
- 因爲可以進行比較和排序所以可以計算中位數和百分位數
- 中位數:莖葉圖
- 百分位數:箱線圖
定序等級分析示例
- 數據集說明:
使用舊金山機場數據集,該數據集表示多少人喜歡舊金山國際機場
舊金山數據集數據說明
數據的屬性非常多,總共95列屬性,我們選取其中的Q7A_ART進行分析
Q7A_ART:關於藝術品和展覽的取值爲[0~6]- 1=Unacceptable
- 2=Below Average
- 3=Average
- 4=Good
- 5=Outstanding
- 6=Have Never Used or Visited
- 0=Blank
- 這些值雖然是數字可是這些數據是定性的,屬於定序等級:
除去0和6 剩下的1~5 他們是有一個區分比較的 可以認爲數字越大越好
定距等級
定量數據:不僅可以對值進行排序和比較,而且可以加減
可執行的數學操作
- 算術平均數
- 標準差
定距等級分析示例
- 數據說明:平均溫度的氣候數據集
- 每行代表某個城市某月的平均溫度,上溯至18世紀
- 每行代表某個城市某月的平均溫度,上溯至18世紀
- 只看前五行就已經有數據缺失了,所以將這些數據進行刪除,之後再來分析會更容易理解。
- 我們關注的是AverageTemperature這一列,該數據爲定距等級
定比等級
- 最高等級:擁有最高程度的控制和數學運算能力
- 定量數據
- 繼承了定距等級的加減運算增加了絕對零點概念可以做乘除運算
絕對零點
- 由於存在絕對零點 那麼一些數據的比較就有了意義
- 例如:
- ¥100 時¥50的兩倍
- 無零點或者存在負值時那麼這個比較就無意義
- 例如:溫度 因爲溫度是主觀的不是客觀存在的 沒有真正的零點
定比等級分析示例
- 使用舊金山工資數據集中的雙週最高工資和工作種類兩列
數據等級總結
數據等級總結
等級 | 屬性 | 例子 | 描述性統計 | 圖標 |
---|---|---|---|---|
定類 | 離散 | 二元響應(真或假) | 頻率/佔比 | 條形圖 |
無序 | 油漆顏色、人名 | 衆數 | 餅圖 | |
定序 | 有序類別 | 李科特量表 | 頻率/衆數 | 條形圖 |
比較 | 考試等級 | 中位數/百分位數 | 莖葉圖 | |
定距 | 數字差別有意義 | 攝氏度 | 頻率/衆數 | 條形圖/餅圖/莖葉圖 |
某些特殊的李科特量表 | 中位數/均值/標準差 | 箱線圖/直方圖 | ||
定比 | 連續 | 💰 | 均值 | 直方圖 |
存在有意義的絕對零點,可以做除法 | 重量 | 標準差 | 箱線圖 |
統計類型彙總
統計量 | 定類 | 定序 | 定距 | 定比 |
---|---|---|---|---|
衆數 | ☑️ | ☑️ | ☑️ | 有時可 |
中位數 | ❌ | ☑️ | ☑️ | ☑️ |
差值、最大最小值 | ❌ | ☑️ | ☑️ | ☑️ |
均值 | ❌ | ❌ | ☑️ | ☑️ |
標準差 | ❌ | ❌ | ☑️ | ☑️ |
圖表繪製彙總
圖表 | 定類 | 定序 | 定距 | 定比 |
---|---|---|---|---|
條形圖/餅圖 | ☑️ | ☑️ | 有時可 | ❌ |
莖葉圖 | ❌ | ☑️ | ☑️ | ☑️ |
箱線圖 | ❌ | ❌ | ☑️ | ☑️ |
直方圖 | ❌ | ❌ | 有時可 | ☑️ |