Python: 計画および解決機能を実装する

Yuxian: 公式アカウント [Red Dust Lighthouse]、CSDN コンテンツ パートナー、CSDN の新星メンター、フルスタック分野の高品質クリエイター、51CTO (トップセレブ + 専門ブロガー)、Github オープンソース愛好家 (ゴーゼロソースコード二次開発) 、ゲーム バックエンド アーキテクチャ https://github.com/Peakchen)

まず、Excel には 11 列のデータがあり、これは 10 個の指標の各サンプルのスコアであり、1 列はベンチマーク ランキングです。各列の重みとスコアの積の合計を計算するには、10 個の重みが必要です。インジケーターは、各サンプルの合計スコア要件の新しい列になります。合計スコア ランキングとベンチマーク ランキングの間の最大の相関関係では、各重みが 0 より大きく 20% 未満であり、すべての重みの合計が 1 である必要があります。 scipyライブラリを使用するのが最善です

原理の詳細な説明:

上記の問題は多目的プログラミング問題であり、目標は、サンプルの合計スコア ランキングとベンチマーク ランキングの間の相関を最大化するように重みを調整することです。これは最適化問題として定義できます。目的関数として相関を使用し、最大の相関を達成するために重みを最適化します。

基礎となるアーキテクチャのフローチャート:

  1. データの読み取り: Excel ファイルからサンプル スコアとベンチマーク ランキングを読み取ります。
  2. 目的関数の定義:各サンプルの合計スコアを計算し、合計スコアとベースライン ランキングの相関関係を計算する目的関数を作成します。
  3. オプティマイザーの初期化:オプティマイザーを初期化します。ここではscipyライブラリ内の関数を使用しますminimize
  4. 最適化:呼び出しによるminimize</

おすすめ

転載: blog.csdn.net/feng1790291543/article/details/135462983