68 lines
1.7 KiB
C
68 lines
1.7 KiB
C
|
|
#pragma once
|
||
|
|
/**
|
||
|
|
* @file eqpalg/utility/normalize.h
|
||
|
|
* @brief 归一化方法
|
||
|
|
* @author Cat (null.null.null@qq.com)
|
||
|
|
* @version 0.1
|
||
|
|
* @date 2021-09-17
|
||
|
|
*
|
||
|
|
* Copyright: Baosight Co. Ltd.
|
||
|
|
* DO NOT COPY/USE WITHOUT PERMISSION
|
||
|
|
*
|
||
|
|
*/
|
||
|
|
#include <dlib/statistics.h>
|
||
|
|
#include <vector>
|
||
|
|
namespace utility {
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @brief min-max归一化
|
||
|
|
* @param vec_ptr 数组指针
|
||
|
|
* @param rs dlib::running_stats
|
||
|
|
* @return int
|
||
|
|
*/
|
||
|
|
int normalize_min_max(std::vector<double>* vec_ptr,
|
||
|
|
dlib::running_stats<double> rs);
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @brief z-score归一化
|
||
|
|
* @param vec_ptr 数组指针
|
||
|
|
* @param rs dlib::running_stats
|
||
|
|
* @return int
|
||
|
|
*/
|
||
|
|
int normalize_z_score(std::vector<double>* vec_ptr,
|
||
|
|
dlib::running_stats<double> rs);
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @brief min-max归一化
|
||
|
|
* @param x 单元数据
|
||
|
|
* @param rs dlib::running_stats
|
||
|
|
* @return int
|
||
|
|
*/
|
||
|
|
double normalize_min_max(double x, dlib::running_stats<double> rs);
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @brief z-score归一化
|
||
|
|
* @param x 单元数据
|
||
|
|
* @param rs dlib::running_stats
|
||
|
|
* @return int
|
||
|
|
*/
|
||
|
|
double normalize_z_score(double x, dlib::running_stats<double> rs);
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @brief min-max归一化的逆变换
|
||
|
|
* @param x 单元数据
|
||
|
|
* @param rs dlib::running_stats
|
||
|
|
* @return int
|
||
|
|
*/
|
||
|
|
double denormalize_min_max(double invert_x, dlib::running_stats<double> rs);
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @brief z-score归一化的逆变换
|
||
|
|
* @param x 单元数据
|
||
|
|
* @param rs dlib::running_stats
|
||
|
|
* @return int
|
||
|
|
*/
|
||
|
|
double denormalize_z_score(double invert_x, dlib::running_stats<double> rs);
|
||
|
|
|
||
|
|
} // namespace utility
|