最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

R語言航班延誤影響預(yù)測分析:lasso、決策樹、樸素貝葉斯、QDA、LDA、缺失值處理、k折

2023-06-12 22:04 作者:拓端tecdat  | 我要投稿

全文鏈接:http://tecdat.cn/?p=32760

原文出處:拓端數(shù)據(jù)部落公眾號

航班延誤是航空公司、旅客和機場管理方面都面臨的一個重要問題。航班延誤不僅會給旅客帶來不便,還會對航空公司和機場的運營產(chǎn)生負面影響。因此,對航班延誤的影響因素進行預(yù)測分析,對于航空公司、旅客和機場管理方面都具有重要意義。

本文通過對航班數(shù)據(jù)進行分析,幫助客戶使用lasso變量篩選、決策樹、樸素貝葉斯、QDA、LDA等方法,對航班延誤的影響因素進行預(yù)測分析。同時,本文還對缺失值進行處理,并使用k折交叉驗證對模型進行評估。

數(shù)據(jù)來源和預(yù)處理

本文所使用的數(shù)據(jù)集為航班數(shù)據(jù)集。數(shù)據(jù)集中包括了航班號、起飛時間、到達時間、起飛機場、到達機場、航班延誤等信息。

data=read.table("12_months_dataFinal.csv")head(data)




colnames(data)

在審查數(shù)據(jù)之后,有幾個方面被認為對航班延誤有影響。

1.航空公司:航空公司,尾號和航班號。

2.時間:季度、月和日。

3.操作:承運人,尾號和航班號。

4.地理:起源機場和目的地機場。

選擇一些變量做個圖看一下變化趨勢





因變量為:ARR_DELAY

分別采用三種方法對空值進行處理

在進行數(shù)據(jù)分析之前,需要對數(shù)據(jù)進行預(yù)處理。本文采用了如下方法進行數(shù)據(jù)預(yù)處理:

(1)刪除法

data1=na.omit(data)

(2)平均值補缺

data2[index,i]=mean(na.omit(data[,i]))

(3)多重補插法進行補缺。

completedData <- complete(tempData,1)

方法

本文使用了如下方法對航班延誤的影響因素進行預(yù)測分析:

  • lasso變量篩選

  • 決策樹

  • 樸素貝葉斯

  • QDA

  • LDA

  • k折交叉驗證

變量篩選

使用lasso算法進行篩選變量

使用lasso算法進行篩選變量是指在統(tǒng)計學(xué)和機器學(xué)習(xí)中,使用一種叫做Lasso(Least Absolute Shrinkage and Selection Operator)的算法來進行特征選擇的過程。Lasso算法通過對數(shù)據(jù)進行正則化,將某些特征的系數(shù)縮小至0,從而實現(xiàn)對特征的篩選和降維。這樣可以避免過擬合和提高模型的泛化能力,同時還可以提高模型的解釋性和可解釋性。Lasso算法在數(shù)據(jù)挖掘、生物信息學(xué)、金融、圖像處理等領(lǐng)域都有廣泛的應(yīng)用。

