sensasi-delight/fuzzy-ce-php

这是一个PHP库,实现了模糊综合评价方法,帮助您进行定性评估的结论。

v1.0.0 2022-06-24 13:23 UTC

This package is auto-updated.

Last update: 2024-09-24 18:39:58 UTC


README

这是一个PHP库,实现了模糊综合评价方法,帮助您进行定性评估的结论。

安装

使用composer安装

composer require sensasi-delight/fuzzy-ce-php

用法

此库的用法示例也位于 examples文件夹 中,并附有详细说明。

  1. 定义评价指数及其子评价因素。

    $evaluation_index = [
        'u1' => ['u11', 'u12'],
        'u2' => ['u21', 'u22', 'u23'],
        'u3' => ['u31', 'u32'],
        'u4' => ['u41', 'u42'],
        'u5' => ['u51', 'u52']
    ];
  2. 定义每个因素的评价权重。

    $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
    ];
  3. 定义评估量表

    评估量表可以是升序或降序,其等级名称取决于您的评估设计。

    $assesment_scale = [
        'Excellent' => 5,
        'Good' => 4,
        'Medium' => 3,
        'Poor' => 2,
        'Worst' => 1
    ];
  4. 为每个评价指数定义评估数据及其受访者答案。

    $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,
        ], ...
    
    ];
  5. 创建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);
  6. 获取评估。

    • 对于评估向量

      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"打开一个问题。别忘了给项目加星!再次感谢!

  1. fork项目。
  2. 创建您的功能分支 (git checkout -b feature/AmazingFeature)。
  3. 提交您的更改 (git commit -m '添加一些AmazingFeature')。
  4. 推送到分支 (git push origin feature/AmazingFeature)。
  5. 打开pull request。

许可

代码是在MIT许可下发布的。

联系

电子邮件 - zainadam.id@gmail.com

Twitter - @sensasi_DELIGHT