KNN 算法概述KNNK-Nearest NeighborsK 最近邻算法是机器学习中的经典算法之一主要通过寻找 k 个最近的邻居来确定当前数据的类别或数值。该算法既可以用于分类任务也可以用于回归任务但通常需要调用不同的函数接口。KNN 算法的实现步骤包括计算当前数据与所有训练数据之间的距离找出距离最近的 k 个邻居然后基于这些邻居的信息如多数投票或平均值进行分类或回归预测。数学在机器学习中的重要性机器学习章节中涉及较多数学内容但重点在于理解概念和原理而非深入研究复杂的数学推导。对于大多数应用场景不需要深入推导每一个数学公式只需理解其用途和意义即可。AI 方向更重视对原理的理解和实际应用而不是纯粹的数学推导能力。智能寝室分配案例智能寝室分配案例旨在将不同性格特征的学生分配到不同的寝室以减少室友之间的矛盾。该案例的需求包括明确项目任务和逻辑流程理解历史数据和预测数据的结构。历史数据通常包括大二、大三、大四学生的性格测试报告这些数据用于分析学生的特征并为其打上相应的标签为后续的分配算法提供依据。数据可视化与准备数据可视化部分通常使用 matplotlib 库来展示数据的分布情况。首先需要读取数据然后分离特征数据和标签数据为模型训练做好准备。接下来需要选择合适的机器学习模型库和相应的函数接口进行模型训练和预测。KNN 算法实现从 scikit-learnsklearn库中找到 KNN 算法读取数据并进行训练。创建 KNN 分类模型使用训练数据对模型进行训练。最后通过预测新数据来评估模型的性能如准确率、召回率等指标。鸢尾花数据集鸢尾花Iris数据集是机器学习中常用的经典数据集包括训练集和测试集用于评估模型的正确率。训练集用于训练模型测试集用于测试模型的泛化能力。标准化处理Normalization用于将数据特征缩放到 0 到 1 的范围内以消除不同特征之间的量纲影响。线性回归原理线性回归的目标是找到一条直线来拟合数据点使得预测值与真实值之间的误差最小。直线的方程通常表示为 y kx b通过最小二乘法Least Squares Method求解最佳拟合线。为了便于计算机计算通常将直线方程转换为矩阵形式y βTX其中 β 是参数向量X 是特征矩阵。误差的正态分布假设在线性回归中通常假设误差项满足标准正态分布即大量误差值接近零。正态分布公式用于描述误差的概率分布。极大似然估计Maximum Likelihood Estimation表明统计到的数据遵循最大概率规律即找到的参数应使观测数据出现的概率最大。最小二乘法求解贝塔通过对数变换将连乘转换为求和简化计算过程。最小二乘法用于求解参数 β 的最小值通过求偏导数为零得到极小值点。最终推导出的公式为β (XTX)-1XTY其中 X 是特征矩阵Y 是目标向量。线性回归接口使用线性回归接口位于 scikit-learnsklearn的 linear_model 模块中。常用参数包括是否包含截距项fit_intercept、是否复制数据copy_X、计算任务个数n_jobs等。初始化模型后通过 fit 方法进行训练使用 predict 方法进行预测。线性回归示例代码使用线性回归预测体重和年龄对血压收缩压的影响。首先读取 CSV 数据然后分离特征数据如体重、年龄和标签数据血压值。接着训练模型并获取参数 β 值最后进行预测并评估模型的拟合优度如 R² 分数。