xmat <- model.matrix( ARR\_DELAY\~. -DEP\_DELAY- DEP\_DEL15-ARR\_DEL15 , dat

建立lasso模型

cv.lasso <- cv.glmn

coef(cv.lasso

根據(jù)lasso篩選出最優(yōu)的變量

Lasso(Least Absolute Shrinkage and Selection Operator)是一種用于特征選擇和回歸分析的統(tǒng)計方法。它可以通過對輸入數(shù)據(jù)進行正則化來減少模型的復(fù)雜度,并且可以將一些不重要的特征的權(quán)重縮小甚至歸零,從而達到特征篩選的目的。

在Lasso中,通過調(diào)整正則化參數(shù)λ的大小,可以控制模型的復(fù)雜度和特征選擇的程度。當λ越大時,模型的復(fù)雜度越小,特征選擇的程度越高。因此,可以通過交叉驗證等方法來選擇最優(yōu)的λ值,進而篩選出最優(yōu)的變量。

簡而言之,通過Lasso方法篩選出最優(yōu)的變量,就是在控制模型復(fù)雜度的前提下,選出對目標變量影響最大的特征,從而提高模型的預(yù)測能力。

variables<-row\.names(c)\[inds]

篩選變量

data2=data2[,c(variables[-1],"ARR_DELAY")]

使用決策樹填充缺失值

使用決策樹填充缺失值是指在數(shù)據(jù)集中存在缺失值的情況下,使用決策樹模型來預(yù)測缺失值并進行填充。具體地,可以將數(shù)據(jù)集中的所有特征和標簽都作為輸入,將含有缺失值的樣本作為測試數(shù)據(jù),利用已有的數(shù)據(jù)來訓(xùn)練決策樹模型,然后使用訓(xùn)練好的模型來預(yù)測缺失值并進行填充。這種方法可以利用數(shù)據(jù)集中已有的信息來預(yù)測缺失值,從而提高數(shù)據(jù)的完整性和可用性。

m <- rpart(ARR_DELAY~? QUARTER+MONTH+DAY_OF_MONTH+DAY_OF_WEEK+UNIQUE_CA

查看重要變量

m$variable.importance

預(yù)測缺失值

predict(m, data[notna

樸素貝葉斯

樸素貝葉斯是一種基于貝葉斯定理的分類算法。它假設(shè)所有特征之間相互獨立,即樸素貝葉斯算法中的“樸素”指的是這種獨立性假設(shè)。該算法通過計算每個類別的先驗概率和每個特征在每個類別中的條件概率來預(yù)測新數(shù)據(jù)的分類。樸素貝葉斯算法在文本分類、垃圾郵件過濾、情感分析等領(lǐng)域得到了廣泛應(yīng)用。

mod1<-naiveBayes ( class~? ARR_DELAY_GROUP+DEP_DELAY_NEW+DEP_DELAY_GROU

混淆矩陣

混淆矩陣是用于評估分類模型性能的一種方法。它是一個二維矩陣,其中行表示真實類別,列表示預(yù)測類別。矩陣中的每個元素表示屬于真實類別的樣本被預(yù)測為屬于預(yù)測類別的數(shù)量?;煜仃嚳梢杂糜谟嬎銣蚀_率、召回率、F1分數(shù)等指標,以評估分類模型的性能。

table(data2[1:50000,"class"], fit)

plot( performance( prediction(as.numeric(fit), as.numeric(data2[1:50000,

s"] )), "auc" )@y.values[[1]]

測試數(shù)據(jù)

fit <-predict(mod1,datates )plot( performance( prediction(as.numeric(fit), as.numeric(datatest[1:90,

k折交叉驗證

k折交叉驗證是一種常用的模型評估方法。它將數(shù)據(jù)集分成k個等份,然后每次將其中一個子集作為驗證集,剩下的k-1個子集作為訓(xùn)練集,進行k次模型訓(xùn)練和驗證。最終將k次驗證的結(jié)果取平均值作為模型的性能指標。這種方法可以有效地利用數(shù)據(jù)集,減小因為數(shù)據(jù)集不同而導(dǎo)致的模型性能差異,并且可以避免過擬合。

performance( prediction(as.numeric(fit), as.numeric(datatest[1:90,"clask=10 ?for(kk in 1:k){ ?? index=sample(1:dim(data2)[1],floor(dim(data2)[1]*(1/k)),replace=F)#se

QDA

QDA是一種分類算法,全稱為Quadratic Discriminant Analysis,即二次判別分析。它是一種基于貝葉斯定理的分類方法,適用于分類問題中的多個類別和多個特征。QDA假設(shè)每個類別的特征分布都是高斯分布,并且每個類別的協(xié)方差矩陣不同,因此可以通過計算每個類別的概率來進行分類。與線性判別分析(LDA)相比,QDA可以更好地處理非線性的分類問題,但是由于需要估計每個類別的協(xié)方差矩陣,當特征維度很高時,計算復(fù)雜度會很高。

z <- qda(data2[,c(selection2

##ROC ? ?plot( performance( prediction(as.numeric(fit), as.n

performance( prediction(as.numeric(fit),? as.numeric(data2[ ,"class"]

k折交叉驗證

## 1? th accuracy of qda is? 0.8807619 ?## 2? th accuracy of qda is? 0.8872381 ?## 3? th accuracy of qda is ?0.8798095 ?## 4? th accuracy of qda is? 0.8899048 ?## 5? th accuracy of qda is? 0.888 ?## 6? th accuracy of qda is? 0.8822857 ?## 7? th accuracy of qda is? 0.8746667 ?## 8? th accuracy of qda is? 0.8912381 ?## 9? th accuracy of qda is? 0.8857143 ?## 10? th accuracy of qda is? 0.8965714precisek/k#caculate precision## [1] 0.885619

LDA分類線性判別分析

線性判別分析是一種很重要的分類算法,同時也是一種降維方法(這個我還沒想懂)。和PCA一樣,LDA也是通過投影的方式達到去除數(shù)據(jù)之間冗余的一種算法。

z <- lda(class ~ ., data2

ROC

ROC代表接收者操作特征曲線(Receiver Operating Characteristic Curve),是一種用于評估分類模型性能的方法。ROC曲線是一條以假陽性率(False Positive Rate)為橫坐標,真陽性率(True Positive Rate)為縱坐標的曲線。ROC曲線越靠近左上角,說明模型的性能越好。ROC曲線下方的面積被稱為AUC(Area Under the Curve),AUC越大,模型的性能越好。

performance( prediction(as.numeric(fit), as.numeric(data2[ ,"class"])),

k折交叉驗證

## 1? th accuracy of lda is? 0.831619 ?## 2? th accuracy of lda is? 0.8251429 ?## 3? th accuracy of lda is? 0.8213333 ?## 4? th accuracy of lda is? 0.8219048 ?## 5? th accuracy of lda is? 0.8209524 ?## 6? th accuracy of lda is? 0.8184762 ?## 7? th accuracy of lda is? 0.8226667 ?## 8? th accuracy of lda is? 0.8171429 ?## 9? th accuracy of lda is? 0.816381 ?## 10? th accuracy of lda is? 0.8251429precisek/k#caculate precision## [1] 0.8220762

決策樹

決策樹是一種基于樹形結(jié)構(gòu)的分類和回歸算法,它通過對數(shù)據(jù)集進行分割,逐步生成一棵決策樹,每個節(jié)點代表一個決策,每個分支代表一個可能的結(jié)果,最終葉子節(jié)點代表分類或回歸的結(jié)果。在分類問題中,決策樹可以通過一系列的條件判斷對數(shù)據(jù)進行分類;在回歸問題中,決策樹可以通過對數(shù)據(jù)進行分割并對每個分割區(qū)域內(nèi)的數(shù)據(jù)進行平均或加權(quán)平均來預(yù)測數(shù)值型的結(jié)果。決策樹具有易于理解、易于實現(xiàn)、可解釋性強等優(yōu)點,但也容易出現(xiàn)過擬合等問題。

z <- rpart(class ~ ., data2[,c(selection2,"class")]? )

plot( performance( prediction(as.num

## 1? th accuracy of lda is? 1 ?## 2? th accuracy of lda is? 1 ?## 3? th accuracy of lda is? 1 ?## 4? th accuracy of lda is? 1 ?## 5? th accuracy of lda is? 1 ?## 6? th accuracy of lda is? 1 ?## 7? th accuracy of lda is? 1 ?## 8? th accuracy of lda is? 1 ?## 9? th accuracy of lda is? 1 ?## 10? th accuracy of lda is? 1precisek/k#caculate precision## [1] 1

最受歡迎的見解

1.PYTHON用戶流失數(shù)據(jù)挖掘:建立邏輯回歸、XGBOOST、隨機森林、決策樹、支持向量機、樸素貝葉斯模型和KMEANS聚類用戶畫像

2.R語言基于樹的方法:決策樹,隨機森林

3.python中使用scikit-learn和pandas決策樹

4.機器學(xué)習(xí):在SAS中運行隨機森林數(shù)據(jù)分析報告

5.R語言用隨機森林和文本挖掘提高航空公司客戶滿意度

6.機器學(xué)習(xí)助推快時尚精準銷售時間序列

7.用機器學(xué)習(xí)識別不斷變化的股市狀況——隱馬爾可夫模型的應(yīng)用

8.python機器學(xué)習(xí):推薦系統(tǒng)實現(xiàn)(以矩陣分解來協(xié)同過濾)

9.python中用pytorch機器學(xué)習(xí)分類預(yù)測銀行客戶流失


R語言航班延誤影響預(yù)測分析:lasso、決策樹、樸素貝葉斯、QDA、LDA、缺失值處理、k折的評論 (共 條)

分享到微博請遵守國家法律
金堂县| 名山县| 桐乡市| 英山县| 象州县| 中宁县| 沽源县| 内黄县| 南宁市| 安徽省| 石嘴山市| 永丰县| 宣汉县| 庐江县| 南通市| 靖州| 武汉市| 大姚县| 昭觉县| 平定县| 呼伦贝尔市| 寿宁县| 丰镇市| 磴口县| 上林县| 师宗县| 宁德市| 大城县| 郓城县| 武陟县| 平舆县| 五华县| 三河市| 光山县| 黄梅县| 商城县| 汤原县| 曲麻莱县| 马山县| 南平市| 巩留县|