First commit

This commit is contained in:
Dib, Gerges
2018-02-23 17:16:58 -08:00
commit 1239a1d937
92 changed files with 14734 additions and 0 deletions

97
Exercise1/Data/ex1data1.txt Executable file
View File

@@ -0,0 +1,97 @@
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

47
Exercise1/Data/ex1data2.txt Executable file
View File

@@ -0,0 +1,47 @@
2104,3,399900
1600,3,329900
2400,3,369000
1416,2,232000
3000,4,539900
1985,4,299900
1534,3,314900
1427,3,198999
1380,3,212000
1494,3,242500
1940,4,239999
2000,3,347000
1890,3,329999
4478,5,699900
1268,3,259900
2300,4,449900
1320,2,299900
1236,3,199900
2609,4,499998
3031,4,599000
1767,3,252900
1888,2,255000
1604,3,242900
1962,4,259900
3890,3,573900
1100,3,249900
1458,3,464500
2526,3,469000
2200,3,475000
2637,3,299900
1839,2,349900
1000,1,169900
2040,4,314900
3137,3,579900
1811,4,285900
1437,3,249900
1239,3,229900
2132,4,345000
4215,4,549000
2162,4,287000
1664,2,368500
2238,3,329900
2567,4,314000
1200,3,299000
852,2,179900
1852,4,299900
1203,3,239500

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

BIN
Exercise1/Figures/dataset1.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

1307
Exercise1/exercise1.ipynb Executable file

File diff suppressed because it is too large Load Diff

48
Exercise1/utils.py Executable file
View File

@@ -0,0 +1,48 @@
import numpy as np
import sys
sys.path.append('..')
from submission import SubmissionBase
class Grader(SubmissionBase):
X1 = np.column_stack((np.ones(20), np.exp(1) + np.exp(2) * np.linspace(0.1, 2, 20)))
Y1 = X1[:, 1] + np.sin(X1[:, 0]) + np.cos(X1[:, 1])
X2 = np.column_stack((X1, X1[:, 1]**0.5, X1[:, 1]**0.25))
Y2 = np.power(Y1, 0.5) + Y1
def __init__(self):
part_names = ['Warm up exercise',
'Computing Cost (for one variable)',
'Gradient Descent (for one variable)',
'Feature Normalization',
'Computing Cost (for multiple variables)',
'Gradient Descent (for multiple variables)',
'Normal Equations']
super().__init__('linear-regression', part_names)
def __iter__(self):
for part_id in range(1, 8):
try:
func = self.functions[part_id]
# Each part has different expected arguments/different function
if part_id == 1:
res = func()
elif part_id == 2:
res = func(self.X1, self.Y1, np.array([0.5, -0.5]))
elif part_id == 3:
res = func(self.X1, self.Y1, np.array([0.5, -0.5]), 0.01, 10)
elif part_id == 4:
res = func(self.X2[:, 1:4])
elif part_id == 5:
res = func(self.X2, self.Y2, np.array([0.1, 0.2, 0.3, 0.4]))
elif part_id == 6:
res = func(self.X2, self.Y2, np.array([-0.1, -0.2, -0.3, -0.4]), 0.01, 10)
elif part_id == 7:
res = func(self.X2, self.Y2)
else:
raise KeyError
yield part_id, res
except KeyError:
yield part_id, 0