系列文章目录
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
例如:了解特征工程在机器学习当中的重要性
一、特征工程
应用sklearn实现特征预处理
应用sklearn实现特征抽取
应用sklearn实现特征选择
应用PCA实现特征的降维
2.1 数据集
目标
数据集的分为训练集和测试集
会使用sklearn的数据集
2.1.1 可用数据集
1 Scikit-learn工具介绍
Python语言的机器学习工具
Scikit-learn包括许多知名的机器学习算法的实现
Scikit-learn文档完善,容易上手,丰富的API
目前稳定版本0.19.1
2 Scikit-learn工具安装
pip3 install Scikit-learn==0.19.1n
安装好之后可以通过以下命令查看是否安装成功
import sklearn
安装scikit-learn需要Numpy, Scipy等库
3 Scikit-learn包含的内容
scikitlearn接口
分类、聚类、回归
特征工程
模型选择、调优
2.1.2 sklearn数据集
1 scikit-learn数据集API介绍
加载获取流行数据集
sklearn.datasets
获取小规模数据集,数据包含在datasets里
datasets.load_()
获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是 ~/scikit_learn_data/
datasets.fetch_(data_home=None)
sklearn数据集返回值介绍
load和fetch返回的数据类型datasets.base.Bunch(字典格式)
data:特征数据数组,是 [n_samples * n_features] 的二维 numpy.ndarray 数组
target:标签数组,是 n_samples 的一维 numpy.ndarray 数组
DESCR:数据描述
feature_names:特征名,新闻数据,手写数字、回归数据集没有
target_names:标签名
2.1.3 数据集的划分
机器学习一般的数据集会划分为两个部分:
- 训练数据:用于训练,构建模型
- 测试数据:在模型检验时使用,用于评估模型是否有效
划分比例:
- 训练集:70% 80% 75%
- 测试集:30% 20% 30%
2.1.4 数据集的划分API
1.引入库
from sklearn.model_selection import train_test_split
2.读入数据
train_X,test_X,train_y,test_y = train_test_split(train_data,train_target,test_size=0.3,random_state=5)
参数解释
train_data:待划分样本数据
train_target:待划分样本数据的结果(标签)
test_size:测试数据占样本数据的比例,若整数则样本数量
random_state:设置随机数种子,保证每次都是同一个随机数。若为0或不填,则每次得到数据都不一样