Hilda

「离开世界之前 一切都是过程」

机器学习算法2-线性回归-实战、岭回归、Lasso回归

关于线性回归的原理,详细可以参考我写的这篇博客:机器学习算法2-线性回归-原理 1.使用正规方程进行求解 正规方程(Normal Equation)是一种用于求解线性回归模型中参数(\(\theta\))的解析方法。与梯度下降等迭代优化算法不同,正规方程可以直接一步到位地计算出使成本函数/损失函数(Cost Function)最小化的最优参数。 准备真实数据,绘制散点图 1 ...

机器学习算法2-线性回归-原理

1.简单线性回归概念 线性回归是一种用于预测连续值输出的监督学习算法。它的核心思想是找到一个线性函数,该函数能尽可能好地拟合输入特征与输出目标之间的关系。 2.多元线性回归概念 例如: 线性回归模型可以看作是在二维空间中寻找一条直线,在三维空间中寻找一个平面,在更高维空间中寻找一个超平面,来最好地拟合数据点。 线性回归模型的基本形式是一个线性方程:\(h...

机器学习算法1-KNN手写数字识别

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 ...

机器学习算法1-KNN回归任务任务

1.KNN回归的直观理解:局部平均 KNN回归的核心思想是,相似的数据点在特征空间中彼此靠近 。当需要对新数据点进行预测时,KNN算法会识别出与该新数据点最接近的“k”个邻居,并利用这些已知邻居的目标值来估计新数据点的值 。这本质上是一种局部插值或平滑技术 。通过这种方式,KNN假设局部区域内的点具有相似的属性,因此可以根据其邻居的平均值来预测新点的值。 2.权重规则 2.1 简单...

scikit-learn 模型直接处理的非数值型数据

案例说明:利用KNN做分类任务“预测年收入是否大于50K美元”,读取adult.txt文件,最后一列是年收入,并使用KNN算法训练模型,然后使用模型预测一个人的年收入是否大于50 1 2 3 4 5 6 df = pd.read_csv("../data/adults.txt", delimiter=",") display(df) X_train = df.iloc[:, :-1] ...

机器学习算法1-KNN分类任务

回顾: KNN的两个核心特性是非参数性和惰性学习,它们共同定义了该算法的行为和适用性: 非参数性:KNN不假设数据服从任何特定的底层分布。这使其具有高度灵活性,适用于数据可能不遵循理论分布的实际场景 。与线性回归等参数模型相比,这是一个显著的优势,因为线性回归需要对数据关系做出特定假设 。 惰性学习:如前所述,KNN在预测时才进行所有计算,没有显式的训...

机器学习算法1-KNN

总结:机器学习代码套路 准备数据 (DataFrame可以直接参与训练,但是一般要求都是二维的;一般可以尝试用numpy的ndarray进行训练,df转换成ndarray的方法:df.values即可)如果是df,第一个维度一般是样本数量,第二个维度一般是特征数量。对于有监督学习的标签y_train,一般是一维的,...

seaborn-使用指南

Seaborn 是一个基于 Matplotlib 的 Python 数据可视化库。它的核心优势在于提供了一个高级的、面向统计绘图的接口。与 Matplotlib 相比,Seaborn 的默认样式更美观,并且内置了多种数据集中常用的统计图表,如箱线图、热力图、小提琴图等,能够帮助我们快速、优雅地进行数据探索和可视化。 1.安装Seaborn 1 pip install seaborn ...

matplotlib-3D图形

Matplotlib 也可以绘制基本的三维图表,这对于可视化三维数据或函数非常有用。要绘制 3D 图形,需要导入 mpl_toolkits.mplot3d。 要创建 3D 图形,首先需要导入 mpl_toolkits.mplot3d.axes3d 模块中的 Axes3D。 创建 3D Axes 的两种常见方法: 在 Figure 中添加 3D 子图: fig = plt.fi...

matplotlib-常见10种视图

1.折线图 (Line Plot) 折线图是显示数据随时间或有序类别变化的趋势的常用图表。它通过连接一系列数据点来展示数值型变量的连续变化。 主要函数是 plt.plot(*args, scalex=True, scaley=True, data=None, **kwargs) 或 ax.plot(*args, **kwargs)。 *args: 可以接受多种形式的输入,最常...