Ошибка типа: __init __ () получила неожиданный ключевой аргумент «ядро» - PullRequest
0 голосов
/ 04 октября 2018

Я работаю над алгоритмами машинного обучения и разрабатываю интерфейс на python.Я пытаюсь использовать SVR, но я сталкиваюсь с этой ошибкой init () получил неожиданный аргумент ключевого слова 'kernel', пожалуйста, помогите мне решить эту ошибку.Я много искал об этой проблеме, но ничего не получил.Я тоже могу поделиться полным кодом.

 class PredictSVR(tk.Frame):
def __init__(self, parent, controller):
    self.controller = controller
    tk.Frame.__init__(self, parent)

    label = tk.Label(self, text="Predictions", font=TITLE_FONT)
    label.place(x=500,y=30,width=592,height=44)

    self.regressorlabel = tk.Label(self,text="Regressor Intercept:" ,font=HEADING_FONT)
    self.regressorlabel.place(x=60,y=70,width=300,height=44)

    self.regressor = tk.Label(self, font=("Times New Roman", 14))
    self.regressor.place(x=330,y=70,width=200,height=44)

    self.valueslabel = tk.Label(self,text="Actual and Predicted Values:" ,font=HEADING_FONT)
    self.valueslabel.place(x=60,y=130,width=400,height=44)

    self.values= Text(self)
    self.values.place(x=100,y=180,width=200,height=480)

    self.visuallabel = tk.Label(self,text="Data Visualization" ,font=HEADING_FONT)
    self.visuallabel.place(x=600,y=130,width=400,height=44)

    self.mbelabel = tk.Label(self,text="Mean Absolute Error:" ,font=HEADING_FONT)
    self.mbelabel.place(x=1070,y=230,width=300,height=44)

    self.mbe = Text(self)
    self.mbe.place(x=1100,y=270,width=170,height=20)



    self.mselabel = tk.Label(self,text="Mean Squared Error:" ,font=HEADING_FONT)
    self.mselabel.place(x=1070,y=300,width=300,height=44)

    self.mse = Text(self)
    self.mse.place(x=1100,y=340,width=170,height=20)



    self.rmselabel = tk.Label(self,text="Root Mean Squared Error:" ,font=HEADING_FONT)
    self.rmselabel.place(x=1080,y=370,width=350,height=44)

    self.rmse = Text(self)
    self.rmse.place(x=1100,y=410,width=170,height=20)






    button1 = tk.Button(self, text="Back",
                    command=lambda: controller.show_frame(SVRp2))
    button2 = tk.Button(self, text="Home",
                    command=lambda: controller.show_frame(StartPage))

    button1.place(x=1000,y=700,width=200,height=44)
    button2.place(x=1250,y=700,width=200,height=44)




def PredictData(self):
    text=self.controller.PathVar
    dataset = pd.read_csv(text)
    X = dataset[['TEMPERATURE', 'HUMIDITY']]
    y = dataset['UNIT_SALES']  

    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)



    svr_rbf = SVR(kernel='rbf', C=1e3, gamma=0.1)
    svr_lin = SVR(kernel='linear', C=1e3)
    svr_poly = SVR(kernel='poly', C=1e3, degree=2)

    y_rbf = svr_rbf.fit(X, y).predict(X)
    y_lin = svr_lin.fit(X, y).predict(X)
    y_poly = svr_poly.fit(X, y).predict(X)

    svr = SVR(kernel='linear')
    svr.fit(X_train,y_train)
    pred_SVR = svr.predict(X_test)

    df = pd.DataFrame({'Actual': y_test.values, 'Predicted': pred_SVR}) 
    self.values.insert(INSERT,  df)

    colName=list(dataset.columns.values)


    ac=[]
    for a in y_test:
        ac.append(a)

    pre=[]
    for p in y_pred:
        pre.append(p)

    f = Figure(figsize=(5,5), dpi=100)
    a = f.add_subplot(111)

    a.set_ylabel(colName[2])
    a.set_xlabel(colName[0]+" "+colName[1])


    act,=a.plot(ac)
    pred,=a.plot(pre)


    a.grid()

    f.legend((act,pred),('Actual Price','Predicted Price'),'upper right')


    canvas = FigureCanvasTkAgg(f, self)
    canvas.show()
    canvas.get_tk_widget().place(x=600,y=170,width=600,height=450)

    toolbar = NavigationToolbar2TkAgg(canvas, self)
    toolbar.update()
    canvas._tkcanvas.place(x=500,y=170,width=600,height=450)

    self.mbe.insert(INSERT,  metrics.mean_absolute_error(y_test, y_pred))
    self.mse.insert(INSERT,  metrics.mean_squared_error(y_test, y_pred))
    self.rmse.insert(INSERT,  np.sqrt(metrics.mean_squared_error(y_test, y_pred)))
...