sensasi-delight / fuzzy-ce-php
这是一个PHP库,实现了模糊综合评价方法,帮助您进行定性评估的结论。
v1.0.0
2022-06-24 13:23 UTC
Requires
- markrogoyski/math-php: ^2.6
README
这是一个PHP库,实现了模糊综合评价方法,帮助您进行定性评估的结论。
安装
使用composer安装
composer require sensasi-delight/fuzzy-ce-php
用法
此库的用法示例也位于 examples文件夹 中,并附有详细说明。
-
定义评价指数及其子评价因素。
$evaluation_index = [ 'u1' => ['u11', 'u12'], 'u2' => ['u21', 'u22', 'u23'], 'u3' => ['u31', 'u32'], 'u4' => ['u41', 'u42'], 'u5' => ['u51', 'u52'] ];
-
定义每个因素的评价权重。
$weights = [ 'u1' => 0.133, 'u2' => 0.310, 'u3' => 0.330, 'u4' => 0.118, 'u5' => 0.109, 'u11' => 0.667, 'u12' => 0.333, 'u21' => 0.200, 'u22' => 0.400, 'u23' => 0.400, 'u31' => 0.333, 'u32' => 0.667, 'u41' => 0.667, 'u42' => 0.333, 'u51' => 0.750, 'u52' => 0.250 ];
-
定义评估量表
评估量表可以是升序或降序,其等级名称取决于您的评估设计。
$assesment_scale = [ 'Excellent' => 5, 'Good' => 4, 'Medium' => 3, 'Poor' => 2, 'Worst' => 1 ];
-
为每个评价指数定义评估数据及其受访者答案。
$assesment_data = [ "u11" => [ "expert1" => 5, "expert2" => 4, "expert3" => 4, "expert4" => 4, "expert5" => 3, ], "u12" => [ "expert1" => 5, "expert2" => 5, "expert3" => 4, "expert4" => 3, "expert5" => 3, ], ... "u52" => [ "expert1" => 4, "expert2" => 3, "expert3" => 3, "expert4" => 3, "expert5" => 3, ], ... ];
-
创建FuzzyCE对象并设置您之前定义的所需属性。
$fuzzyCE = new FuzzyCE( $evaluation_index, $weights, $assesment_scale, $assesment_data );
或
$fuzzyCE = new FuzzyCE(); $fuzzyCE->set_evaluation_index($evaluation_index); $fuzzyCE->set_weights($weights); $fuzzyCE->set_assesment_scale($assesment_scale); $fuzzyCE->set_assesment_data($assesment_data);
-
获取评估。
-
对于评估向量
print_r($fuzzyCE->get_evaluation());
应返回输出
Array ( [Excellent] => 0.2708902 [Good] => 0.4051536 [Medium] => 0.3239562 [Poor] => 0 [Worst] => 0 )
-
用于整体评估等级
echo $fuzzyCE->get_grade();
应返回输出
> Good
-
用于等级分数
echo $fuzzyCE->get_grade_score();
应返回输出
> 0.4051536
-
贡献
贡献使得开源社区成为一个如此美妙的学习、灵感和创造的地方。您所做出的任何贡献都将被 非常感谢。
如果您有任何改进的建议,请fork仓库并创建一个pull request。您也可以简单地通过标签"enhancement"打开一个问题。别忘了给项目加星!再次感谢!
- fork项目。
- 创建您的功能分支 (
git checkout -b feature/AmazingFeature
)。 - 提交您的更改 (
git commit -m '添加一些AmazingFeature'
)。 - 推送到分支 (
git push origin feature/AmazingFeature
)。 - 打开pull request。
许可
代码是在MIT许可下发布的。
联系
电子邮件 - zainadam.id@gmail.com
Twitter - @sensasi_DELIGHT