注意:エクササイズマシンはアンドリュー・ウから学びます
翻訳されたトピック:
(記事最も下のデータは)あなたは他の都市に支店を開きたい、レストランのオーナーですので、あなたには、いくつかのデータを取得し、データが別の都市人口と都市によって引き起こされる利益に含まれています。最初の列は、2番目の列は店がもたらす都市の利益の数で、市の人口の数です。
今、損失関数の、すなわち、計算、0θ0を想定し、θ1は、費用関数を算出します
まず、線形回帰式の問題は次のようになります。
H(I)= TH0 + I1 * X
単に損失の値である。この問題に、入れ、θ1の角度θ0、すなわちH(θ)= 0を見つける、0であり、
その後、我々は損失の定義を与えます:
損失、人気の用語、つまり、あなたが悪い予測値と目標値
これは、定義された損失関数J(θ)が得られます:
mは、Mのいくつかを表すデータがある、すなわちデータの総数、です。
最初のステップは、ガイドパッケージ
インポートのNPとしてnumpyの 輸入のPdとしてパンダ 輸入 PLTとしてmatplotlib.pyplot
第二段階は、データを読み出し、その後、チャートヒットを見ています:
パス= ' ex1data1.txt ' データ = pd.read_csv(パス、ヘッダ=なし、名前= [ ' 人口'、' 利益' ]) data.plot(種類 = ' 散乱'、X = ' 人口'、Y = ' 利益'、figsize =(12、8 )) plt.show()
図:
第3のステップはどのような費用関数の定義です
DEF computeCost(X、Y、シータ): 内側 = np.power(((X * theta.T) - Y)、2 ) リターン np.sum(内側)/(2 * LEN(X))
第四のステップは、データXを指摘し、サブアウトからYデータ、Xプラス1の左側一
結果は、分岐Xが2列97行である、Yは、行97で、θは2行、
費用関数が計算される行列転置行列Xの*θがコストを計算するために現実とYの値を比較することで得られた値
data.insert(0、' ワンズ'、1 ) 行 = data.shape [0] COLS = data.shape [1 ] X = data.iloc [:, 0:COLS - 1 ] Y = data.ilocの[:, COLS - 1 :COLS] シータ = np.mat(' 0,0 ' ) X = np.mat(X.values) Y = np.mat(Y.values) コスト = computeCost(X、Y、シータ) プリント(コスト)
標準の答え:
32.072733877455676
添付データセットex1data1.txt
6.1101,17.592 5.5277,9.1302 8.5186,13.662 7.0032,11.854 5.8598,6.8233 8.3829,11.886 7.4764,4.3483 8.5781,12 6.4862,6.5987 5.0546,3.8166 5.7107,3.2522 14.164,15.505 5.734,3.1551 8.4084,7.2258 5.6407,0.71618 5.3794,3.5129 6.3654、 5.3048 5.1301,0.56077 6.4296,3.6518 7.0708,5.3893 6.1891,3.1386 20.27,21.767 5.4901,4.263 6.3261,5.1875 5.5649,3.0825 18.945,22.638 12.828,13.501 10.957,7.0467 13.176,14.692 22.203,24.147 5.2524、-1.22 6.5894,5.9966 9.2482,12.134 5.8918,1.8495 8.2111,6.5426 7.9334,4.5623 8.0959,4.1164 5.6063,3.3928 12.836,10.117 6.3534,5.4974 5.4069,0.55657 6.8825,3.9115 11.708,5.3854 5.7737,2.4406 7.8247,6.7318 7.0931,1.0463 5.0702,5.1337 5.8014,1.844 11.7、 8.0043 5.5416,1.0179 7.5402,6.7504 5.3077,1.8396 7.4239,4.2885 7.6031,4.9981 6.3328,1.4233 6.3589、-1.4211 6.2742,2.4756 5.6397,4.6042 9.3102,3.9624 9.4536,5.4141 8.8254,5.1694 5.1793、-0.74279 21.279,17.929 14.908,12.054 18.959,17.054 7.2182,4.8852 8.2951,5.7442 10.236,7.7754 5.4994,1.0173 20.341,20.992 10.136,6.6799 7.3345,4.0259 6.0062,1.2784 7.2259,3.3411 5.0269、-2.6807 6.5479,0.29678 7.5386,3.8845 5.0365,5.7014 10.274,6.7526 5.1077,2.0576 5.7292 、0.47953 5.1884,0.20421 6.3557,0.67861 9.7687,7.5435 6.5159,5.3436 8.5172,4.2415 9.1802,6.7981 6.002,0.92695 5.5204,0.152 5.0594,2.8214 5.7077,1.8451 7.6366,4.2959 5.8707,7.2029 5.3054,1.9869 8.2934,0.14454 13.394,9.0551 5.4369,0.61705