Я понимаю концепцию полиномиальной регрессии и использование 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.
Имеет ли смысл применять КНН здесь и правильно (в первую очередь)?
Как трансформируются элементы в случае 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, как указано выше?