人工智能概念
机器学习,更多是统计学的知识,正确认知算法能力。只能发现已有规律,从规律中预测。
数据集:样本 特征 目标(要预测的就是目标)
机器学习算法分类
数据是否有标签
有:监督学习
预测结果是否离散值:
是:分类问题
结果是否为两个:
是:二分类问题
否:多分类问题
否:回归问题
无:无监督学习
聚类:用户聚类
数据降维
小部分有标签:半监督学习
主动学习:需要专家经验
聚类学习:通过聚类将没标签的聚到一起
纯半监督
直推
强化学习:游戏和自动驾驶
拟合问题
欠拟合:模型太简单,没有学习到普遍规律
过拟合:模型太复杂,不但学到了规律,还学习到了噪声
泛化能力:模型在新数据集上的表现好坏
奥卡姆剃刀:给定两个相同泛化误差的模型,较简单的比复杂的模型更可取。
K近邻
机器学习流程:
加载数据,数据清洗
特征工程(特征提取,加工)
模型训练 -> 训练好的模型
模型评估
上线
KNN基本原理:
离的近的就是同一个类别,不需要训练,训练发生在预测的过程中。
训练数据看作是模型。
三要素:距离度量,K值,分类角色准则。
距离度量:
如果不做特殊设置,距离指欧式距离。
曼哈顿、切比雪夫、闵氏距离。
数据的归一化和标准化
归一化、标准化将量纲不同的数据集缩放到相同的范围内。处理一下不会有坏的影响。
涉及距离的算法,一般要做归一化、标准化,避免不同的特征取值范围不同,导致模型的预测结果受值较大特征的影响。
归一化:当数据取值范围固定,没有异常值(有使用条件限制)
标准化:适应性更强
from sklearn.preprocessing import StandardScaler,MinMaxScaler
训练集测试集的划分
保留一部分数据做模型的评估
数据划分为测试集,训练集之后。如果要做标准化,训练集fit_transform ,测试集 transform。这么做的原因是,如果只有一条测试数据,没法标准化/归一化
分类问题的评估
计算预测的准确率