【机器学习】基于天气数据集的XGBoost分类与预测

本文介绍了如何使用XGBoost进行天气数据集的分类,详细讲解了数据预处理、模型训练、特征选择及参数调优的过程。通过XGBoost的特征重要性分析,发现湿度和特定时间点的天气因素对预测结果影响显著。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、学习知识点概要

首先,点击下载数据文件
今天学习的是基于天气数据集的XGBoost分类实战。
XGBoost并不是一种模型,而是一个可供用户轻松解决分类、回归或排序问题的软件包。它内部实现了梯度提升树(GBDT)模型,并对模型中的算法进行了诸多优化,在取得高精度的同时又保持了极快的速度。

二、学习内容

代码

1.导入库

##  基础函数库
import numpy as np 
import pandas as pd

## 绘图函数库
import matplotlib.pyplot as plt

## 数据集划分
from sklearn.model_selection import train_test_split
## 导入XGBoost模型
from xgboost.sklearn import XGBClassifier

2.对离散变量进行编码

  • 分别记录取值为数值(numerical)与非数值的变量
    (或着说特征或着列,都是一种概念)
  • 对离散变量进行编码:XGBoost无法处理字符串类型的数据,我们需要将字符串数据转化为数据。一种方法是把所有的相同类别的特征编码成同一个值,例如女=0,男=1,狗狗=2,所以最后编码的特征值是在 [0,特征数量−1]之间的整数

英语学习时间:category:类别,范畴

# 先纪录数字特征与非数字特征:
numerical_features = [x for x in data.columns if data[x].dtype == np.float]
category_features = [x for x in data.columns if data[x].dtype != np.float and x != 'RainTomorrow']

## 对离散变量进行编码
## 把所有的相同类别的特征编码为同一个值
def get_mapfunction(x):
    mapp = dict(zip(x.unique()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值