- 博客(127)
- 资源 (13)
- 收藏
- 关注
原创 机器学习之决策树(DecisionTree——C4.5)
在机器学习之决策树(DecisionTree——ID3)中我们提到,ID3无法处理是连续值或有缺失值的属性。而C4.5算法可以解决ID3算的上述局限性。对于数据集DDD和连续值属性AAA,假设连续值属性AAA有MMM个不同的取值,可通过二分法bi-partition对联组织属性进行离散化处理,即:表1中的西瓜数据集包含17个样本(n=1,2,3,...,17n=1,2,3,...,17n=1,2,3,...,17),每个样本有8个属性(k=1,2,3,...,8k = 1 , 2 , 3 , . . . ,
2025-01-21 16:51:36
2353
原创 机器学习之决策树(DecisionTree——ID3)
决策树中选择哪一个特征进行分裂,称之为特征选择。特征选择是找出某一个特征使得分裂后两边的样本都有最好的“归宿”,即左边分支的样本属于一个类别、右边分支的样本属于另外一个类别,左边和右边分支包含的样本尽可能分属同一类别,此时分裂节点的纯度(purity)高,能够表征这种纯度高低的常用指标是信息熵(informationentropy)。假设有一个数据集DDD,包含NNN个样本(n=1,2,3,...,Nn=1,2,3,...,Nn=1,2,3,...,N),每一个样本有kkk个属性(k=1,2,3,..
2025-01-17 15:00:54
580
原创 机器学习数据预处理preprocessing
它可以将一组标签集合转换为一个二进制矩阵,其中每一列代表一个可能的标签,每一行代表一个样本。用于中心化核矩阵的工具,通常用于核方法(如支持向量机和核主成分分析)中,以确保核矩阵的中心化,从而提高算法的性能。将每个类别值映射到一个从 0 到 n_classes-1 的整数,其中 n_classes 是类别的数量。设定一个阈值(threshold),对于每个输入值,如果该值大于或等于阈值,则输出 1;调整核矩阵使其行和列的均值为零,目的是消除数据的偏移,使得算法能够更好地捕捉数据的结构特征。
2025-01-10 15:21:24
1180
原创 机器学习数据预处理preprocessing之KernelCenterer
对矩阵X执行中心化操作,即使得核矩阵的行和列的均值为零给定二维矩阵X,可以下式得到其核变换矩阵KKXXϕXϕXTϕXX去中心化的核矩阵KKXXϕXϕXTKXXKXXTKK−1nsamplesK−K1nsamples1nsamplesK1nsamples1nsamplesshapensamples1。
2025-01-10 10:04:49
776
原创 机器学习特征重要性之feature_importances_属性与permutation_importance方法
在机器学习中,分类和回归算法的属性用于衡量每个特征对模型预测的重要性。这个属性通常在基于树的算法中使用,通过属性,您可以了解哪些特征对模型的预测最为重要,从而可以进行特征选择或特征工程,以提高模型的性能和解释性。
2025-01-09 15:08:20
907
原创 Pandas之Resampling函数的相关用法
用于时间序列频率转换和重采样的便捷方法。对象必须具有类似日期时间的索引(DatetimeIndex、PeriodIndex 或 TimedeltaIndex),或者调用者必须将类似日期时间的系列/索引的标签传递给 on/level 关键字参数ruleaxisclosed这个参数指定时间间隔的哪一端是闭合的。【ME:月末(Month End);YE:年末(Year End);QE:季末(Quarter End);BME:商业月末(Business Month End);
2025-01-07 16:35:19
730
原创 分类、聚类与回归的评价指标
在或中,参数scoring,与分类、聚类和回归算法的评价指标有关。对于最常见的用例,您可以通过字符串名称使用 scoring 参数指定一个评分对象;下表显示了所有可能的值。所有评分对象都遵循这样的约定:返回值越高越好。因此,像 metrics.mean_squared_error 这样衡量模型与数据之间距离的指标,会以 ‘neg_mean_squared_error’ 的形式提供,返回该指标的负值。
2025-01-02 17:48:35
1094
原创 RandomForest和AdaBoost如何确定新样本的类别
假设我们有一个训练好的随机森林模型,并且这个模型是用来分类三个类别:类别A、类别B和类别C。假设我们有一个训练好的随机森林模型,它包含了100棵决策树。现在我们有一个新样本,我们需要确定它属于类别A、类别B还是类别C。
2024-12-26 15:02:43
275
原创 The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
这个错误信息通常出现在你尝试对一个包含多个元素的数组进行布尔判断时。Python中的NumPy库不允许直接对包含多个元素的数组进行布尔判断,因为这会导致歧义。如果你尝试直接判断 if a:,就会出现这个错误。这样可以避免歧义,并且代码更加明确。
2024-12-25 15:13:17
1139
原创 Python交叉验证
train_test_split 用于简单地将数据集分成训练集和测试集。cross_validate 用于交叉验证并返回多个评估指标。cross_val_score 用于交叉验证并返回单个评估指标的得分。cross_val_predict 用于交叉验证并返回每个数据点的预测结果。KFold适用于数据集较为均匀的情况,不考虑标签分布。StratifiedKFold适用于分类问题,特别是当类别分布不均衡时,能够保持每个子集中的类别比例与原始数据集一致。
2024-12-24 14:15:24
761
原创 local variable ‘x‘ referenced before assignment
如果在函数内部需要修改外部定义的变量,需使用global关键字声明如果在嵌套函数中需要修改外部函数的局部变量,需使用nonlocal关键字
2024-12-20 11:17:01
190
原创 图像处理之直方图均衡化
1. 图像直方图 1.1 灰度直方图 图像的灰度直方图是图像灰度级的函数,表示数字图像中每一灰度级与其出现频数(呈现该灰度的像素数目)之间的统计关系。通常,用横坐标表示灰度级(000~255255255),纵坐标表示频数或相对频数(呈现该灰度级的像素出现的概率)。 灰度直方图的定义如下式所示:P(rk)=nkNP(r_k)=\frac{n_k}{N}P(rk)=Nnk 式中,NNN是图像的像素总数,nkn_knk是第kkk级灰度的像素数目,rkr_krk表示第kkk个灰
2022-01-23 00:14:19
10832
原创 图像处理之小波变换的应用
1. 部分常用的小波变换函数dwt2:实现一级二维离散小波变换[ca,ch,cv,cd] = dwt2(Image, 'wavename');% Image: 待分解图像% wavename: 小波函数,如'db4'、'sym5'% ca: 分解得到的低频分量% ch: 分解得到的水平高频分量% cv: 分解得到的垂直高频分量% cd: 分解得到的对角高频分量idwt2:实现一级二维离散小波逆变换Image = dwt2(ca,ch,cv,cd, 'wavename');%
2022-01-20 14:36:40
12647
1
原创 图像处理之傅里叶变换
1. 图像傅里叶变换clc, clear, close all;Image = imread('peppers.jpg');grayI = rgb2gray(Image);DETI1 = fft2(grayI);ADETI1 = abs(DETI1);top = max(ADETI1(:));bottom = min(ADETI1(:));ADETI1 = (ADETI1 - bottom)/(top - bottom) * 100;ADETI2 = fftshift(ADETI1);
2022-01-19 13:12:17
4161
原创 图像处理之图像加减
1. 图像加法运算g(x,y)=f1(x,y)+f2(x,y)g(x,y) = f_1(x,y) + f_2(x,y) g(x,y)=f1(x,y)+f2(x,y)1.1 和值处理进行加法运算时,像素点的和值可能会超过灰度值范围,可采用以下方式处理:截断处理如果g(x,y)>255g(x,y)>255g(x,y)>255,仍取255255255。新图像g(x,y)g(x,y)g(x,y)偏大,图像整体较亮。加权求和g(x,y)=αf1(x,y)+(
2022-01-19 12:55:17
9212
原创 图像处理之图像镜像
图像镜像变换公式为:水平镜像:{x∗=M−1−xy∗=y水平镜像: \left\{\begin{matrix} x^* & = & M - 1 - x \\ y^* & = & y \end{matrix}\right.水平镜像:{x∗y∗==M−1−xy垂直镜像:{x∗=xy∗=M−1−y垂直镜像: \left\{\begin{matrix} x^* & = & x \\ y^* & = & M - 1 -
2022-01-19 12:12:49
5392
1
原创 图像处理之图像平移
图像平移:将图像上的所有像素点按照给定的偏移量移动,平移不改变图像内容,只改变图像位置%% 函数解析% 产生转换结构TForm = maketform(TransformType)其中:TransformType可取'affine'、'profective'、'custom'、'box'、'composite'% 平移变换NewImage = imtransform(OldImage, TForm , ...)
2022-01-18 23:24:29
5074
原创 Python 获取最值索引最快的方法
对比了几种求最值索引的方法,并比较其快慢import timeimport numpy as npimport operatorlist_a = [81.5, 81.6, 81.6, 81.5, 81.4, 81.2, 81.2, 81.3, 81.3, 81.3, 81.3, 81.3, 81.5, 81.4, 81.4, 81.6, 81.5, 81.6, 81.7, 81.8, 81.8, 81.7, 81.7, 81.9, 81.9]方法一:start = time.perf_co
2021-09-03 19:29:32
1291
原创 word——图表题注及图表目录、公式编号及交叉引用
首先,word中随便建三级标题、正文、图、表等。此时,图、表没有任何题注,也不能交叉引用。说明:新建标签是为了得到适合于要求的标签,如图1、表1等,自带的为英文格式;输入的图1中的1为章节号,如果是第二章的图表题注,则输入图2等。...
2021-04-09 13:39:35
7053
原创 解决:WPS2019或Office无法关联EndNote
经过种种尝试,终于成功解决了WPS无法关联EndNote的问题,现在将所做尝试及结果告知遇到相同问题的网友。1、在C盘下添加EndNote Cwyw.dll文件2、重新设置Configure EndNote3、添加EndNote安装目录下的EndNote Cwyw.dll文件以下讲述按照网友操作而我却没有成功的示例1、在C盘下添加EndNote Cwyw.dll文件首先,打开WPS–>开发工具–>COM加载项,会弹出图示对话框这种添加操作分为三种情况:(1)在C:\Program
2021-01-28 13:35:48
23276
25
原创 Python异常处理机制
1、try...excepttry: code A(正常执行代码) ......except: code B(发生异常后执行的代码) ......执行 try 子句(code A)如果没有异常发生,忽略 except 中的code B,try 子句执行后结束。如果在执行 try 子句的过程中发生了异常,那么 try 子句余下的部分将被忽略。如果异常的类型和 except 之后的名称相符,那么对应的 except 子句将被执行。一个 try 语句可能包含多个except子句,但最多只有
2020-08-02 15:08:28
967
原创 Python文件读写方法
File对象的方法open()open()方法用于打开一个文件,并返回文件对象。Attention:使用该方法需要调用close()关闭文件# open(file, mode='r') 常用模式>>> fileweriter = open("D:\\test.txt","w+")>>> fo.close()# 随后可使用File对象fileweriter调用其他函数close()close() 方法用于关闭一个已打开的文件。关闭后的文件不能再
2020-07-24 20:31:31
1400
原创 Python文件读写模式
以下为python文件读写的所有模式(12种):模式组合\b+b+rrrbr+rb+wwwbw+wb+aaaba+ab+每种模式的具体意义如下:模式具体意义r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。r+打开一个文件用于读写。文件指针将会放在文件的开头。rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。rb+以二
2020-07-24 19:23:10
1723
原创 Python函数及其参数类型
定义函数:1、函数代码块以def关键词开头,后面接函数名称、圆括号和冒号如:def sum():2、参数放置于圆括号中3、函数体必须有缩进具体如下:def functionname( parameters ): "函数_文档字符串" function_suite return [expression]重点说一下参数传递及参数类型(一)、参数传递传递的参数分为可更改和不可更改两种在 python 中,strings, tuples, 和 numbers 是不可更改的对象
2020-07-21 16:59:20
1195
原创 Python日期与时间函数
1、Python时间输出,导入time模块>>> import time>>> print(time.time())1595314974.7670543>>> print(time.localtime(time.time()))time.struct_time(tm_year=2020, tm_mon=7, tm_mday=21, tm_hour=15, tm_min=3, tm_sec=14, tm_wday=1, tm_yday=203,.
2020-07-21 16:26:14
1110
原创 Python字典操作函数
1、键与值使用分号隔开→Key:Value2、键值对使用逗号隔开→Key:Value,Key:Value3、整个字典使用花括号包含→{Key:Value,Key:Value}使用中括号+Key可以得到对应的Value>>> dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}>>> print(dict['Name'])Zara>>> print(dict['Age'])7更新字典(K
2020-07-21 14:11:14
1305
原创 Python元组操作函数
元组(tuple)与列表(list)用法非常相似,但有以下本质区别: 1. 元组使用圆括号,而列表使用方括号; 2. 元组不可改变(增、删、改),而列表可以改变。>>> tup1 = ('physics', 'chemistry', 1997, 2000);>>> tup2 = (1, 2, 3, 4, 5, 6, 7 );>>> print(tup1[0])physics>>> print(tup2[1:5])(2,
2020-07-21 10:43:38
2149
1
原创 Python列表操作函数
列表list函数list.append(obj)将obj中的内容追加到list中list.coutn(obj)返回列表中出现obj的次数>>> aList = [123, 'xyz', 'zara', 'abc', 123];>>> print(aList.count(123))2list.extend(seq)将seq中的内容追加到list中>>> aList = [123, 'xyz', 'zara', 'abc', 1
2020-07-21 10:16:56
1004
1
原创 Python运算函数+随机数函数+字符串操作
Python标准的数据类型NumbersStringListTupleDictionary基本运算函数序号函数说明1abs(x)绝对值2ceil(x)不小于x的最小整数3cmp(x, y)x≤y时为-1;x>y时为14fabs(x)绝对值(需从math模块导出)5floor(x)不大于x的最大整数6modf(x)返回x的整数和小数部分7round(x [,n])四舍五入;保留n位小数 或有效数字随机
2020-07-19 19:21:26
1076
原创 新旧版MATLAB中的希尔伯特-黄变换(HHT)及其边际谱的求取问题
最近,由于科研工作需求,需要处理某一类波动信号,遂利用经验模态分解(EMD)、集合经验模态分解(EEMD)和希尔伯特-黄变换对上述信号进行处理,期望获取有用的本征模态函数(IMF)、频率信息和边际谱等。在信号实施和处理时发现,网上大多代码均由较早时期的MATLAB完成,彼时还没有自带的HHT函数。而在MATLAB2018a及其以后的版本中,集成和自带了HHT函数。请各位网友解答我的疑惑,不胜感...
2019-07-22 16:30:02
13715
11
翻译 MATLAB——Empirical Mode Decomposition (EMD)
Matlab EMD 语法使用如下:[imf,residual] = emd(X)[imf,residual,info] = emd(X)[___] = emd(___,Name,Value)emd(___) 输入参数:X:原始信号数据Name-Value 对参数指定可选的以逗号分隔的Name和Value参数对。 其中,Name是参数名称,Value是对应的值,且参数...
2019-07-04 14:50:10
3732
原创 MATLAB——Hilbert-Huang Transform (HHT)
MATLAB hht 语法使用如下:hs = hht(imf, fs)[hs, f, t] = hht(imf, fs)[hs, f, t, imfinsf, imfinse] = hht(___)[___] = hht(___,Name,Value)hht(___)hht(___,freqlocation) 输入参数:imf——本征莫泰函数 (intrinsic m...
2019-07-03 09:14:16
13546
10
原创 机器学习方法概述(持续更新。。。)
集成学习集成学习:通过构建并结合多个学习器来完成学习任务。 要获得好的集成,个体学习器应“好而不同”,即个体学习器要有一定的“准确性”,即学习器不能太坏,还要有一定的“多样性”,即学习器间要有差异。目前的集成学习方法分为两类: (1)个体学习器间存在强依赖关系、必须串行生成的序列化方法,代表算法Boosting; (2)个体学习器间不存在强依赖关系、可同时生成的并行化方法代表...
2018-06-05 15:17:42
574
转载 t-SNE详细介绍
http://bindog.github.io/blog/2016/06/04/from-sne-to-tsne-to-largevis/
2018-06-03 17:39:02
1410
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人