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文件及基本的关联代码编写......
前期内容可关注公众号:数道