1.staruml特点
2.ai-structure.com:新开源 GAN to PKPM/YJK的建模建模自动化建模程序
3.指标权重建模系列三:白话改进CRITIC法赋权(附Python源码)
4.基于 Toad 的评分卡模型全流程详解(含 Python 源码)
5.2023全国大学生数学建模竞赛E题详解+Python代码源码(三)SARIMA模型
6.UE5 ModelingMode & GeometryScript源码学习(一)
staruml特点
StarUML是一款具备多种强大特性的UML建模工具。它支持绘制9款不同的源码UML图表,包括用例图、开源类图、软件序列图、建模建模状态图、源码kapt生成源码文件活动图、开源通信图、软件模块图、建模建模部署图以及复合结构图等,源码全面满足UML建模需求。开源
作为一个开放源码软件,软件StarUML提供了免费下载,建模建模并且其源代码也完全开放,源码遵循开源理念,开源为用户提供透明、自由的使用体验。
StarUML支持多种格式的影像文件导出,包括JPG、JPEG、BMP、EMF和WMF等常见格式,方便用户在不同场景下进行分享或保存。
该软件严格遵守UML语法规则,不支持违反语法的操作,确保了UML模型的正确性与一致性。
StarUML具备正反向工程能力,可以将类图内容转换为Java、C++、C#代码,反之亦可读取Java、C++、C#代码生成类图。这一功能对于维护和理解复杂代码库极为有用,大大节省了开发人员的时间与精力。
支持XMI格式,StarUML能够导入和导出XMI 1.1、1.2和1.3版本的掌上题库3.5源码UML模型,提供了一种标准化的模型交换格式,便于与不同开发工具的模型进行交互。
兼容Rational Rose文件,对于使用过Rational Rose的用户,StarUML提供了读取文件的支持,使得用户可以轻松迁移至免费的StarUML环境。Rational Rose曾是市场上的主流UML工具,但现在已被IBM收购。
StarUML还支持种GoF模式和3种EJB模式,涵盖了广泛的设计模式,有助于解决软件设计中的常见问题。它集成了模式与代码生成功能,使得设计实施更为便捷。
综上所述,StarUML以其广泛的功能、开放的性质、强大的正反向工程能力以及对设计模式的支持,成为UML建模领域中一款值得推荐的工具。无论是个人开发者、团队项目还是企业级应用,StarUML都能提供高效、灵活的建模解决方案。
ai-structure.com:新开源 GAN to PKPM/YJK的自动化建模程序
在年4月日、4月日、5月5日和5月日,ai-structure.com平台连续发布了一系列重要更新,包括v0.0.4版本以及图神经网络在剪力墙设计中的应用、自动化建模源代码的生成对抗网络(GAN)到PKPM和YJK的转换工具。项目的初衷是通过AI设计建筑平面布局,随后由专业的结构软件进行分析和校核,以提高工作效率。
其中,近期开源的代码亮点在于实现了从AI生成的结构方案到PKPM和YJK结构设计软件的自动导入功能。5月5日和更新的GAN-to-PKPM/YJK代码可在智能设计云平台上获取,链接位于 ai-structure.com/backen...
新版本的程序能够自动处理AI设计的矢量数据(.gdt)文件,包含剪力墙、梁和楼板的nft捡漏监控源码详细结构信息。例如,剪力墙的数据如:SHEARWALL(Element_ID, X1, Y1, X2, Y2, thick),梁的信息如:BEAM(Element_ID, X1, Y1, X2, Y2, thick, height)。这些数据被用于构建结构分析模型,利用PKPM和YJK的API进行进一步处理。
在开发过程中,团队得到了PKPM和YJK技术专家的大力支持,特别需要注意的是,目前的分析模块尚未成熟,用户在使用时可能需要在结构软件中手动执行分析。此外,开发过程中遇到问题,可参考PKPM和YJK的官方群组或二次开发资料进行咨询。
ai-structure.com团队诚邀专家一同参与代码的完善,未来会持续更新更多功能。如果你对这个项目感兴趣,可以通过QQ群或联系廖文杰liaowj@tsinghua.org.cn和费一凡fyf@mails.tsinghua.edu.cn获取更多信息。同时,网站上也提供了****。
最后,团队表示对于PKPM和YJK的二次开发经验有限,开源代码可能存在不足,期待专家们的反馈和共同成长。未来,平台将继续关注并提供新内容,敬请关注。
指标权重建模系列三:白话改进CRITIC法赋权(附Python源码)
上节回顾
前文讲述了CRITIC法赋权重的基本概念,其中涉及波动度与冲突度两个关键点。波动度指的是同一指标下数据的标准差,冲突度则衡量了指标间的相关性。
数据模型介绍
在数据集中,n个样本,m个指标,数学表达如下:
公式略
对CRITIC方法的改进
改进CRITIC法需聚焦波动度与冲突度。知友反馈指出公式上的不足,经文献研究后,重审并提出改进。MFI上涨源码编辑
改进波动度计算
为消除量纲影响,改进公式将标准差除以均值,获得无量纲指标。
冲突度改进
原冲突度公式只考虑正相关。改进后,负相关亦视为强相关,调整冲突度计算公式。
改进后权重计算
引入熵权法,通过加权平均,平衡指标重要性与信息量,提升权重准确性与稳定性。
具体实现参考已发布的信息熵介绍文章。
Python代码
提供CRITIC法改进版的Python代码实现,便于实践操作。
参考文献
[1] 韩一鸣,徐鹏飞,宫建锋等.基于改进CRITIC-熵权法的电网发展经营综合评价体系研究[J].机电信息,():1-7+.DOI:./j.cnki.cn-/tm....
[2] 弋若兰.我国上市公司信用风险评估研究——基于改进CRITIC熵权组合赋权-TOPSIS模型[J].投资与创业,,():-.
基于 Toad 的评分卡模型全流程详解(含 Python 源码)
欢迎关注@Python与数据挖掘 ,专注于 Python、数据分析、数据挖掘、好玩工具!
toad 是一个专为风险评分卡建模而设计的工具包,它功能强大且使用便捷,能简化模型构建过程中的多个步骤,包括数据探索、特征筛选、分箱、WOE变换、建模、模型评估、分数转换等,深受行业用户的喜爱。如果您在使用过程中遇到任何问题,欢迎在文末进行技术交流。
以下是基于 toad 的评分卡模型构建流程详解:
首先,要安装 toad,使用 pip 命令即可完成。
导入库和数据读取:演示数据包含条记录,个特征,autojs云端源码破解其中个为特征变量,一列为主键和一列为标签(Defaulter)。数据中有离散型和连续型变量,且存在一定数量的缺失值。为了模型检验,使用 sklearn 的 train_test_split 函数将数据划分为训练集和测试集。
数据探索:使用 toad.detect 方法检测数据情况,获取每列特征的统计信息,如缺失值、唯一值、数值变量的平均值、离散型变量的众数等。此外,通过 toad.quality 方法输出每个变量的 iv 值、gini 指数、熵值和唯一值,结果按 iv 值排序。
特征筛选与分箱:使用 toad.selection.select 方法筛选变量,根据缺失值占比、iv 值、相关性进行变量选择。筛选后,从个特征中选出个变量。接着,使用 toad.transform.Combiner 类进行分箱,支持多种分箱方法,如卡方分箱、决策树分箱、等频分箱、等距分箱和最优分箱。根据实际需求调整参数,完成变量分箱。
WOE 转换:在分箱调整完成后,使用 WOE 转换方法。仅转换被分箱的变量,并确保所有变量经过 WOE 转换。
逐步回归特征筛选:使用 toad.selection.stepwise 方法进行特征筛选,调整参数以获得最佳结果。使用 toad.metrics.PSI 函数检验 WOE 转换后的特征稳定性。
建模与评估:首先使用逻辑回归(LR)构建模型,评估模型结果,常用指标包括 KS(Kolmogorov-Smirnov)值、AUC(曲线下面积)和 PSI(预测分箱稳定性指数)。使用 toad.metrics.KS_bucket 函数评估模型预测分箱后的信息,包括分数区间、样本量、坏账率和 KS 值。
评分转换:使用 toad.ScoreCard 函数将逻辑回归模型转换为标准评分卡。调整参数以适应实际需求,包括基准评分、比率、基准奇偶比等。
至此,通过使用 toad,可以快速完成评分卡模型的全流程构建。在实际工作中,根据数据特性和需求调整参数,以满足特定任务需求。本文提供了 toad 的功能介绍和评分卡建模基础流程,实际应用时,只需根据实际情况调整流程和参数即可。
关注@Python与数据挖掘,获取更多优质文章与技术交流。
全国大学生数学建模竞赛E题详解+Python代码源码(三)SARIMA模型
本文主要讨论如何利用SARIMA模型预测分析未来两年某水文站水沙通量的变化趋势,并为该站制定最优采样监测方案。SARIMA模型是处理具有季节性的平稳时间序列数据的有力工具,适用于描述周期性波动现象,如季节性时间序列数据。
首先,本文回顾了平稳时间序列与白噪声序列的基本概念。平稳时间序列是指其统计特性不随时间变化的序列,而白噪声序列则是一种随机序列,各期方差一致。这些概念对于理解季节性时间序列的特性至关重要。
接着,引入了季节时间序列模型(SARIMA),强调其在处理具有周期性波动的序列时的优越性。SARIMA模型在ARIMA模型的基础上加入了季节性成分,使得其能够更好地捕捉和预测季节性变化。
在SARIMA模型定义中,包含季节自回归(SAR)、季节差分(Sd)、季节移动平均(SMA)三个关键参数。这些参数对于模型的拟合和预测至关重要。通过合适的参数选择和模型调优,SARIMA模型可以有效地预测未来数据。
建模过程中,包括数据预处理、平稳性检验、参数选择与模型诊断等步骤。首先,对时间序列数据进行平稳性校验和季节性差分操作。若数据非平稳,则通过差分操作使其平稳。同时,利用季节性差分消除季节性影响。随后,通过时序图观察序列的季节性、趋势性与周期性。
通过季节性分解(seasonal_decompose)可以将时间序列分解为趋势、季节性和残差三个部分,有助于直观理解数据特性。
差分操作对于消除趋势和季节性有重要作用。通过自相关函数(ACF)和偏自相关函数(PACF)图来估计模型参数,进而确定适当的p、d、q值。ADF检验用于验证时间序列的平稳性,若检验结果显著,表明序列平稳。
基于以上步骤,可以建立SARIMA模型,实现对未来水沙通量的预测。模型建立后,需要进行诊断和调优,确保预测结果的准确性。最后,根据预测结果制定最优的采样监测方案,以确保既能及时掌握水沙通量的动态变化,又能有效控制监测成本。
本文提供了一套完整的方法论和理论框架,用于解决实际问题中的季节性时间序列预测与优化监测方案。通过深入分析数据特性、选择合适的模型参数与优化策略,可以为水文站的水沙通量管理提供科学依据。
UE5 ModelingMode & GeometryScript源码学习(一)
前言
ModelingMode是虚幻引擎5.0后的新增功能,用于直接在引擎中进行3D建模,无需外接工具,实现快速原型设计和特定需求的模型创建。GeometryScript是用于通过编程方式创建和操控3D几何体的系统,支持蓝图或Python脚本,提供灵活控制能力。
本文主要围绕ModelingMode与GeometryScript源码学习展开,涵盖DMC简介、查找感兴趣功能源码、动态网格到静态网格的代码介绍。
起因
在虚幻4中,通过RuntimeMeshComponent或ProceduralMeshComponent组件实现简单模型的程序化生成。动态网格组件(DynamicMeshComponent)在UE5中提供了额外功能,如三角面级别处理、转换为StaticMesh/Volume、烘焙贴图和编辑UV等。
将动态网格对象转换为静态网格对象时,发现官方文档对DMC与PMC对比信息不直接涉及此转换。通过搜索发现,DynamicMesh对象转换为StaticMesh对象的代码位于Source/Runtime/MeshConversion目录下的UE::Modeling::CreateMeshObject函数中。
在UE::Modeling::CreateMeshObject函数内,使用UEditorModelingObjectsCreationAPI对象进行动态网格到静态网格的转换,通过HasMoveVariants()函数接受右值引用参数。UEditorModelingObjectsCreationAPI::CreateMeshObject函数进一步处理转换参数,UE::Modeling::CreateStaticMeshAsset函数负责创建完整的静态网格资产。
总结转换流程,DynamicMesh对象首先收集世界、变换、资产名称和材质信息,通过FCreateMeshObjectParams对象传递给UE::Modeling::CreateMeshObject函数,该函数调用UE::Modeling::CreateStaticMeshAsset函数创建静态网格资产。
转换为静态网格后,程序创建了一个静态网格Actor和组件。此过程涉及静态网格属性设置,最终返回FCreateMeshObjectResult对象表示转换成功。
转换静态网格为Volume、动态网格同样在相关函数中实现。
在Modeling Mode中添加基础形状涉及UInteractiveToolManager::DeactivateToolInternal函数,当接受基础形状时,调用UAddPrimitiveTool::GenerateAsset函数,根据面板选择的输出类型创建模型。
最后,UAddPrimitiveTool::Setup函数创建PreviewMesh对象,UAddPrimitiveTool::UpdatePreviewMesh()函数中通过UAddPrimitiveTool::GenerateMesh生成网格数据填充FDynamicMesh3对象,进而更新到PreviewMesh中。
文章总结了Modeling Mode与GeometryScript源码的学习路径,从动态网格到静态网格的转换、基础形状添加到输出类型对应函数,提供了一条完整的流程概述。
staruml概述
StarUML是一款开放源码的UML开发工具,它由韩国公司主导开发,并能够直接从StarUML网站下载。
StarUML(简称SU)是一款用于创建UML类图、生成类图和其他统一建模语言(UML)图表的工具。它作为开源项目之一,发展迅速、灵活且具有高度的可扩展性。
StarUML允许用户直观地设计和构建UML模型,包括但不限于类图、对象图、包图、活动图、顺序图、协作图和状态图等。这些模型为软件开发团队提供了对系统结构和行为的深入理解,有助于提高开发效率和确保项目的成功。
在StarUML中,用户可以轻松创建、编辑和管理UML模型。通过直观的图形界面,用户可以轻松地添加、删除和修改模型元素,如类、属性、操作、关联等。工具还支持对模型的版本控制,允许用户管理模型的不同版本,以便跟踪更改和回滚。
StarUML的灵活性和可扩展性使其成为多种软件开发环境和流程的理想选择。它与多种编程语言和开发工具兼容,支持代码生成,从而简化了从设计到实现的过渡过程。此外,StarUML还提供了与项目管理工具的集成选项,有助于团队协作和项目管理。
总之,StarUML是一款强大且功能丰富的UML开发工具,它能够满足软件开发过程中的多种需求。作为开源软件,StarUML鼓励社区参与和贡献,持续改进和增强其功能,使其成为软件开发者和团队的重要工具之一。