構造資料
# 導包
from pyspark import sparkcontext
from pyspark.sql.session import sparksession
# 連線
sc = sparkcontext.getorcreate(
)spark = sparksession(sc)
# 生成資料
df_outliers = spark.createdataframe([(
1,144.5
,5.9,33
,),(
2,167.2
,5.4,45
,),(
3,124.1
,5.5,99
,),(
4,342.3
,5.9,21
,),(
5,133.2
,5.7,54
,),]
,['id'
,'weight'
,'height'
,'age'
])
離群值:通俗講 就是與樣本資料顯著偏離的資料,這些資料的存在,對機器學習建立模型是非常不友好的,所以在資料建模之前,會對這些資料做些處理,我一般是會把這些離群值直接捨棄掉 哈哈哈。
找到離群值
離群值的閾值選擇有多種方式,均值、四分位數等等,最普遍的做法是下分位(q1) - 1.5個分位差和上分位(q3)+1.5個分位差,即:
q1 - 1.5iqr 和q3 + 1.5iqr,
其中iqr為q3-q1,q3為第75個百分點,q1為第25個百分點
# 計算每個特徵的上下截斷點
cols =
['weight'
,'height'
,'age'
]bounds =
for col in cols:
col,
[0.25
,0.75],
0.05
)
iqr = quantiles[1]
- quantiles[0]
bounds[col]=[
quantiles[0]
-1.5
* iqr,
quantiles[1]
+1.5
* iqr
]
) 引數解讀
第乙個引數: 列名,
第二個引數: 閾值,0到1之前的數, 當然也可以是個列表, 其中0.5表示為計算中位數
第三個引數: 可以接受的錯誤程度,如果為0 則表示計算乙個準確值,但是代價較大
離群值的界限都繫結在了bounds中,看一眼長啥樣
是乙個字典資料,接下來需要標記離群值
# 標記離群值
在源資料中顯示離群值
列出離群值
PySpark入門十三 資料清洗之描述性統計
描述性統計是熟悉資料的最直接的方法之一,可以讓我們很輕鬆就知道資料中有多少個缺失的觀測資料 平均值 標準差 最大最下值 導包和建立連線的 我就不寫了 載入資料型別模組 import pyspark.sql.types as typ 載入資料 fraud sc.textfile ccfraud.csv...
PySpark入門二 認識RDD
彈性分布式資料集,簡稱為rdd,是不可變jvm物件的分布式集合,spark 就是圍繞rdd而構建的。rdd對物件的作業是非常快速的執行的,這依賴於rdd的計算是依據快取和儲存在記憶體中的模式進行。rdd有兩組並行操作 轉換和動作。轉換是指返回指向新rdd的指標 動作是指在執行計算後返回值。同時,rd...
資料清洗之資料清洗概述
從廣泛的意義上來講,資料是乙個寬泛的概念,包括但不限於 我們要了解資料清洗,就需理解資料的內涵和外延 常見的資料有 其中,比較重要比較常見的分析資料是 資料。這裡重點介紹一些關於 資料的內容。資料 資料物件由屬性 attributes 及其值 value 構成 資料的特徵 什麼是資料清洗 資料清洗是...