在学习ML的过程中,我正在测试一些NN,但我发现我的输出似乎没有考虑到我这三项输入中的一项非常重要。
我的数据集由4个cols(csv)组成:
3是介于1000之间的数字(包括输出),并且可以达到1.5亿
1是一个0到2之间的数字,而100 wich是我的NN不考虑的数字
我使用scikit-learn的MinMaxScaler这样缩放数据集:
df = pd.read_csv('rawData.csv')
dataset = df.values
min_max_scaler = preprocessing.MinMaxScaler()
dataset = min_max_scaler.fit_transform(dataset)
X = dataset[:,0:3] # input
Y = dataset[:,3] # output
我还使用另一种方式缩放数据(当我想测试模型时):
min_test = np.min(runset)
max_test = np.max(runset)
normalized = (runset - min_test) / (max_test - min_test)
test = model.predict(normalized)
result = test * (max_test - min_test) + min_test
所以我的问题是:是否可以并建议对不同的输入使用不同的比例?如果是,我该怎么做?
答案 0 :(得分:0)
对您的问题的简短回答是另一个问题:我对特征化数据集特征的重要性是否有先验?
不要低估梯度下降方法对缩放的敏感性。
最后,请记住使用训练集的统计信息(均值和标准差)来标准化验证/测试集。