我发现引用的错误显示“此 MinMaxScaler 实例尚未安装。”该怎么办?

问题描述 投票:0回答:1
from sklearn import preprocessing
sx = preprocessing.MinMaxScaler()
sy = preprocessing.MinMaxScaler()

scaled_X = sy.fit_transform(df['rate_squarefeet'].values.reshape(df.shape[0],1))

scaled_X
scaled_y=sy.fit_transform(df['Total_room'].values.reshape(df.shape[0],1))
scaled_y
def batch_gradient_descent(X, y_true, epochs, learning_rate = 0.01):

    number_of_features = X.shape[1]
    # numpy array with 1 row and columns equal to number of features. In 
    # our case number_of_features = 2 (area, bedroom)
    w = np.ones(shape=(number_of_features)) 
    b = 0
    total_samples = X.shape[0] # number of rows in X
    
    squarefeet_list = []
    epoch_list = []
    
    for i in range(epochs):        
        y_predicted = np.dot(w, X.T) + b

        w_grad = -(2/total_samples)*(X.T.dot(y_true-y_predicted))
        b_grad = -(2/total_samples)*np.square(y_true-y_predicted)
        
        w = w - learning_rate * w_grad
        b = b - learning_rate * b_grad
        
        squarefeet = np.mean(np.transpose(y_true-y_predicted))
        
        if i%10==0:
            squarefeet_list.append(squarefeet)
            epoch_list.append(i)
        
    return w, b, squarefeet, squarefeet_list, epoch_list

w, b, squarefeet, squarefeet_list, epoch_list = batch_gradient_descent(scaled_X,scaled_y.reshape(scaled_y.shape[0],),500)
w, b, squarefeet
def predict(squarefeet,w,b):
    scaled_X = sx.transform([[squarefeet]])
    scaled_price = w[0] * scaled_X[0]+b
    return sy.inverse_transform([[scaled_price]])[0][0]

predict(56.32,w,b)

NotFittedError Traceback(最近一次调用最后一次) 在 7 返回 sy.inverse_transform([[scaled_price]])[0][0] 8 ----> 9 预测(56.32,w,b)

NotFittedError:此 MinMaxScaler 实例尚未安装。在使用此估计器之前,请使用适当的参数调用“fit”。

python tensorflow predict epoch
1个回答
0
投票
from sklearn import preprocessing
sx = preprocessing.MinMaxScaler()
sy = preprocessing.MinMaxScaler()

> ***Here you should have used sx.fit_transform(df['rate_squarefeet'].values.reshape(df.shape[0],1))***

scaled_X = **sy.fit_transform(df['rate_squarefeet'].values.reshape(df.shape[0],1))**

scaled_X
scaled_y=sy.fit_transform(df['Total_room'].values.reshape(df.shape[0],1))
scaled_y
....
*

> ***In this section you should change the column name from "squarefeet" to "rate_squarefeet".***

*
def predict(squarefeet,w,b):
    scaled_X = sx.transform([[**squarefeet**]])
    scaled_price = w[0] * scaled_X[0]+b
    return sy.inverse_transform([[scaled_price]])[0][0]
© www.soinside.com 2019 - 2024. All rights reserved.