iT邦幫忙

0

如何用 python 將正規化及 SVR 存在同一個 model?

大家好!在訓練階段時,我想將正規化及 SVR 存成一個模型;在測試檔的時候只要呼叫訓練階段存取的模型就可以進行預測。我試了以下幾種方法,可是好像還是沒有法......

  1. 使用 pkl 存模型時,發現存取的模型只存 SVR ,並沒有存取正規化。
  2. 使用 pipeline 並一樣存成 pkl 檔時,雖然有存到正規化及 SVR,但正規化卻只存了 feature 的正規化並無將 target 的正規化一同存進模型內。後來在網上找了相關資訊,上面是說 pipeline 並不會對 target 做正規化 。
    以下為訓練檔案:
    df=pd.read_csv('pip.csv')
    dataset=df.values.astype(np.float64)
    XX=dataset[:,0:2]
    yy1=dataset[:,2:3]
    X_scaler = MinMaxScaler(feature_range=(-1,1)).fit(XX)
    y1_scaler= MinMaxScaler(feature_range=(-1,1)).fit(yy1.reshape(-1,1))
    model1=make_pipeline(X_scaler,y1_scaler,SVR(C=100,epsilon=0.001))
    model2=model1.fit(XX, np.ravel(yy1.reshape(-1,1)))
    y1_pred = model2.predict(XX)
    joblib.dump(model2,'SVR.pkl')
    測試檔如下:
    model1=joblib.load('SVR.pkl')
    y1_pred = model1.predict([[2,4],[3,6],[6,3]])
    print(y1_pred)
  3. 後來聽朋友說可以用 HDF5 的方式,但試的結果和 1. 一樣,只存了 SVR 並無存取正規化。
    我已經不知道還有甚麼方法可以將正規化及 SVR 存在同一模型內了 Q_Q 懇請各位高手給點建議。

尚未有邦友回答

立即登入回答