6
私の目標は、いくつかのデータを多項式関数に当てはめ、当てはめられたパラメータ値を含む実際の方程式を得ることです。多項式近似から方程式を抽出するにはどうすればよいですか?
私はthis exampleを私のデータに適用しました。結果は期待通りです。
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import Ridge
from sklearn.preprocessing import PolynomialFeatures
from sklearn.pipeline import make_pipeline
x = np.array([0., 4., 9., 12., 16., 20., 24., 27.])
y = np.array([2.9,4.3,66.7,91.4,109.2,114.8,135.5,134.2])
x_plot = np.linspace(0, max(x), 100)
# create matrix versions of these arrays
X = x[:, np.newaxis]
X_plot = x_plot[:, np.newaxis]
plt.scatter(x, y, label="training points")
for degree in np.arange(3, 6, 1):
model = make_pipeline(PolynomialFeatures(degree), Ridge())
model.fit(X, y)
y_plot = model.predict(X_plot)
plt.plot(x_plot, y_plot, label="degree %d" % degree)
plt.legend(loc='lower left')
plt.show()
は、しかし、私は今、それぞれのフィットの実際の方程式とフィットしたパラメータ値を抽出するために知っていない:
は、ここに私のコードです。実際に適合した式にはどこでアクセスできますか?
EDIT:
変数model
は、以下の属性を有する:
model.decision_function model.fit_transform model.inverse_transform model.predict model.predict_proba model.set_params model.transform
model.fit model.get_params model.named_steps model.predict_log_proba model.score model.steps
model.get_params
は、所望のパラメータを格納しません。
素晴らしいです。私の意見では、隠された種類。私はそれをupvoteし、後でそれを受け入れる。 – Cleb
scikit-learnは統計学習用のライブラリではなく、機械学習用のライブラリであるため、隠されています。一般に、機械学習はモデルのパラメータではなく、モデルの出力に焦点を合わせます。この分裂の古典的な議論については、[統計モデリング:2つのカルチャー](https://projecteuclid.org/euclid.ss/1009213726)を参照してください。 – jakevdp
リンクありがとうございます!この種のパラメータ推定にscikit-learnを使用するか、それとももっと適切なものがありますか?私は欲しいと思っています。負の値を避けるために、このモジュールをどの程度簡単に使用できるかはわかりません。 – Cleb