Spaces:
Sleeping
Sleeping
| import pandas as pd | |
| import pickle | |
| import warnings | |
| warnings.filterwarnings("ignore") | |
| with open("static/rf_pipeline.pkl", "rb") as f: | |
| pipeline2 = pickle.load(f) | |
| data = pd.read_csv("static/zone_course_and_colleges.csv") | |
| df = pd.read_csv("static/final_data_zone.csv") | |
| def get_prediction(college_name, course_name, category, gender, seat_level, round = 1): | |
| template = pd.DataFrame([[college_name, | |
| course_name, | |
| category, | |
| gender, | |
| seat_level, | |
| 2024, | |
| round]], | |
| columns=['college_name', 'course_name', 'category', 'gender', 'seat_level_attribute', 'year', 'round']) | |
| return pipeline2.predict(template) | |
| def get_colleges(marks, zone, course, category, gender, seat_level, round): | |
| try: | |
| row = df[(df["zone"] == zone) & (df["course_name"] == course) & (df["category"] == category) & (df["gender"] == gender) & (df["seat_level_attribute"] == seat_level)] | |
| if row.shape[0] == 0: | |
| return ["No Seat Found"] | |
| colleges = list(row["college_name"].unique()) | |
| except Exception as e: | |
| print("Exception", e) | |
| return ["Too less to get into"] | |
| college_data = {} | |
| for college in colleges: | |
| prediciton = get_prediction(college, course, category, gender, seat_level, round) | |
| if prediciton >= 100: | |
| print(college, prediciton) | |
| if prediciton <= marks: | |
| college_code = college.split("-")[0].strip() | |
| college_name = " ".join(college.split("-")[1:]).strip() | |
| # college_data.append(college + f" predicted cut off = {prediciton}") | |
| college_data[college_name] = {"college_code":college_code, "prediction": prediciton} | |
| return college_data | |
| def get_courses_for_zone(zone): | |
| row = data[data["zone"] == zone.strip()] | |
| courses = row["course_name"].unique() | |
| return courses |