Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Creación de features

23/32
Recursos

Aportes 38

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Lo que el profesor está haciendo con la transformación de features se llama “interacción de variables” y en ocasiones eso genera mejores resultados en una regresión. Por ejemplo la venta de una casa depende del precio, pero también depende de su tamaño, entonces la interacción entre precio y tamaño suele expresarse como una multiplicación entre los valores de cada observación y ese nuevo resultado se vuelve una variable de interacción.

Explica muy bien, pero demasiada, demasiada información

¿Por qué las regresiones no necesitan de escalamiento y las clasificaciones si?

En mi caso el score fue de 0.6139028285919832, a proposito, en este video se vuelve a trabajar sin la columna gross de X.csv, el profesor ya lo habia definido en el video anterior pero no se muestra en video cuando ‘‘dropea’’ esta columna, por lo que si se vuelve a cargar el csv este va a venir con esta columna y es probable que afecte el score para bien o para mal, se pueden dar cuenta de esto si cuado hacen X.shape les arroja 4104, 8

El metodo PolynomialFeatures transforma tus datos de la forma
y = w0 + x1w1 + x1w2 a esta forma:
y = w0 + x1w1 + x2w2 + x1^2w3 + x1x2w4 + x2^2w5,
con grado 2(ecuacion cuadratica)

Recordar que es necesario eliminar las siguientes features del set de datos original:

  • worldwide_gross
  • gross

Al final trabajan así:

X = X.drop(['worldwide_gross', 'gross'], axis=1)

A mi parecer se deberá mejorar la conclusión de los vídeos. El profesor nos esta enseñando lo que NO se debe hacer, en vez de mostrar los resultados y las mejoras al modelo.

Les pasa que a veces se pierden y se llenan de informacion y no entienden un carajo? 😛 solo hay que seguir.

Una conclusión de este video: las regresiones no necesitan escalamiento, mientras que las Calsificaciones si lo necesitan

Compañeros les recomiendo el libro de 0Prediction Machines, es un buen libro para aprender y sacarle el mejor jugo a la impementacion de Machine Learning en la vida real.

Los ejercicios son muy buenos, estoy en el proceso de profundización, la temática es muy interantes

El score segun los comentarios hechos por el profesor en videos anteriores no es tan malo pero si se puede mejorar.

                          Lasso())

model_poly.fit(x_train, y_train)
model_poly.score(x_test, y_test)
0.6021577653493072```

El polynomial features en mi caso si me aumento el score de 0.58 a 0.63, yo removi las peliculas duplicadas del dataset que son como unas 40 o 50, que se agregan cuando se hizo el join.

Muy bien explicado 😃

Try this 🤠:

%%html
<marquee style='width: 30%; color: blue;'>
  <b># 🎮**Los modelos de regresión NO se ven afectados por el escalamiento de las features. Los de clasificación SÍ.**!</b>
  </marquee>```

Buena explicación, la temática lo que es es densa.

Con el método de polinomio tuve un R2 de:
0.5686721853818714
Un poco mejor que el anterior.

¿Por qué me da de esta forma los predic del último modelo? El del R2 super malo

¿Qué hace trasnformer.fit(A)?

¿Los grados y multiplicación de nuestros features (A1,A2) está determinado por el triángulo de pascal?
El (A1^2,A1*A2,A2^2) me recuerda mucho al cuadrado de binomio

Con los datos que tomo mi modelo y al hacer el escalado me diern resultados muy buenos y muy diferentes a los de Juan Pablo

<print(model.score(X_test,y_test))
print(model_scaled.score(X_test_scaled,y_test))>

1.0
0.9999999769594164

  • El algoritmo de reescaladores tienen un impacto importante en los modelos clasificadores.

Los modelos de regresión no se ven afectados por el escalamiento de las features. Los de clasificación sí.

Excelente explicacion para la creacion de features

¿¿¿ Porqué se entrena como scaler.fit(X_train) y no scaler.fit(X_train,y_train) ???

¿¿Los promedios de ‘scaler.mean_’ deben coincidir con los promedios que se muestran en X.describe() ??

A mi me ha mejorado el Score un poco como ha dicho el profe … 😃 … ?

![](

Muy denso el contenido!!!

Me resulta un score de: 0.8741707058082381

No encontré el archivo de CSV para hacer el ejemplo y no hemos podido seguir la clase, muchos, lastima.

mis resultados

model_scaled.score(X_test,Y_test)
0.573389920757561
model_poly.score(X_test, Y_test)
0.6179529472925005

Mis resultados:

model.score(X_test,y_test)
0.5747019917456441

model_poly.score(X_test,y_test)
0.6301178521606629

De esta forma pude importar el archivo de excel x.csv desde mi computador:

# Escalamiento de los datos
%matplotlib inline
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from google.colab import files
uploaded = files.upload()
# Suben el archivo desde el computador.
import io


from sklearn.model_selection import train_test_split


X = pd.read_csv(io.BytesIO(uploaded['x.csv']))
X.head()


from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaler.fit(X_train)


scaler.mean_

scaler.scale_

X.values

scaler.transform(X_train)

X_train_scaled, X_test_scaled = (scaler.transform(X_train), scaler.transform(X_test))

from sklearn.linear_model import Lasso
model = Lasso()
model_scaled = Lasso()
model.fit(X_train,y_train)
model_scaled.fit(X_train_scaled,y_train)


print(model.score(X_test,y_test))
print(model_scaled.score(X_test_scaled,y_test))

# Simplificar las transformaciones con pipelines
from sklearn.pipeline import make_pipeline
model_scaled = make_pipeline(StandardScaler(),Lasso())
model_scaled.fit(X_train,y_train)

print(model_scaled.score(X_test,y_test))

# Crear nuevas features de forma automática
A = np.arange(6).reshape(3, 2)
A


from sklearn.preprocessing import PolynomialFeatures
transformer = PolynomialFeatures(2)
transformer.fit_transform(A)#Se aplica la transformada de una matriz


X.shape

transformer = PolynomialFeatures(2)
transformer.fit_transform(X).shape

model_poly = make_pipeline(PolynomialFeatures(2),Lasso())
model_poly.fit(X_train,y_train)
model_poly.score(X_test,y_test)```

PolynomialFeatures aumento mi score de 0.88 a 0.90

¿Cuál es la aplicación conceptual de PolynomialFeatures()? No alcanzo a comprender qué es lo que hace que pueda ayudarnos a mejorar el score del modelo.