- 博客(33)
- 收藏
- 关注
原创 sklearn学习(6)决策树
sklearn的决策树相关在DecisiontreeClassifiter这个函数中,一般决策树节点的选择有两种,其一是基尼指数gini,其二是信息增益entropy,而基尼指数要求越小越好,信息增益越大越好。为了预防决策树过拟合,可以在决策树中加入剪枝,又分为预剪枝和后剪枝。下面通过一个数据演示决策树。加载数据并划分,决策树数据一般不需要标准化或均一化。创建决策树,创建了三种,无剪枝、预剪枝和后剪枝。
2025-12-04 21:53:28
244
原创 sklearn学习(5)线性回归和逻辑回归
sklearn的线性回归在LinearRegression类,而逻辑回归在LogisticRegression类。逻辑回归加载数据并标准化划分数据集和测试集。线性回归生成数据并划分数据集和测试集。
2025-12-02 15:22:55
176
原创 sklearn学习(4)K近邻(KNN)
本文介绍了K近邻(KNN)算法的基本原理及其在分类任务中的应用。KNN通过计算新样本与k个最近邻样本的距离进行分类,通常需要先对数据进行标准化处理。文章演示了使用scikit-learn实现KNN分类的完整流程,包括数据加载、标准化、训练测试集划分、模型训练和评估。关键参数包括邻居数量n_neighbors、权重weights和距离度量metric等。最后通过准确率和分类报告评估模型性能,在Iris数据集上实现了较好的分类效果。KNN算法简单直观,无需显式训练过程,适合作为机器学习入门方法。
2025-12-01 10:37:05
234
原创 sklearn学习(3)数据降维
本文介绍了机器学习中的特征选择和特征提取方法。特征选择方法包括:1)移除低方差法,通过VarianceThreshold过滤方差小的特征;2)单变量统计法,使用SelectKBest基于统计检验选择最佳特征;3)基于模型的选择,如Lasso正则化选择重要特征。特征提取部分重点讲解了PCA(主成分分析)和LDA(线性判别分析)两种降维技术:PCA是无监督方法,追求最大化方差;LDA是有监督方法,需使用标签信息,追求最大化类间距离和最小化类内距离。
2025-11-29 19:10:32
264
原创 sklearn学习(2)数据预处理
本文介绍了机器学习中常用的特征提取与数据预处理方法:1)类别特征处理使用OneHotEncoder进行独热编码;2)字典特征提取采用DictVectorizer;3)文本特征统计使用CountVectorizer(需配合jieba中文分词);4)TF-IDF特征提取使用TfidfVectorizer评估词重要性;5)缺失值处理通过SimpleImputer进行均值/中位数等填充;6)数据归一化(MinMaxScaler)和标准化(StandardScaler)方法。
2025-11-28 10:20:33
256
原创 sklearn学习(1)加载数据
摘要:本文介绍了sklearn库中数据加载和划分的基本方法。主要包括三种数据加载方式:load_*加载小型数据集、fetch_*加载大型数据集、make_*生成人造数据集。以鸢尾花数据集为例,演示了如何获取特征数据(x)和标签(y)。同时讲解了train_test_split函数的使用方法,包括参数设置如test_size、random_state、shuffle和stratify等,用于将数据集划分为训练集和测试集。文章为机器学习数据预处理提供了基础指导。
2025-11-23 21:58:26
160
原创 scipy在机器学习中的应用(5):差值和优化
本文介绍了scipy.interpolate模块中的插值方法,包括一维、二维和网格数据插值。一维插值使用interp1d函数,支持多种插值方式(如线性、二次、三次等)。二维插值通过RegularGridInterpolator实现,需要输入自变量和因变量网格数据。网格数据插值使用griddata函数,可处理不规则数据点,提供最近邻、线性和三次插值方法。此外,还介绍了RectBivariateSpline进行矩形二元样条网格插值,该方法需要单调递增的网格坐标和对应的值矩阵。文中通过示例代码展示了各种插值方法的
2025-11-22 11:02:07
184
原创 scipy在机器学习中的应用(4):空间距离
摘要:Scipy的spatial模块提供了多种距离计算和空间分析功能。pdist函数计算数据集中点对间的距离(欧氏、曼哈顿、明氏、余弦等),cdist计算两组数据间的距离。squareform函数实现压缩距离向量与方阵格式的转换。KDTree支持高效近邻搜索,包括k近邻和半径查询。ConvexHull计算凸包,Delaunay实现三角剖分。这些功能广泛应用于数据分析、机器学习和计算几何领域。
2025-11-21 11:07:14
138
原创 scipy在机器学习中的应用(2):线性代数相关
solve(a,b)a是未知数的系数,b是等号右边的常数构成的向量。输出为两个,第一个是特征值,第二个每一列是特征值对应特征向量。scipy线性代数矩阵相关运算在他的linalg类中。主要使用norm函数,传入不同的ord。2范数:所有元素平方和 再开根号。无穷范数:所有元素的绝对值最大值。(6)求解线性方程组 solve。(5)求特征值和特征向量eig。(1)求方阵的行列式值det。1范数:所有元素的绝对值之和。0范数:向量中的非0数。(2)求矩阵逆inv。
2025-11-17 22:46:27
120
原创 scipy在机器学习中的应用(1):优化和拟合
它的基本用法需要传入上个参数,fun是要优化函数的形式,x0是x的初值,应该为array类型,args传入的是一个元组,里面是被优化函数除x以外的参数的值,如有需要还可以传入bounds参数,用以限制x的取值范围,在制定范围内求最小值。leastsq()函数需要传入至少三个参数,第一个参数是误差函数,其为目标拟合函数值(需要自己根据数据设置)-实际值,第二个参数是,目标拟合函数里面除x 之外的参数的初值,一般随便给,第三个参数是有要拟合的数据 x y 构成的元组。自定义拟合(curve_fit)
2025-11-16 11:10:37
294
原创 指针详解(一)
上面这几种传入数组参数都是正确的,如果传入数组,就要在形参的位置写一个相同类型的数组,数组大小可以不写,但[]必须有,如果是传入数组的首元素地址,就必须在形参的位置写一个首元素类型对应的指针。前面三个都很好理解,主要看第四个首先parr3与[10]结合说明parr3是一个数组,之后去掉数组看和三个一样,说明这个数组存放的数组指针,并且每个数组指针指向的是有5个整型元素的数组。上图中print1是以数组的名字传入的,print2是数组指针传入的,但是在函数内部的使用是完全可以一样的。指向的是同一个地址空间。.
2025-11-14 00:25:18
336
原创 numpy基本操作3:运算
这三个函数分别是 np.sum(),np.max(),np.min(),如果只传入矩阵则是求整个矩阵的和、最大值、最小值,如果再传入axis=0则是按列求,axis=1则是按行求。这里索引是按照行来写的,第一行0,1,2,3;如果一个矩阵和一个常数进行比较,就用这个矩阵每一个数和这个常数比较,返回值为与原矩阵形状相同的矩阵,若满足则为True,若不满足则为False。累加表示的是这矩阵的前n个相加后按顺序放到一个序列中,累减是一个矩阵的每一列减去前一列的差对应放到矩阵的,新矩阵会比原矩阵少1列。
2025-11-12 20:20:08
99
原创 stm32与串口屏点灯学习
点击右侧按钮三次即为创建三个按钮,并分别点击按钮控件,更改属性font为0,表示使用字库中的第一个字库,并分别修改txt内容,分别改为:开灯、关灯、闪烁。本项目主要是使用stm32核心板和触摸式串口屏,通过点击串口屏上的按钮控制单片机进行点灯操作。点击左上角调试按钮进入调试界面,分别点击3个控件可以看到下方有发出01,02,03 的指令。3.点击页面,右侧属性中更bco为绿色,即为更改页面颜色为绿色。在工具中点击字库制作,也可以在字库选项下选择之前制作的字库。就此,串口屏就写好了,下载到串口屏即可。
2024-07-09 17:34:25
529
原创 指针详解(二)
这个signal (int ,void(*)(int))是一个函数,其参数是int 和void(*)(int),原代码去掉这些是void (*)(int)说明这个函数的返回值是一个函数指针,参数是int 无返回值。通过函数指针调的函数,把一个函数的地址传给另外一个函数,,当这个指针被用来调用其所指的函数时,我们就说这是回调函数,回调函数不是由该函数的实现方直接调用,而是再特定的事件或条件发生时由另外的一方调用的。signal函数的返回类型是一个函数指针,该函数指针指向的函数参数是int,返回值是void。
2022-08-23 11:41:28
384
原创 C语言之路第十二天:初识指针
1,什么是指针在计算机科学中指针是编程语言中的一个对象,利用地址,它的值直接指向存在电脑存储器另一地方的值。也就是说char类型是占一个字节,则char*类型的指针解引用访问一个字节,而int占4个字节,而int*类型的指针解引用时候访问4个字节。即地址-地址,得到的是俩指针之间的元素个数包括被减指针对应的元素,不包括减数针。1是sizeof(arr),这里的arr代表的是整个数组,求出来的是整个数组的大小。野指针就是指针指向位置是不可知的(随机的,不正确的,没有明确限制的)...
2022-08-01 08:14:22
222
原创 C语言之路第四天:单目操作符(续),关系操作符,逻辑操作符,条件操作符,逗号表达式
单目操作符(续),关系操作符,逻辑操作符,条件操作符,逗号表达式
2022-07-04 19:56:25
424
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
2