1、如何布局?

    要设计一个稍微复杂的机器学习GUI,首先得明确设计目标,有一个完整的,清晰的布局。从整体上看,一个完整的机器学习过程包括:数据收集,数据清洗、特征提取、特征选择、模型构建评估、模型调优、未知数据预测、模型部署落地。特征提取需根据不同应用场景来设计,如针对时序数据的tsfresh自动特征提取,及傅里叶变换、小波变换等手段提取特征;特征选择(过滤法,包装法,嵌入法及针对高维小样本的特征选择方法等等);模型构建评估,明确预测目标,根据不同场景选择分类、回归或是非监督学习以及相关的学习曲线可视化;模型调优,超参数的调优往往是令人头疼的,除了手动调参外,自动调参工具也是不错的选择,如:网格搜素,随机网格搜索,optuna等。因此,一个粗略的架构大致应该如下但远不止于此:

2、软件配置

下面,我们着手用PyQt5设计主题界面。所有的操作,代码编写均在pycharm下完成。首先安装配置环境:

(1) 相关模块安装(加速可配置国内镜像)
pip install pyqt5 
pip install pyqt5-tools
pip install pyqt5designer

(2) pycharm中引入外部工具
QtDesigner工具,用于编写ui文件,设计GUI界面
pyuic配置,用于转换ui文件为py文件

配置完成之后,进入pycharm,右键单击即可进入页面设计designer:

用到的基本控件

  • 按钮控件

  • 单选框按钮

  • 复选框按钮

  • 下拉列表控件

  • 树形控件

  • 表格控件

  • QTabWidget多页面切换 

  • 水平垂直占位控件

  • 布局管理控件

  • groupBox

最终粗略的设计如下,最终的效果可在代码中作修改:

各个页面设计基本操作一致,反复利用GroupBox,QtabWidget,单选按钮,复选框,文本编辑,布局设计,水平占位,垂直占位,TreeWidget等。在此,不作详细展开。

下期,关注ui文件转换为py文件及基本的关联代码编写......

前期内容可关注公众号:数道

更多推荐