0% ont trouvé ce document utile (0 vote)
17 vues5 pages

2nd Project Notes

Le document traite de l'utilisation de masques pour filtrer des données, de la création de modèles de régression avec des pipelines, et de la visualisation de données à l'aide de graphiques variés. Il aborde également des concepts clés comme le leakage, les valeurs manquantes, la cardinalité et la multicolinéarité. Enfin, il présente des exemples de représentation graphique, y compris des régressions linéaires et des graphiques en 3D.

Transféré par

Fernand Niyirema
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
17 vues5 pages

2nd Project Notes

Le document traite de l'utilisation de masques pour filtrer des données, de la création de modèles de régression avec des pipelines, et de la visualisation de données à l'aide de graphiques variés. Il aborde également des concepts clés comme le leakage, les valeurs manquantes, la cardinalité et la multicolinéarité. Enfin, il présente des exemples de représentation graphique, y compris des régressions linéaires et des graphiques en 3D.

Transféré par

Fernand Niyirema
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd

* Use of masks

-retenir certains strings contenant des séquences particulières


-retenir des elts avec une certaine valeur(=="apart"), mask
-retenir des elts avec une ccertaine valeur numérique, mask

-enlever les outliers en utilisant les quantiles(0.1 & 0.9) et


.between et la technique de tuple unpacking. Cette technique génère un mask
également

* Usage de
- Histogramme: montrer la fréquence de distrubution d'une valeur numérique, 1 seul
argumznt(df["column"])
- Scatter: représenter 2 variables numériques et montrer la corrélation entre
elles, 2 arguments
- Bar chart: représenter les fréquences des valeurs d'une variable catégorielle, 1
seul argument(df["column"])
- Plot: pour représenter notre baseline model, qui est une droite // à X, 2
arguments(X_train, y_pred_baseline)

* Création du modèle, avec pipeline:


from sklearn.pipeline import Pipeline, make_pipeline
model = make_pipeline(
SimpleImputer(),
LinearRegression()
)
* In this example, we only used linear regression: #While communicating
-coefficient = round(model.coef_[0], 2) #[0] because it is the first one and a
simple model,
-intercept = round(model.intercept_, 2)

But when we use more than linear regression( e.g. One Hot Encoder & Simple Imputer
included), we do it like this:
-intercept = model.named_steps["ridge"].intercept_
-coefficients = model.named_steps["ridge"].coef_ #A list of coefficients
-feat_imp = pd.Series(coefficients, index=feature_names) #Pour des questions de
représentation
feat_imp.head()
-for f, c in feat_imp.items(): #for onscreen printing of those values
print(f"+ ({round(c, 2)} * {f})")

One Hot Encoder: OneHotEncoder(use_cat_names=True),


L'argument c'est pour garder les noms des valeurs de la variable
catégorielle
Sinon OHE attribue par défaut des nouvelles valeurs aux anciennes
valeurs
SimpleImputer: Pour remplir les valeurs numériques manquantes avec la moyenne

LinearRegression et Ridge: Ridge remplace linearRegression en cas d'overfitting

* Création du modèle de prédiction:


model= make_pipeline(
linearregression(),
ridge(),
onehotencodeer(use_cat_names=True)
)
Fit the model to our datas: model.fit(X_train, y_train)

Predict our wanted value: y_pred_trainning= model.predict(X_train)


* Certains concepts:
-leakage: données présents avant prédiction alors qu'on devrait les avoir
après prédiction
ces features n'aident pas dans la construction de notre modèle car
ils sont calculés à partir
du target vector(e.g. prix_par_m2)
-Missing Values NaN: Dropping columns with 50% of the index missing values in
that column
-Cardinality: Dealing with low and high cardinality categorical variables
_Low cardinality: 2 or less unique values
_High cardinality: Too much unique values
-Multicollinearity: Features collinéaires entre eux. Ce qui déstabilise notre
modèle

* Représentation par Graphique:


1) Représentation simple d'une regression linéaire
plt.plot(X_train.values, model.predict(X_train), color="magenta", label="Linear
Model")
plt.scatter(X_train, y_train)
plt.xlabel("surface covered [sq meters]")
plt.ylabel("price [usd]")
plt.legend();

2) Répresentation en 3 dimensions avec un plan


# Create 3D scatter plot
fig = px.scatter_3d(
df,
x="lon",
y="lat",
z="price_aprox_usd",
labels={"lon": "longitude", "lat": "latitude", "price_aprox_usd": "price"},
width=600,
height=500,
)

# Create x and y coordinates for model representation, représenter ces cordonnées


sur le graphe
x_plane = np.linspace(df["lon"].min(), df["lon"].max(), 10)
y_plane = np.linspace(df["lat"].min(), df["lat"].max(), 10)
xx, yy = np.meshgrid(x_plane, y_plane)

# Use model to predict z coordinates, pour la prédiction de notre prix en fonction


de longitude(X) et latitude(y)
z_plane = model.predict(pd.DataFrame({"lon": x_plane, "lat": y_plane}))
zz = np.tile(z_plane, (10, 1))

# Add plane to figure


fig.add_trace(go.Surface(x=xx, y=yy, z=zz))

# Refine formatting
fig.updMAM#�=##����������ʙ��#�ɨ��
Ⱥ�����������������#�������ɨ��#���ʨ��
�������ʧ��
�������ʧ������#���̸������ʸ��˨��̨
��
�ˠɸ��ɸ˛����###############�x#
#####�#�####�� ######�#�####�����##�����#�#����x###�p��w#�#�����##
�����###���#�####���{####�################��-�##
ߏ�Z�5H � � � &K"Q=� � 2m#� � 'C#� � #[� � M� #s"� � B� ##
`�2#B�k#�H�@i#
��Q �7�_�8�{�=�s��|Y��n���#���_5ԛ#Q�#

Vous aimerez peut-être aussi