基于SVM和逻辑回归的软件工作量与工期估计
立即解锁
发布时间: 2025-08-21 01:25:05 阅读量: 1 订阅数: 3 


人工智能增强的软件与系统工程前沿
### 基于SVM和逻辑回归的软件工作量与工期估计
#### 1. 机器学习在软件成本估计中的应用
机器学习(ML)能够从记录的信息中学习,并适应软件开发项目中的各种变化,因此是构建软件成本估计模型的合适方法。通过在数据集上应用ML技术,可以判断这些技术是否能有效应用于软件成本估计信息,还能确定哪种方法取得了最佳结果,进而决定是否可以创建ML模型来评估和估计软件成本。
#### 2. 目标
软件估计是项目管理中极具挑战性的领域之一。本工作旨在通过应用ISBSG数据集、进行智能数据准备、采用ML技术(如支持向量机、逻辑回归等)和交叉验证,提出有效可行的ML技术和支持方法,缩小现代研究成果与企业实际应用之间的差距。在计算工作量和工期时,会考虑ISBSG数据集中的代码行数(SLOC)。
#### 3. 挑战
- **数据集不平衡**:软件开发中许多项目可用信息不同,难以获得平衡的数据集。
- **噪声数据处理**:有多种处理噪声数据的方法,但噪声和不一致的信息可能严重影响AI模型的预测准确性。
- **数据质量低**:数据中大量缺失值和异常值可能导致结果冲突和不一致。
#### 4. 提议系统
该提议框架用于在ISBSG数据集上估计不同ML模型的工作量和工期。其目的是比较如SVM、逻辑回归等AI技术的准确性,帮助企业了解客户对项目的评估,提高项目质量。文中会计算性能指标(如F1、召回率、精确率和支持度)和回归指标(如MSE、MAE、RMSE),并基于SLOC使用COCOMO估计策略(如有机、半独立、嵌入式)来计算软件项目的工作量和工期。在构建机器学习模型时,数据整理是关键任务,可通过选择、数据清理、减少、更改和突出显示等方式进行数据预处理。
#### 5. 文献综述
- **ML算法与软件仿真**:使用ML算法进行软件仿真可提高项目成功率。Pospieszny使用ML计算进行产品工作量和工期估计,在SVM分类器中使用了径向基函数(RBF),计算公式如下:
- \(K(x, xi) = e^{−x∗ (x−xi)^2}\)
- \(g(z) = \frac{1}{1 + e^{−z}}\),其中\(x\)范围从0到1,默认值为0.1。
- **数据预处理**:Jianglin Huang等人利用缺失信息进行基于AI的软件成本估计的数据预处理,分析了MDT、缩放、FS和CS四种信息处理程序与ML方法的关联,以检查预测正确性。缩放公式为:
\([0, 1]interval = \frac{actual value - min(all values)}{max(all values) - min(all values)}\)
该方法缺点是不能处理全部缺失信息。
- **ML方法优势**:ML方法可通过制定估计规则和重复运行周期提高估计准确性。但也存在一些问题,如RMSE不是衡量模型平均性能的好指标;一些系统因缺乏调查信息和数据类型相关信息,在工作量估计方面面临挑战。
#### 6. 系统设计
##### 6.1 数据集
使用ISBSG 2015版数据集展示软件开发中的最新变化。在选择和审查数据时,首先考虑因变量。计算工作量时,使用归一化工作努力表示执行活动所需的总努力;计算工期时,通过从ISBSG数据集中减去项目经过时间和项目非活动时间得到实际经过时间参数。从125个因素中选择了可能影响软件开发初期工作量和工期预测的子集。该数据集包含大量缺失值,且采用了未平衡的数据集进行实验。
| Variable | Description | Type | Categories | Role |
| --- | --- | --- | --- | --- |
| Industry sector | Organization tye | Nominal | 14 | Input |
| Application type | Addressed app. type | Nominal | 16 | Input |
| Development type | enhancement | Nominal | 3 | Input |
| Development platform | PC, Mid range | Nominal | 4 | Input |
| Language type | Programming language | Nominal | 3 | Input |
| Package customization | Check project is having PC or not | Nominal
0
0
复制全文
相关推荐









