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 |