机器学习算法基础--第二天
数据降维
定义:减少特征数量
数据降维分为两种:
- 特征选择:单纯地从提取到的所有特征中选择部分特征作为训练集特征,特征在选择前和选择后可以改变值,也可以不改变值,但是选择后的特征维数肯定比选择前小
- 主成分分析
特征选择
- 主要方法:
1.Filter(过滤式):Variance Threshold
2.Embedded(嵌入式):正则化、决策树
3.Wrapper(包裹式)
VarianceThreshold(threshold=0.0)
- 删除所有低方差特征
- Variance.fit_transform(x)
其中:
X:numpy array格式的数据[n_samples,n_features]
返回值:训练集差异低于threshold 的特征将被删除,默认值是保留所有非零方差特征,即删除所有样本中具有相同值的特征
使用:
from sklearn.feature_selection import VarianceThreshold
def var():
"""
特征选择-删除低方差的特征
:return: None
"""
var = VarianceThreshold(threshold=0.0)
data = var.fit_transform([[0,2,0,3],[0,1,4,3],[0,1,1,3]])
print(data)
if __name__ == '__main__':
var()
输出:
[[2 0]
[1 4]
[1 1]]
主成分分析
- api:sklearn.decomposition
- 定义:PCA是一个种分析、简化数据集的技术,是数据维数压缩,尽可能降低元数据的维数(复杂度),损失少量信息,可以削减回归分析或者聚类分析中特征的数量(当特征数量达到上百个以上时可以选择使用)
- 方法:PCA(n_component=None)→将数据分解为较低维数空间
机器学习算法分类
- 监督学习(预测):特征值+目标值
-
- 分类:K-邻近算法、贝叶斯分类、决策树与随机森林、逻辑回归、神经网络,目标值离散型
-
- 回归:线性回归、岭回归,目标值连续型
-
- 标注:隐马尔可夫模型
- 无监督学习:特征值
-
- 聚类:k-means