私は、sklearn linear_modelを使用して線形回帰結果のグラフをプロットし、statsmodels.apiを使用して学習結果の詳細サマリーを取得する予定でした。しかし、2つのパッケージは同じ入力に対して非常に異なる結果を生成します。統計モデルとsklearnで異なる線形回帰係数
たとえば、sklearnの定数項は7.8e-14ですが、statsモデルの定数項は48.6です。両方の方法のための私のコードを(両方の方法を使用したとき、私は定数項のためのxでの1の列を追加しました)succintです:
# Use statsmodels linear regression to get a result (summary) for the model.
def reg_statsmodels(y, x):
results = sm.OLS(y, x).fit()
return results
# Use sklearn linear regression to compute the coefficients for the prediction.
def reg_sklearn(y, x):
lr = linear_model.LinearRegression()
lr.fit(x, y)
return lr.coef_
入力は、ここに投稿するにはあまりにも複雑です。特異な入力xがこの問題を引き起こした可能性はありますか?
PCAを使用して3-Dプロットを作成すると、sklearnの結果は良好な近似ではないようです。いくつかの説明は何ですか?私はまだ視覚化したいので、sklearn線形回帰の実装で問題を修正することは非常に役に立ちます。