Add comment of Scaling Features

pull/2/head
benjas 5 years ago
parent e2d7e2f6e6
commit c49584ad85

@ -888,9 +888,9 @@
"\n", "\n",
"一般缺失值我们建议在入模前填充当然现在的XGBoost和LightGBM等都自带处理缺失值如XGBoost把缺失值当做稀疏矩阵来对待本身的在节点分裂时不考虑的缺失值的数值。缺失值数据会被分到左子树和右子树分别计算损失选择较优的那一个。但一般来讲我们都需要处理缺失值。\n", "一般缺失值我们建议在入模前填充当然现在的XGBoost和LightGBM等都自带处理缺失值如XGBoost把缺失值当做稀疏矩阵来对待本身的在节点分裂时不考虑的缺失值的数值。缺失值数据会被分到左子树和右子树分别计算损失选择较优的那一个。但一般来讲我们都需要处理缺失值。\n",
"\n", "\n",
"上一个notebook我们直接删除了50%缺失率以上的特征,在这里我们将重点关注如何处理这些缺失值的填充,填充的方法有很多种,这里使用简单的中位数填充。\n", "上一个notebook我们直接删除了50%缺失率以上的特征,在这里我们将重点关注如何处理这些缺失值的填充,填充的方法有很多种,这里使用简单的中位数填充[这里有关于缺失值填充更深入的探讨](http://www.stat.columbia.edu/~gelman/arm/missing.pdf)。\n",
"\n", "\n",
"利用sklearn的 Imputer object来进行缺失值填充测试集则使用训练集的结果进行填充,尽可能的不要利用测试集的数据对测试集加工,因为一开始我们也是不知道的,否则将造成数据“泄露”,可参考[Data Leagage](https://www.kaggle.com/dansbecker/data-leakage)。" "利用sklearn的 Imputer object来进行缺失值填充测试集则使用训练集训练的结果进行填充,尽可能的不要利用测试集的数据对测试集加工,因为一开始我们也是不知道的,否则将造成数据“泄露”,可参考[Data Leagage](https://www.kaggle.com/dansbecker/data-leakage)。"
] ]
}, },
{ {
@ -953,7 +953,17 @@
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
"source": [ "source": [
"## 特征标准化与归一化" "## 特征缩放\n",
"\n",
"在构建模型之前,我们要做的最后一步是缩放特征。这是必要的,因为特征是在不同的单位,我们要规范化的特征,使单位不影响算法(具体可参考[回归分析中汽车案例](https://github.com/ben1234560/AiLearning-Theory-Applying/blob/master/notebook_%E5%BF%85%E5%A4%87%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/%E5%9B%9E%E5%BD%92%E5%88%86%E6%9E%90%E7%AB%A0%E8%8A%82/%E6%A1%88%E4%BE%8B%EF%BC%9A%E6%B1%BD%E8%BD%A6%E4%BB%B7%E6%A0%BC%E9%A2%84%E6%B5%8B%E4%BB%BB%E5%8A%A1.ipynb))。\n",
"\n",
"线性回归和随机森林不需要特征标度但其他方法如支持向量机和k近邻法则需要它因为它们考虑了观测值之间的欧几里德距离。因此当我们比较多个算法时最好是缩放特征。\n",
"\n",
"缩放的方式有两种:\n",
"* 对于每个值减去特征的平均值除以特征的标准差。这就是所谓的标准化每个特征的平均值为0标准差为1。\n",
"* 对于每个值,减去特征的最小值,除以特征的最小值减去特征的最小值(范围)。这确保了特征的所有值都在0到1之间并被缩放到范围或归一化。\n",
"\n",
"与缺失值填充一样,当我们训练缩放对象时,我们只希望使用训练集进行训练。当转换特征时,我们将同时转换训练集和测试集。"
] ]
}, },
{ {
@ -989,11 +999,11 @@
"metadata": {}, "metadata": {},
"source": [ "source": [
"### 选择的机器学习算法(回归问题)\n", "### 选择的机器学习算法(回归问题)\n",
" 1. Linear Regression\n", " 1. Linear Regression 线性回归\n",
" 2. Support Vector Machine Regression\n", " 2. Support Vector Machine Regression 支持向量机回归\n",
" 3. Random Forest Regression\n", " 3. Random Forest Regression随机森林回归\n",
" 4. Gradient Boosting Regression\n", " 4. Gradient Boosting Regression GBDT回归\n",
" 5. K-Nearest Neighbors Regression\n", " 5. K-Nearest Neighbors Regression K近邻回归\n",
"\n", "\n",
"这里先使用默认参数,后续再调参" "这里先使用默认参数,后续再调参"
] ]

Loading…
Cancel
Save