自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 字符串的正则表达式

在Python中,使用正则表达式通常需要导入`re`模块,然后通过`re`模块提供的函数(如`re.search()`、`re.match()`、`re.sub()`等)来进行匹配和操作。`replace`方法中的`regex=True`参数表示传入的字符串是一个正则表达式,从而使得`$,-`和`\s*$`可以被解释为正则表达式进行替换操作。正则表达式由普通字符(如字母、数字等)和元字符(如`.`、`*`、`^`等)组成,通过组合这些字符和元字符来构建复杂的匹配规则。- `*`:匹配前面的字符0次或多次。

2024-04-07 19:41:11 148

原创 `fit`和`fit_transform

对于测试数据或在实际应用中的新数据,通常先使用`fit`或`fit_transform`在训练数据上学习转换规则,然后使用`transform`方法应用这些规则,而不是重新调用`fit_transform`,以确保数据处理的一致性。- **效率**:在需要先拟合数据然后对其进行转换的场景中,使用`fit_transform`通常比分别调用`fit`和`transform`更为高效。- **功能**:`fit_transform`不仅学习了数据的关键特征,还返回了基于这些特征转换后的数据。

2024-03-15 16:53:09 175

原创 五折交叉验证

4.**集合方法**:另一种选择是将所有五个模型用作集合,用所有模型进行预测,然后对预测进行平均或使用多数投票方案。这通常比任何单个模型都能产生更好的性能,因为它受益于在不同数据子集上训练的模型的多样性。1.**使用最佳折叠重新训练**:您可以选择从验证折叠表现最好的模型中提取参数,并使用这些参数在整个数据集上重新训练最终模型。2.**平均参数**:对五个模型的参数进行平均并不是一种常见的做法,因为模型参数并不总是直接可比的,对它们进行平均并不一定会得到性能更好甚至更好的模型。

2024-03-13 17:20:16 575

原创 plt.text(best_score_idx + 1, best_score, f‘({best_score_idx + 1}, {best_score})‘, verticalalignment=

是 Python 中的 f-string 格式化字符串。这种格式允许在字符串中插入变量或表达式的值,以便动态构建字符串。这行代码的作用是在特定位置显示一个带有横纵坐标信息的文本,文本底部与指定位置对齐。是用于指定文本垂直对齐方式的参数。表示文本的底部与指定位置对齐。

2024-03-11 17:03:18 361

原创 RuntimeError: only Tensors of floating point dtype can require gradients

在PyTorch中出现,当尝试在非浮点数张量上执行梯度相关操作时会出现。为了解决这个问题,您需要确保您的张量具有浮点数数据类型(例如torch.float32或torch.float64),然后再启用梯度。

2024-03-09 14:11:34 179

原创 .requires_grad_(True)

设置为True时,它会“告诉”PyTorch您希望它跟踪在该张量上执行的所有操作,以便它可以在反向传播期间自动计算梯度。冻结参数:在某些情况下,例如微调预先训练的模型,您可能需要冻结某些层,以便它们在训练过程中不会更新。内存效率:对于模型中不需要梯度计算的部分,将requires_grad设置为False可以提高模型的内存效率,因为PyTorch不会存储对这些张量执行的操作。初始化训练权重:在为要优化的神经网络定义权重时,将requires_grad设置为True,以便计算梯度,从而允许优化器调整权重。

2024-03-09 14:05:03 495

原创 梯度反向传播

梯度反向传播,通常简称为反向传播,是训练人工神经网络的基本算法。它是深度学习领域的核心,用于优化网络的参数(权重和偏差),以最小化实际输出和期望输出之间的差异。这个过程包括两个主要阶段:向前传球和向后传球。###向前传球-**输入处理:**输入数据通过网络逐层传递。一层中的每个神经元接收来自前一层中神经元的输入,应用加权和,然后应用激活函数来产生输出。-**输出生成:**该过程一直持续到最后一层生成网络的输出。###反向传播-**计算损失:**使用损失函数(例如,均方误差、交叉熵)将网络的输出与所

2024-03-09 13:49:14 215

原创 选择ROC曲线的原因

本质上,虽然准确性是在类别平衡且假阳性和假阴性成本相似的情况下评估模型的有用指标,但ROC曲线和AUC在各种背景和类别分布中提供了更细致和全面的评估。2.**不平衡的类分布**:在数据集不平衡的情况下,即当一个类明显多于另一个类时,准确性可能会产生误导。6.**避免过度乐观的评估**:仅仅依赖准确性可能会导致对模型性能的过度乐观评估,尤其是在不平衡的数据集中。1.**跨不同阈值的性能**:ROC曲线评估模型在一系列决策阈值上的性能,提供了比在单个阈值下计算的准确性更全面的视图。

2024-03-07 16:01:33 282

原创 word中插入axmath步骤

3.word 加载项-》转到。1.选择选项,点击。

2024-03-06 10:53:48 1724

原创 Userlightgbm.basic.LightGBMError: Do not support special JSON characters in feature name

错误消息lightgbm.basic。LightGBMError:在功能名称中不支持特殊的JSON字符表示数据集的功能名称包含LightGBM在将数据转换为JSON格式时不支持的字符。JSON格式不支持像{,},:,&,%,#,@,$,``,“”,“,”,',[,]和/这样的字符。若要解决此错误,应清除数据集中的功能名称,以删除或替换这些特殊字符。

2024-03-05 21:07:11 282

原创 是否应删除用于计算新特征的特征

1.**多重共线性**:如果导出的特征是其他两个的线性组合,则如果所有特征都包含在模型中,则可以引入多重共线性。2.**冗余**:如果新功能捕获了来自原始两个功能的所有信息(例如,如果是简单的和、差或比),则原始功能可能会变得冗余。总之,保留或删除特征的决定应基于问题的具体背景、数据的性质、您使用的模型类型以及模型可解释性与性能的重要性。5.**模型可解释性**:如果模型的可解释性很重要,您可能更喜欢保留利益相关者更容易理解的特性,即使这些特性是从其他特性派生的。

2024-03-05 19:44:27 123

原创 基于lightGBM的特征选择

3.**Shapley值**:一种更复杂的方法,包括使用博弈论中的Shapley值来测量每个特征对每个实例的预测的贡献。6.**正则化技术**:虽然不是一种直接的特征选择方法,但使用像L1(Lasso)正则化这样的正则化技术可以有效地减少特征的数量,因为它往往会将不太重要的特征的系数缩小到零。2.**递归特征消除(RFE)**:该方法包括根据LightGBM提供的特征重要性得分,迭代构建模型,并在每次迭代时删除最不重要的特征。8.**排列特征重要性**:这涉及到随机打乱单个特征并测量模型性能的变化。

2024-03-05 15:03:13 488

原创 特征递归消除法选择最优特征子集时,代码每次运行产生的最优特征子集不同

当使用特征递归消除法(如 RFECV)选择最优特征子集时,如果每次运行产生的最优特征子集不同,这通常是因为模型训练过程中存在随机性(例如,在决策树和随机森林中的特征选择和分裂点选择,或者在交叉验证的数据划分中)。:可以通过多次运行特征选择过程并记录每个特征被选中的次数,然后选择那些被频繁选中的特征作为最终的特征集。:确保在模型训练和数据划分过程中设置固定的随机种子,以确保每次运行的结果一致。:使用更多的交叉验证折数可以提高特征选择的稳定性,但也会增加计算时间。来进行更稳定的交叉验证,并设置了。

2024-03-04 21:51:03 433 1

原创 ValueError: multiclass format is not supported

如果您希望将问题转换为二分类问题,可以考虑对目标变量进行处理,例如将多分类问题转换为二分类问题,或者只选择数据集中的二分类样本进行建模。:检查 y 列中的唯一值数量,确定是二分类问题还是多分类问题。如果唯一值数量超过2个,则是多分类问题。,这通常用于二分类问题。如果您处理的是多分类问题,可以尝试使用适合多分类问题的评分指标,如。出现该问题是因为模型期望的目标变量(y)是二分类问题,而实际上目标变量可能是多分类问题。:如果目标变量是多分类问题,您可以尝试使用适合多分类问题的分类器,如。

2024-03-04 19:36:56 506 1

原创 交叉验证网格搜索调参,roc曲线比较性能

函数来对真正阳性率(True Positive Rate)进行插值,以便将其对应到新的假阳性率的取值上。这样做是为了将不同模型或不同参数下得到的真正阳性率插值到相同的假阳性率取值上,以便进行比较。: 这行代码将插值后的真正阳性率数组中的第一个元素设置为 0.0。这通常是为了确保 ROC 曲线从原点开始,使得曲线在左上角(0,1)处经过,以便更好地比较模型性能。此外注意在kfold.split(X, y)中的X,y不可以是Dataframe类型的数据,记得转换。

2024-03-04 17:19:01 229 1

原创 交叉验证、网格搜索使用数据:

在这个阶段,目的是找到最优的参数组合。对于每一组参数,模型会在每个训练集上进行训练,并在对应的验证集上进行评估。在这个阶段,并不是直接在全部数据上训练模型,而是在不同的训练集-验证集划分上重复训练和评估,以确定最佳参数。另一种是仅使用找到的最优参数,但保持模型只在原来的训练集上训练,不使用全部数据。综上所述,网格搜索交叉验证调优时,在参数选择阶段通过交叉验证在不同的训练集上进行训练,并不直接在全部数据上训练。但在确定了最佳参数后,可以选择在全部数据上重新训练模型,以期望获得更好的模型性能。

2024-03-04 15:01:01 184 1

原创 max_depth=-1

时,表示树的最大深度没有限制,树会生长到所有叶子节点都是纯净的(即每个叶子节点只包含一类样本)为止。这样的树可能会过拟合训练数据,因此在实际应用中一般会限制树的最大深度。在基于树结构的模型中,当。

2024-03-04 14:11:50 74 1

原创 LightGBM] [Warning] No further splits with positive gain, best gain: -inf

为了解决这些警告,您可以尝试调整LightGBM模型的参数,例如调整max_depth、num_leaves等参数,并确保数据特征的质量和格式正确。:这个警告表示在某些叶子节点上无法找到进一步的分裂,可能是由于数据特征分布不均匀或参数设置不当导致的。可以尝试增加树的深度(max_depth参数)或增加叶子节点的数量(num_leaves参数)。可以尝试设置num_leaves参数为一个合适的值,或者根据max_depth参数来确定num_leaves的值。

2024-03-04 12:18:06 1048 1

原创 python报错:AttributeError: predict_proba is not available when probability=False. Did you mean: ‘predi

表示要求该分类器在训练时计算类别概率。通常情况下,分类器会输出样本属于每个类别的概率值,而不仅仅是预测的类别标签。这对于一些评估指标(如ROC曲线和AUC值)的计算是非常有用的。方法来获取样本属于每个类别的概率值。这样可以更全面地了解分类器对每个类别的置信度,而不仅仅是单纯的预测结果。将源代码clf = SVC()改为clf = SVC(probability=True)即可。在Scikit-learn中,对于某些分类器(如SVC),设置。设置为SVC时,可以通过调用。

2024-03-03 21:58:01 409

原创 dataframe数据标准化后转换回dataframe数据并且保留原来的列名

scaler = StandardScaler()data_new= scaler.fit_transform(data)data_new=pd.DataFrame(data_new)data_new.columns = data.columns

2024-03-03 21:09:50 132

原创 GBDT(梯度提升决策树)

以上范围仅供参考,实际调节时可以根据具体情况进行微调。在进行网格搜索时,可以选择合适的参数范围来搜索最佳的参数组合。

2024-03-03 10:32:06 151

原创 特征选择的原因

提高模型的性能:通过特征选择,可以去除一些无关或冗余的特征,减少模型的复杂度,提高模型的泛化能力,从而提高模型的性能。减少过拟合:过多的特征会增加模型的复杂度,容易导致过拟合,特征选择可以帮助去除一些不必要的特征,减少过拟合的风险。总之,特征选择是为了提高模型的性能、减少过拟合、加快训练速度、提高模型的解释性和数据可视化等目的而进行的重要步骤。加快训练速度:特征选择可以减少特征的数量,从而减少模型训练的时间和计算资源消耗。提高模型的解释性:去除一些无关或冗余的特征,可以使模型更加简单和易于解释。

2024-02-22 13:54:10 404 1

原创 python报错:ValueError: could not convert string to float:

解决方法:代码无误的前提下,查看自己的数据是否出现错误。错误原因:出现了非数字性字符串无法转换。

2024-02-19 20:02:34 1250 1

原创 python报错:Cannot mask with non-boolean array containing NA / NaN values

result_rows1=data[data["脑血管病"].str.contains("脑动脉",na=False)]result_rows2=data[data["脑血管病"].str.contains("脑白质",na=False)]解决方法:在contains函数里面加上na=False。报错原因:处理的该列数据中既含有字符串,又含有浮点数。

2024-02-17 21:49:18 544 1

原创 java学习

将一个类的接口转换成客户希望的另一个接口,Adapter模式使得由于接口不兼容不能一起工作的那些类可以一起工作角色分析。

2023-06-30 23:36:09 21 1

原创 java基础学习

本质是对某一批类的抽象,类与类之间的关系在JAVA中所有的类,都默认直接或间接继承Objectjava中只有单继承、没有多继承。

2023-06-29 23:29:46 32

原创 java基础语法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-huQ7T3tu-1688027927176)(C:\Users\Yolo\AppData\Roaming\Tencent\QQ\Temp\02A04B04027A1D2A7DB6DD9CAD0DAC4F.png)]一个方法只能指定一个可变参数,必须是方法的。数组的元素可以是基本类型,也可以是引用类型。数组也是对象,元素相当于对象的成员变量。方法的命名规则:首字母小写,后面驼峰。在方法声明中,在指定参数类型后面加…

2023-06-29 16:41:26 24

原创 Dos常用命令

【代码】Dos常用命令。

2023-06-28 20:23:42 16 1

原创 【无标题】

+ 标题##+ 标题(二级标题)

2023-06-28 19:34:35 21 1

空空如也

空空如也

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

TA关注的人

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