91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行大數據中R語言的異常值處理

發布時間:2021-12-27 17:54:50 來源:億速云 閱讀:1127 作者:柒染 欄目:大數據

如何進行大數據中R語言的異常值處理,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

 今天分享一下另一種臟數據-異常值的處理。

異常值一般會拉高或拉低數據的整體情況,因此需要對異常值進行處理。

一 異常值檢驗

1.1  箱線圖方法

繪制箱線圖,并標注出異常值

set.seed(1)test <- c(rnorm(100, mean = 5, sd = 1), runif(100, min = 0.1, max = 50))library(ggplot2)ggplot(data=NULL,mapping=aes(x='',y=test))+geom_boxplot(outlier.colour = 'red', outlier.shape = 17)

如何進行大數據中R語言的異常值處理

1.2 平均值±3個標準差方法

set.seed(1)test <- c(rnorm(100, mean = 5, sd = 1), runif(100, min = 0.1, max = 50))min<-mean(test)-3*sd(test)   max<-mean(test)+3*sd(test)#返回異常值的下標which(test > max)#返回異常值的數值test[which(test > max)]

1.3  四分位數和四分位距方法

#獲取上下四分位數和四分位距

set.seed(1)test <- c(rnorm(100, mean = 5, sd = 1), runif(100, min = 0.1, max = 50))Q_xia <- quantile(test, probs = 0.25)Q_shang <- quantile(test, probs = 0.75)Q_range <- Q_shang - Q_xiaQ_xia ; Q_shang ; Q_range     25% 4.959337      75% 18.87708      75% 13.91775

#找出異常點

which(test > Q_shang + 1.5*Q_range)[1] 111 114 115 118 119 125 130 143 150 152 160 183 193 200value[which(test > Q_shang + 1.5*Q_range)][1] 48.07436 47.40352 40.94987 47.67244 47.69126 46.20603 42.71467 45.52748 [9] 47.15356 46.65220 46.74110 44.02792 49.08002 46.46977

    以上的三種方法均可以找到數據集中的異常值,下面介紹常見的處理異常值的方式。

二 異常值處理

    異常值一般有刪除或替換兩種處理方式。刪除簡單,但可能也造成數據信息丟失,下面主要說一下替換。

2.1  用上四分位數的1.5倍四分位距或下四分位數的1.5倍四分位距替換

#設定數據集set.seed(1)test <- c(rnorm(100, mean = 5, sd = 1), runif(100, min = 0.1, max = 50))test1 <- test
#查看原始數據情況test[c(111,114,115)][1] 48.07436 47.40352 40.94987
#查看替換后數據情況imp1 <- Q_shang + 1.5*Q_rangetest1[which(test1 > Q_shang + 1.5*Q_range )] <- imp1test1[c(111,114,115)]39.7537 39.7537 39.7537

當然也可以根據實際情況用中位數或者均值替代。

2.2 蓋帽法

    令數據集合中90%以上的點值賦值為90%時候的值;小于10%的點值賦值為10%時候的值,百分比數據可根據實際情況調整,僅供參考。

#設定數據集

set.seed(1)test <- c(rnorm(100, mean = 5, sd = 1), runif(100, min = 0.1, max = 50))test2 <- test

#查看原始數據q10,q90

q10 <- quantile(test2, 0.1)q90 <- quantile(test2, 0.9)q10 ; q90  10% 4.249007      90% 35.23009 head(test2[which(test2 < q10)])[1] 4.164371 4.179532 2.785300 3.010648 3.529248 3.622940

#對數據進行替換

test2[test2 < q10] <- q10test2[test2 > q90] <- q90

#查看替換結果

summary(test2)  Min. 1st Qu.  Median    Mean 3rd Qu.    Max.   4.249   4.959   6.169  12.701  18.877  35.230

    上面就是常見的檢測數據集的異常值以及簡單的替換異常值的常用方法,結合之前缺失值的處理,即完成了對數據的簡單“清洗”過程。

關于如何進行大數據中R語言的異常值處理問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安化县| 满城县| 渑池县| 称多县| 兴城市| 榆中县| 祥云县| 师宗县| 唐山市| 正安县| 蚌埠市| 河东区| 邹平县| 大方县| 秦皇岛市| 江西省| 天水市| 密山市| 梁山县| 易门县| 石门县| 临邑县| 常德市| 黄梅县| 韶山市| 九江市| 连城县| 高碑店市| 辉南县| 竹北市| 灵山县| 三台县| 隆回县| 仙游县| 开鲁县| 昌邑市| 达州市| 庐江县| 自治县| 玉田县| 平顺县|