Масштабирование объектов с использованием полиномиальных функций - PullRequest
0 голосов
/ 02 апреля 2019

Я понимаю концепцию полиномиальной регрессии и использование PolynomialFeatures от sklearn.

Но чтобы получить конкретное представление о концепции использования расширения PolynomialFeature, я просто хотел спросить о сценарии.

Здесь я хочу рассмотреть сценарий полиномиальных признаков с KNN вместо регрессии.

Вот как мы используем полиномиальные функции для регрессии.

from sklearn.preprocessing import PolynomialFeatures

X_train, X_test, y_train, y_test = train_test_split(X_T, y_T, random_state = 0)
poly = PolynomialFeatures(degree=3)
X_T_poly = poly.fit_transform(X_T)
X_train, X_test, y_train, y_test = train_test_split(X_T_poly, y_T, random_state = 0)
fin = LinearRegression().fit(X_train, y_train)

Теперь, что если я сделаю это:

from sklearn.preprocessing import PolynomialFeatures

X_train, X_test, y_train, y_test = train_test_split(X_T, y_T, random_state = 0)
poly = PolynomialFeatures(degree=3)
X_T_poly = poly.fit_transform(X_T)
X_train, X_test, y_train, y_test = train_test_split(X_T_poly, y_T, random_state = 0)
knn = KNeighborsClassifier(n_neighbors = n)
knn.fit(X_train, y_train)

Раньше мы делали регрессию (я понял. ОК), а позже мы используем KNN.

  1. Имеет ли смысл применять КНН здесь и правильно (в первую очередь)?

  2. Как трансформируются элементы в случае KNN?

После входа в .fit_transform () Я нашел это:

Функция не имеет отношения к коэффициентам и перехватам.

def fit_transform(self, X, y=None, **fit_params):
    """Fit to data, then transform it.
    Fits transformer to X and y with optional parameters fit_params
    and returns a transformed version of X.
    Parameters
    ----------
    X : numpy array of shape [n_samples, n_features]
        Training set.
    y : numpy array of shape [n_samples]
        Target values.
    Returns
    -------
    X_new : numpy array of shape [n_samples, n_features_new]
        Transformed array.
    """
    # non-optimized default implementation; override when a better
    # method is possible for a given clustering algorithm
    if y is None:
        # fit method of arity 1 (unsupervised transformation)
        return self.fit(X, **fit_params).transform(X)
    else:
        # fit method of arity 2 (supervised transformation)
return self.fit(X, y, **fit_params).transform(X)

Так можно ли использовать такую ​​практику использования PolynomialFeatures с KNN, как указано выше?

...