一.数据集划分
1.基础认知
- 训练集: 用于估计模型
- 验证集: 控制模型复杂度
- 测试集: 检验最优模型的性能
2.常用划分
训练集占比 | 验证集占比 | 测试集占比 |
---|---|---|
50% | 25% | 25% |
3.k折交叉验证法
使用范围:数据总量少
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iTmDjy1N-1621335807278)(:/c9dd29f12ad742f1af4851143399ba20)]
一.datasets模块认知
- 1.存有数据分析的经典数据集
- 2.用到统一接口(转换器:Transformer)
部分数据集加载函数 | 中文解释 | 数据集任务类型 |
---|---|---|
load_boston | 波士顿房价 | 回归 |
fech_california_housing | 加州住宅 | 回归 |
load_digits | 手写字体数据集 | 分类 |
load_wine | 红酒数据集 | 分类 |
load_breast_cancer | 乳腺癌 | 分类,聚类 |
load_iris | 鸢尾花数据集 | 分类,聚类 |
导入方法
from sklearn.datasets import 所需数据集
二.划分数据集train_test_split函数
参数名称 | 说明 | 默认 |
---|---|---|
*arrays | 接受一个或多个数据集 回归类型传入数据和标签 聚类类型传入数据 | None |
test_size | 接收float int None。表示测试集大小 float 限定(0,1),表示占比 只能传入一个 | None |
train_size | 接收float int None。表示训练集大小 只能传入一个 | None |
random_state | 接收int,表示随机数种子 | None |
shuffle | 接收boolean,表示是否放回抽样 | True |
stratify | 接收array,若传入数据,对数据集进行分层抽样。 | None |
导入方法
from sklearn.model_selection import train_test_split
三.sklearn预处理
方法名称 | 解释说明 |
---|---|
MinMaxScaler | 对数据进行离差标准化 |
StandardScaler | 对特征进行标准差标准化 |
Normalizer | 对特征进行归一化 |
Binarizer | 对定量进行二值化 |
OneHotEncoder | 对定性特征进行热编码 |
FunctionTransformer | 对特征进行自定义函数转换 |
导入模块
from sklearn.preprocessing import 方法名
四.sklearn转换器
方法名称 | 解释说明 |
---|---|
fit | 分析特征和目标值,提取有价值的信息(统计量or权值系数)。 |
transfrom | 对特征数据进行转换, 1.无信息转换: 不利用任何其他信息进行转换 2.有信息转换:利用任何其他信息进行转换 ——(1)有监督学习: 利用了特征的统计信息+目标值信息的转换 ——(2)无监督学习: 只利用特征的统计信息进行的转换 |
fit_transforn | fit+transfrom功能的整合 |
五.PAC常用降维函数
函数名 | 接收 | 说明 | 默认 |
---|---|---|---|
n_components | None,int,float,string | None: 保留所有特征 int: 将数据降到n维 float: 不知道 string: 自动选取特征,使其满足方差百分比 | None |
copy | bool | 是否复制原数据进行操作 True: 是,原数据不改变 False: 否,原数据改变 | True |
whiten | bool | 是否对降维数据进行归一化(让方差为1) True: 进行归一化 False: 不进行归一化 | False |
svd_solver | string{ ‘auto’, ‘full’, ‘arpack’, ‘randomized’} | 表示所有的SVD算法 auto: 在下面三个算法中进行权衡,选取合适的算法 full: 使用SciPy库实现SVD算法 arparck: 适用范围(量大,维度多),使用SciPy库实现SVD算法 randomized: 适用范围(量大,维度多),使用sklearn库实现SVD算法 | auto |
导入方法
from sklearn.decomposition import PCA