Vous êtes sur la page 1sur 12

23/07/2023 16:24 Projet G5

Groupe 5

In [ ]: #Importation des bibliothèques nécéssaires


import pandas as pd
import matplotlib as plt
import numpy as np

In [ ]: # Charger les données à partir du fichier CSV


df = pd.read_csv(r"C:\Users\Asus\Desktop\TP\Data\Cellphone.csv")

In [ ]: df.head()

Out[ ]: cpu cpu internal


Product_id Price Sale weight resoloution ppi ram RearC
core freq mem

0 203 2357 10 135.0 5.2 424 8 1.35 16.0 3.000 13

1 880 1749 10 125.0 4.0 233 2 1.30 4.0 1.000 3

2 40 1916 10 110.0 4.7 312 4 1.20 8.0 1.500 13

3 99 1315 11 118.5 4.0 233 2 1.30 4.0 0.512 3

4 880 1749 11 125.0 4.0 233 2 1.30 4.0 1.000 3

In [ ]: # Vérifier le nombre de lignes et de colonnes


print("Nombre de lignes :", df.shape[0])
print("Nombre de colonnes :", df.shape[1])

Nombre de lignes : 161


Nombre de colonnes : 14

La base Cellphone est composée de 14 colonnes et de 161 lignes. La première colonne


product_id montre l'identifiant du téléphone et les autres affichent ses caractéristiques
telles que le prix (price), le poids, la mémoire (ram)...

In [ ]: # Examiner les types de données de chaque variable


print(df.dtypes)

Product_id int64
Price int64
Sale int64
weight float64
resoloution float64
ppi int64
cpu core int64
cpu freq float64
internal mem float64
ram float64
RearCam float64
Front_Cam float64
battery int64
thickness float64
dtype: object

Toutes les colonnes de la base Cellphone comportent des données numériques.

file:///C:/Users/Asus/Desktop/TP/Projet G5.html 1/12


23/07/2023 16:24 Projet G5

In [ ]: # Vérifier s'il y a des valeurs manquantes


print("Nombre de valeurs manquantes par variable :")
print(df.isnull().sum())

Nombre de valeurs manquantes par variable :


Product_id 0
Price 0
Sale 0
weight 0
resoloution 0
ppi 0
cpu core 0
cpu freq 0
internal mem 0
ram 0
RearCam 0
Front_Cam 0
battery 0
thickness 0
dtype: int64

La base de données ne comporte aucune valeur manquante.

In [ ]: # Calculer les statistiques descriptives


print("Statistiques descriptives :")
print(df.describe())

Statistiques descriptives :
Product_id Price Sale weight resoloution
count 161.000000 161.000000 161.000000 161.000000 161.000000 \
mean 675.559006 2215.596273 621.465839 170.426087 5.209938
std 410.851583 768.187171 1546.618517 92.888612 1.509953
min 10.000000 614.000000 10.000000 66.000000 1.400000
25% 237.000000 1734.000000 37.000000 134.100000 4.800000
50% 774.000000 2258.000000 106.000000 153.000000 5.150000
75% 1026.000000 2744.000000 382.000000 170.000000 5.500000
max 1339.000000 4361.000000 9807.000000 753.000000 12.200000

ppi cpu core cpu freq internal mem ram


count 161.000000 161.000000 161.000000 161.000000 161.000000 \
mean 335.055901 4.857143 1.502832 24.501714 2.204994
std 134.826659 2.444016 0.599783 28.804773 1.609831
min 121.000000 0.000000 0.000000 0.000000 0.000000
25% 233.000000 4.000000 1.200000 8.000000 1.000000
50% 294.000000 4.000000 1.400000 16.000000 2.000000
75% 428.000000 8.000000 1.875000 32.000000 3.000000
max 806.000000 8.000000 2.700000 128.000000 6.000000

RearCam Front_Cam battery thickness


count 161.000000 161.000000 161.000000 161.000000
mean 10.378261 4.503106 2842.111801 8.921739
std 6.181585 4.342053 1366.990838 2.192564
min 0.000000 0.000000 800.000000 5.100000
25% 5.000000 0.000000 2040.000000 7.600000
50% 12.000000 5.000000 2800.000000 8.400000
75% 16.000000 8.000000 3240.000000 9.800000
max 23.000000 20.000000 9500.000000 18.500000

