Python 数据正向化 (数学建模)

这篇具有很好参考价值的文章主要介绍了Python 数据正向化 (数学建模)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

正向化:指将指标转化为越大越好,例如求最小值,乘以符号转化为求最大值

注:x为numpy数组

  1. 极小型指标正向化:
  2. 中间型指标正向化(例如PH值需要越接近7越好,xbest=7.0,转化为越大越好):
  3. 区间型指标正向化
# RegularizeData.py
# 数据正向化
# 指标名称          指标特点
# 极大型(效益型)指标  越大(多)越好
# 极小型(成本型)指标 越小(少)越好
# 中间型指标         越接近某个值越好
# 区间型指标         落在某个区间最好
import numpy as np


# method = 0, 1, 2
# 0: 极小型(成本型)指标
# 1: 中间型指标        越接近某个值越好,传入best_value
# 2: 区间型指标      落在某个区间最好,传入left_bound, right_bound
def regularize_column_vector(data: np.ndarray, best_value: float = None,
                             left_bound: float = None,
                             right_bound: float = None,
                             method: int = 0) -> np.ndarray:
    if len(data.shape) != 1:
        raise ValueError("data must be a row vector")
        return None
    if method == 0:
        return data.max() - data
    elif method == 1:
        dis = max(data.max() - best_value, best_value - data.min())
        return 1 - ((data - best_value).__abs__()/dis)
    elif method == 2:
        dis = max(data.max() - right_bound, left_bound - data.min())
        for i in range(data.shape[0]):
            if data[i] > right_bound:
                data[i] = 1 - ((data[i] - right_bound) / dis)
            elif data[i] < left_bound:
                data[i] = 1 - ((left_bound - data[i]) / dis)
            else:
                data[i] = 1
        return data

使用示例

if __name__ == '__main__':
    print(RegularizeData.regularize_column_vector(np.array([1, 2, 3, 4, 5]),
                                             method=1, best_value=3.0))

输出结果

[0.  0.5 1.  0.5 0. ]文章来源地址https://www.toymoban.com/news/detail-581979.html

到了这里,关于Python 数据正向化 (数学建模)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据分析课程设计(数学建模+数据分析+数据可视化)——利用Python开发语言实现以及常见数据分析库的使用

    目录 数据分析报告——基于贫困生餐厅消费信息的分类与预测 一、数据分析背景以及目标 二、分析方法与过程 数据探索性与预处理 合并文件并检查缺失值 2.计算文件的当中的值 消费指数的描述性分析 首先对数据进行标准化处理 聚类模型的评价 聚类模型的结果关联 利用决

    2024年02月12日
    浏览(57)
  • 大学生数学建模赛题解析及优秀论文-2021电工杯A题高铁牵引供电系统运行数据分析及等值建模(附Python代码)

    我国是世界上电气化铁路运营里程最长、服役电力机车型号最多、运营最 繁忙的国家。截至 2020 年底,我国铁路年消耗电量约 800 亿千瓦时,约占三峡 年总发电量的 80% 。 图 1 为高速铁路牵引供电系统示意图,主要包括牵引变电所、牵引网和动车 组。牵引变电所将 220kV 三相

    2024年02月06日
    浏览(42)
  • 用Python进行数学建模(二)

    微分方程是描述系统的状态随时间和空间演化的数学工具。物理中许多涉及变力的运动学、动力学问题,如空气的阻力为速度函数的落体运动等问题,很多可以用微分方程求解。微分方程在化学、工程学、经济学和人口统计等领域也有广泛应用。 具体来说,微分方程是指含有

    2024年02月16日
    浏览(36)
  • 2023 年高教社杯全国大学生数学建模竞赛-E 题 黄河水沙监测数据分析详解+思路+Python代码

    十分激动啊啊啊题目终于出来了!!官网6点就进去了结果直接卡死现在才拿到题目,我是打算A-E题全部做一遍。简单介绍一下我自己:博主专注建模四年,参与过大大小小数十来次数学建模,理解各类模型原理以及每种模型的建模流程和各类题目分析方法。参与过十余次数学

    2024年02月09日
    浏览(54)
  • 《python数学实验与建模》(2)高等数学与线性代数

    3.1 求下列积分的符号解 (1) ∫ 0 1 1 + 4 x   d x int_{0}^{1}sqrt{1+4x}~dx ∫ 0 1 ​ 1 + 4 x ​   d x (2) ∫ 0 + ∞ e − x sin ⁡ x   d x int_{0}^{+infty}e^{-x}sin x ~dx ∫ 0 + ∞ ​ e − x sin x   d x 结果: − 1 6 + 5 5 6 -frac{1}{6}+frac{5sqrt{5}}{6} − 6 1 ​ + 6 5 5 ​ ​ 1 2 frac{1}{2} 2 1 ​ 3.2 求方程 x

    2023年04月24日
    浏览(90)
  • 数学建模--三维图像绘制的Python实现

    目录 1.绘制三维坐标轴的方法 2.绘制三维函数的样例1  3.绘制三维函数的样例2 4.绘制三维函数的样例3  5.绘制三维函数的样例4  6.绘制三维函数的样例5           

    2024年02月09日
    浏览(51)
  • 数学建模——管住嘴迈开腿——python实现

    (1)体重增加正比于吸收的热量, 平均8000kcal       增加体重1kg. (2)代谢引起的体重减少正比于体重, 每周每千克       体重消耗200 ~ 320kcal (因人而异).70kg每天消耗2000 ~ 3200kcal. (3)运动引起的体重减少正比于体重, 且与运动       形式和运动时间有关.   (4)为了安全与健康

    2024年02月08日
    浏览(106)
  • Python 数学建模算法与应用(持续更新)

    目录 第一章  python使用入门 1.1 Python核心工具库 1. Numpy 2. SciPy 3. Matplotlib 4. IPython 5. SymPy 6. Pandas 1.2  Python基本数据类型 1. Numpy (1)强大的多维数组对象 (2)复杂的函数功能 (3)集成c/c++和FORTRAN代码的工具 (4)有用的线性代数、傅里叶变换和随机数功能等。 import numpy as

    2024年02月09日
    浏览(56)
  • 数学建模 (线性规划 python代码 两种)

    线性规划(Linear Programming,LP)是一种数学优化方法,用于解决一类特定类型的最优化问题。该问题的目标是在给定的一组线性约束条件下,找到使某个线性目标函数达到最大或最小的变量值。线性规划问题可以表示为以下标准形式: 最小化(或最大化):Z = c^T * x 约束条件

    2024年04月14日
    浏览(51)
  • python数学建模--sympy三维图像绘制

    在求解二元函数最值的时候,我们不知道自己经过若干个步骤求出的结果是否正确,那么我们该怎么办呢?一种办法就是将这个函数的图像绘制出来 三维图像的作用在于,它不仅能让我们直观的看出待求二元函数在指定区间内的形状,而且对于我们求得的最值以及求极值的步

    2024年02月06日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包