今日は、多項式回帰とパイプラインの適用について簡単に説明します。
線形回帰について学ぶ前に、線形回帰の仮定は、データに線形関係があることです。すべてのデータに線形関係があるわけではありません。特徴に対して次元アップ処理を実行し、それを多項式回帰に変換できる回帰を使用したいと考えています。
1.多項式回帰
従属変数と1つ以上の独立変数の間の多項式の回帰分析方法に関する研究は、多項式回帰(Polynomial Regression)と呼ばれます。多項式回帰は、回帰係数が回帰係数に対して線形であるタイプの線形回帰モデルです。独立変数xと従属変数yの間の関係は、次数nの多項式としてモデル化されます。
二、パイプライン
モデリングにsklearnを使用する場合、単純なデータ処理、機能処理、およびパイプラインフォームへのモデリングを検討できます。このとき、パイプライン機能を使用します。
パイプラインはこれらすべてのステップをまとめます。パラメータはリストに渡され、リストの各要素はパイプラインのステップです。各要素はタプルであり、タプルの最初の要素は名前(文字列)で、2番目の要素はインスタンス化です。
第三に、コード実装プロセス
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import StandardScaler
poly_reg =Pipeline([('poly',PolynomialFeatures(degree=2)),
('scalar',StandardScaler()),
('lr_reg',LinearRegression())]
)
poly_reg.fit(X,y)
y_predict = poly_reg.predict(X)
plt.scatter(x, y)
plt.plot(np.sort(x), y_predict[np.argsort(x)], color='r')
plt.show()
4、偏差と分散
モデル誤差=偏差+分散+不可避誤差(ノイズ)。一般的に、モデルの複雑さが増すにつれて、分散は徐々に増加し、偏差は徐々に減少します。
偏差(bias):偏差衡量了模型的预测值与实际值之间的偏离关系。例如某模型的准确度为96%,则说明是低偏差;反之,如果准确度只有70%,则说明是高偏差。
方差(variance):方差描述的是训练数据在不同迭代阶段的训练模型中,预测值的变化波动情况(或称之为离散情况)。从数学角度看,可以理解为每个预测值与预测均值差的平方和的再求平均数。通常在模型训练中,初始阶段模型复杂度不高,为低方差;随着训练量加大,模型逐步拟合训练数据,复杂度开始变高,此时方差会逐渐变高。
偏差と分散のトレードオフの関係:偏差と分散を完全に回避することはできず、その影響は最小限に抑えることができます。主な課題は分散です。高分散を処理する一般的な方法は次のとおりです。
降低模型复杂度
减少数据维度;降噪
增加样本数
使用验证集
正则化
完全なコード
参照記事:https : //mp.weixin.qq.com/s/KnOZ2mK15G1w9fRZCVHJmQ
https://mp.weixin.qq.com/s/K_4DH7BC7jIF2-ltHBWGmA