在我学习ML的过程中,我测试了一些神经网络,我发现我的输出似乎没有考虑到我的3个输入中的一个是非常重要的
我的数据集由4列(csv)组成:
3是数字(包括输出)在1000到1500000之间
1是一个介于0和100之间的数字,它是我的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
所以我的问题是:对于不同的输入,有没有可能并且建议使用不同的量表?如果有,我该怎么做
对你的问题的简短回答是另一个问题:我是否有关于我的数据集特征的重要性的先验知识
不要低估梯度下降方法对缩放的敏感性
最后,记住使用训练集中的统计数据(平均值和标准差)来标准化验证/测试集
相关问题 更多 >
编程相关推荐