机器学习算法基础
一、数据降维
1.特征选择
特征选择的原因
1.部分特征冗余高,容易消耗计算性能
2.部分特征对预测结果有影响
特征选择是什么
从方差的角度考虑过滤
方差越小,越靠近零,说明特征值都差不多,对目标值影响不大,就去除掉
2.主成分分析(PCA)
主成分分析,在减少特征值的同时,损失少量的信息
找到最好的直线,保证信息量不会减少太多
pca语法
n_compoents参数
一般就是保留特征的百分比,因为不知道有多少特征需要减少
pca降维的案例
import pandas as pd
from sklearn.decomposition import PCA
# 读取四张表的数据----数据与.py文件在同一目录下
prior = pd.read_csv("./pcadata/order_products__prior.csv")
products = pd.read_csv("./pcadata/products.csv")
orders = pd.read_csv("./pcadata/orders.csv")
aisles = pd.read_csv("./pcadata/aisles.csv")
# 合并为一张表
mt = pd.merge(prior,products,on=['product_id','product_id'])
mt = pd.merge(mt,orders,on=['order_id','order_id'])
mt = pd.merge(mt,aisles,on=['aisle_id','aisle_id'])
# 交叉表(特殊的分组工具)
cross = pd.crosstab(mt['user_id'],mt['aisle'])
cross.head(10)
# 主成分分析
pca = PCA(n_components=0.9)
data = pca.fit_transform(cross)
print(data)
data.shape
安装谷歌插件
Hoxx VPN Proxy
注册kaggle,准备数据
二、机器学习算法分类以及开发流程
1.机器学习算法分类
监督学习和无监督学习
监督学习按照数据类型,可以分为分类任务和回归任务
离散的就是做分类
连续的目标值是做预测
分类问题的应用
回归问题的应用
2.机器学习开发流程
三、数据集的划分
1.拆分数据集
把数据拆分成75%是训练集,25%是验证集
一个是大规模数据集,一个是小规模的数据集
sklearn回归数据集
4.转换器和估计器
转换器:fit:不做数据转换,输入数据 transform:数据转换
特征工程的时候用,一般使用fit_transform() 方法
估计器:算法实现的方法
总结
先分析,项目的需求,观察数据,看看目标任务是,分类还是回归,然后确定算法模型
数据预处理,切分数据集,选择模型算法,进行训练,评估完成,优化算法,对特征值做特征工程