aymen12 commited on
Commit
4d5cc80
·
1 Parent(s): 9c05040

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +3 -15
app.py CHANGED
@@ -1,3 +1,4 @@
 
1
  import pandas as pd
2
  from sklearn.model_selection import train_test_split
3
  from sklearn.feature_extraction.text import TfidfVectorizer
@@ -5,35 +6,23 @@ from sklearn.naive_bayes import MultinomialNB
5
  import joblib
6
  import gradio as gr
7
  import datasets
8
-
9
- df_true_raw = datasets.load_dataset('csv', data_files='True.csv', split='train')['text']
10
- df_fake_raw = datasets.load_dataset('csv', data_files='Fake.csv', split='train')['text']
11
-
12
- df_true = pd.DataFrame(df_true_raw)
13
- df_fake = pd.DataFrame(df_fake_raw)
14
-
15
  df_true['label'] = 1
16
  df_fake['label'] = 0
17
-
18
  df_combined = pd.concat([df_true, df_fake])
19
  X = df_combined['text']
20
  y = df_combined['label']
21
-
22
  X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
23
-
24
  tfidf_vectorizer = TfidfVectorizer(max_features=5000)
25
  X_train_tfidf = tfidf_vectorizer.fit_transform(X_train)
26
  X_test_tfidf = tfidf_vectorizer.transform(X_test)
27
-
28
  clf = MultinomialNB()
29
  clf.fit(X_train_tfidf, y_train)
30
-
31
  accuracy = clf.score(X_test_tfidf, y_test)
32
  print("Model Accuracy:", accuracy)
33
-
34
  joblib.dump(clf, 'fake_news_classifier_model.pkl')
35
  joblib.dump(tfidf_vectorizer, 'tfidf_vectorizer.pkl')
36
-
37
  def predict_fake_or_true_news(text):
38
  text_tfidf = tfidf_vectorizer.transform([text])
39
  prediction = clf.predict(text_tfidf)
@@ -49,4 +38,3 @@ iface = gr.Interface(
49
  )
50
 
51
  iface.launch()
52
-
 
1
+
2
  import pandas as pd
3
  from sklearn.model_selection import train_test_split
4
  from sklearn.feature_extraction.text import TfidfVectorizer
 
6
  import joblib
7
  import gradio as gr
8
  import datasets
9
+ df_true = datasets.load_dataset('csv', data_files='True.csv')
10
+ df_fake = datasets.load_dataset('csv', data_files='Fake.csv')
 
 
 
 
 
11
  df_true['label'] = 1
12
  df_fake['label'] = 0
 
13
  df_combined = pd.concat([df_true, df_fake])
14
  X = df_combined['text']
15
  y = df_combined['label']
 
16
  X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
 
17
  tfidf_vectorizer = TfidfVectorizer(max_features=5000)
18
  X_train_tfidf = tfidf_vectorizer.fit_transform(X_train)
19
  X_test_tfidf = tfidf_vectorizer.transform(X_test)
 
20
  clf = MultinomialNB()
21
  clf.fit(X_train_tfidf, y_train)
 
22
  accuracy = clf.score(X_test_tfidf, y_test)
23
  print("Model Accuracy:", accuracy)
 
24
  joblib.dump(clf, 'fake_news_classifier_model.pkl')
25
  joblib.dump(tfidf_vectorizer, 'tfidf_vectorizer.pkl')
 
26
  def predict_fake_or_true_news(text):
27
  text_tfidf = tfidf_vectorizer.transform([text])
28
  prediction = clf.predict(text_tfidf)
 
38
  )
39
 
40
  iface.launch()