file:///C:/Users/Asus/Desktop/TP/Projet G5.html 2/12


23/07/2023 16:24 Projet G5

Ces statistiques nous permettent de mieux comprendre la distribution et la variation des


valeurs pour chaque variable. elles affichent des caractéristiques de tendance centrale
comme la moyenne et les médiane. Elles montrent aussi les quartiles et les extreme de
chaque variable. Concernant le prix des téléphones, nous observons une moyenne de
2215.60, avec un écart-type de 768.19. Cela suggère que les prix varient
considérablement autour de la moyenne, indiquant une diversité de gammes de prix
parmi les téléphones étudiés. Le prix minimum de 614 et le prix maximum de 4361
mettent en évidence la fourchette de prix dans laquelle se situent les téléphones de
notre échantillon.Par ailleurs 75% des téléphones coutent au plus 2744. En ce qui
concerne les spécifications techniques des téléphones, nous constatons que la capacité
de la batterie présente une moyenne de 2842.11, avec un écart-type de 1366.99. Cela
révèle une grande variabilité dans la capacité des batteries des téléphones étudiés, allant
de 800 à 9500. De même, les caractéristiques telles que la résolution de l'appareil photo,
la RAM et le poids montrent également une variation significative.

In [ ]: # Explorer la corrélation entre les variables


correlation_matrix = df.corr()
print("Matrice de corrélation :")
print(correlation_matrix)

file:///C:/Users/Asus/Desktop/TP/Projet G5.html 3/12


23/07/2023 16:24 Projet G5

Matrice de corrélation :
Product_id Price Sale weight resoloution ppi
Product_id 1.000000 0.165136 0.218548 0.035869 -0.017817 0.207271 \
Price 0.165136 1.000000 0.273263 0.144555 0.404010 0.817614
Sale 0.218548 0.273263 1.000000 0.016114 0.017154 0.235896
weight 0.035869 0.144555 0.016114 1.000000 0.890416 -0.054683
resoloution -0.017817 0.404010 0.017154 0.890416 1.000000 0.181292
ppi 0.207271 0.817614 0.235896 -0.054683 0.181292 1.000000
cpu core -0.008634 0.686811 0.069517 0.216257 0.472226 0.487990
cpu freq 0.092428 0.727383 0.099133 0.222730 0.505454 0.713168
internal mem 0.261186 0.776738 0.489308 0.098849 0.202660 0.618560
ram 0.236194 0.896915 0.373127 0.149283 0.327216 0.748724
RearCam 0.172812 0.739538 0.292164 -0.029448 0.249892 0.774008
Front_Cam 0.071020 0.675286 0.437233 -0.005971 0.202720 0.491371
battery 0.031745 0.559946 0.120338 0.833783 0.843462 0.302517
thickness 0.039807 -0.716773 -0.047991 -0.185262 -0.533708 -0.496791

cpu core cpu freq internal mem ram RearCam Front_Cam


Product_id -0.008634 0.092428 0.261186 0.236194 0.172812 0.071020 \
Price 0.686811 0.727383 0.776738 0.896915 0.739538 0.675286
Sale 0.069517 0.099133 0.489308 0.373127 0.292164 0.437233
weight 0.216257 0.222730 0.098849 0.149283 -0.029448 -0.005971
resoloution 0.472226 0.505454 0.202660 0.327216 0.249892 0.202720
ppi 0.487990 0.713168 0.618560 0.748724 0.774008 0.491371
cpu core 1.000000 0.491519 0.276251 0.483128 0.611353 0.586698
cpu freq 0.491519 1.000000 0.441400 0.633547 0.625104 0.358319
internal mem 0.276251 0.441400 1.000000 0.875354 0.451917 0.555733
ram 0.483128 0.633547 0.875354 1.000000 0.648073 0.647470
RearCam 0.611353 0.625104 0.451917 0.648073 1.000000 0.596374
Front_Cam 0.586698 0.358319 0.555733 0.647470 0.596374 1.000000
battery 0.459728 0.473137 0.461506 0.541001 0.287821 0.295283
thickness -0.697935 -0.614458 -0.367412 -0.521074 -0.550998 -0.493542

