aymen12 commited on
Commit
c9e34fa
1 Parent(s): 3853888

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +3 -25
app.py CHANGED
@@ -5,47 +5,26 @@ from sklearn.feature_extraction.text import TfidfVectorizer
5
  from sklearn.naive_bayes import MultinomialNB
6
  import joblib
7
  import gradio as gr
8
- import datasets
9
-
10
-
11
- dataset_true = datasets.load_dataset('csv', data_files='True.csv', split='train')
12
- dataset_fake = datasets.load_dataset('csv', data_files='Fake.csv', split='train')
13
-
14
-
15
- df_combined = pd.concat([pd.DataFrame(dataset_true), pd.DataFrame(dataset_fake)])
16
-
17
-
18
- df_combined['label'] = df_combined['label'].astype(int)
19
-
20
-
21
  X = df_combined['text']
22
  y = df_combined['label']
23
  X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
24
-
25
-
26
  tfidf_vectorizer = TfidfVectorizer(max_features=5000)
27
  X_train_tfidf = tfidf_vectorizer.fit_transform(X_train)
28
  X_test_tfidf = tfidf_vectorizer.transform(X_test)
29
-
30
-
31
  clf = MultinomialNB()
32
  clf.fit(X_train_tfidf, y_train)
33
-
34
-
35
  accuracy = clf.score(X_test_tfidf, y_test)
36
  print("Model Accuracy:", accuracy)
37
-
38
-
39
  joblib.dump(clf, 'fake_news_classifier_model.pkl')
40
  joblib.dump(tfidf_vectorizer, 'tfidf_vectorizer.pkl')
41
-
42
-
43
  def predict_fake_or_true_news(text):
44
  text_tfidf = tfidf_vectorizer.transform([text])
45
  prediction = clf.predict(text_tfidf)
46
  return "True" if prediction[0] == 1 else "Fake"
47
 
48
-
49
  iface = gr.Interface(
50
  fn=predict_fake_or_true_news,
51
  inputs="text",
@@ -55,5 +34,4 @@ iface = gr.Interface(
55
  description="Enter a news article text to classify as 'Fake' or 'True'."
56
  )
57
 
58
-
59
  iface.launch()
 
5
  from sklearn.naive_bayes import MultinomialNB
6
  import joblib
7
  import gradio as gr
8
+ df_true['label'] = 1
9
+ df_fake['label'] = 0
10
+ df_combined = pd.concat([df_true, df_fake])
 
 
 
 
 
 
 
 
 
 
11
  X = df_combined['text']
12
  y = df_combined['label']
13
  X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
 
 
14
  tfidf_vectorizer = TfidfVectorizer(max_features=5000)
15
  X_train_tfidf = tfidf_vectorizer.fit_transform(X_train)
16
  X_test_tfidf = tfidf_vectorizer.transform(X_test)
 
 
17
  clf = MultinomialNB()
18
  clf.fit(X_train_tfidf, y_train)
 
 
19
  accuracy = clf.score(X_test_tfidf, y_test)
20
  print("Model Accuracy:", accuracy)
 
 
21
  joblib.dump(clf, 'fake_news_classifier_model.pkl')
22
  joblib.dump(tfidf_vectorizer, 'tfidf_vectorizer.pkl')
 
 
23
  def predict_fake_or_true_news(text):
24
  text_tfidf = tfidf_vectorizer.transform([text])
25
  prediction = clf.predict(text_tfidf)
26
  return "True" if prediction[0] == 1 else "Fake"
27
 
 
28
  iface = gr.Interface(
29
  fn=predict_fake_or_true_news,
30
  inputs="text",
 
34
  description="Enter a news article text to classify as 'Fake' or 'True'."
35
  )
36
 
 
37
  iface.launch()