KunalThakare279 commited on
Commit
0af9978
·
verified ·
1 Parent(s): 8eb0de5

Upload 2 files

Browse files
Files changed (2) hide show
  1. app.py +15 -2
  2. model.py +16 -10
app.py CHANGED
@@ -9,6 +9,14 @@ app = Flask(__name__)
9
  zones = ['Amravati', 'Pune', 'Aurangabad', 'Mumbai & Thane', 'Konkan',
10
  'Nagpur', 'Nashik']
11
 
 
 
 
 
 
 
 
 
12
  @app.route('/', methods=['GET', 'POST'])
13
  def index():
14
  colleges = []
@@ -17,11 +25,16 @@ def index():
17
  marks = float(request.form['marks'])
18
  zone = request.form['zone']
19
  course = request.form['course']
 
 
 
 
20
 
 
21
  # Call the get_colleges function to predict the list of colleges
22
- colleges = get_colleges(marks, zone, course)
23
 
24
- return render_template('index.html', colleges=colleges, zones = zones)
25
 
26
  @app.route('/get_courses', methods=['POST'])
27
  def get_courses():
 
9
  zones = ['Amravati', 'Pune', 'Aurangabad', 'Mumbai & Thane', 'Konkan',
10
  'Nagpur', 'Nashik']
11
 
12
+ seat_levels = ['State', 'Home', 'Other Than Home']
13
+
14
+ categories = ['OPEN', 'SC', 'ST', 'VJ', 'NT1', 'NT2', 'NT3', 'OBC', 'DEFOPEN',
15
+ 'TFW', 'DEFROBC', 'EW', 'PWDOPEN', 'PWDRSC', 'DEFRSC', 'PWDROBC',
16
+ 'M', 'DEFOBC', 'DEFRNT1', 'DEFRNT2', 'ORPHA', 'PWDRVJ', 'PWDOBC',
17
+ 'PWDRNT1', 'DEFRNT3', 'DEFRVJ', 'DEFSC', 'PWDRNT2', 'PWDSC',
18
+ 'PWDRNT3', 'PWDRST', 'DEFRST', 'PWDROB']
19
+
20
  @app.route('/', methods=['GET', 'POST'])
21
  def index():
22
  colleges = []
 
25
  marks = float(request.form['marks'])
26
  zone = request.form['zone']
27
  course = request.form['course']
28
+ category = request.form['category']
29
+ gender = request.form['gender']
30
+ seat_level = request.form['seat_level']
31
+ round = 1
32
 
33
+ print(marks, zone, course, category, gender, seat_level, round)
34
  # Call the get_colleges function to predict the list of colleges
35
+ colleges = get_colleges(marks, zone, course, category, gender, seat_level, round)
36
 
37
+ return render_template('index.html', colleges=colleges, zones = zones, categories = categories, seat_levels = seat_levels)
38
 
39
  @app.route('/get_courses', methods=['POST'])
40
  def get_courses():
model.py CHANGED
@@ -7,30 +7,36 @@ with open("static/rf_pipeline.pkl", "rb") as f:
7
  pipeline2 = pickle.load(f)
8
 
9
  data = pd.read_csv("static/zone_course_and_colleges.csv")
 
10
 
11
- def get_prediction(college_name, course_name = "Computer Science and Engineering"):
12
  template = pd.DataFrame([[college_name,
13
  course_name,
14
- "OPEN",
15
- "General",
16
- "State",
17
  2024,
18
- 1]],
19
  columns=['college_name', 'course_name', 'category', 'gender', 'seat_level_attribute', 'year', 'round'])
20
  return pipeline2.predict(template)
21
 
22
- def get_colleges(marks, zone, course):
23
  # data = pd.read_csv("static/zone_course_and_colleges.csv")
24
  # print(data[(data["zone"] == zone) & (data["course_name"] == course)]["colleges"].values[0])
25
  try:
26
- colleges = list(eval(data[(data["zone"] == zone.strip()) & (data["course_name"] == course.strip())]["colleges"].values[0]))
27
- except:
 
 
 
 
 
28
  return ["Too less to get into"]
29
  college_data = []
30
  for college in colleges:
31
- prediciton = get_prediction(college, course)
32
  if prediciton <= marks:
33
- college_data.append(college)
34
  return college_data
35
 
36
  def get_courses_for_zone(zone):
 
7
  pipeline2 = pickle.load(f)
8
 
9
  data = pd.read_csv("static/zone_course_and_colleges.csv")
10
+ df = pd.read_csv("static/final_data_zone.csv")
11
 
12
+ def get_prediction(college_name, course_name, category, gender, seat_level, round = 1):
13
  template = pd.DataFrame([[college_name,
14
  course_name,
15
+ category,
16
+ gender,
17
+ seat_level,
18
  2024,
19
+ round]],
20
  columns=['college_name', 'course_name', 'category', 'gender', 'seat_level_attribute', 'year', 'round'])
21
  return pipeline2.predict(template)
22
 
23
+ def get_colleges(marks, zone, course, category, gender, seat_level, round):
24
  # data = pd.read_csv("static/zone_course_and_colleges.csv")
25
  # print(data[(data["zone"] == zone) & (data["course_name"] == course)]["colleges"].values[0])
26
  try:
27
+ row = df[(df["zone"] == zone) & (df["course_name"] == course) & (df["category"] == category) & (df["gender"] == gender) & (df["seat_level_attribute"] == seat_level)]
28
+ if row.shape[0] == 0:
29
+ return ["No Seat Found"]
30
+ colleges = list(row["college_name"].unique())
31
+ # colleges = list(eval(data[(data["zone"] == zone.strip()) & (data["course_name"] == course.strip())]["colleges"].values[0]))
32
+ except Exception as e:
33
+ print("Exception", e)
34
  return ["Too less to get into"]
35
  college_data = []
36
  for college in colleges:
37
+ prediciton = get_prediction(college, course, category, gender, seat_level, round)
38
  if prediciton <= marks:
39
+ college_data.append(college + f"predicted cut off = {prediciton}")
40
  return college_data
41
 
42
  def get_courses_for_zone(zone):