scikit-learn(sklearn)
它是一个简单有效的数据挖掘和数据分析工具,可以在各种环境下重复使用,建立在numpy,scipy,matplotlib基础之上,对常用算法进行了封装,它的基本模块有数据预处理、数据降维、模型选择、分类、聚类、和回归6个。若对算法不精通,我们只需要简单调用库里的模块就可以执行建模任务。
datasets(sklearn自带的数据集,供用户学习,数据编列比较规范,可以使用data、target、feature_names、DESCR分别获取数据、标签、特征名、描述信息)
数据预处理
model_selection(模型选择模块,提供了划分数据集train_test_split函数,正常数据量的时候将数据集分成训练集,测试集和验证集,典型的是0.5(训练):0.25(测试):0.25(验证),具体视实际出发,当数据量小的时候,采取K折交叉验证法(K-1:1轮流实验,将误差平方和的均值作为最优模型结构的依据)
precessing(数据预处理模块,提供了标准化函数来将数据标准化)
decompisition(特征分解模块,提供降维函数来简化数据集特征维度)
train_test_split()//划分数据集
参考教材中使用方式:
X_data_train,X_data_test,X_target_train,X_target_test =\ train_test_split(X_data,X_target,test_size=0.2,random_state=?) //将数据集X的数据和标签分为训练集和测试集
test_size:可以为浮点、整数或None,默认为None
①若为浮点时,表示测试集占总样本的百分比
②若为整数时,表示测试样本样本数
③若为None时,test size自动设置成0.25
train_size:可以为浮点、整数或None,默认为None
①若为浮点时,表示训练集占总样本的百分比
②若为整数时,表示训练样本的样本数
③若为None时,train_size自动被设置成0.75
random_state:可以为整数、RandomState实例或None,默认为None
①若为None时,每次生成的数据都是随机,可能不一样
②若为整数时,每次生成的数据都相同
stratify:可以为类似数组或None