首页 > 解决方案 > 标准缩放器 v 最小最大。Standardscaler 不适用于 ANN,但 MInMax 可以

问题描述

我有一个具有多个特征和一个目标的数据集。我正在使用 ANN 进行预测。当我使用 扩展功能时MInMax,一切正常,并且在编译和修复期间,我得到了很好的损失和准确性。
但是,当我使用StandardScaler(). 预测已关闭,然后我注意到在编译/拟合期间我acc:0.00000完成了整个时代。
只是想知道为什么。我以为我可以使用任何(特别是StandardScaler)。
有什么建议吗?
谢谢

Epoch 100/100
404/404 [==============================] - 0s 17us/step - loss: 0.2729 - acc: 0.0000e+00

(当我使用 StandardScaler() 时!!!)

这是代码:

dataset = pd.read_csv('housing.csv')
#sns.pairplot(dataset)

X=dataset.iloc[:,0:13]
y=dataset.iloc[:,13].values
#StandardScaler
from sklearn.preprocessing import StandardScaler
sc2= StandardScaler()
X= sc2.fit_transform(X)
y= y.reshape(-1,1)
y=sc2.fit_transform(y)

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

from keras import Sequential
from keras.layers import Dense

regressor = Sequential()
regressor.add(Dense(units=13, input_dim=13))
regressor.add(Dense(units=1))
regressor.compile(optimizer='adam', loss='mean_squared_error',  metrics=['accuracy'])
regressor.fit(X_train,y_train, epochs=100, batch_size=32, verbose=1)

标签: python-3.xmachine-learningkerasnormalization

解决方案


推荐阅读