0

Graphlab フレームワークを使用して、Python で座標降下を使用してなげなわ回帰を実行するコードを実行しようとしています。

私が書いたコードは次のとおりです。

l1_penalty = 1.4e8
ro = []
for i in range(0,3):
    ro.append((simple_feature_matrix[:,i]*
              (output - prediction + weights[i]*[simple_feature_matrix[:,i]])).sum()
             )
    print ro
    if i == 0:
        weights[i] = ro[i]
    elif ro[i] < -l1_penalty/2.:
        weights[i] = ro[i] + l1_penalty/2
    elif -l1_penalty/2 <= ro[i] <= l1_penalty/2:
        weights[i] = 0
    elif ro[i] > l1_penalty/2:
        weights[i] = ro[i] - l1_penalty/2
    print weights
    print

outputpredictionweights、およびsimple_feature_matrixすべて numpy 行列です。

私は、居住地の平方フィートなどの特定の機能に基づいて、特定の地域の住宅販売価格を持つデータセットに取り組んでいます.

simple_feature_matrixこれらの機能のうちの 2 つだけを含む売上の numpy マトリックスです。
output「価格」だけの行列です。
prediction関数を使用して計算した予測価格の行列です。
weightsに含まれる 2 つの機能の重みを持つ行列ですsimple_feature_matrix

このコードを 1 回実行すると出力が得られますが、同じカーネルで 2 回目に実行すると、次のエラーが表示 されます。

<somepath>/Anaconda2/<somedirectories>/ipykernel/__main__.py:4:Depreciation Warning: using a non-integer number instead of an integer will result in an error in the future.
------------------------------------------------------------------------
Memory Error         Traceback (most recent call last)

<ipython-input-11-15979f5790d6> in <module>()
      2 ro = []
      3 for i in range(0,3):
--->  4     ro.append((simple_feature_matrix[:,i]*(output - prediction + weights[i]*[simple_feature_matrix[:,i]])).sum())
      5     print ro
      6     if i == 0:

MemoryError:

これ以上の説明はありません。メモリ エラーがあると表示されるだけです。なぜこれが起こるのか誰か説明できますか?

4

0 に答える 0