markobinario commited on
Commit
b854ee1
Β·
verified Β·
1 Parent(s): beb1862

Rename recommender.py to database_recommender.py

Browse files
recommender.py β†’ database_recommender.py RENAMED
@@ -4,8 +4,6 @@ from sklearn.neighbors import KNeighborsClassifier
4
  from sklearn.preprocessing import LabelEncoder, StandardScaler
5
  import joblib
6
  import json
7
- import os
8
- import requests
9
 
10
  class CourseRecommender:
11
  def __init__(self):
@@ -281,47 +279,6 @@ class CourseRecommender:
281
  self.scaler = model_data['scaler']
282
  self.label_encoders = model_data['label_encoders']
283
 
284
-
285
- # ===== UI helper for Hugging Face integration =====
286
- def get_course_recommendations_ui(recommender: "CourseRecommender", stanine, gwa, strand, hobbies) -> str:
287
- if recommender is None:
288
- return "Sorry, the recommendation system is not available at the moment. Please try again later."
289
- try:
290
- try:
291
- stanine = int(stanine.strip()) if isinstance(stanine, str) else int(stanine)
292
- except (ValueError, TypeError, AttributeError):
293
- return "❌ Stanine score must be a valid number between 1 and 9"
294
- try:
295
- gwa = float(gwa.strip()) if isinstance(gwa, str) else float(gwa)
296
- except (ValueError, TypeError, AttributeError):
297
- return "❌ GWA must be a valid number between 75 and 100"
298
- if not (1 <= stanine <= 9):
299
- return "❌ Stanine score must be between 1 and 9"
300
- if not (75 <= gwa <= 100):
301
- return "❌ GWA must be between 75 and 100"
302
- if not strand:
303
- return "❌ Please select a strand"
304
- if not hobbies or not str(hobbies).strip():
305
- return "❌ Please enter your hobbies/interests"
306
-
307
- recommendations = recommender.recommend_courses(
308
- stanine=stanine,
309
- gwa=gwa,
310
- strand=strand,
311
- hobbies=str(hobbies)
312
- )
313
- if not recommendations:
314
- return "No recommendations available at the moment."
315
- response = f"## 🎯 Course Recommendations for You\n\n"
316
- response += f"**Profile:** Stanine {stanine}, GWA {gwa}, {strand} Strand\n"
317
- response += f"**Interests:** {hobbies}\n\n"
318
- for i, rec in enumerate(recommendations, 1):
319
- response += f"### {i}. {rec['code']} - {rec['name']}\n"
320
- response += f"**Match Score:** {rec.get('rating', rec.get('probability', 0)):.1f}%\n\n"
321
- return response
322
- except Exception as e:
323
- return f"❌ Error getting recommendations: {str(e)}"
324
-
325
  # Example usage
326
  if __name__ == "__main__":
327
  recommender = CourseRecommender()
 
4
  from sklearn.preprocessing import LabelEncoder, StandardScaler
5
  import joblib
6
  import json
 
 
7
 
8
  class CourseRecommender:
9
  def __init__(self):
 
279
  self.scaler = model_data['scaler']
280
  self.label_encoders = model_data['label_encoders']
281
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
282
  # Example usage
283
  if __name__ == "__main__":
284
  recommender = CourseRecommender()