【发布时间】:2022-07-28 09:18:46
【问题描述】:
from sklearn.preprocessing import StandardScaler
def transpose(m):
n = len(m[0])
holder = []
for i in range(n):
current = []
holder.append(current)
for i in range(len(m)):
for j in range(n):
curr = m[i][j]
holder[j].append(curr)
return holder
data = [[61, 175, 111, 124, 130, 173, 169, 169, 160, 244, 257, 333, 199],
[13, 21, 24, 23, 64, 38, 33, 61, 39, 71, 112, 88, 54]]
y = [4, 18, 14, 18, 26, 26, 21, 30, 28, 36, 65, 62, 40]
data = transpose(data)
scalerX = StandardScaler()
scalerX.fit(data)
X = scalerX.transform(data)
X = X.reshape(len(X), 1, 2)
scalerY = StandardScaler()
y = np.array(y)
y = y.reshape(-1, 1)
scalerY.fit(y)
y = scalerY.transform(y)
y = y.reshape(13, 1, 1)
#I wrote my own Dense layer from scratch and called it FCLayer for 'fully connected'
fc = FCLayer(2, 1)
net = Network()
net.add(fc)
net.use(mse, mse_prime)
net.fit(X, y, epochs=100, learning_rate=0.1)
print(fc.getWeights())
所以本质上,权重代表了我的回归模型的系数向量,但显然权重是缩放的,所以我想知道如何将缩放的权重转换为原来的值。
我只是想比较神经网络与我制作的类似于 sklearn 线性回归模型的线性回归模型的性能。
【问题讨论】:
标签: scikit-learn data-preprocessing