ITSkillsCenter
Intelligence Artificielle

Tutoriel : Python pour l’IA — premiers pas

7 min de lecture

Pourquoi Python pour l’IA ?

Python est le langage de programmation numéro un pour l’intelligence artificielle. Plus de 80% des projets IA dans le monde utilisent Python. Les raisons : une syntaxe simple et lisible (idéale pour les débutants), un écosystème de bibliothèques IA inégalé (TensorFlow, PyTorch, scikit-learn, Hugging Face), et une communauté massive qui partage des tutoriels et des modèles gratuits. Ce tutoriel vous guide de l’installation de Python à votre premier programme d’IA fonctionnel.

Installation de l’environnement

# Option 1 : Installer Python sur votre ordinateur

# Windows :
1. Téléchargez Python sur python.org/downloads
2. Lancez l'installateur
3. IMPORTANT : Cochez "Add Python to PATH" ☑
4. Cliquez "Install Now"
5. Vérifiez dans le terminal (cmd) :
   python --version
   # Python 3.12.x

# macOS :
brew install python

# Linux (Ubuntu/Debian) :
sudo apt update
sudo apt install python3 python3-pip python3-venv

# Option 2 : Google Colab (rien à installer)
# Ouvrez colab.research.google.com dans votre navigateur
# Python est déjà installé avec toutes les bibliothèques IA
# → Recommandé pour les débutants !

Les bases de Python en 15 minutes

# Variables et types de données
nom = "Aminata"          # Texte (string)
age = 25                 # Nombre entier (int)
salaire = 450000.0       # Nombre décimal (float)
est_developpeur = True   # Booléen (True/False)

print(f"Bonjour {nom}, tu as {age} ans et tu gagnes {salaire:,.0f} FCFA")
# Sortie : Bonjour Aminata, tu as 25 ans et tu gagnes 450,000 FCFA

# Listes (collections d'éléments)
langages = ["Python", "JavaScript", "HTML", "CSS"]
print(langages[0])       # Python (premier élément)
print(len(langages))     # 4 (nombre d'éléments)
langages.append("SQL")   # Ajouter un élément

# Dictionnaires (clé → valeur)
etudiant = {
    "nom": "Ousmane Diop",
    "age": 22,
    "ville": "Dakar",
    "competences": ["Python", "Excel"]
}
print(etudiant["ville"])  # Dakar

# Conditions
if age >= 18:
    print("Majeur")
elif age >= 15:
    print("Adolescent")
else:
    print("Enfant")

# Boucles
for langage in langages:
    print(f"J'apprends {langage}")

# Fonctions
def calculer_salaire_net(brut, taux_impot=0.2):
    """Calcule le salaire net après impôt"""
    net = brut * (1 - taux_impot)
    return net

resultat = calculer_salaire_net(450000)
print(f"Salaire net : {resultat:,.0f} FCFA")  # 360,000 FCFA

Les bibliothèques essentielles pour l’IA

# Installer les bibliothèques
pip install numpy pandas matplotlib scikit-learn

# NumPy — Calcul numérique (la base de tout en IA)
import numpy as np

# Créer des tableaux de nombres
donnees = np.array([150000, 250000, 350000, 450000, 550000])
print(f"Salaire moyen : {np.mean(donnees):,.0f} FCFA")  # 350,000 FCFA
print(f"Salaire médian : {np.median(donnees):,.0f} FCFA") # 350,000 FCFA
print(f"Écart-type : {np.std(donnees):,.0f} FCFA")        # 141,421 FCFA

# Pandas — Manipulation de données (comme Excel mais en code)
import pandas as pd

# Créer un tableau de données
ventes = pd.DataFrame({
    "produit": ["iPhone 15", "Galaxy S24", "MacBook Air", "HP Pavilion", "AirPods"],
    "prix": [650000, 550000, 850000, 385000, 165000],
    "quantite": [12, 18, 5, 22, 35],
})

# Ajouter une colonne calculée
ventes["chiffre_affaires"] = ventes["prix"] * ventes["quantite"]

# Trier par chiffre d'affaires
ventes_triees = ventes.sort_values("chiffre_affaires", ascending=False)
print(ventes_triees)

# Statistiques rapides
print(f"
CA total : {ventes['chiffre_affaires'].sum():,.0f} FCFA")
print(f"Produit le plus vendu : {ventes.loc[ventes['quantite'].idxmax(), 'produit']}")

# Matplotlib — Visualisation de données
import matplotlib.pyplot as plt

plt.figure(figsize=(10, 6))
plt.bar(ventes["produit"], ventes["chiffre_affaires"] / 1000000)
plt.title("Chiffre d'affaires par produit (en millions FCFA)")
plt.ylabel("CA (millions FCFA)")
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()

Premier projet IA : Prédire les ventes

# Prédire les ventes du mois prochain avec scikit-learn
from sklearn.linear_model import LinearRegression
import numpy as np

# Données historiques de ventes mensuelles (12 mois)
mois = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]).reshape(-1, 1)
ventes = np.array([
    2500000,   # Janvier
    2200000,   # Février (mois creux)
    2800000,   # Mars
    3100000,   # Avril
    3000000,   # Mai
    2700000,   # Juin
    3200000,   # Juillet
    3500000,   # Août (rentrée)
    3800000,   # Septembre
    3400000,   # Octobre
    3600000,   # Novembre
    4200000,   # Décembre (fêtes)
])

# Créer et entraîner le modèle
model = LinearRegression()
model.fit(mois, ventes)

# Prédire le mois 13 (janvier prochain)
prediction = model.predict([[13]])
print(f"Ventes prédites pour le mois 13 : {prediction[0]:,.0f} FCFA")

