Regresión Lineal simple
Importamos las librerías que vamos a utilizar
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
Importamos nuestro datataset
dataset = pd.read_csv('/datasets/salarios/salarios.csv')
print(dataset.head)
<bound method NDFrame.head of Aexperiencia Salario
0 10.0 42500
1 8.0 36302
2 5.4 35000
3 2.5 18103
4 1.0 15000
5 8.0 37000
6 4.0 26300
7 6.0 35201
8 2.0 18302
9 10.0 42000
10 4.0 27000
11 7.0 35201
12 3.0 19201
13 5.0 28000
14 2.0 17000
15 5.0 33402
16 3.0 19000
17 2.0 18200
18 3.0 19000
19 2.0 17301
20 5.0 28000
21 3.4 20000
22 5.3 27900
23 2.1 17500
24 9.2 40000
25 10.0 42500
26 3.2 18300
27 10.0 40000
28 4.0 25000
29 1.0 15000>
dataset.shape
Entrenando a nuestro modelo
x = dataset.iloc[:, :-1].values
y = dataset.iloc[:, 1].values
X_train, X_test, Y_train, Y_test = train_test_split(x, y, test_size=0.2, random_state=0)
lr = LinearRegression()
lr.fit(X_train, Y_train)
Visualizacion de los datos
Datos de entrenamiento
# Primero debemos pasarlo los puntos de nuestro dataset, en este caso los de entrenamiento
plt.scatter(X_train, Y_train, color='blue')
# Ahora vamos a trazar la linea que pasa por el medio de estos datos, la regresion lineal
plt.plot(X_train, lr.predict(X_train), color='black')
# Colocamos el titulo de la grafica y los de cada eje
plt.title('Salario vs Experiencia (train)')
plt.xlabel('Experiencia')
plt.ylabel('Salario')
# Mostramos nuestra grafica
plt.show()
Datos de prueba
# Primero debemos pasarlo los puntos de nuestro dataset, en este caso los de entrenamiento
plt.scatter(X_test, Y_test, color='red')
# Ahora vamos a trazar la linea que pasa por el medio de estos datos, la regresion lineal
plt.plot(X_train, lr.predict(X_train), color='blue')
# Colocamos el titulo de la grafica y los de cada eje
plt.title('Salario vs Experiencia (test)')
plt.xlabel('Experiencia')
plt.ylabel('Salario')
# Mostramos nuestra grafica
plt.show()
lr.score(X_test, Y_test)