| 
						
						
						
					 | 
				
				 | 
				
					@ -0,0 +1,23 @@ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import numpy as np | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import matplotlib.pyplot as plt | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					############################### | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#Datos originales | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					############################### | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					X = 2 * np.random.rand(100, 1) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					y = 4 + 3 * X + np.random.randn(100,1) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					plt.plot(X,y,".") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					############################### | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					X_b = np.c_[np.ones((100,1)), X] #Se agrega x0=1 para cada instancia | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					theta_best=np.linalg.inv(X_b.T.dot(X_b)).dot(X_b.T).dot(y) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					X_new = np.array([[0], [2]]) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					X_new_b = np.c_[np.ones((2, 1)), X_new] #Se agrega x0=1 para cada instancia | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					y_predict = X_new_b.dot(theta_best) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					plt.plot(X_new, y_predict, "r-") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					plt.plot(X, y, "b.") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					plt.axis([0, 2, 0, 15]) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					plt.show() |