# Visualiser
import matplotlib.pyplot as plt

plt.figure(figsize=(10, 6))
plt.scatter(mois, ventes / 1000000, color='blue', s=100, label='Données réelles')
plt.plot(range(1, 15), model.predict(np.array(range(1, 15)).reshape(-1, 1)) / 1000000, 
         color='red', linestyle='--', label='Tendance')
plt.scatter([13], prediction / 1000000, color='green', s=200, marker='*', label='Prédiction')
plt.xlabel('Mois')
plt.ylabel('Ventes (millions FCFA)')
plt.title('Prédiction des ventes avec régression linéaire')
plt.legend()
plt.grid(True, alpha=0.3)
plt.show()

# Score de qualité du modèle
score = model.score(mois, ventes)
print(f"Score R² : {score:.2f}")  # Plus c'est proche de 1, mieux c'est
print(f"Pente : {model.coef_[0]:,.0f} FCFA/mois")  # Croissance mensuelle

Deuxième projet : Classifier des données

# Classifier des clients : vont-ils acheter ou non ?
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, classification_report
import pandas as pd
import numpy as np

# Données clients fictives (en réalité, vos données CRM)
np.random.seed(42)
n = 200

data = pd.DataFrame({
    "age": np.random.randint(18, 65, n),
    "nb_visites": np.random.randint(1, 20, n),
    "temps_site_min": np.random.uniform(0.5, 30, n).round(1),
    "panier_moyen_fcfa": np.random.randint(5000, 500000, n),
    "a_achete": np.random.choice([0, 1], n, p=[0.6, 0.4])  # 0=non, 1=oui
})

print("Aperçu des données :")
print(data.head())
print(f"
Taux d'achat : {data['a_achete'].mean():.1%}")

# Séparer features et target
X = data[["age", "nb_visites", "temps_site_min", "panier_moyen_fcfa"]]
y = data["a_achete"]

# Diviser en entraînement (80%) et test (20%)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Entraîner un Random Forest
clf = RandomForestClassifier(n_estimators=100, random_state=42)
clf.fit(X_train, y_train)

# Évaluer
predictions = clf.predict(X_test)
print(f"
Précision : {accuracy_score(y_test, predictions):.1%}")
print(classification_report(y_test, predictions, target_names=["N'achète pas", "Achète"]))

# Prédire pour un nouveau client
nouveau_client = [[28, 5, 12.3, 150000]]  # age, visites, temps, panier
proba = clf.predict_proba(nouveau_client)[0]
print(f"
Nouveau client (28 ans, 5 visites, 12 min, panier 150K) :")
print(f"Probabilité d'achat : {proba[1]:.1%}")

Troisième projet : Appeler l’API OpenAI

# Intégrer ChatGPT dans votre programme Python
pip install openai

import openai
import os

# Configurer la clé API (utilisez une variable d'environnement)
client = openai.OpenAI(api_key="sk-votre-cle-api")

def poser_question(question):
    """Pose une question à ChatGPT et retourne la réponse"""
    response = client.chat.completions.create(
        model="gpt-4o-mini",  # Modèle économique et rapide
        messages=[
            {"role": "system", "content": "Tu es un assistant utile qui répond en français."},
            {"role": "user", "content": question}
        ],
        temperature=0.7,
        max_tokens=500
    )
    return response.choices[0].message.content

# Tester
reponse = poser_question("Quelles sont les 3 meilleures bibliothèques Python pour l'IA ?")
print(reponse)

# Application pratique : analyser des avis clients
avis_clients = [
    "Excellent service, livraison rapide !",
    "Produit de mauvaise qualité, je suis déçu",
    "Correct, rien d'exceptionnel",
]

for avis in avis_clients:
    sentiment = poser_question(
        f"Analyse le sentiment de cet avis client et réponds par "
        f"POSITIF, NÉGATIF ou NEUTRE suivi d'un score de 1 à 10 : '{avis}'"
    )
    print(f"Avis : {avis}")
    print(f"Analyse : {sentiment}
")

Ressources pour continuer l’apprentissage

Cours gratuits en ligne. Le cours « Python for Everybody » de l’Université du Michigan sur Coursera est la meilleure introduction à Python (gratuit en mode audit). Pour l’IA spécifiquement, le cours « Machine Learning » d’Andrew Ng sur Coursera reste la référence mondiale (gratuit en mode audit également).

Pratique quotidienne. Kaggle.com propose des compétitions de data science avec des datasets réels et des notebooks partagés par la communauté. Commencez par les compétitions « Getting Started » qui incluent des tutoriels pas à pas. LeetCode et HackerRank proposent des exercices Python quotidiens pour progresser.

Communauté au Sénégal. Rejoignez les communautés tech sénégalaises : Dakar AI (meetup mensuel sur l’IA), GalsenDev (communauté des développeurs sénégalais), et les groupes Facebook/WhatsApp « Python Sénégal » et « Data Science Dakar » pour échanger avec d’autres apprenants et professionnels.

Pratique sur des projets personnels. La meilleure façon d’apprendre est de construire. Quelques idées de projets pour débutants : un bot WhatsApp qui répond aux FAQ de votre entreprise, un programme qui analyse vos dépenses mensuelles depuis un fichier CSV Wave, un outil qui génère automatiquement les légendes Instagram pour votre commerce.

#ia #programmation #python
Besoin d'un site web ?

Confiez-nous la Création de Votre Site Web

Site vitrine, e-commerce ou application web — nous transformons votre vision en réalité digitale. Accompagnement personnalisé de A à Z.

À partir de 350.000 FCFA
Parlons de Votre Projet
Publicité

Articles Similaires