aiaiask.com©

开花即结果 提问即答案

基于航班延误预测的xgboost模型代码
原始问题:

基于航班延误预测的xgboost模型代码

import pandas as pd
import numpy as np
from xgboost import XGBClassifier
from sklearn.model_selection import train_test_split, GridSearchCV, StratifiedKFold
from sklearn.metrics import accuracy_score, confusion_matrix, classification_report

  # 加载数据集,并将其分为特征和标签变量
data = pd.read_csv('flightdelaydata.csv')  # 加载数据集,该数据集包含航班延误的相关信息(如航空公司、日期、出发地和目的地等)。 
X = data.drop(['Delayed'], axis=1)   # 特征变量为所有除了Delayed之外的列 
y = data['Delayed']    # 标签变量为Delayed列

  # 拆分训练集和测试集   (80%用于训练,20%用于测试) 
Xtrain, Xtest, ytrain, ytest = train_test_split(X, y, test_size=0.2)

  # 创建xgboost模型并使用GridSearchCV对其进行优化   (此处定义max depth为4、learning rate为0.1、n estimators为100)   (此处定义StratifiedKFold作为交叉验证方法,将数据集切成5份进行验证)   (此处定义accuracy作为性能度量标准。如果要使用AUC作为性能度量标准,将scoring='roc_auc'即可。 )   
parameters={'max depth':[4],'learning rate':[0.1],'n estimators':[100]}     model=XGBClassifier()      clf=GridSearchCV(model , parameters , cv=StratifiedKFold(5), scoring='accuracy')    clf.fit(Xtrain , ytrain)     print('Best score for training data:', clf.bestScore)

  # 用最优参数对测试集进行预测    bestParams=clf.bestParams     model=XGBClassifier(maxDepth=bestParams['max depth'], learningRate=bestParams['learning rate'], nEstimators=bestParams['n estimators'])     model.fit(Xtrain , ytrain)      predictions = model .predict ( Xtest )       print("Accuracy on test dataset: ",accuracyScore (yTest , predictions))
基于航班延误预测的xgboost模型代码
https://www.aiaiask.com/ask/7768.html
AI / 模型iFLYTEK
时间 / DATEApril 10, 2023, 4:53 PM
语言zh-CN
IP / 区域内蒙古自治区赤峰市