目录
一、学习知识点概要
首先,点击下载数据文件
今天学习的是基于天气数据集的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()