[Pythonの]機械学習単変量線形回帰演習(計算コスト関数)

注意:エクササイズマシンはアンドリュー・ウから学びます

 

翻訳されたトピック:

(記事最も下のデータは)あなたは他の都市に支店を開きたい、レストランのオーナーですので、あなたには、いくつかのデータを取得し、データが別の都市人口と都市によって引き起こされる利益に含まれています。最初の列は、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
ex1data1.txt

 

おすすめ

転載: www.cnblogs.com/qinyuguan/p/11622051.html