一、机器学习算法基础
1.数据类型
有这些数据全部都是整数,而且不能再细分,也不能进一步提高他们的精确度。
的,如,长度、时间、质量值等,这类整数通常是非整数,含有小数部分。
离散型是区间内不可分,连续型是区间内可分
可用数据集
scikit-learn特点:1、数据量较小, 2、方便学习
Kaggle特点:1、大数据竞赛平台 2、80万科学家 3、真实数据 4、数据量巨大
UCI特点:1、收录了360个数据集 2、覆盖科学、生活、经济等领域 3、数据量几十万
常用的数据结构组成
特征工程是什么:特征工程是将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的模型准确性
2. 数据的特征抽取
sklearn特征抽取API:•sklearn.feature_extraction
字典特征抽取(对字典进行特征值化):类:sklearn.feature_extraction.DictVectorizer
文本特征抽取(作用:对文本数据进行特征化 :sklearn.feature_extraction.text.CountVectorizer
3.特征处理
sklearn归一化API: sklearn.preprocessing.MinMaxScaler
归一化总结:
注意在特定场景下最大值最小值是变化的,另外,最大值与最小值非常容易受异常点影响,所以这种方法鲁棒性较差,只适合传统精确小数据场景。
对于归一化来说:
如果出现异常点,影响了最大值和最小值,那么结果显然会发生改变
对于标准化来说:
如果出现异常点,由于具有一定数据量,少量的异常点对于平均值的影响并不大,从而方差改变较小。
sklearn特征化API: scikit-learn.preprocessing.StandardScaler
标准化总结:在已有样本足够多的情况下比较稳定,适合现代嘈杂大数据场景。
API: Sklearn.impute
Imputer语法
![](https://img-blog.csdnimg.cn/453fd98be2ce4622943d74f69a29b90c.png)
4. 特征选择
特征选择就是单纯地从提取到的所有特征中选择部分特征作为训练集特征,特征在选择前和选择后可以改变值、也不改变值,但是选择后的特征维数肯定比选择前小,毕竟我们只选择了其中的一部分特征。
主要方法(三大武器):Filter(过滤式):VarianceThreshold
Embedded(嵌入式):正则化、决策树
Wrapper(包裹式)
API:sklearn.feature_selection.VarianceThreshold
sklearn降维API :•sklearn. decomposition
PCA是什么?
本质:PCA是一种分析、简化数据集的技术
目的:是数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息。
作用:可以削减回归分析或者聚类分析中特征的数量
二、机器学习开发流程
机器学习算法分类
随机森林、逻辑回归、神经网络
![](https://img-blog.csdnimg.cn/1bbdffcc97f34173b8c142ad8ee0c29a.png)
监督学习:
监督学习(英语:Supervised learning),可以由输入数据中学到或建立一个模型,并依此模式推测新的结果。输入数据是由输入特征值和目标值所组成。函数的输出可以是一个连续的值(称为回归),或是输出是有限个离散值(称作分类)。
分类问题
概念:分类是监督学习的一个核心问题,在监督学习中,当输出变量取有限个离散值时,预测问题变成为分类问题。最基础的便是二分类问题,即判断是非,从两个类别中选择一个作为预测结果;
回归问题
概念:回归是监督学习的另一个重要问题。回归用于预测输入变量和输出变量之间的关系,输出是连续型的值。
无监督学习:
无监督学习(英语:Supervised learning),可以由输入数据中学到或建立一个模型,并依此模式推测新的结果。输入数据是由输入特征值所组成。
1.数据集划分
机器学习一般的数据集会划分为两个部分:
训练数据:用于训练,构建模型
测试数据:在模型检验时使用,用于评估模型是否有效
API:sklearn.model_selection.train_test_split
2.数据进行分割
采样结果。相同的种子采样结果相同。
(默认随机取)
用于分类的大数据集
训练集的“训练”,测试集的“测试”,两者的“全部”
![](https://img-blog.csdnimg.cn/c62fef70b6e5415084b73be2e46f82d9.png)