编程实现对鸢尾花数据集(iris.csv)的4个特征进行标准化。(分别使用最小最大规范化、零均值规范化、小数定标规范化)。
时间: 2024-10-15 22:21:24 浏览: 36
iris.csv-数据集
在Python中,我们可以使用Pandas库来处理CSV文件中的数据,然后使用sklearn库中的preprocessing模块来进行特征标准化。这里我会展示如何使用最小最大规范化(Min-Max Scaling)、零均值规范化(Z-score Normalization),以及小数定标规范化(Decimal Scaling)。
1. **最小最大规范化 (Min-Max Scaling)**:
```python
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
# 加载数据
data = pd.read_csv('iris.csv')
# 提取特征
features = data.iloc[:, :-1] # 假设最后一列是目标变量
# 初始化scaler
scaler = MinMaxScaler()
# 标准化
features_minmax = scaler.fit_transform(features)
```
2. **零均值规范化 (Z-score Normalization, Standardization)**:
```python
from sklearn.preprocessing import StandardScaler
# 使用StandardScaler
scaler = StandardScaler()
features_zscore = scaler.fit_transform(features)
```
3. **小数定标规范化 (Decimal Scaling, Decimal Scaling by Power of 10)**:
这个通常用于将数值范围转换到固定的小数点后几位,比如四舍五入到两位小数。
```python
def decimal_scaling(data, places=2):
scaled_data = data * 10**places
return scaled_data.round(places).astype(float) / 10**places
features_decimal = decimal_scaling(features)
```
完成以上步骤后,`features_minmax`、`features_zscore`和`features_decimal`分别是经过三种规范化后的特征数据。
阅读全文