量子化の単純な線形回帰への機械学習(コード用) - - 機械学習、単純な線形回帰(+ +コードとの原則は、アルゴリズムの記述を達成するために)

最小二乗法:

  機械学習 - 簡単な線形回帰(派生+ +コードの原則説明したアルゴリズムを実装します)

 

ベクタ・コードは実装しています。

  単に動作ベクターを用いて最小二乗法のために計算された分子分母ことを意味し、大幅に改善されるようにパフォーマンス

  ブログその19との間の差、コードの20行。

1  クラスSimpleLinearRegression2:
 2      DEF  __init__ (自己):
 3          "" " 単純な線形回帰モデルを初期化する""" 
4。          self.a_ = なし
 5。          self.b_ = なし
 6。          A及びパラメータBがユーザによって送信されない、誘導され結果
7。      x_trainのy_trainと所望のデータが無用である後に得られたパラメータをトレーニング、トレーニングを提供するように設計されている
8。 
9。     DEF フィット(セルフ、x_train、y_train):
 10          「」 " トレーニングデータセットx_train、y_trainトレーニング単純な線形回帰モデル"" " 
11          アサート x_train.ndim == 1 、\
 12              "単純な線形回帰は、単純な機能訓練データ解くことができる" 
13          アサート LEN(x_train)== \においてlen(y_train)を
 14              " x_trainのサイズはy_trainの大きさと等しくなければならない
15          算法实现代码
16          x_mean = NP。平均(x_train)
 17          y_mean = np.mean(y_train)
 18  
19          NUM =(x_train - x_mean).DOT(y_train - y_mean)
 20          D =(x_train - x_mean).DOT(x_train - x_mean)
 21  
22          self.a_ = NUM / D
 23          self.b_ = y_mean - self.a_ *x_mean
 24  
25          戻り自己
 26は、     
27      DEF :(セルフ、x_predict)を予測
 28          "" " の結果のベクトルを返しx_predict x_predict、予測されるように設定された所定のデータの""" 
29          アサート。== x_predict.ndim 1 \
 30              " 単純な直線を機能は、SINGLEことができる唯一の回帰トレーニングデータを解き" 
31で         アサート self.a_ IS  なし self.b_はありません ない\、なし
 32              " の前にフィット予測しなければならない
33で 
34で         返す([self._predict(X)np.array以下のために X x_predict])
 35  
36      DEFの_predict(セルフ、x_single):
 37 [          "" " 予測x_singleのx_singleリターン予測結果値に単一のデータを与えられた""" 
38である         リターン self.a_ x_single * + self.b_
 39  
40      DEFの __repr__ (セルフ):
 41は、         リターン " )(SimpleLinearRegression1 "


その中にそのjupyterノートの性能を確認します。

  REG1は、線形回帰ループを計算するためのアルゴリズムを用いて表されます。

  REG2は、線形回帰アルゴリズムのベクトルを用いて表現されます

  営業成績から、我々は大幅に向上した性能のためにそのベクトルの方法を見ることができます。

  

 

おすすめ

転載: www.cnblogs.com/miaoqianling/p/11423594.html