机器学习流程
分为四步: 1、预处理 2、特征工程 3、机器学习 4、模型评估
我们来看看下面两组数据,说说它们的区别?
- 离散型数据:由记录不同类别个体的数目所得到的数据,又称计数数据,所 有这些数据全部都是整数,而且不能再细分,也不能进一步提高他们的精确度。
- 连续型数据:变量可以在某个范围内取任一数,即变量的取值可以是连续 的,如,长度、时间、质量值等,这类数据通常是非整数,含有小数部分。
注:只要记住一点,离散型是区间内不可分,连续型是区间内可分
调参
- 超参数:在机器学习的上下文中,超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,需要对超参数进行优化,给学习机选择一组最优超参数,以提高学习的性能和效果。
特征工程
特征工程是将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,从而提高了模型对未知数据预测的准确性。意义:直接影响模型的预测结果。
特征处理
通过特定的统计方法(数学方法)将数据转换成算法要求的数据
TF-IDF
- TF-IDF的主要思想是:如果某个词或短语在一篇文章中出现的概率高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分
能力,适合用来分类。 - TF-IDF作用:用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。
- 类:sklearn.feature_extraction.text.TfidfVectorizer
- Tf:term frequency:词的频率出现的次数
- idf:逆文档频率inverse document frequency
- log(总文档数量/该词出现的文档数量) 以10为低 tf*idf 来代表重要性程度
归一化
特点:通过对原始数据进行变换把数据映射到(默认为[0,1])之间
公式:
X′= x−min/max−min
X′′=X′∗(mx−mi)+mi
注:作用于每一列,max为一列的最大值,min为一列的最小值,那么X’’ 为最终结果,mx,mi分别为指定区间值,默认mx为1,mi为0。
mx和mi可以是 1和-1。
MinMaxScalar(feature_range=(0,1)…)
每个特征缩放到给定范围(默认[0,1])
MinMaxScalar.fit_transform(X)
X:numpy array格式的数据[n_samples,n_features]
返回值:转换后的形状相同的array
归一化步骤:
1、实例化MinMaxScalar
2、通过fit_transform转换
总结:
好处:容易更快地通过梯度下降找 到最优解
注意在特定场景下最大值最小值是变化的,另外,最大值与最小值非常容易受异常点影响,所以这种方法鲁棒性较差,只适合传统精确小数据场景。
标准化
1、特点:通过对原始数据进行变换把数据变换到均值为0,标准差为1范围内
2、公式:
注:作用于每一列,mean为平均值,σ为标准差(考量数据的稳定性)
缺失值处理
from sklearn.impute import SimpleImputer
im=SimpleImputer(missing_values=np.nan, strategy=‘mean’)
完成缺失值插补
im.fit_transform(X,y)
X:numpy array格式的数据[n_samples,n_features]
返回值:转换后的形状相同的array
特征预处理-特征选择
从提取到的所有特征中选择部分特征作为训练集特征, 特征在选择前和选择后可以改变值、也可以不改变值,但是选择后的特征维数肯定比选择前小,毕竟我们只选择了其中的一部分特征。
冗余:部分特征的相关度高,容易消耗计算性能
两个特征:一个身高 cm,一个个子高矮类别:
没必要用两个
噪声:部分特征对预测结果有负影响
主要方法:
- Filter(过滤式):VarianceThreshold
- Embedded(嵌入式):正则化、决策树
- Wrapper(包裹式)
包裹式从初始特征集合中不断的选择特征子集,训练学习器,根据学习器的性能来对子集进行评价,直到选择出最佳的子集。
包裹式特征选择直接针对给定学习器进行优化。
优点:从最终学习器的性能来看,包裹式比过滤式更好;
缺点:由于特征选择过程中需要多次训练学习器,因此包裹式特征选择的计算开销通常比过滤式特征选择要大得多。
特征预处理-降维
PCA(主成分分析)
本质:PCA是一种分析、简化数据集的技术(特征数量达到上百的时候,开始使用PCA
)。
目的:是数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息。
作用:可以削减回归分析或者聚类分析中特征的数量。
为什么要垂直距离最小的:降维后的值更能反映原特征值的特点。
机器学习算法分类
监督学习:特征值+目标值
非监督学习:特征值1000个样本
分类:目标值离散型
回归:目标值连续型
分类问题
- 概念:分类是监督学习的一个核心问题,在监督学习中,当输出变量取有限个离散值时,预测问题变成为分类问题。最基础的便是二分类问题,即判断是非,从两个类别中选择一个作为预测结果;
分类在于根据其特性将数据“分门别类”,所以在许多领域都有广泛的应用
在银行业务中,构建一个客户分类模型,按客户按照贷款风险的大小进行分类
图像处理中,分类可以用来检测图像中是否有人脸出现,动物类别等
手写识别中,分类可以用于识别手写的数字
文本分类,这里的文本可以是新闻报道、网页、电子邮件、学术论文
…
回归问题
- 概念:回归是监督学习的另一个重要问题。回归用于预测输入变量和输出变量之间的关系,输出是连续型的值。
回归在多领域也有广泛的应用
房价预测,根据某地历史房价数据,进行一个预测
金融信息,每日股票走向
…