当前位置: 首页 > news >正文

一个网站的开发周期物流运输 有哪些网站可以做推广

一个网站的开发周期,物流运输 有哪些网站可以做推广,男科医院排名最好的医院,怎么实现网站建设报价方案✨✨ 欢迎大家来访Srlua的博文#xff08;づ#xffe3;3#xffe3;#xff09;づ╭❤#xff5e;✨✨ #x1f31f;#x1f31f; 欢迎各位亲爱的读者#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢#xff0c;在这里我会分享我的知识和经验。づ3づ╭❤✨✨ 欢迎各位亲爱的读者感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢在这里我会分享我的知识和经验。 希望在这里我们能一起探索IT世界的奥妙提升我们的技能。 记得先点赞后阅读哦~ 所属专栏传知代码论文复现 欢迎访问我的主页Srlua小谢 获取更多信息和资源。✨✨ ​​ ​​ ​​​ 目录 论文概述 论文贡献 算法流程 实验结果 核心代码复现 main.py文件 multi_label_learn.py文件 使用方法 导入本地数据集 构建多标签学习分类模型 运行模型输出测试指标 测试结果 未来可能的改进方向 环境配置 本文所有资源均可在该地址处获取。  论文概述 ​ 帕金森病是一种使人虚弱的慢性神经系统疾病。传统中医TCM是一种诊断帕金森病的新方法而用于诊断帕金森病的中医数据集是一个多标签数据集。考虑到帕金森病数据集中的症状标签之间总是存在相关性可以通过利用标签相关性来促进多标签学习过程。目前的多标签分类方法主要尝试从标签对或标签链中挖掘相关性。该文章提出了一种简单且高效的多标签分类框架称为潜在狄利克雷分布多标签LDAML该框架旨在通过使用类别标签的主题模型来学习全局相关性。简而言之研究人员试图通过主题模型在标签集上获得抽象的“主题”从而能够挖掘标签之间的全局相关性。大量实验清楚地验证了所提出的方法是一个通用且有效的框架能够提高大多数多标签算法的性能。基于该框架研究人员在中医帕金森病数据集上取得了令人满意的实验结果这可以为该领域的发展提供参考和帮助。 什么是多标签学习 ​ 论文贡献 提出了一种通用且高效的多标签分类框架——Latent Dirichlet Allocation Multi-Label (LDAML)。该框架通过利用标签间的关联性进行多标签分类。 该框架可以应用于大多数当前的多标签分类方法使其性能得到提升。通过使用LDAML框架可以显著提升简单方法如Binary Relevance, BR的性能甚至超过某些最新的方法同时保持较低的时间成本。 提出的改进LDAML在某些特殊数据集如帕金森数据集上取得了最佳性能。特别是在帕金森数据集上改进的LDAML框架实现了最优性能达到了本文的最终目标。该方法能够在未来为医生提供指导和帮助。 算法流程 挖掘“主题“——提取标签相关性 与通过查找标签子集或标签链来利用相关性的传统方法不同LDAML通过发现标签的抽象“主题”来利用相关性。假设为d维特征向量的输入空间表示q类标号的输出空间。给定多标签训练集其中为d维特征向量为对应的标签集。我们可以将每个实例看作一个文档每个标签看作文档中的一个单词。直观地说一定有一些抽象的“主题”期望特定的标签或多或少地出现在实例中特别是在包含大量相关标签的多标签数据集中。LDAML算法的主要流程分为两步1从训练集中挖掘标签主题2计算主题的离散分布。 从训练集中挖掘标签主题: 首先我们将LDA引入到训练集d中每个实例xi表示文档每个标签表示第i个实例中的第j个标签。然后利用LDA模型生成过程计算实例-主题 θ 的概率分布矩阵其中 表示第i个实例注入第j主题的概率。 主题的离散分布: 计算实例-主题分布矩阵后得到每个实例属于每个主题的概率值。为了确定实例确切属于哪个主题我们需要用离散值0/1来代替概率值。在这里我们使用的离散化方法如下所示 ​ ​ 再次训练拟合M模型——对真实帕金森病例进行筛查 最后可以再次使用一种多标签学习模型M对扩增后的训练集D’进行拟合进一步建立输入数据和输出空间的数据联系。然后对扩增后的测试集t’进行多标签分类获得输入样本是否患有病症以及其他情况的预测结果。上述过程的整体框架流程图如算法2所示。 ​ 实验结果 文章在四份数据集上用多种多标签学习分类模型分别加上LDAML算法与其原始模型的分类效果进行对比实验结果如图所示 ​ ​ ​ ​ 以上实验结果表明LDAML能够在性能和时间成本之间取得良好的平衡。目前的大多数方法都可以应用于LDAML。我们可以采用目前最先进的方法作为LDAML在原始基础上取得突破的基本方法base model。另一方面唯一额外的时间代价是计算主题概率分布矩阵的小词空间。因此LDAML的时间成本接近于其基础方法的时间成本。通过采用BR或CC等较弱的方法作为基本方法可以在较低的时间成本下提高接近实际状态的性能。这些结果表明LDAML是一个通用的框架可以为具有标签相关性的多标签问题提供鲁棒且更优的解决方案。 核心代码复现 由于改论文代码目前尚未开源因此在本文中我将给出由本人根据论文算法流程一比一复制的复现代码代码源文件我将放在附件中其核心逻辑如下 main.py文件 span stylebackground-color:#f8f8f8span stylecolor:#333333span stylecolor:#aa5500#########################伪代码###########################/span span stylecolor:#aa5500# 导入必要的库/span Import libraries ​ span stylecolor:#aa5500# 定义函数/span Function discretize(theta):span stylecolor:#aa5500# 初始化二进制矩阵 YT/spanInitialize YT as a zero matrix with the same shape as thetaFor each row i span stylecolor:#770088in/span theta:Find the maximum value span stylecolor:#770088in/span row iFor each column j span stylecolor:#770088in/span row i:If the difference between the max value and theta[i][j] is less than span stylecolor:#1166441/span/K:Set YT[i][j] to span stylecolor:#1166441/spanElse:Set YT[i][j] to span stylecolor:#1166440/spanReturn YT ​ Function convert_to_one_hot(data):span stylecolor:#aa5500# 获取唯一值和类别数/spanFind unique values span stylecolor:#770088in/span dataInitialize one_hot_encoded as a zero matrixFor each value span stylecolor:#770088in/span data:Find the index of the value span stylecolor:#770088in/span unique valuesSet the corresponding position span stylecolor:#770088in/span one_hot_encoded to span stylecolor:#1166441/spanReturn one_hot_encoded ​ Function lda(labels, n):span stylecolor:#aa5500# 进行潜在狄利克雷分配LDA/spanInitialize LDA model with n componentsFit and transform labels using LDA modelDiscretize the transformed dataReturn the discretized data ​ Function metric_cal(test, pred):span stylecolor:#aa5500# 计算并打印评估指标/spanCalculate accuracy, precision, recall, F1 score, and AUCPrint the calculated metrics ​ span stylecolor:#aa5500# 主程序/span If __name__ span stylecolor:#981a1a/span span stylecolor:#aa1111__main__/span:span stylecolor:#aa5500# 加载数据/spanLoad data from Excel filespan stylecolor:#aa5500# 定义标签列和特征/spanDefine label_cols and featuresConvert features and labels to NumPy arraysspan stylecolor:#aa5500# 设置主题数/spanSet n to span stylecolor:#1166446/spanspan stylecolor:#aa5500# 对标签进行LDA/spanCall lda span stylecolor:#770088function/span to span stylecolor:#3300aaget/span Y_Tspan stylecolor:#aa5500# 将特征与离散化的标签组合/spanConcatenate features and Y_T to span stylecolor:#3300aaget/span XYTspan stylecolor:#aa5500# 划分训练集和测试集/spanSplit XYT and labels into X_train, X_test, y_train, y_testspan stylecolor:#aa5500# 初始化多标签分类器/spanInitialize MT_classifier as RankSVMspan stylecolor:#aa5500# 从训练集和测试集中提取主题/spanExtract yt_train and yt_test from X_train and X_testRemove last n columns from X_train and X_testspan stylecolor:#aa5500# 训练多标签分类器/spanFit MT_classifier using X_train and yt_trainspan stylecolor:#aa5500# 预测测试集的主题/spanPredict yt_proba and yt_pred using MT_classifier on X_testConvert yt_pred to integerspan stylecolor:#aa5500# 使用预测的主题扩展训练集和测试集/spanConcatenate X_train with yt_train to span stylecolor:#3300aaget/span X_train_augConcatenate X_test with yt_pred to span stylecolor:#3300aaget/span X_test_augspan stylecolor:#aa5500# 初始化并训练二进制相关性分类器/spanInitialize base_classifier as MLPClassifierInitialize clf as BinaryRelevance with base_classifierFit clf using X_train_aug and y_trainspan stylecolor:#aa5500# 预测测试集的标签/spanPredict y_pred and y_score using clf on X_test_augspan stylecolor:#aa5500# 计算评估指标/spanCalculate hamming loss, ranking loss, coverage error, and average precisionPrint calculated metricsspan stylecolor:#aa5500# 对每个标签计算并打印评估指标/spanFor each label i:Extract test and pred span stylecolor:#770088for/span label iCall metric_cal span stylecolor:#770088function/span to calculate and print metricsPrint separatorPrint final separator/span/span 在主文件main.py中我复现了LDAML算法的整个流程并实现了从输入数据到输出评价指标的全过程在这里默认采用的多标签学习分类起M是RankSVM和二元回归深度学习。 multi_label_learn.py文件 span stylebackground-color:#f8f8f8span stylecolor:#333333# 定义LIFTClassifier类继承自BaseEstimator和ClassifierMixin class LIFTClassifier(BaseEstimator, ClassifierMixin):# 初始化函数接受一个基本分类器作为参数def __init__(self, base_classifierDecisionTreeClassifier()):设置base_classifier为传入的参数初始化classifiers字典 ​# 训练模型函数def fit(self, X, y):获取标签数量遍历每个标签对每个标签训练一个分类器将训练好的分类器存入classifiers字典返回self ​# 预测函数def predict(self, X):获取标签数量初始化预测结果矩阵遍历每个标签使用对应的分类器进行预测将预测结果存入预测结果矩阵返回预测结果矩阵 ​# 预测概率函数def predict_proba(self, X):获取标签数量初始化概率预测结果矩阵遍历每个标签使用对应的分类器进行概率预测将预测概率结果存入概率预测结果矩阵返回概率预测结果矩阵 ​ # 定义MLkNN类 class MLkNN:# 初始化函数接受一个k值作为参数def __init__(self, k3):设置k值初始化k近邻模型 ​# 训练模型函数def fit(self, X, y):保存训练数据X和y使用X训练k近邻模型 ​# 预测函数def predict(self, X):获取样本数量初始化预测结果矩阵 ​遍历每个样本获取样本的k1个最近邻排除样本自身计算邻居标签的和根据标签和判断最终预测结果返回预测结果矩阵 ​# 预测概率函数def predict_proba(self, X):获取样本数量初始化概率预测结果矩阵 ​遍历每个样本获取样本的k1个最近邻排除样本自身计算每个标签的概率返回概率预测结果矩阵 ​ # 定义RankSVM类继承自BaseEstimator和ClassifierMixin class RankSVM(BaseEstimator, ClassifierMixin):# 初始化函数接受参数C, kernel, gammadef __init__(self, C1.0, kernelrbf, gammascale):设置C, kernel, gamma值初始化模型列表初始化多标签二值化器 ​# 训练模型函数def fit(self, X, y):使用多标签二值化器转换y获取标签数量 ​遍历每个标签将当前标签转换为二值格式使用SVM训练二值化后的标签将训练好的SVM模型加入模型列表 ​# 预测函数def predict(self, X):初始化预测结果矩阵 ​遍历每个SVM模型使用模型进行预测将预测结果存入预测结果矩阵返回预测结果矩阵 ​# 预测概率函数def predict_proba(self, X):初始化概率预测结果矩阵 ​遍历每个SVM模型使用模型进行概率预测将预测概率结果存入概率预测结果矩阵返回概率预测结果矩阵 ​ # 定义MultiLabelDecisionTree类 class MultiLabelDecisionTree:# 初始化函数接受参数max_depth, random_statedef __init__(self, max_depthNone, random_stateNone):设置max_depth, random_state值初始化标签幂集转换器初始化决策树分类器 ​# 训练模型函数def fit(self, X, y):使用标签幂集转换器转换y使用转换后的y训练决策树分类器 ​# 预测概率函数def predict_proba(self, X):使用决策树分类器进行概率预测将预测概率结果转换为原始标签格式返回概率预测结果 ​# 预测函数def predict(self, X):使用决策树分类器进行预测将预测结果转换为原始标签格式返回预测结果 ​ # 定义MLP神经网络类继承自nn.Module class MLP(nn.Module):# 初始化函数接受输入大小、隐藏层大小和输出大小作为参数def __init__(self, input_size, hidden_size, output_size):调用父类的初始化函数初始化全连接层1初始化ReLU激活函数初始化全连接层2初始化Sigmoid激活函数 ​# 前向传播函数def forward(self, x):通过全连接层1通过ReLU激活函数通过全连接层2通过Sigmoid激活函数返回输出 ​ # 定义BPMLL类继承自BaseEstimator和ClassifierMixin class BPMLL(BaseEstimator, ClassifierMixin):# 初始化函数接受参数input_size, hidden_size, output_size, epochs, lrdef __init__(self, input_size, hidden_size, output_size, epochs10, lr0.0001):设置输入大小、隐藏层大小、输出大小、训练轮数、学习率初始化MLP模型初始化优化器初始化损失函数 ​# 训练模型函数def fit(self, X_train, X_val, y_train, y_val):将训练数据和验证数据转换为张量创建训练数据集和数据加载器 ​遍历每个训练轮次设置模型为训练模式遍历训练数据加载器清零梯度前向传播计算损失反向传播更新参数 ​设置模型为评估模式计算验证损失并打印 ​# 预测概率函数def predict_proba(self, X):设置模型为评估模式禁用梯度计算进行前向传播返回预测概率结果 ​# 预测函数def predict(self, X, threshold0.5):获取预测概率结果根据阈值判断最终预测结果返回预测结果 ​ # 定义RandomKLabelsetsClassifier类继承自BaseEstimator和ClassifierMixin class RandomKLabelsetsClassifier(BaseEstimator, ClassifierMixin):# 初始化函数接受参数base_classifier, labelset_size, model_countdef __init__(self, base_classifierNone, labelset_size3, model_count10):设置基本分类器、标签集大小、模型数量初始化RakelD模型 ​# 训练模型函数def fit(self, X, y):使用RakelD模型训练数据返回self ​# 预测函数def predict(self, X):使用RakelD模型进行预测返回预测结果 ​# 预测概率函数def predict_proba(self, X):使用RakelD模型进行概率预测返回概率预测结果/span/span 同时我在文件multi_label_learning.py中定义了多种不同的多标签学习分类模型大家可以自行调用相应的函数来进行实验以验证LDAML算法的有效性使用方法我会在本文对应的视频中进行讲解。 使用方法 导入本地数据集 调用LDAML算法的方法放在main.py文件中首先我们需要将文件路径修改成自己所要使用的数据集路径。这里我使用的文件路径为’./测试数据.xlsx’供大家一键运行熟悉项目。然后大家需要将自己的标签列名称提取变量label_cols中用于对数据集划分特征集合与标签集合。 ​ 构建多标签学习分类模型 构建想要的多标签学习分类算法这里我给大家复现了多种经典的多标签分类器如LIFT、MlkNN和RankSVM等并帮大家配置好了参数大家可以将想要使用的算法对应行的注释删掉即可MTM T​ 和M都是一样。 ​ 运行模型输出测试指标 设置好这些外在参数后我们就可以运行代码主文件将自动调用第三方库和multi_label_learn.py文件中的函数来进行训练和测试。下面是我选取的几种测试指标分别会输出模型对整体的多标签分类性能指标Hamming loss、Ranking loss、Coverage error和Average precision和对单一标签的分类指标Accuracy、Precision、Recall、F1 Score和AUC。 ​ 测试结果 下面是在测试数据集上模型的表现 ​ 以上是模型多标签学习分类的性能Hamming Loss为0.051228070175438595Ranking Loss为0.016737120579225842Coverage Error为2.3263157894736843Average Precision为0.7500066243540565 ​ 以上是对模型在单一标签下的分类性能测试结果测试数据集中有十个标签因此这里会输出十个标签下模型分类的Accuracy、Precision、Recall、F1 Score和AUC也就是说这样的数据会有十组 ​ 我这里把数据列成表这样大家可以更直观的看到我换用了不同的多标签学习算法结合LDAML并比较了它们在Accuracy、AUC和F1-score上的表现。在上面的情况上来看使用BPMLL在整体对单一标签进行分类时效果相比其他算法更好但也会在某些标签下弱于其他模型。 未来可能的改进方向 这一部分是笔者通过思考感觉可以在目前LDAML的基础上进行改进的方面也就是我想给大家介绍的LSA算法。 潜在语义分析Latent Semantic AnalysisLSA是一种用于分析大规模文本数据的统计方法旨在发现文本中的潜在语义结构并提取其语义信息。LSA假设文本中存在一些潜在的语义结构即使在词语表达方式不同的情况下这些结构也会保持一定的稳定性。其基本思想是将文本数据表示为一个矩阵其中行代表文档列代表词语而矩阵中的元素则可以是词频、TF-IDF权重等。接下来通过奇异值分解Singular Value DecompositionSVD将这个矩阵分解为三个矩阵的乘积 其中A是原始文本矩阵U是文档-概念矩阵Σ是奇异值矩阵是词语-概念矩阵的转置。LSA通过保留最重要的奇异值及其对应的左右奇异向量将文本数据的维度降低到一个更小的空间从而发现潜在的语义结构并提取出文本数据的语义信息。 LSA在面对大规模文本数据时能够有效地提取出其中的潜在语义信息。并且LSA能发现文本数据中的主题结构并提取出其中的主题信息。受此启发我们使用LSA对膝骨关节炎标记集合中的十个标记进行相关性计算并提取主题从而获得标记集合中的高阶信息。相比之下LSA比LDA更加灵活和简单。LDA对于大规模数据的处理速度较慢因为它需要对每个词项和主题进行迭代推断对主题分布和词项分布的先验参数进行设定而LSA只需进行奇异值分解不需要对先验参数进行设置因此更容易实现和调试。LSA在语义上也更为易懂。LDA通过抽样方法从文档中抽取主题它的主题在语义上可能难以解释LSA通过奇异值分解从标签数据中提取主题可以更直观地解释这些主题的含义更好地反映标签之间的语义关系。 接下来是不是有可能将LSA融入到目前的框架中或者直接基于LSA开发一种标记相关性提取的算法都是可以尝试的方向可以留给大家一起去学习探索 环境配置 python3.8或以上版本 须事先安装第三方库torch、numpy、sklearn、pandas、skmultilearn 可修改变量——主题数n、所用的本地数据集、多标签分类器 ​ 本文所有资源均可在该地址处获取。 ​​​ 希望对你有帮助加油 若您认为本文内容有益请不吝赐予赞同并订阅以便持续接收有价值的信息。衷心感谢您的关注和支持
http://www.hkea.cn/news/14376061/

