我们在实际应用中会遇到数据集特征不足的情况,要解决这个问题,就需要对数据集的特征进行扩充,
一般使用两种方法:
- 交互式特征(Interaction Features)
- 多项式特征(Ploynomial Features)
1.准备数据集
#导入numpy
import numpy as np
#导入画图工具
import matplotlib.pyplot as plt
#导入神经网络
from sklearn.neural_network import MLPRegressor
#生成随机数列
rnd = np.random.RandomState(38)
x = rnd.uniform(-5,5,size=50)
#向数据中添加噪声
y_no_noise = (np.cos(6*x) + x)
X = x.reshape(-1,1)
y = (y_no_noise + rnd.normal(size=len(x)))/2
#设置箱体数为11
bins = np.linspace(-5,5,11)
#将数据进行装箱操作
target_bin = np.digitize(X,bins=bins)
#导入独热编码
from sklearn.preprocessing import OneHotEncoder
onehot = OneHotEncoder(sparse = False,categories='auto')
onehot.fit(target_bin)
#使用独热编码转化数据
X_in_bin = onehot.transform(target_bin)
#生成一个等差数列
line = np.linspace(-5,5,1000,endpoin