jfo25 commited on
Commit
6377804
·
1 Parent(s): c46c102

sauvegarder le modèle

Browse files
app.py ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pickle # Pour sauvegarder et charger le modèle
2
+ from sklearn.feature_extraction.text import CountVectorizer # Transformer le texte en nombres
3
+
4
+
5
+ # Charger le modèle sauvegardé
6
+ with open('sms_spam_detector_model.pkl','rb') as file:
7
+ model=pickle.load(file)
8
+
9
+ # Fonction pour prédire si un message est du spam ou non
10
+ def predict_spam(message):
11
+ # Convertir les messages en nombres
12
+ vectorizer = CountVectorizer()
13
+ message_transformed = vectorizer.transform([message])
14
+ prediction = model.predict(message_transformed)
15
+ return "SPAM ❌" if prediction[0] == 1 else "HAM ✅"
16
+
17
+
sms_spam_detector_model.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:be5baf4afe665e8089958c71f193dc574c19c79595cdbb689adc302586364cac
3
+ size 279432
spam-detector-Mathis-AI.ipynb CHANGED
@@ -18,7 +18,7 @@
18
  },
19
  {
20
  "cell_type": "code",
21
- "execution_count": 13,
22
  "id": "8a313f24",
23
  "metadata": {},
24
  "outputs": [],
@@ -27,6 +27,7 @@
27
  "import numpy as np # Calculs mathématiques\n",
28
  "import matplotlib.pyplot as plt # Affichage de graphiques\n",
29
  "import seaborn as sns # Visualisation de données\n",
 
30
  "from sklearn.feature_extraction.text import CountVectorizer # Transformer le texte en nombres\n",
31
  "from sklearn.model_selection import train_test_split # Séparer les données\n",
32
  "from sklearn.naive_bayes import MultinomialNB # Modèle d'apprentissage\n",
@@ -393,7 +394,7 @@
393
  },
394
  {
395
  "cell_type": "code",
396
- "execution_count": 14,
397
  "id": "8f4f505b",
398
  "metadata": {},
399
  "outputs": [
@@ -403,7 +404,7 @@
403
  "<Axes: xlabel='label', ylabel='count'>"
404
  ]
405
  },
406
- "execution_count": 14,
407
  "metadata": {},
408
  "output_type": "execute_result"
409
  },
@@ -422,13 +423,38 @@
422
  "sns.countplot(x='label', data=df)"
423
  ]
424
  },
 
 
 
 
 
 
 
 
425
  {
426
  "cell_type": "code",
427
- "execution_count": null,
428
  "id": "dba57e87",
429
  "metadata": {},
430
  "outputs": [],
431
- "source": []
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
432
  }
433
  ],
434
  "metadata": {
 
18
  },
19
  {
20
  "cell_type": "code",
21
+ "execution_count": 12,
22
  "id": "8a313f24",
23
  "metadata": {},
24
  "outputs": [],
 
27
  "import numpy as np # Calculs mathématiques\n",
28
  "import matplotlib.pyplot as plt # Affichage de graphiques\n",
29
  "import seaborn as sns # Visualisation de données\n",
30
+ "import pickle # Sauvegarder et charger des modèles\n",
31
  "from sklearn.feature_extraction.text import CountVectorizer # Transformer le texte en nombres\n",
32
  "from sklearn.model_selection import train_test_split # Séparer les données\n",
33
  "from sklearn.naive_bayes import MultinomialNB # Modèle d'apprentissage\n",
 
394
  },
395
  {
396
  "cell_type": "code",
397
+ "execution_count": 11,
398
  "id": "8f4f505b",
399
  "metadata": {},
400
  "outputs": [
 
404
  "<Axes: xlabel='label', ylabel='count'>"
405
  ]
406
  },
407
+ "execution_count": 11,
408
  "metadata": {},
409
  "output_type": "execute_result"
410
  },
 
423
  "sns.countplot(x='label', data=df)"
424
  ]
425
  },
426
+ {
427
+ "cell_type": "markdown",
428
+ "id": "55444fb4",
429
+ "metadata": {},
430
+ "source": [
431
+ "### Sauvegarder le model "
432
+ ]
433
+ },
434
  {
435
  "cell_type": "code",
436
+ "execution_count": 13,
437
  "id": "dba57e87",
438
  "metadata": {},
439
  "outputs": [],
440
+ "source": [
441
+ "\n",
442
+ "# Sauvegarder le modèle \n",
443
+ "\n",
444
+ "with open('sms_spam_detector_model.pkl','wb') as file:\n",
445
+ " pickle.dump(model,file)"
446
+ ]
447
+ },
448
+ {
449
+ "cell_type": "code",
450
+ "execution_count": null,
451
+ "id": "6ebccf7a",
452
+ "metadata": {},
453
+ "outputs": [],
454
+ "source": [
455
+ "with open('dht11_model.pkl','rb') as file: \n",
456
+ " model=pickle.load(file)"
457
+ ]
458
  }
459
  ],
460
  "metadata": {