数据特征预处理

"""
   特征工程的数据处理:
                 1.异常数据处理(采用数据清洗);
                        1)删除含有异常值的记录;
                        2)将异常值视为缺失值,交给缺失值处理方法来解决;
                        3)用平均值修正;
                        4)不处理
                 2.数据不平衡处理(数据增强)
                 2.1 离散数据异常,采用one-hot编码归置:以0、1表示
                 3.文本处理:词袋法、TF-IDF (将文本转换成数值法)
                 4.多项式扩展、哑编码、标准化、归一化、PCA
                 5.将均值、方差、协方差等信息作为特征属性
                 6.结合业务衍生新的属性
"""

### 空值数据填充法

import numpy as np

from sklearn.impute import SimpleImputer

# 初始数据准备
X = [
    [np.nan, 3, 4, 1],
    [2, 5, np.nan, 0],
    [6, 3, 4, 7],
    [1, 7, 2, 0]
]

X2 = [
    [2, 6, np.nan, 9],
    [np.nan, 4, 2, 9],
    [np.nan, 5, 0, 3],
    [3, 4, 0, np.nan]
]

# 创建样本处理器

iml0 = SimpleImputer(missing_values=np.nan, strategy='mean')

iml1 = SimpleImputer(missing_values=np.nan, strategy='medina')

iml2 = SimpleImputer(missing_values=np.nan, strategy='most_frequent')

iml3 = SimpleImputer(missing_values=np.nan, strategy='constant', fill_value=1)

# 先进行数据的训练
print('-----------------均值---------------------')
im0.fit_transform(X)
print(iml0.statistics_)

# 先进行数据的训练

print('-----------------中位数---------------------')
im1.fit_transform(X)
print(iml1.statistics_)

# 先进行数据的训练

print('-----------------众数---------------------')
im2.fit_transform(X)
​​​​​​​print(iml2.statistics_)

print('-----------------常数---------------------')
im0.fit_transform(X)
​​​​​​​print(iml3.statistics_)

Output:

-----------------均值---------------------
[[3.         3.         4.         1.        ]
 [2.         5.         3.33333333 0.        ]
 [6.         3.         4.         7.        ]
 [1.         7.         2.         0.        ]]
[3.         4.5        3.33333333 2.        ]


-----------------中位数---------------------
[[2. 3. 4. 1.]
 [2. 5. 4. 0.]
 [6. 3. 4. 7.]
 [1. 7. 2. 0.]]
[2.  4.  4.  0.5]


------------------众数--------------------
[[1. 3. 4. 1.]
 [2. 5. 4. 0.]
 [6. 3. 4. 7.]
 [1. 7. 2. 0.]]
[1. 3. 4. 0.]


------------------常数填充--------------------
[[2. 6. 1. 9.]
 [1. 4. 2. 9.]
 [1. 5. 0. 3.]
 [3. 4. 0. 1.]]
[1. 1. 1. 1.]

Process finished with exit code 0

你可能感兴趣的:(机器学习,java,python,javascript)