Machine Learning
特征工程
TensorFlow
神经网络
图像识别
自然语言处理
从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测
算法是核心,数据和计算是基础
掌握算法思想,使用库或框架解决问题
数据类型
离散型数据 计数数据,数据都是整数,不能再细分
连续型数据 某个范围内取任意一数,非整数
监督学习 特征值 + 目标值
-分类 目标值离散型数据
-k-近邻算法
-贝叶斯分类
-决策树与随机森林
-逻辑回归
-神经网络
-回归 目标值连续型数据
-线性回归
-岭回归
-标注
-隐马尔科夫模型(不要求)
无监督学习 特征值
聚类 K-means
分类是监督学习的一个核心问题,最基础的是二分类问题
机器学习的开发流程1、根据原始数据明确问题种类
2、数据基本处理,pd(缺失值,合并表)
3、特征工程
4、找到合适的算法进行预测(分类,回归),参数调优
模型:算法 + 数据
5、 模型评估,判断效果
6、上线使用,以api形式提供
特征工程3大知识点
-特征抽取
-特征预处理
-特征降维
转换器transformer
fit_transform() 输入数据直接转换
fit() 输入数据,但不做事情,会用这个数据计算平均值等数据
transform() 进行数据转换
fit_transform = fit + transform
估计器estimator
sklearn机器学习算法实现
分类估计器
-sklearn.neighbors k-近邻算法
-sklearn.naive_bayes 贝叶斯
-sklearn.linear_model.LogisticRegression 逻辑回归
-sklearn.tree 决策树与随机森林
回归估计器
-sklearn.linear_model.LinearRegression 线性回归
-sklearn.linear_model.Ridge 岭回归
基本使用流程
fit(X_train, y_train)
y_predict = predict(X_test)
score(X_test, y_test)
API
sklearn.metrics.classification_report
数据集划分
-训练集和测试集
-train_test_split
转换器和估计器
-转换器
-实例化
-fit_transform
-fit
-transform
-估计器
-实现了一类算法的API
-流程
-fit训练数据
-predict预测测试集的结果
-score得出准确率
分类算法
-目标值是离散型
-K-近邻
-距离公式
-优点
-理解简单,易于实现
-缺点
-K值取值
-性能问题,不太合适用在大量的数据集
-超参数
-数据的处理:标准化(必须)
-朴素贝叶斯
-条件独立,才能叫朴素贝叶斯
-概率公式 条件概率和联合概率
-贝叶斯公式
-优点
-主要在文本分类上应用
-准确率比较高
-理论基础:概率
-缺点
-条件独立
-历史数据的准确性影响较大
-数据处理:文本的特征抽取
-决策树
-信息论
-信息熵
-信息增益
-信息熵的大小变化是和不确定性相关
-分类依据
-信息增益(掌握)
-信息增益比
-基尼系数(scikitlearn默认)
-优点
-准确率高
-适用于各种数据
-可解释性
-缺点
-容易过拟合,树的建立太深
-随机森林
-一种集成学习方法,多个同样的分类器组成
-多个决策树组成
-建立过程
-优点
-准确率高
-不会过拟合
-对大数据集适用
-超参数,树的深度,多少棵树
分类算法的评估
-准确率
-精确率和召回率
-混淆矩阵
-每个类别都会有
-模型调参数
-交叉验证 为了让数据都能够进行验证和训练
-训练数据(训练+验证)
-K折交叉验证
-网格搜索
-每个参数都会查看效果,选出效果好的参数
-参数的组合(1, 2)