机器学习
机器学习实战
supreme_1
这个作者很懒,什么都没留下…
展开
-
XGBoost(extreme gradient boosting)的使用例子
梯度提升模型(gradient boosting):它是目前在结构化数据中表现最好的模型。和随机森林类似,都是集成学习的方法。随机森林是将多个决策树的预测值取平均。梯度提升梯度是一种通过循环迭代将模型添加到集合中集成的方法。它首先用单个模型初始化集合,其预测可能非常稚拙的。(即使它的预测非常不准确,随后对集合的添加也会解决这些错误。)迭代过程:首先,我们使用当前模型集合为数据集中的每个观测生成...原创 2020-02-18 17:43:35 · 1315 阅读 · 0 评论 -
模型评估:交叉验证(cross-validation)的使用
为什么要使用交叉验证?如果我们有一个数据集,我们通保留20%作为验证集,其余作为训练集。但是我们训练的模型可能在这个验证集表现很好,在其他数据上表现不好。通常情况下,验证集越大,我们的模型质量度量中的随机性(也就是“噪声”)就越小,它就越可靠。不幸的是,我们只能通过从我们的训练数据中删除行来获得一个大的验证集,而更小的训练数据集意味着更糟糕的模型!交叉验证:例如,我们将数据等分成五份,实验...原创 2020-02-18 13:50:13 · 1722 阅读 · 1 评论 -
Pipeline的使用例子
Pipelines:组织数据预处理和建模的方法,他捆绑了预处理和建模的步骤,使用Pipeline可以是你的代码更加简洁、直观、不容易出BUG、简单部署、有更多的模型验证选项。假设你有训练数据验证数据:X_train, X_valid, y_train, and y_valid.这些数据包含有缺失值的变量和类别变量。下面的代码是使用Pipeline进行预处理和建模的例子。定义预处理步骤1.对...原创 2020-02-17 20:50:45 · 729 阅读 · 0 评论 -
机器学习数据中类别变量(categorical variable)的处理方法
类别变量(categorical variable):只有有限个值得变量,如性别就是一个类别变量,类似于这种。如果不对这些变量做预处理,训练出来的模型可能是错误的。主要有三种方法来处理这个变量。如何从数据中找到类别变量?我们可以对每一列检查它的数据类型,某列的数据类型为”object",表明该列有文本(也可能是其他的,但对我们的目标来说不重要),某列是数据是文本,则该列表示类别变量。代码...原创 2020-02-16 00:28:47 · 11741 阅读 · 3 评论 -
机器学习数据中缺失值的处理方法
查看每一列有多少缺失值:# Shape of training data (num_rows, num_columns)print(X_train.shape)# Number of missing values in each column of training datamissing_val_count_by_column = (X_train.isnull().sum())pr...原创 2020-02-14 13:10:27 · 452 阅读 · 2 评论 -
sklearn决策树和随机森林房价预测代码
import pandas as pdfrom sklearn.ensemble import RandomForestRegressorfrom sklearn.metrics import mean_absolute_errorfrom sklearn.model_selection import train_test_splitfrom sklearn.tree import Dec...原创 2020-02-13 19:29:02 · 1701 阅读 · 2 评论