数据降维:
定义:特征的数量减少
特征选择:
原因:
1、冗余部分特征相关性高,容易消耗计算机性能
2、噪声:部分特征对预测结果有负影响
工具:
1、Filter(过滤式):VarianceThreshold (sklearn.feature_selection.VarianceThreshold)
2、Embedded(嵌入式):正则化、决策树
3、Wrapper(包裹式)
方差大小来考虑
PCA:
主成分分析:
(sklearn. decomposition )
PCA是一种分析、简化数据集的技术
目的:数据维数的压缩,尽可能降低源数据的维数(复杂度),损失少量信息
作用:可以削减回归分析或是聚类分析中特征数量
特征数量达到上百的时候,考虑数据的简化
高维度数据容易出现的问题:数据之间存在线性关系
n-components:将数据分解为较低维数空间,对于小数:损失后最好选择90%~95%;整数:减少到的特征数量(一般不使用)
案例:探究用户对物品类别的喜好细分降维
合并各各张表放到一张表中:pd.merge()
...
机器学习基础:
1、算法是核心,数据和计算是基础
2、找准定位
分析很多数据、分析具体的业务、应用常见的算法、特征工程、调参数、优化
需要做的事情:
1、分析问题、使用机器学习算法完成什么任务
2、掌握算法基本思想,学会对问题用相应的算法解决
3、学会利用库或是框架解决问题
数据类型:
1、离散型数据
有记录不同类别个体数目所得到的数据,又称为计数数据,所有这些数据全部都是整数,而且不能再细分,不能进一步提高精确度
2、连续型数据
变量可以在某个范围内取任一数,可以是连续的
数据类型不同,算法的选择不一样
机器学习算法的分类:
监督学习(预测):(特征值+目标值)有标准答案
分类: k-近邻算法、贝叶斯分类、决策树与随机森林、逻辑回归、神经网络 (目标值为离散型)
最基础的是二分类,即是判断是非
回归: 线性回归、岭回归 (目标值为连续型)
标注: 隐马尔科夫模型(不做要求)
无监督学习:(特征值)无标准答案
聚类 k-means
机器学习算法的开发流程:
有数据
合作数据
购买数据
1、明确问题做什么(建立模型的类别)根据目标值数据类型划分应用种类
2、数据基本处理:合并、缺失值等
3、特征工程(对特征进行处理)
4、找合适的算法去解决问题 模型:是需要叫上数据之后的算法即为,利用已经得出的算法去预测问题
5、模型评估:判定效果如何
6、可以使用,以API形式提供
如果评估没有成功,换算法,重复上述过程
sklearn数据集与估算器:
拿到的数据不能全部用于训练模型
模型数据的自动划分(sklearn.model_selection.train_test_split)
训练集:数量比较多:70%、80%、75%
建立模型(算法加数据)
测试集:数量为少数:30%、20%、25%
评估模型
一般是75%和25%
分类数据集:
sklearn.datasets.load_iris(): 加载并返回鸢尾花数据集
sklearn.datasets.load_digits():加载并返回数字数据集
sklearn.datasets.fetch_20newsgroups(data_home=None,subset=‘train’):用于分类的大数据集
转换器与预估器:
转换器:
fit_transform():输入数据直接转换
fit():输入数据,不做转换
+transform():进行数据转换
估计器:
是sklearn的重要角色,分类器和回归器都属于estimator,是一类实现了算法的API
估计器的使用流程:
训练集和测试集
调用方式:fit(x_train, y_train)
估计器(estimator):
1、y_predict = predict(x_test)
2、预测的准确率:score(x_test, y_test)