No description
Hongzuiyu 是一个基于 Avalonia UI 的 .NET 10 桌面应用,通过拖拽式流程 设计器(KnowledgeFlow)串联数据加载、预处理、建模、评估与可视化, 内置分类 / 聚类 / 滤波 / 异常检测等经典算法库。 - UI:Avalonia 11.2(Fluent 主题),支持 Windows / macOS / Linux - 图表:ScottPlot.Avalonia 5 - 机器学习:Accord.NET 3.8、LibSVMsharp 1.2 - 数值计算:Math.NET Numerics 5 - 日志:log4net 2 - 依赖全部由 NuGet 管理,版本统一在 Directory.Build.props 维护 - Samples/ 内置决策树、聚类、回归、PCA、频谱分析示例数据集 |
||
|---|---|---|
| Hongzuiyu | ||
| Hongzuiyu.AnomalyDetection | ||
| Hongzuiyu.AnomalyDetection.GUI | ||
| Hongzuiyu.Classifiers | ||
| Hongzuiyu.Classifiers.GUI | ||
| Hongzuiyu.Clusterers | ||
| Hongzuiyu.Clusterers.GUI | ||
| Hongzuiyu.Core | ||
| Hongzuiyu.Core.GUI | ||
| Hongzuiyu.Filters | ||
| Hongzuiyu.Filters.GUI | ||
| Hongzuiyu.KnowledgeFlow | ||
| Hongzuiyu.KnowledgeFlow.GUI | ||
| Samples | ||
| .gitignore | ||
| Directory.Build.props | ||
| Hongzuiyu.sln | ||
| nuget.config | ||
| README.md | ||
Hongzuiyu — 跨平台机器学习工作台
基于 Avalonia UI 的 .NET 10 桌面应用:通过拖拽式流程设计器(KnowledgeFlow)串联数据加载 → 预处理 → 建模 → 评估 → 可视化的完整机器学习工作流,内置经典算法库(分类 / 聚类 / 滤波 / 异常检测)。
支持 Windows / macOS / Linux 三平台运行。
快速开始
环境要求:.NET 10 SDK
# 还原依赖并编译
dotnet build Hongzuiyu.sln
# 启动主程序
dotnet run --project Hongzuiyu
发布为独立平台应用:
dotnet publish Hongzuiyu/Hongzuiyu.csproj -c Release -r win-x64 --self-contained false
dotnet publish Hongzuiyu/Hongzuiyu.csproj -c Release -r osx-arm64 --self-contained false
dotnet publish Hongzuiyu/Hongzuiyu.csproj -c Release -r linux-x64 --self-contained false
功能一览
流程设计器(KnowledgeFlow)
从左侧工具箱将步骤节点拖入画板,右键节点进行配置 / 连线 / 删除,连线时自动校验上下游数据类型(数据表、训练集、模型等),流程可保存为 XML 并再次加载,支持异步执行与运行日志实时展示。
内置算法
| 模块 | 算法 |
|---|---|
| 分类(Classifiers) | 核支持向量机(KSVM)、决策树(Entropy / Gini)、Logistic 回归 |
| 聚类(Clusterers) | K-Means、DBSCAN、FCM 模糊 C 均值、SOM 自组织映射 |
| 滤波 / 预处理(Filters) | 主成分分析(PCA)、傅里叶变换、小波变换、ARMA 平滑、卡尔曼滤波、多项式拟合、归一化、特征选择、统计特征提取、伪周期分段、关键点线性拟合等 |
| 异常检测(AnomalyDetection) | One-Class SVM、Isolation Forest、KD-Tree 离群检测 |
| 数据转换(Core.Converters) | CSV 加载 / 保存(支持表头识别、分隔符配置、类型推断) |
可视化
折线图、散点图(含 Pearson 相关系数)、聚类结果着色图、统计分布直方图与正态拟合曲线(ScottPlot 渲染),决策树结构图(可导出 PNG)。
技术栈
| 层 | 技术 | 版本 |
|---|---|---|
| 运行时 | .NET | 10.0 |
| UI 框架 | Avalonia(Fluent 主题) | 11.2 |
| 图表 | ScottPlot.Avalonia | 5.0 |
| 机器学习 | Accord.NET | 3.8 |
| SVM | LibSVMsharp | 1.2 |
| 数值计算 | Math.NET Numerics | 5.0 |
| 日志 | log4net | 2.0 |
所有第三方依赖均通过 NuGet 还原(源配置见 nuget.config),版本统一在 Directory.Build.props 中维护,仓库内不包含任何二进制依赖。
项目结构
Hongzuiyu/ 主程序:入口、主窗口、流程画板
Hongzuiyu.Core/ 数据表模型(Datasheet)、CSV 转换器、模型基类、日志
Hongzuiyu.Classifiers/ 分类算法库
Hongzuiyu.Clusterers/ 聚类算法库
Hongzuiyu.Filters/ 滤波 / 特征处理算法库
Hongzuiyu.AnomalyDetection/ 异常检测算法库
Hongzuiyu.KnowledgeFlow/ 流程引擎(Step/Flow,纯逻辑无 UI 依赖)
Hongzuiyu.Core.GUI/ 通用 GUI 组件:参数自动生成窗口、绘图窗口、消息框
Hongzuiyu.*.GUI/ 各算法模块的 Avalonia 配置 / 可视化界面
Samples/ 示例数据集(决策树、聚类、回归、PCA、频谱分析)
依赖方向:算法库 → Core、*.GUI → Core.GUI + 对应算法库、主程序 → 全部。
示例数据
Samples/ 目录提供了可直接加载的样例:鸢尾花型分类数据(决策树离散/连续量)、k 聚类、Logistic 回归、主元分析、太阳黑子频谱分析等,配合流程设计器可快速体验完整建模流程。
许可证
源代码以 LGPL 开放;Hongzuiyu.Filters/ARMA/Polynomial.cs 参考自 Math.NET Iridium(LGPL),该文件同样遵循 LGPL 条款。第三方 NuGet 依赖以其各自许可证为准。