相关文章:

  • 购买域名后怎么建网站网站公司必须帮备案
  • 如何做专题网站海建网站
  • 网站用html做框架asp做主页seo案例分享
  • 中小企业网站制作过程中要注意什么国外网站在国内备案
  • 盐城市建设局网站设计备案资料漫画app软件定制开发
  • 不懂外贸做外贸网站好做吗网站导航栏条源码
  • wordpress 网站备案号基于html5的旅游网站的设计
  • 考生登录贵州省住房和城乡建设厅网站建筑网片产品资料
  • 网站收录查询站长工具锦州网站建设排行榜
  • 张家港手机网站wordpress请提供一个地址才能继续
  • 用墨刀做网站首页网页如何保存密码
  • 外贸网站建设定做深圳手机企业网站设计
  • 手机上怎么查看网站设计我国市级网站建设分析模板
  • 上海的企业网站备案御名是什么意思
  • 网站开发的具体流程官方黄金网站软件app大全下载
  • 旅行社网站怎么做成都微信小程序商城
  • 手机微网站尺寸wordpress左右主题
  • 长沙品牌设计公司都有哪些关键词优化举例
  • 网站开发页面怎么进天津河东做网站
  • 爱做网站免费版邯郸住房和城乡建设局网站
  • 咸阳企业网站设计开发制作社交app开发公司
  • 公司网站建设的改进的建议房地产app
  • 如何申请网站备案有口碑的坪山网站建设
  • 常州酒店网站建设网站管理与建设教程
  • 定制的网站源码人和动物做的网站
  • PHP网站开发案例12源代码创建免费网页
  • 网站推广站wordpress 焦点图大小
  • 济南网站建设市场当当网的网站建设目标是
  • 成品小说网站源码怎么制作浏览器网页
  • 网站页面框架设计河南网站建设首选公司