Что означает нормализация в языке машинного обучения?Это соответствует одному образцу? - PullRequest
0 голосов
/ 24 октября 2018

Я имею дело с проблемой классификации. Я хочу классифицировать данные на 2 класса.Я генерирую 1000 образцов при разных температурах от 1 до 5. Я загружаю данные, используя следующую функцию load_data.Где «данные» - это двумерный массив (1000,16), строки соответствуют количеству выборок в «1.0.npy» и аналогично для других точек, а 16 - это число признаков.Поэтому я выбрал максимальное и минимальное значения для каждого образца, применив цикл for.Но я боюсь, что моя нормализация не верна, потому что я не уверен, какова стратегия нормализации в машинном обучении.Должен ли я выбрать np.amax (каждый образец) или выбрать значение np.amax ("1.0.npy") из всех 1000 образцов, содержащихся в файлах 1.0.npy.Моя цель - нормализовать данные в диапазоне от 0 до 1.

`def load_data():
    path ="./directory"
    files =sorted(os.listdir(path))  #{1.0.npy, 2.0.npy,.....5.0.npy}
    dictData ={}

    for df in sorted(files):
        print(df)
        data = np.load(os.path.join(path,df))
        a=data
        lis =[]
        for i in range(len(data)):
            old_range = np.amax(a[i]) - np.amin(a[i])

            new_range = 1 - 0
            f = ((a[i] - np.amin(a[i])) / old_range)*new_range + 0

            lis.append(f)`

После нормализации я получаю следующий результат, так что первое значение в каждом образце равно 0, а последнее значение равно единице.[0, ...., 1] #first sample [0,.....,1] #second sample

...