Está en la página 1de 4

Ingeniería Mecatrónica

REGRESIÓN LINEAL 28-10-2020


Lenguajes de Programación
Harold Alexander Hoyos Ortega
haroldhoyos@unicomfacauca.edu.co

Resumen
Python es un lenguaje de programación interpretado
cuya filosofía hace hincapié en la legibilidad de su
código.Se trata de un lenguaje de programación multi-
paradigma, ya que soporta orientación a objetos, progra-
mación imperativa y, en menor medida, programación
funcional.

1 Introducción
Python es un lenguaje de programación de propósito
general que cada vez es más popular para hacer cien-
cia de datos. Empresas alrededor del mundo uti-
lizan Python para recolectar información de sus datos y Figure 1: Logo de pyton
obtener una ventaja competitiva. A diferencia de otros
tutoriales de Python, este curso se enfoca específica-
mente en Python para la ciencia de datos. Tambien para
aprender maneras de almacenar y manipular datos.
2 Montaje y funcionamiento
1.1 Software
Mediante la clase explicada,para la explicacion de la re-
El programa con el que se trabajó es Python. Python gresión lineal planteada en phyton se hicierón las sigu-
cuenta con facilidades para la programación orientada a ientes pasos,a continuación.
objetos, imperativa y funcional, por lo que se considera 1)
un lenguaje multi-paradigmas.Fue basado en el lenguaje
ABC y se dice que fue influenciado por otros como C, Al-
gol 60, Modula-3 e Icon según su propio autor.También
se trabajó con el programa llamada “Símbolo del Sis-
tema” con el cual se realizaron la actualización e insta-
lación de las librerías, en este caso las de “Pandas” y “xrl

1.2 Hadware
Se requirió de un computador, ya sea portátil o de mesa,
con todos sus implementos para poder hacer todos los
procesos de descargar y programación con el software
ya mencionado anteriormente y todo sin problemas.

1.3 ¿Que es python? Figure 2: Primero

Python es un lenguaje de programación interpretado de


tipado dinámico cuya filosofía hace hincapié en una sin-
taxis que favorezca un código legible. Se trata de un Obeservamos el plano carteciano que se implementa
lenguaje de programación multiparadigma y disponible X Y

1
Ingeniería Mecatrónica

Primer codigo Segundo codigo

import matplotlib.pyplot as plt # generates 1-dimensional data for linear regression


,→ analysis
lr = 1e-2 #
x1 = 5 # notes for this course can be found at:
x2 = -5 # https://deeplearningcourses.com/c/data-science-linear- c
,→ regression-in-python
def J(x1, x2): # https://www.udemy.com/data-science-linear-regression- c
return x1**2 + x2**4 ,→ in-python

def g1(x1): from __future__ import print_function, division


return 2*x1 from builtins import range
# Note: you may need to update your version of future
def g2(x2): # sudo pip install -U future
return 4*x2**3

values = []
for i in range(1000): import numpy as np
values.append(J(x1, x2))
x1 -= lr * g1(x1) N = 100
x2 -= lr * g2(x2) with open('data_1d.csv', 'w') as f:
values.append(J(x1, x2)) X = np.random.uniform(low=0, high=100, size=N)
Y = 2*X + 1 + np.random.normal(scale=5, size=N)
print(x1, x2) for i in range(N):
plt.plot(values) f.write("%s,%s\n" % (X[i], Y[i]))
plt.show()

2) Primero instalamos un comando,en la pc desde el


cmd.

3)luego de que el anterior codigo carga el archivo,lo


veremos en grafica.

Figure 3: cmd

y automaticamente al correr el programa nos arroja el


siguente ecxel.

Figure 5: Segundo

Figure 4: Segundo

2
Ingeniería Mecatrónica

Tercer codigo

# shows how linear regression analysis can be applied to


,→ 1-dimensional data
#
# notes for this course can be found at:
# https://deeplearningcourses.com/c/data-science-linear- c
,→ regression-in-python
# https://www.udemy.com/data-science-linear-regression- c
,→ in-python

from __future__ import print_function, division Figure 6: Cinco


from builtins import range
# Note: you may need to update your version of future
# sudo pip install -U future

import numpy as np
import matplotlib.pyplot as plt

# load the data


X = []
Y = []
for line in open('data_1d.csv'):
x, y = line.split(',')
X.append(float(x))
Y.append(float(y))

# let's turn X and Y into numpy arrays since that will be


,→ useful later
X = np.array(X)
Y = np.array(Y)

# let's plot the data to see what it looks like


plt.scatter(X, Y)
plt.show()

# apply the equations we learned to calculate a and b

# denominator is common
# note: this could be more efficient if
# we only computed the sums and means once
denominator = X.dot(X) - X.mean() * X.sum()
a = ( X.dot(Y) - Y.mean()*X.sum() ) / denominator
b = ( Y.mean() * X.dot(X) - X.mean() * X.dot(Y) ) / denominator

# let's calculate the predicted Y


Yhat = a*X + b

# let's plot everything together to make sure it worked


plt.scatter(X, Y)
plt.plot(X, Yhat)
plt.show()

# determine how good the model is by computing the


,→ r-squared
d1 = Y - Yhat
d2 = Y - Y.mean()
r2 = 1 - d1.dot(d1) / d2.dot(d2)
print("the r-squared is:", r2)

4)En este caso ya aprendimos a hacer matrices 3D,con


los siguentes resultados

3
Ingeniería Mecatrónica

Cuarto codigo

# shows how linear regression analysis can be applied to


,→ 2-dimensional data
#
# notes for this course can be found at:
# https://deeplearningcourses.com/c/data-science-linear- c
,→ regression-in-python
# https://www.udemy.com/data-science-linear-regression- c
,→ in-python

from __future__ import print_function, division


from builtins import range
# Note: you may need to update your version of future
# sudo pip install -U future

Figure 7: Seis
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
Y asi sabemos machine learning tiene infinitas fun-
cionalidades para aprender,mejorar y conocer diferentes
# load the data funcionalidades en la vida a corto y largo plazo
X = []
Y = []
for line in open('data_2d.csv'):
x1, x2, y = line.split(',') 3 Conclusión
X.append([float(x1), float(x2), 1]) # add the bias term
Y.append(float(y)) Aprendemos día a día conocimiento y nuevas funcional-
idades,que en un futuro desarrollar nuevos porgra-
# let's turn X and Y into numpy arrays since that will be
,→ useful later
mas.Ya que las herramientas virutales sirven para un
X = np.array(X) conocimiento amplio y autonomo,y finalmente lograr
Y = np.array(Y) saber sus funcionalidades del programa python.

# let's plot the data to see what it looks like


fig = plt.figure() References
ax = fig.add_subplot(111, projection='3d')
ax.scatter(X[:,0], X[:,1], Y)
plt.show() https://drive.google.com/open?id=1xlbmQrl9MrDn8pe5VXYj8Yptu

# apply the equations we learned to calculate a and b


# numpy has a special method for solving Ax = b
# so we don't use x = inv(A)*b
# note: the * operator does element-by-element
,→ multiplication in numpy
# np.dot() does what we expect for matrix multiplication
w = np.linalg.solve(np.dot(X.T, X), np.dot(X.T, Y))
Yhat = np.dot(X, w)

# determine how good the model is by computing the


,→ r-squared
d1 = Y - Yhat
d2 = Y - Y.mean()
r2 = 1 - d1.dot(d1) / d2.dot(d2)
print("the r-squared is:", r2)

También podría gustarte