Нормализовать двумерную матрицу в диапазоне 0-1 в Python

Чтобы нормализовать двумерную матрицу в диапазоне от 0 до 1 в Python, вы можете использовать несколько методов. Вот несколько часто используемых подходов:

  1. Использование Scikit-learn:
    Вы можете использовать класс MinMaxScaler из библиотеки scikit-learn для нормализации матрицы. Вот пример:

    from sklearn.preprocessing import MinMaxScaler
    def normalize_matrix(matrix):
       scaler = MinMaxScaler()
       normalized_matrix = scaler.fit_transform(matrix)
       return normalized_matrix
  2. Использование NumPy:
    Если вы уже работаете с массивами NumPy, вы можете использовать его встроенные функции для нормализации матрицы. Вот пример:

    import numpy as np
    def normalize_matrix(matrix):
       min_val = np.min(matrix)
       max_val = np.max(matrix)
       normalized_matrix = (matrix - min_val) / (max_val - min_val)
       return normalized_matrix
  3. Ручная нормализация.
    Если вы предпочитаете ручной подход, вы можете перебрать элементы матрицы и нормализовать их вручную. Вот пример:

    def normalize_matrix(matrix):
       min_val = float('inf')
       max_val = float('-inf')
       # Find the minimum and maximum values
       for row in matrix:
           min_val = min(min_val, min(row))
           max_val = max(max_val, max(row))
       # Normalize the matrix
       normalized_matrix = []
       for row in matrix:
           normalized_row = [(val - min_val) / (max_val - min_val) for val in row]
           normalized_matrix.append(normalized_row)
       return normalized_matrix

Это всего лишь несколько методов нормализации 2D-матрицы в Python. Не забудьте выбрать метод, который лучше всего соответствует вашим конкретным требованиям.