Add comment of missing values

pull/2/head
benjas 5 years ago
parent 84d87a38cd
commit e2d7e2f6e6

@ -22,7 +22,7 @@
"7. 尽可能解释模型结果\n",
"8. 得出结论,并提交答案\n",
"\n",
"上一个notebook我们使用了1-3还有一部分4该notebook我们着重了解4-6。"
"上一个notebook我们使用了第1-3步还有一部分第步该notebook我们着重了解第4-6步。"
]
},
{
@ -41,10 +41,13 @@
"import pandas as pd\n",
"import numpy as np\n",
"\n",
"pd.options.mode.chained_assignment = None # 消除警告,比如说提示版本升级之类的\n",
"# 消除警告,比如说提示版本升级之类的\n",
"import warnings\n",
"warnings.simplefilter('ignore')\n",
"\n",
"pd.set_option('display.max_columns', 60) # 设置最大显示列为60\n",
"\n",
"# Matplotlib 可视化\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"\n",
@ -68,6 +71,14 @@
"from sklearn.model_selection import RandomizedSearchCV, GridSearchCV"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 读取数据\n",
"读取上一个notebook处理好的数据。"
]
},
{
"cell_type": "code",
"execution_count": 3,
@ -875,7 +886,11 @@
"source": [
"### 缺失值填充\n",
"\n",
"利用sklearn的 Imputer object来进行缺失值填充测试集则使用数据集中的结果进行填充尽可能的不要利用测试集的数据对测试集加工因为一开始我们也是不知道的可参考[Data Leagage](https://www.kaggle.com/dansbecker/data-leakage)。"
"一般缺失值我们建议在入模前填充当然现在的XGBoost和LightGBM等都自带处理缺失值如XGBoost把缺失值当做稀疏矩阵来对待本身的在节点分裂时不考虑的缺失值的数值。缺失值数据会被分到左子树和右子树分别计算损失选择较优的那一个。但一般来讲我们都需要处理缺失值。\n",
"\n",
"上一个notebook我们直接删除了50%缺失率以上的特征,在这里我们将重点关注如何处理这些缺失值的填充,填充的方法有很多种,这里使用简单的中位数填充。\n",
"\n",
"利用sklearn的 Imputer object来进行缺失值填充测试集则使用训练集中的结果进行填充尽可能的不要利用测试集的数据对测试集加工因为一开始我们也是不知道的否则将造成数据“泄露”可参考[Data Leagage](https://www.kaggle.com/dansbecker/data-leakage)。"
]
},
{

Loading…
Cancel
Save