自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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在机器学习中的应用(3):统计

scipy在机器学习中的应用(3):统计

2025-11-18 20:10:44 222

原创 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

原创 numpy基本用法2:切片,合并,分割,复制

主要讲述了numpy的切片,合并,分割,复制等操作

2025-11-09 11:07:43 526

原创 numpy基本用法1—创建

主要讲述了numpy中一些常见创建矩阵方法

2025-11-08 23:43:45 155

原创 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

原创 数据的存储(二)

数据的存储(二),浮点数在内存中的存储

2022-08-12 10:34:44 237

原创 数据的存储(一)

数据的存储,整型的存储

2022-08-09 16:58:03 352

原创 C语言之路第13天:初认结构体

初认结构体

2022-08-02 15:22:31 207

原创 C语言之路第十二天:初识指针

1,什么是指针在计算机科学中指针是编程语言中的一个对象,利用地址,它的值直接指向存在电脑存储器另一地方的值。也就是说char类型是占一个字节,则char*类型的指针解引用访问一个字节,而int占4个字节,而int*类型的指针解引用时候访问4个字节。即地址-地址,得到的是俩指针之间的元素个数包括被减指针对应的元素,不包括减数针。1是sizeof(arr),这里的arr代表的是整个数组,求出来的是整个数组的大小。野指针就是指针指向位置是不可知的(随机的,不正确的,没有明确限制的)...

2022-08-01 08:14:22 222

原创 操作符详解

操作符详解

2022-07-29 16:46:34 435

原创 函数(一)

函数,递归,函数声明等

2022-07-18 16:44:11 1205

原创 C语言学习之路第九天:猜数字游戏(分支,循环语句的综合运用)

猜数字游戏(分支,循环语句的综合运用)

2022-07-15 16:33:41 775

原创 C语言之路第八天:循环语句

循环语句,while循环,for循环,do...while循环

2022-07-11 21:07:51 911

原创 C语言之路第七天:分支语句(if,switch语句)

分支语句(if,switch语句)

2022-07-08 18:30:21 302

原创 C语言学习之路:第六天(结构体)

C语言,结构体

2022-07-06 17:01:35 369

原创 C语言之路第五天:关键字

C语言之路第五天:关键字

2022-07-05 20:15:57 273

原创 C语言之路第四天:单目操作符(续),关系操作符,逻辑操作符,条件操作符,逗号表达式

单目操作符(续),关系操作符,逻辑操作符,条件操作符,逗号表达式

2022-07-04 19:56:25 424

原创 C语言之路第三天:注释,选择语句,循环语句,函数,数组,操作符

注释,选择语句,循环语句,函数,数组,操作符

2022-07-02 20:47:48 298

原创 C语言之路第二天:常量,转义符,遇到的问题

C语言之路第二天:常量,转义符,遇到的问题

2022-07-01 18:15:54 188

原创 C语言学习之路:第一天(数据类型,字节,变量,C语言基本框架,一些函数)

数据类型,字节,变量,C语言基本框架,一些函数

2022-06-30 20:32:48 275 2

原创 C语言之路:开始篇

C语言学习之路开始篇

2022-06-30 19:13:17 162

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除