日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ML之LiR2PolyR:使用线性回归LiR、二次多项式回归2PolyR模型在披萨数据集上拟合(train)、价格回归预测(test)

發(fā)布時(shí)間:2025/3/21 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ML之LiR2PolyR:使用线性回归LiR、二次多项式回归2PolyR模型在披萨数据集上拟合(train)、价格回归预测(test) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

ML之LiR&2PolyR:使用線性回歸LiR、二次多項(xiàng)式回歸2PolyR模型在披薩數(shù)據(jù)集上擬合(train)、價(jià)格回歸預(yù)測(test)

?

?

?

目錄

輸出結(jié)果

設(shè)計(jì)思路

核心代碼


?

?

?

輸出結(jié)果

?

?

設(shè)計(jì)思路

?

核心代碼

poly2 = PolynomialFeatures(degree=2) X_train_poly2 = poly2.fit_transform(X_train)r_poly2 = LinearRegression() r_poly2.fit(X_train_poly2, y_train) poly2 = r_poly2.predict(xx_poly2) class PolynomialFeatures(BaseEstimator, TransformerMixin):"""Generate polynomial and interaction features.Generate a new feature matrix consisting of all polynomial combinationsof the features with degree less than or equal to the specified degree.For example, if an input sample is two dimensional and of the form[a, b], the degree-2 polynomial features are [1, a, b, a^2, ab, b^2].Parameters----------degree : integerThe degree of the polynomial features. Default = 2.interaction_only : boolean, default = FalseIf true, only interaction features are produced: features that areproducts of at most ``degree`` *distinct* input features (so not``x[1] ** 2``, ``x[0] * x[2] ** 3``, etc.).include_bias : booleanIf True (default), then include a bias column, the feature in whichall polynomial powers are zero (i.e. a column of ones - acts as anintercept term in a linear model).Examples-------->>> X = np.arange(6).reshape(3, 2)>>> Xarray([[0, 1],[2, 3],[4, 5]])>>> poly = PolynomialFeatures(2)>>> poly.fit_transform(X)array([[ 1., 0., 1., 0., 0., 1.],[ 1., 2., 3., 4., 6., 9.],[ 1., 4., 5., 16., 20., 25.]])>>> poly = PolynomialFeatures(interaction_only=True)>>> poly.fit_transform(X)array([[ 1., 0., 1., 0.],[ 1., 2., 3., 6.],[ 1., 4., 5., 20.]])Attributes----------powers_ : array, shape (n_output_features, n_input_features)powers_[i, j] is the exponent of the jth input in the ith output.n_input_features_ : intThe total number of input features.n_output_features_ : intThe total number of polynomial output features. The number of outputfeatures is computed by iterating over all suitably sized combinationsof input features.Notes-----Be aware that the number of features in the output array scalespolynomially in the number of features of the input array, andexponentially in the degree. High degrees can cause overfitting.See :ref:`examples/linear_model/plot_polynomial_interpolation.py<sphx_glr_auto_examples_linear_model_plot_polynomial_interpolation.py>`"""def __init__(self, degree=2, interaction_only=False, include_bias=True):self.degree = degreeself.interaction_only = interaction_onlyself.include_bias = include_bias@staticmethoddef _combinations(n_features, degree, interaction_only, include_bias):comb = combinations if interaction_only else combinations_w_rstart = int(not include_bias)return chain.from_iterable(comb(range(n_features), i) for i in range(start, degree + 1))@propertydef powers_(self):check_is_fitted(self, 'n_input_features_')combinations = self._combinations(self.n_input_features_, self.degree, self.interaction_only, self.include_bias)return np.vstack(np.bincount(c, minlength=self.n_input_features_) for c in combinations)def get_feature_names(self, input_features=None):"""Return feature names for output featuresParameters----------input_features : list of string, length n_features, optionalString names for input features if available. By default,"x0", "x1", ... "xn_features" is used.Returns-------output_feature_names : list of string, length n_output_features"""powers = self.powers_if input_features is None:input_features = ['x%d' % i for i in range(powers.shape[1])]feature_names = []for row in powers:inds = np.where(row)[0]if len(inds):name = " ".join("%s^%d" % (input_features[ind], exp) if exp != 1 else input_features[ind] for (ind, exp) in zip(inds, row[inds]))else:name = "1"feature_names.append(name)return feature_namesdef fit(self, X, y=None):"""Compute number of output features.Parameters----------X : array-like, shape (n_samples, n_features)The data.Returns-------self : instance"""n_samples, n_features = check_array(X).shapecombinations = self._combinations(n_features, self.degree, self.interaction_only, self.include_bias)self.n_input_features_ = n_featuresself.n_output_features_ = sum(1 for _ in combinations)return selfdef transform(self, X):"""Transform data to polynomial featuresParameters----------X : array-like, shape [n_samples, n_features]The data to transform, row by row.Returns-------XP : np.ndarray shape [n_samples, NP]The matrix of features, where NP is the number of polynomialfeatures generated from the combination of inputs."""check_is_fitted(self, ['n_input_features_', 'n_output_features_'])X = check_array(X, dtype=FLOAT_DTYPES)n_samples, n_features = X.shapeif n_features != self.n_input_features_:raise ValueError("X shape does not match training shape")# allocate output dataXP = np.empty((n_samples, self.n_output_features_), dtype=X.dtype)combinations = self._combinations(n_features, self.degree, self.interaction_only, self.include_bias)for i, c in enumerate(combinations)::i]XP[ = X[:c].prod(1)return XP

?

?

?

?

總結(jié)

以上是生活随笔為你收集整理的ML之LiR2PolyR:使用线性回归LiR、二次多项式回归2PolyR模型在披萨数据集上拟合(train)、价格回归预测(test)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。