数据集分布不均匀问题

训练集和测试集分布不一致也被称作数据集偏移 (Dataset Shift),导致这种问题有两个常见原因:

样本选择偏差 (Sample Selection Bias): 训练集是通过有偏方法得到的,例如非均匀选择 (Non-uniform Selection),导致训练集无法很好表征的真实样本空间。

环境不平稳 (Non-stationary Environments): 当训练集数据的采集环境跟测试集不一致时会出现该问题,一般是由于时间或空间的改变引起的。

先讨论样本选择偏差,在有监督学习里,样本会分为特征数据 (feature) 与目标变量 (label),样本选择偏差也会分分为两种情况:

没有考虑数据中不同特征的分布问题,如前面举例的预测泰坦尼克号乘客存活率问题,训练集的性别特征中,男性比例大,而测试集的性别特征中,女性比例大。

没有考虑数据中目标变量分布问题,从而会出现:训练集类别 A 数据量远多于类别 B,而测试集相反的情况。

样本选择偏差会导致训练好的模型在测试集上鲁棒性很差,因为训练集没有很好覆盖整个样本空间。

接着讨论环境不平稳带来的数据偏移,最典型的就是在时序数据中,用历史时序数据预测未来时序,未来突发事件很可能带来时序的不稳定表现,这便带来了分布差异。

环境因素不仅限于时间和空间,还有数据采集设备、标注人员等。

通常使用核密度估计 (kernel density estimation, KDE) 分布图和 KS 校验这两种方法来判断。 https://blog.csdn.net/weixin_30230009/article/details/122872228

5种交叉验证方法

都是基于K折交叉验证,

网格搜索

random_state

可以简单理解为随机数种子,如果涉及随机数的函数中有这个参数,一般固定该参数可以确保每次都是同样的随机数输出。

编码与哑变量

https://blog.csdn.net/sshi9/article/details/123293322

DataFrame是使用

pandas DataFrame表格(列)拼接(concat,append,join,merge)

https://blog.csdn.net/wsp_1138886114/article/details/101015664

行列索引与值

https://www.cnblogs.com/liulangmao/p/9248930.html

删除空行值

df.dropna(axis=0, how=’any’, inplace=True)

axis: 0: 行操作(默认) 1: 列操作 how: any: 只要有空值就删除(默认) all:全部为空值才删除 inplace: False: 返回新的数据集(默认) True: 在愿数据集上操作

原文链接:https://blog.csdn.net/Guo_ya_nan/article/details/81042882

交换列的顺序

https://blog.csdn.net/qq_36523839/article/details/80094541