battery thickness
Product_id 0.031745 0.039807
Price 0.559946 -0.716773
Sale 0.120338 -0.047991
weight 0.833783 -0.185262
resoloution 0.843462 -0.533708
ppi 0.302517 -0.496791
cpu core 0.459728 -0.697935
cpu freq 0.473137 -0.614458
internal mem 0.461506 -0.367412
ram 0.541001 -0.521074
RearCam 0.287821 -0.550998
Front_Cam 0.295283 -0.493542
battery 1.000000 -0.412682
thickness -0.412682 1.000000

La variable "Price" (prix) est positivement corrélée avec les variables "Ram", "ppi", "cpu
core", "cpu freq", "internal mem", "RearCam" (caméra arrière) et "Front_Cam" (caméra
frontale). Cela suggère que ces caractéristiques ont tendance à augmenter le prix des
téléphones. La variable "Price" est négativement corrélée avec la variable "thickness"
(épaisseur). Cela suggère que les téléphones plus minces ont tendance à être plus chers.
Il y a une forte corrélation positive entre les variables "ppi" et "resoloution" (résolution
de l'appareil photo). Cela signifie que les téléphones avec une résolution d'appareil
photo plus élevée ont également une densité de pixels plus élevée. La variable "weight"

file:///C:/Users/Asus/Desktop/TP/Projet G5.html 4/12


23/07/2023 16:24 Projet G5

(poids) est positivement corrélée avec la variable "battery" (capacité de la batterie). Cela
suggère que les téléphones avec une plus grande capacité de batterie ont tendance à
être plus lourds.

In [ ]: import seaborn as sns


import matplotlib.pyplot as plt
# Calculer la matrice de corrélation
corr_matrix = df.corr()

# Tracer la matrice de corrélation sous forme de heatmap


plt.figure(figsize=(10, 8))
sns.heatmap(corr_matrix, annot=True, cmap="coolwarm")
plt.title("Matrice de corrélation")
plt.show()

In [ ]: # Tracer l'histogramme de la variable "Price"


plt.hist(df["Price"], bins=20)
plt.xlabel("Prix")
plt.ylabel("Fréquence")
plt.title("Histogramme des prix des téléphones")
plt.show()

file:///C:/Users/Asus/Desktop/TP/Projet G5.html 5/12


23/07/2023 16:24 Projet G5

In [ ]: # Tracer le diagramme de dispersion entre "Price" et "Ram"


plt.scatter(df["ram"], df["Price"])
plt.xlabel("RAM")
plt.ylabel("Prix")
plt.title("Diagramme de dispersion entre RAM et Prix")
plt.show()

file:///C:/Users/Asus/Desktop/TP/Projet G5.html 6/12


23/07/2023 16:24 Projet G5

In [ ]: # Tracer le pairplot pour certaines variables numériques


sns.pairplot(df[["Price", "ram", "battery", "thickness"]])
plt.show()

file:///C:/Users/Asus/Desktop/TP/Projet G5.html 7/12


23/07/2023 16:24 Projet G5

Dans le cadre de ce projet, nous allons formuler 3 hypothèses qu'on tentera de vérifier à
l'aide des tests statistiques.

Hypothèse 1 : Il y a une différence significative de prix entre les téléphones avec une
grande RAM (mémoire) (supérieure à la moyenne) et ceux avec une faible RAM
(inférieure ou égale à la moyenne).

In [ ]: import scipy.stats as stats


# Calculer la moyenne de la RAM (mémoire)
ram_moyenne = df["ram"].mean()

# Séparer les données en deux groupes : téléphones avec grande RAM et téléphones
telephones_grande_ram = df[df["ram"] > ram_moyenne]
telephones_petite_ram = df[df["ram"] <= ram_moyenne]

# Effectuer le test t pour comparer les prix des deux groupes


resultats_test_t = stats.ttest_ind(telephones_grande_ram["Price"], telephones_pe

# Afficher les résultats du test t


print("Résultats du test t pour l'hypothèse 1 :")
print("Statistique de test t =", resultats_test_t.statistic)
print("Valeur p =", resultats_test_t.pvalue)

file:///C:/Users/Asus/Desktop/TP/Projet G5.html 8/12


23/07/2023 16:24 Projet G5

# Interprétation des résultats


if resultats_test_t.pvalue < 0.05:
print("Il y a une différence significative de prix entre les téléphones avec
else:
print("Il n'y a pas de différence significative de prix entre les téléphones

Résultats du test t pour l'hypothèse 1 :


Statistique de test t = 13.375367567527327
Valeur p = 8.10298518502646e-28
Il y a une différence significative de prix entre les téléphones avec une grande
RAM et ceux avec une faible RAM.

Hypothèse 2 : Le prix des téléphones varie en fonction de la capacité de la batterie. Plus


la capacité de la batterie est grande, plus le prix du téléphone est élevé.

In [ ]: # Hypothèse 2 : Analyse de la variance (ANOVA) pour comparer les prix entre diff
groupe_capacite_batterie = df.groupby("battery")
resultats_anova = stats.f_oneway(*[groupe_capacite_batterie.get_group(g)["Price"

# Afficher les résultats de l'ANOVA


print("\nRésultats de l'ANOVA pour l'hypothèse 2 :")
print("Statistique de test ANOVA =", resultats_anova.statistic)
print("Valeur p =", resultats_anova.pvalue)

# Interprétation des résultats


if resultats_anova.pvalue < 0.05:
print("Il y a une différence significative de prix entre les groupes de capa
else:
print("Il n'y a pas de différence significative de prix entre les groupes de

Résultats de l'ANOVA pour l'hypothèse 2 :


Statistique de test ANOVA = 31.413534447836962
Valeur p = 6.697254049593091e-46
Il y a une différence significative de prix entre les groupes de capacité de batt
erie.

Hypothèse 3 : Il y a une corrélation positive entre le prix et la capacité de la batterie. Cela


signifie que les téléphones avec une plus grande capacité de batterie ont tendance à être
plus chers.

In [ ]: # Hypothèse 3 : Corrélation entre le prix et la capacité de la batterie


correlation_prix_batterie = df["Price"].corr(df["battery"])

# Afficher la corrélation entre le prix et la capacité de la batterie


print("\nCorrélation entre le prix et la capacité de la batterie :", correlation

# Interprétation des résultats


if correlation_prix_batterie > 0:
print("Il y a une corrélation positive entre le prix et la capacité de la ba
else:
print("Il n'y a pas de corrélation significative entre le prix et la capacit

Corrélation entre le prix et la capacité de la batterie : 0.559945689995652


Il y a une corrélation positive entre le prix et la capacité de la batterie.

Visualisation des résultats

In [ ]: # Créer un graphique à barres pour comparer les prix entre les téléphones avec g
plt.bar(["Grande RAM", "Petite RAM"], [telephones_grande_ram["Price"].mean(), te

file:///C:/Users/Asus/Desktop/TP/Projet G5.html 9/12


23/07/2023 16:24 Projet G5

plt.xlabel("RAM")
plt.ylabel("Prix moyen")
plt.title("Comparaison des prix entre les téléphones avec grande RAM et petite R
plt.show()

Le graphique ci-haut confirme le résultat du test. Il n'y a pas une différence de prix
considérable entre les téléphones qui ont une grande mémoire et ceux qui ont peu
d'espace.

In [ ]: # Créer un graphique en boîte pour comparer les prix entre les différents groupe
plt.boxplot([groupe_capacite_batterie.get_group(g)["Price"] for g in groupe_capa
labels=list(groupe_capacite_batterie.groups.keys()))
plt.xlabel("Capacité de batterie")
plt.ylabel("Prix")
plt.title("Comparaison des prix entre les différents groupes de capacité de batt
plt.show()

file:///C:/Users/Asus/Desktop/TP/Projet G5.html 10/12


23/07/2023 16:24 Projet G5

La figure montre que les prix deviennent plus élevés lorsque la capacité de la batterie
augmente.

In [ ]: # Créer un graphique de corrélation entre le prix et la capacité de la batterie


plt.scatter(df["battery"], df["Price"])
plt.xlabel("Capacité de batterie")
plt.ylabel("Prix")
plt.title("Corrélation entre le prix et la capacité de la batterie")
plt.show()

file:///C:/Users/Asus/Desktop/TP/Projet G5.html 11/12


23/07/2023 16:24 Projet G5

Il y a une corrélation positive entre la capacité de la batterie et les prix.

file:///C:/Users/Asus/Desktop/TP/Projet G5.html 12/12

Vous aimerez peut-être aussi