1、实现三种数据标准化函数,min-max分别将最低、最高映射为0-1和 60-100(两个子函数)、Z-score标准化、sigmod标准化。
时间: 2024-09-14 09:02:47 浏览: 75
在Python中,我们可以创建三个函数来实现数据标准化:
1. **Min-Max标准化 (0-1映射)**:
```python
def min_max_scale(data, min_value=0, max_value=1):
scaled_data = (data - data.min()) / (data.max() - data.min())
return scaled_data * (max_value - min_value) + min_value
# 示例
data = [50, 80, 90, 100]
scaled_data = min_max_scale(data)
```
2. **Min-Max标准化 (60-100映射)**:
```python
def custom_min_max_scale(data, target_min=60, target_max=100):
scaled_data = (data - data.min()) / (data.max() - data.min()) * (target_max - target_min) + target_min
return scaled_data
# 示例
data = [50, 80, 90, 100]
scaled_data = custom_min_max_scale(data, 60, 100)
```
3. **Z-Score标准化** (平均值为0,标准差为1):
```python
from scipy import stats
def z_score_standardization(data):
return stats.zscore(data)
# 示例
data = [50, 80, 90, 100]
z_scores = z_score_standardization(data)
```
4. **Sigmoid标准化 (通常用于激活函数)**:
```python
import math
def sigmoid_scale(data):
return 1 / (1 + math.exp(-data))
# 示例
data = [-1, 0, 1]
sigmoid_scaled_data = sigmoid_scale(data)
```
阅读全文