'ValueError: X has 19 features, but LinearRegression is expecting 20 features as input

I'm trying to do polynomial regression using this code here:

x_train,x_test,y_train,y_test = train_test_split(self.X, self.y, test_size=split, random_state=random)
        for i in range(1, len(self.dataframe.index)):
            self.polyModel = PolynomialFeatures(degree=i)
            self.X_poly = self.polyModel.fit_transform(x_train)
            self.polyModel.fit(self.X_poly, y_train)
            self.model.fit(self.X_poly, y_train)
            y_poly_pred = self.model.predict(x_test)
            if (r2_score(y_test, y_poly_pred) > self.highest):
                self.poly_degree = i
                self.highest = r2_score(self.y, y_poly_pred)
        self.polyModel = PolynomialFeatures(degree=self.poly_degree)
        self.X_poly = self.polyModel.fit_transform(x_train)
        self.polyModel.fit(self.X_poly, y_train)
        self.model.fit(self.X_poly, y_train)
        self.score = self.highest

but I'm getting this error:

ValueError: X has 19 features, but LinearRegression is expecting 20 features as input.

does anyone know how I might fix this problem?

Thanks!!



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source