文章目录
sklearn
scikit-learn数据集
sklearn.datasets
:加载获取流行数据集
datasets.load_*()
:获取小规模数据集,数据包含在datasets里
datasets.fetch_*(data_home=None)
:获取大规模数据,参数表示从网上下载数据
sklearn
大数据集
sklearn.datasets.fetch_20newsgroups(data_home=None, subset='train')
参数: ~subset
:train
或test
,all
选择要加载的数据集
sklearn
数据集返回值介绍
load
和fetch
返回的数据类型datasets.base.Bunch(字典格式)
data
:特征数据数组,target
:标签数组, 一维DESCR
:数据描述feature_names
:特征名target_names
:标签名
查看数据分布
seaborn
seaborn.Implot()
:绘制二维散点图,自动完成回归拟合
sns,Implot()
:x、y分别代表横纵坐标的别名data
:关联到数据集hue
:代表按照species,类别的分类显示fit_reg
:是否进行线性拟合
数据集划分api
sklearn.model_selection.train_test_split(arrays, *opetions)
x
:特征值y
:标签值test_size
:划分测试集的大小random_state
:随机种子,相同种子的采样结果一样return
:训练集特征值、测试集特征值、训练集标签值、测试集标签值
交叉验证
概念
训练集:训练集+验证集
目的
为了让评估模型更加准确可信, 不能提高准确率
api
sklearn.model_selection.GridSearchCV()
:对估计器的指定参数值进行详尽搜索
参数
estimator
:估计器对象param_grid
:估计器参数{'n_neighbors':[1,3,5...]}
cv
:指定几折交叉验证
方法
fit
:输入训练数据score
:准确率
结果分析
best_score_
:交叉验证中的最好结果best_estimator_
:最好的参数模型cvesults
:每次交叉验证后的验证集准确率和训练集准确率结果
机器学习
基本流程
- 获取数据集
- 数据处理【数据切割】
- 特征工程
- 机器学习
- 模型评估
特征预处理
定义:将原始数据变换映射在 (0, 1) 之间; 将数据转化成机器能学习的数据
标准化、归一化
归一化
为何标准归一化
特征的单位或大小相差较大,或某特征的方差比其他的特征大出几个数量级,易影响目标结果
eg:
一列数据出现1和10000000
归一化
归一化api
sklearn.preprocession.MinMaxScaler(feature_range=(0,1)....)
MinMaxScaler.fit_transform(np.array)
:返回转型后的数据
标准化
api
sklearn.preprocessing.StandarScaler()
将数据转化在0-1之间
StandardScaler.fit_transform(X)
:X为np.array
数据格式