Spaces:
Sleeping
Sleeping
Upload 18 files
Browse files- static/BIKE DETAILS.csv +1062 -0
- static/WA_Fn-UseC_-Telco-Customer-Churn.csv +0 -0
- static/analysis_report.pdf +0 -0
- static/correlation_matrix.png +0 -0
- static/dtree_classifier.png +0 -0
- static/galvatron.png +0 -0
- static/healthcare-dataset-stroke-data.csv +0 -0
- static/loan_approval_dataset.csv +0 -0
- static/loan_data.csv +0 -0
- static/multiclass_barplot.png +0 -0
- static/multiclass_histplot.png +0 -0
- static/pair1.png +0 -0
- static/pair2.png +0 -0
- static/plot1.png +0 -0
- static/plot2.png +0 -0
- static/rf_classifier.png +0 -0
- templates/upload.html +226 -0
- webapp.py +856 -0
static/BIKE DETAILS.csv
ADDED
|
@@ -0,0 +1,1062 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
name,selling_price,year,seller_type,owner,km_driven,ex_showroom_price
|
| 2 |
+
Royal Enfield Classic 350,175000,2019,Individual,1st owner,350,
|
| 3 |
+
Honda Dio,45000,2017,Individual,1st owner,5650,
|
| 4 |
+
Royal Enfield Classic Gunmetal Grey,150000,2018,Individual,1st owner,12000,148114
|
| 5 |
+
Yamaha Fazer FI V 2.0 [2016-2018],65000,2015,Individual,1st owner,23000,89643
|
| 6 |
+
Yamaha SZ [2013-2014],20000,2011,Individual,2nd owner,21000,
|
| 7 |
+
Honda CB Twister,18000,2010,Individual,1st owner,60000,53857
|
| 8 |
+
Honda CB Hornet 160R,78500,2018,Individual,1st owner,17000,87719
|
| 9 |
+
Royal Enfield Bullet 350 [2007-2011],180000,2008,Individual,2nd owner,39000,
|
| 10 |
+
Hero Honda CBZ extreme,30000,2010,Individual,1st owner,32000,
|
| 11 |
+
Bajaj Discover 125,50000,2016,Individual,1st owner,42000,60122
|
| 12 |
+
Yamaha FZ16,35000,2015,Individual,1st owner,32000,78712
|
| 13 |
+
Honda Navi,28000,2016,Individual,2nd owner,10000,47255
|
| 14 |
+
Bajaj Avenger Street 220,80000,2018,Individual,1st owner,21178,95955
|
| 15 |
+
Yamaha YZF R3,365000,2019,Individual,1st owner,1127,351680
|
| 16 |
+
Jawa 42,185000,2020,Individual,1st owner,1700,
|
| 17 |
+
Suzuki Access 125 [2007-2016],25000,2012,Individual,1st owner,55000,58314
|
| 18 |
+
Hero Honda Glamour,25000,2006,Individual,1st owner,27000,
|
| 19 |
+
Yamaha YZF R15 S,40000,2010,Individual,2nd owner,45000,117926
|
| 20 |
+
Royal Enfield Classic Gunmetal Grey,150000,2018,Individual,1st owner,23000,148114
|
| 21 |
+
Yamaha FZ25,120000,2018,Individual,1st owner,39000,132680
|
| 22 |
+
Hero Passion Pro 110,15000,2008,Individual,1st owner,60000,
|
| 23 |
+
Honda Navi [2016-2017],26000,2016,Individual,1st owner,17450,44389
|
| 24 |
+
Honda Activa i,32000,2013,Individual,2nd owner,20696,53900
|
| 25 |
+
Jawa Standard,180000,2019,Individual,1st owner,2000,
|
| 26 |
+
Royal Enfield Thunderbird 350,110000,2016,Individual,1st owner,20000,
|
| 27 |
+
Honda Dream Yuga,25000,2012,Individual,1st owner,35000,56147
|
| 28 |
+
TVS Apache RTR 160 4V,80000,2018,Individual,1st owner,15210,
|
| 29 |
+
Honda Navi [2016-2017],42000,2017,Individual,1st owner,24000,44389
|
| 30 |
+
Yamaha Fazer [2009-2016],40000,2013,Individual,3rd owner,35000,84751
|
| 31 |
+
Hero Honda Splendor NXG,21000,2009,Individual,1st owner,10000,
|
| 32 |
+
Hero Glamour 125,55000,2017,Individual,1st owner,2500,61600
|
| 33 |
+
Yamaha FZ S [2012-2016],38000,2013,Individual,1st owner,75000,79432
|
| 34 |
+
Hero Xtreme Sports,43000,2016,Individual,2nd owner,50000,78350
|
| 35 |
+
Honda X-Blade,65000,2018,Individual,1st owner,27000,
|
| 36 |
+
Honda CB Shine SP,62000,2019,Individual,1st owner,10000,71049
|
| 37 |
+
Honda Activa 5G,60000,2018,Individual,1st owner,6502,57557
|
| 38 |
+
Hero Glamour 125,45000,2018,Individual,1st owner,21000,61600
|
| 39 |
+
Honda CBR-250R,120000,2016,Individual,1st owner,16000,202310
|
| 40 |
+
Hero Honda Passion PRO [2012],30000,2011,Individual,1st owner,42000,
|
| 41 |
+
Royal Enfield Thunderbird 350,90000,2015,Individual,3rd owner,13000,
|
| 42 |
+
Bajaj Dominar 400,125000,2017,Individual,1st owner,12800,
|
| 43 |
+
Hero Glamour FI,50000,2018,Individual,1st owner,20000,71150
|
| 44 |
+
KTM 390 Duke,175000,2017,Individual,1st owner,4600,
|
| 45 |
+
Hero Passion XPro,28000,2012,Individual,1st owner,81000,56750
|
| 46 |
+
Yamaha FZ S V 2.0,85000,2018,Individual,1st owner,8000,84042
|
| 47 |
+
Hero Achiever 150,29900,2016,Individual,1st owner,55000,69750
|
| 48 |
+
Bajaj Discover 125,25000,2011,Individual,1st owner,57000,60122
|
| 49 |
+
Yamaha FZ16,30000,2009,Individual,2nd owner,26000,78712
|
| 50 |
+
Yamaha Saluto,60000,2018,Individual,1st owner,13000,59844
|
| 51 |
+
Yamaha FZ16,35000,2012,Individual,2nd owner,29000,78712
|
| 52 |
+
Bajaj Discover 100,25000,2010,Individual,1st owner,43000,42859
|
| 53 |
+
Honda CB Trigger,30000,2015,Individual,1st owner,40000,73413
|
| 54 |
+
Royal Enfield Electra 5 S,90000,2010,Individual,2nd owner,40000,
|
| 55 |
+
Hero Splendor PRO,35000,2015,Individual,2nd owner,24000,49900
|
| 56 |
+
Honda Activa 5G,70000,2019,Individual,1st owner,3000,59422
|
| 57 |
+
Hero Honda Passion Plus,25000,2006,Individual,1st owner,75000,
|
| 58 |
+
Bajaj Pulsar 150,25000,2010,Individual,1st owner,42000,
|
| 59 |
+
Royal Enfield Bullet 350,90000,2014,Individual,1st owner,13000,
|
| 60 |
+
Bajaj Discover 125,25000,2013,Individual,1st owner,55000,57549
|
| 61 |
+
Bajaj Pulsar 150 [2001-2011],42000,2011,Individual,1st owner,23000,
|
| 62 |
+
Hero Splendor PRO,35000,2015,Individual,2nd owner,24000,51994
|
| 63 |
+
Hero Xtreme Sports,50000,2014,Individual,1st owner,80000,80350
|
| 64 |
+
Honda Activa 3G,30000,2015,Individual,1st owner,39000,54605
|
| 65 |
+
Yamaha FZ16,48000,2016,Individual,1st owner,20000,78712
|
| 66 |
+
Honda CB Hornet 160R,65000,2016,Individual,1st owner,30000,88161
|
| 67 |
+
Royal Enfield Thunderbird 350,85000,2013,Individual,1st owner,21000,
|
| 68 |
+
Hero Hunk,45000,2014,Individual,1st owner,41000,78513
|
| 69 |
+
Suzuki Let''s,34000,2014,Individual,1st owner,8000,50098
|
| 70 |
+
Royal Enfield Electra 4 S,90000,2008,Individual,1st owner,50000,
|
| 71 |
+
TVS Scooty Pep Plus,35000,2012,Individual,1st owner,8150,
|
| 72 |
+
Mahindra Mojo XT300,165000,2017,Individual,1st owner,1933,195500
|
| 73 |
+
TVS Apache RTR 160,35000,2013,Individual,1st owner,55750,
|
| 74 |
+
Bajaj Pulsar AS200,65000,2015,Individual,1st owner,15856,92074
|
| 75 |
+
Bajaj Pulsar 150,29500,2013,Individual,1st owner,27000,
|
| 76 |
+
Royal Enfield Thunderbird 350X,165000,2019,Individual,1st owner,3700,164004
|
| 77 |
+
Suzuki Intruder 150,95000,2018,Individual,1st owner,21938,
|
| 78 |
+
Hero Honda Karizma ZMR [2010],50000,2010,Individual,1st owner,48000,
|
| 79 |
+
Honda Dio,7500,2009,Individual,2nd owner,16000,
|
| 80 |
+
Bajaj Xcd,25000,2008,Individual,1st owner,54000,
|
| 81 |
+
Hero Splendor Plus,35000,2014,Individual,2nd owner,35000,
|
| 82 |
+
Royal Enfield Thunderbird 350X,160000,2018,Individual,1st owner,15000,
|
| 83 |
+
Honda CB Unicorn 150,50000,2014,Individual,1st owner,32000,74295
|
| 84 |
+
Honda Activa 5G,62000,2019,Individual,1st owner,3500,57557
|
| 85 |
+
Honda CB Twister,30000,2013,Individual,1st owner,9000,53857
|
| 86 |
+
Hero Splendor PRO,28000,2015,Individual,1st owner,38000,49642
|
| 87 |
+
Hero Honda CD Deluxe,25000,2009,Individual,1st owner,50000,
|
| 88 |
+
Honda Activa i [2016-2017],30000,2015,Individual,2nd owner,20000,51112
|
| 89 |
+
Royal Enfield Classic Gunmetal Grey,140000,2018,Individual,1st owner,22000,148114
|
| 90 |
+
TVS Scooty Zest 110,30000,2017,Individual,1st owner,9432,53751
|
| 91 |
+
Hero CD Deluxe,25000,2014,Individual,1st owner,70000,
|
| 92 |
+
Suzuki Access 125 [2007-2016],22000,2010,Individual,2nd owner,43000,58314
|
| 93 |
+
Honda Activa [2000-2015],22989,2012,Individual,1st owner,500000,50267
|
| 94 |
+
Honda Activa 125 [2016-2017],42000,2016,Individual,1st owner,30514,61653
|
| 95 |
+
Suzuki GS150R,30000,2010,Individual,1st owner,130000,70851
|
| 96 |
+
Bajaj Pulsar 220S,55000,2015,Individual,1st owner,45000,
|
| 97 |
+
Honda Activa 4G,45000,2018,Individual,1st owner,25000,53079
|
| 98 |
+
Yamaha FZ25,150000,2019,Individual,1st owner,2500,133680
|
| 99 |
+
Bajaj Pulsar 150,42000,2015,Individual,1st owner,22770,
|
| 100 |
+
Hero Splendor Plus,30000,2015,Individual,1st owner,30000,
|
| 101 |
+
Bajaj Discover 100,24999,2012,Individual,2nd owner,35000,42859
|
| 102 |
+
Royal Enfield Thunderbird 350X,160000,2019,Individual,1st owner,6330,
|
| 103 |
+
Royal Enfield Classic 350,175000,2020,Individual,1st owner,500,
|
| 104 |
+
Bajaj Pulsar 150,40000,2013,Individual,1st owner,43400,
|
| 105 |
+
Bajaj Pulsar NS160,85000,2018,Individual,1st owner,7004,
|
| 106 |
+
Royal Enfield Classic Desert Storm,150000,2017,Individual,1st owner,16500,181445
|
| 107 |
+
Suzuki Gixxer SF,80000,2018,Individual,1st owner,12500,
|
| 108 |
+
TVS Apache RTR 200 4V,95000,2018,Individual,1st owner,9600,
|
| 109 |
+
Bajaj V15,42000,2016,Individual,1st owner,35000,65626
|
| 110 |
+
TVS XL 100 Heavy Duty,40000,2019,Individual,1st owner,11000,
|
| 111 |
+
Yamaha FZ S V 2.0,50000,2015,Individual,1st owner,20000,84042
|
| 112 |
+
Hero HF Deluxe,40000,2018,Individual,1st owner,13000,
|
| 113 |
+
Aprilia SR 125,75000,2019,Individual,1st owner,3500,
|
| 114 |
+
Yamaha FZ25,120000,2017,Individual,1st owner,9000,132680
|
| 115 |
+
Hero Honda Glamour,30000,2008,Individual,1st owner,7500,
|
| 116 |
+
Bajaj Discover 125 ST,17500,2013,Individual,1st owner,38000,58438
|
| 117 |
+
Hero Honda Passion Plus,7500,2004,Individual,1st owner,120000,
|
| 118 |
+
Honda Aviator,57000,2018,Individual,1st owner,6465,61118
|
| 119 |
+
Vespa SXL 149,80000,2018,Individual,1st owner,18803,
|
| 120 |
+
TVS Scooty Pep Plus,18000,2010,Individual,1st owner,20000,
|
| 121 |
+
Hero Xtreme [2013-2014],25000,2013,Individual,1st owner,24000,75936
|
| 122 |
+
Royal Enfield Thunderbird 350,83900,2014,Individual,2nd owner,22000,
|
| 123 |
+
UM Renegade Commando,160000,2018,Individual,1st owner,7000,180525
|
| 124 |
+
Royal Enfield Classic Gunmetal Grey,135000,2018,Individual,1st owner,6100,148114
|
| 125 |
+
Honda CB Hornet 160R,55000,2017,Individual,1st owner,14000,87543
|
| 126 |
+
Honda Shine,50000,2017,Individual,1st owner,23000,
|
| 127 |
+
Bajaj Discover 100,20000,2012,Individual,1st owner,85000,42859
|
| 128 |
+
Hero Honda CBZ extreme,25000,2010,Individual,1st owner,40000,
|
| 129 |
+
Royal Enfield Classic 350,125000,2017,Individual,1st owner,18000,
|
| 130 |
+
Honda Activa 5G,55000,2019,Individual,1st owner,10000,57557
|
| 131 |
+
Bajaj Avenger Street 150 [2018],50000,2016,Individual,1st owner,40000,80435
|
| 132 |
+
Royal Enfield Continental GT 650,299000,2019,Individual,1st owner,1500,
|
| 133 |
+
Honda Activa 3G,60000,2015,Individual,1st owner,30000,54605
|
| 134 |
+
Honda Activa 3G,40000,2015,Individual,1st owner,3000,54605
|
| 135 |
+
Bajaj Pulsar 180,15000,2008,Individual,1st owner,55000,85011
|
| 136 |
+
Harley-Davidson Street Bob,750000,2013,Individual,2nd owner,12000,1278000
|
| 137 |
+
Hero Honda CBZ extreme,20000,2007,Individual,1st owner,90000,
|
| 138 |
+
Royal Enfield Classic Gunmetal Grey,190000,2020,Individual,1st owner,500,155740
|
| 139 |
+
KTM 390 Duke ABS [2013-2016],130000,2015,Individual,1st owner,50000,202127
|
| 140 |
+
Honda CB Hornet 160R,54786,2016,Individual,1st owner,25000,88161
|
| 141 |
+
KTM 200 Duke,72000,2013,Individual,1st owner,36500,
|
| 142 |
+
Hero Karizma 2014,35000,2013,Individual,1st owner,26000,86744
|
| 143 |
+
Hero Glamour 125,45000,2017,Individual,1st owner,18000,61600
|
| 144 |
+
Royal Enfield Classic 350,85000,2013,Individual,1st owner,49000,
|
| 145 |
+
Royal Enfield Classic 500,100000,2013,Individual,1st owner,18000,156304
|
| 146 |
+
Bajaj Dominar 400,138000,2017,Individual,1st owner,15000,
|
| 147 |
+
Royal Enfield Thunderbird 350X,150000,2018,Individual,1st owner,8500,
|
| 148 |
+
KTM RC 390,180000,2017,Individual,1st owner,3775,
|
| 149 |
+
Royal Enfield Thunderbird 350,100000,2015,Individual,1st owner,14500,
|
| 150 |
+
Hero Hunk,20000,2010,Individual,1st owner,35000,78513
|
| 151 |
+
KTM 390 Duke,170000,2017,Individual,1st owner,14000,
|
| 152 |
+
Suzuki Gixxer [2014-2018],60000,2016,Individual,1st owner,16000,84246
|
| 153 |
+
Royal Enfield Bullet 350,123000,2016,Individual,1st owner,7000,
|
| 154 |
+
Suzuki Access 125,60000,2017,Individual,1st owner,4000,
|
| 155 |
+
TVS Apache RTR 200 4V,100000,2017,Individual,1st owner,45000,
|
| 156 |
+
Hero Xtreme Sports,22000,2014,Individual,1st owner,99000,78350
|
| 157 |
+
Honda Activa [2000-2015],30000,2014,Individual,1st owner,52000,50267
|
| 158 |
+
Bajaj Discover 125,28000,2013,Individual,1st owner,45000,60122
|
| 159 |
+
Bajaj Pulsar 150,50000,2007,Individual,1st owner,52000,
|
| 160 |
+
Yamaha Saluto RX,40000,2017,Individual,1st owner,27000,49521
|
| 161 |
+
Hero HF Deluxe,43000,2018,Individual,1st owner,60000,
|
| 162 |
+
Suzuki Access 125,40000,2015,Individual,1st owner,2300,
|
| 163 |
+
Royal Enfield Classic Desert Storm,100000,2012,Individual,1st owner,15000,181445
|
| 164 |
+
Hero HF Deluxe,30000,2016,Individual,1st owner,50000,
|
| 165 |
+
KTM RC 200,130000,2017,Individual,1st owner,27000,
|
| 166 |
+
Honda CB Hornet 160R,48000,2016,Individual,2nd owner,25000,88161
|
| 167 |
+
Bajaj CT 100,32000,2017,Individual,1st owner,40000,
|
| 168 |
+
Hero Honda Pleasure,23000,2010,Individual,1st owner,32000,
|
| 169 |
+
Bajaj Pulsar 135 LS,20000,2010,Individual,2nd owner,50000,64589
|
| 170 |
+
Royal Enfield Classic 350,125000,2017,Individual,1st owner,36000,
|
| 171 |
+
Honda Navi [2016-2017],23000,2016,Individual,1st owner,17450,44389
|
| 172 |
+
Bajaj Discover 125,15000,2011,Individual,1st owner,32000,57549
|
| 173 |
+
Yamaha SZ RR V 2.0,35000,2015,Individual,1st owner,38000,69983
|
| 174 |
+
Bajaj Discover 150,25000,2014,Individual,2nd owner,71000,54299
|
| 175 |
+
Bajaj Pulsar 150,80000,2019,Individual,1st owner,8000,
|
| 176 |
+
TVS Flame,15000,2010,Individual,1st owner,12000,
|
| 177 |
+
Vespa VX 125,45000,2013,Individual,2nd owner,50000,72303
|
| 178 |
+
Yamaha SZ X,25000,2012,Individual,2nd owner,30000,65800
|
| 179 |
+
Honda CBF Stunner,35000,2013,Individual,1st owner,15888,58757
|
| 180 |
+
Bajaj Discover 100 T,25000,2013,Individual,1st owner,26000,47032
|
| 181 |
+
Royal Enfield Classic 350,170000,2018,Individual,1st owner,5600,
|
| 182 |
+
Honda Activa [2000-2015],25000,2014,Individual,1st owner,41000,50267
|
| 183 |
+
Royal Enfield Electra 5 S,60000,2007,Individual,2nd owner,19612,
|
| 184 |
+
Bajaj Pulsar 150,41000,2012,Individual,1st owner,17000,
|
| 185 |
+
Honda Shine,35000,2012,Individual,1st owner,33700,
|
| 186 |
+
Honda CB Unicorn 160,75000,2015,Individual,1st owner,100000,79233
|
| 187 |
+
Honda Activa 3G,47999,2016,Individual,1st owner,6000,54605
|
| 188 |
+
Honda Shine,36999,2011,Individual,1st owner,21000,
|
| 189 |
+
Bajaj Pulsar 180,25000,2007,Individual,1st owner,80000,85011
|
| 190 |
+
Suzuki Gixxer SF,60000,2016,Individual,1st owner,15000,
|
| 191 |
+
Honda CB Unicorn 150,50000,2007,Individual,1st owner,46000,74295
|
| 192 |
+
Yamaha YZF R15 [2011-2018],65000,2013,Individual,1st owner,11000,118997
|
| 193 |
+
TVS Sport,12000,2007,Individual,1st owner,72000,
|
| 194 |
+
Bajaj Pulsar AS200,60000,2015,Individual,1st owner,50000,92074
|
| 195 |
+
Honda Activa [2000-2015],20000,2010,Individual,1st owner,50000,50267
|
| 196 |
+
Yamaha FZ16,27000,2011,Individual,1st owner,67000,78712
|
| 197 |
+
Bajaj Boxer,10000,2000,Individual,1st owner,30000,
|
| 198 |
+
Hero Honda Hunk,56000,2015,Individual,1st owner,48000,
|
| 199 |
+
Hero Honda Hunk,58000,2015,Individual,1st owner,48000,
|
| 200 |
+
Bajaj Avenger Cruise 220,87000,2018,Individual,1st owner,8000,
|
| 201 |
+
Yamaha Ray Z,35000,2015,Individual,1st owner,15500,52949
|
| 202 |
+
Bajaj Pulsar 180,35000,2012,Individual,1st owner,45000,85011
|
| 203 |
+
Bajaj Discover 150F,40000,2014,Individual,2nd owner,60855,64071
|
| 204 |
+
Bajaj Pulsar 135 LS,56000,2017,Individual,3rd owner,37714,64589
|
| 205 |
+
Bajaj Pulsar 180,30000,2008,Individual,2nd owner,60000,85011
|
| 206 |
+
Honda Activa 125 [2016-2017],40000,2017,Individual,1st owner,26000,61545
|
| 207 |
+
Hero HF Deluxe,60000,2019,Individual,1st owner,6000,
|
| 208 |
+
Hero Karizma 2014,40000,2013,Individual,1st owner,30000,86744
|
| 209 |
+
Bajaj Platina 100,40000,2018,Individual,1st owner,17000,
|
| 210 |
+
Royal Enfield Bullet 500,130000,2015,Individual,1st owner,34601,168482
|
| 211 |
+
Bajaj Pulsar AS200,45000,2015,Individual,1st owner,48000,92074
|
| 212 |
+
Yamaha FZ S [2012-2016],42000,2013,Individual,1st owner,60000,79432
|
| 213 |
+
Bajaj Pulsar 220 Fi,25000,2012,Individual,1st owner,44000,
|
| 214 |
+
Bajaj Pulsar 150,15000,2006,Individual,1st owner,55000,
|
| 215 |
+
Bajaj Dominar 400 [2018],170000,2018,Individual,1st owner,16000,163331
|
| 216 |
+
Hero Passion X Pro [2016-2017],38000,2016,Individual,2nd owner,20000,59095
|
| 217 |
+
Yamaha FZ S V 2.0,60000,2015,Individual,2nd owner,17500,84042
|
| 218 |
+
TVS Apache RTR 160,65000,2017,Individual,1st owner,46000,
|
| 219 |
+
Bajaj Avenger [2015],35000,2011,Individual,1st owner,30000,75502
|
| 220 |
+
Bajaj Pulsar 150,70000,2019,Individual,1st owner,6500,
|
| 221 |
+
Hero Honda Glamour,15000,2006,Individual,1st owner,80000,
|
| 222 |
+
Hero Splendor iSmart,50000,2017,Individual,2nd owner,10000,52271
|
| 223 |
+
Royal Enfield Classic 350,145000,2017,Individual,1st owner,2200,
|
| 224 |
+
Yamaha FZ16,25000,2008,Individual,1st owner,40000,78712
|
| 225 |
+
Hero Xtreme Sports,58000,2016,Individual,1st owner,21000,80350
|
| 226 |
+
Royal Enfield Bullet 350 [2007-2011],90000,2007,Individual,1st owner,3500,
|
| 227 |
+
Hero Honda Passion,9000,2002,Individual,2nd owner,66191,
|
| 228 |
+
Bajaj Discover 150S,40000,2014,Individual,1st owner,50000,63331
|
| 229 |
+
TVS Scooty Zest 110,28000,2015,Individual,1st owner,32800,52372
|
| 230 |
+
Bajaj Avenger Street 150 [2018],50000,2016,Individual,1st owner,32000,80435
|
| 231 |
+
Yamaha Cygnus Ray ZR,56000,2019,Individual,1st owner,3900,58630
|
| 232 |
+
Honda Activa [2000-2015],35000,2014,Individual,1st owner,10000,50267
|
| 233 |
+
TVS Apache RTR 200 4V,95000,2018,Individual,1st owner,9600,
|
| 234 |
+
Honda Shine,30000,2010,Individual,1st owner,46782,
|
| 235 |
+
Honda CB Hornet 160R,95000,2019,Individual,1st owner,8000,94703
|
| 236 |
+
Honda Activa i [2016-2017],40000,2017,Individual,1st owner,11000,53436
|
| 237 |
+
Hero Karizma 2014,30000,2014,Individual,2nd owner,51000,86744
|
| 238 |
+
Bajaj Discover 100 T,18000,2013,Individual,1st owner,45000,47032
|
| 239 |
+
Honda Aviator,14000,2008,Individual,1st owner,66000,59183
|
| 240 |
+
Hero Splendor Plus,17000,2010,Individual,2nd owner,50000,
|
| 241 |
+
Royal Enfield Thunderbird 350,125000,2017,Individual,1st owner,23500,
|
| 242 |
+
Bajaj CT 110,20000,2015,Individual,1st owner,25000,
|
| 243 |
+
Hero Passion PRO i3s,50000,2017,Individual,1st owner,41000,56925
|
| 244 |
+
KTM RC 390,210000,2017,Individual,1st owner,12000,
|
| 245 |
+
Bajaj Pulsar 220F,70000,2018,Individual,1st owner,33000,
|
| 246 |
+
Hero Maestro Edge,40000,2017,Individual,1st owner,15000,55980
|
| 247 |
+
Bajaj Xcd,10000,2008,Individual,1st owner,50000,
|
| 248 |
+
Bajaj Pulsar 150,35000,2010,Individual,1st owner,40000,
|
| 249 |
+
TVS Centra,10000,2005,Individual,1st owner,50000,
|
| 250 |
+
Honda Activa 3G,42000,2015,Individual,1st owner,20000,54605
|
| 251 |
+
Yamaha FZ16,20000,2009,Individual,1st owner,50000,78712
|
| 252 |
+
Hero Maestro Edge,25000,2017,Individual,1st owner,55000,52790
|
| 253 |
+
Bajaj Discover 125,25000,2016,Individual,1st owner,70350,60122
|
| 254 |
+
Royal Enfield Thunderbird 350X,145000,2019,Individual,1st owner,2700,164004
|
| 255 |
+
Hero Super Splendor,50000,2016,Individual,1st owner,20000,
|
| 256 |
+
TVS Scooty Pep Plus,30000,2011,Individual,1st owner,20000,
|
| 257 |
+
Yamaha FZ V 2.0,60000,2014,Individual,1st owner,41311,81508
|
| 258 |
+
Hero Honda Splendor Plus,15000,2005,Individual,1st owner,65000,
|
| 259 |
+
Hero CD Deluxe,15000,2014,Individual,2nd owner,34000,
|
| 260 |
+
Hero Honda Passion PRO [2012],25000,2011,Individual,1st owner,20000,
|
| 261 |
+
Hero HF Deluxe i3s,54000,2019,Individual,1st owner,11000,
|
| 262 |
+
Bajaj Xcd,25000,2007,Individual,1st owner,75000,
|
| 263 |
+
Royal Enfield Interceptor 650,260000,2019,Individual,1st owner,1200,
|
| 264 |
+
Honda CBR-250R,100000,2014,Individual,1st owner,19000,199275
|
| 265 |
+
Bajaj Kristal,15000,2007,Individual,1st owner,30000,
|
| 266 |
+
Hero Honda Splendor Plus,20000,2006,Individual,1st owner,23000,
|
| 267 |
+
Honda Dream Yuga,35000,2014,Individual,1st owner,10000,56147
|
| 268 |
+
Yamaha FZ S V 2.0,50000,2016,Individual,1st owner,40000,87042
|
| 269 |
+
Hero Xpulse 200,90000,2019,Individual,1st owner,8600,107500
|
| 270 |
+
Bajaj V15,40000,2016,Individual,1st owner,45000,67187
|
| 271 |
+
Bajaj Avenger Street 220,80000,2016,Individual,1st owner,7200,95955
|
| 272 |
+
Bajaj Discover 135,20000,2010,Individual,1st owner,31195,
|
| 273 |
+
Honda CB Unicorn 150,70000,2017,Individual,1st owner,18000,74295
|
| 274 |
+
Vespa SXL 149,98000,2019,Individual,1st owner,1000,
|
| 275 |
+
Royal Enfield Machismo,75000,2008,Individual,2nd owner,17000,
|
| 276 |
+
Honda CB Shine SP,50000,2016,Individual,1st owner,46000,67214
|
| 277 |
+
Honda CB Unicorn 150,40000,2014,Individual,1st owner,77592,74295
|
| 278 |
+
Honda CB Unicorn 150,75000,2013,Individual,1st owner,54000,74295
|
| 279 |
+
Honda CB Unicorn 150,50000,2013,Individual,1st owner,17000,74295
|
| 280 |
+
Bajaj Pulsar 150,60000,2014,Individual,1st owner,60000,
|
| 281 |
+
TVS Apache RTR 160,50000,2016,Individual,1st owner,40000,
|
| 282 |
+
Honda Dio,35000,2014,Individual,1st owner,25000,
|
| 283 |
+
Royal Enfield Thunderbird 350,160000,2018,Individual,1st owner,19000,
|
| 284 |
+
Hero Maestro,25000,2015,Individual,2nd owner,40000,49412
|
| 285 |
+
Hero Honda CBZ extreme,42000,2010,Individual,1st owner,51000,
|
| 286 |
+
Bajaj Dominar 400,200000,2019,Individual,1st owner,7600,
|
| 287 |
+
Honda Activa 125,40000,2014,Individual,1st owner,14965,
|
| 288 |
+
Royal Enfield Classic Desert Storm,130000,2015,Individual,2nd owner,25000,181445
|
| 289 |
+
KTM 250 Duke,195000,2019,Individual,1st owner,6000,
|
| 290 |
+
KTM RC 390,270000,2019,Individual,1st owner,2380,
|
| 291 |
+
Kawasaki Ninja 650 [2018-2019],425000,2017,Individual,2nd owner,13600,599000
|
| 292 |
+
TVS Apache RTR 200 4V,85000,2018,Individual,1st owner,10000,
|
| 293 |
+
Kawasaki Ninja 250R,125000,2010,Individual,2nd owner,21000,317934
|
| 294 |
+
TVS Wego,45000,2018,Individual,1st owner,10000,54760
|
| 295 |
+
Honda CBR-250R,85000,2014,Individual,2nd owner,18600,171646
|
| 296 |
+
Bajaj Pulsar NS200,85000,2018,Individual,1st owner,7750,
|
| 297 |
+
Suzuki GSX S750,760000,2019,Individual,1st owner,2800,752020
|
| 298 |
+
Royal Enfield Thunderbird 350,100000,2015,Individual,1st owner,30000,
|
| 299 |
+
Royal Enfield Classic 350,95000,2015,Individual,1st owner,9800,
|
| 300 |
+
Honda CB Shine SP,48000,2015,Individual,1st owner,25000,67469
|
| 301 |
+
Bajaj Avenger Street 150 [2018],40000,2016,Individual,1st owner,29689,80435
|
| 302 |
+
Honda CBF Stunner,37000,2014,Individual,1st owner,43000,58757
|
| 303 |
+
Bajaj Avenger [2015],38000,2014,Individual,2nd owner,28243,75502
|
| 304 |
+
Suzuki Gixxer [2014-2018],55000,2015,Individual,1st owner,25000,78316
|
| 305 |
+
Suzuki Access 125,45000,2017,Individual,1st owner,22300,
|
| 306 |
+
TVS Scooty Streak,18000,2009,Individual,2nd owner,33595,44140
|
| 307 |
+
Royal Enfield Thunderbird 350X,140000,2018,Individual,1st owner,5505,
|
| 308 |
+
Yamaha Rx,70000,2000,Individual,3rd owner,5000,
|
| 309 |
+
Hero Honda Splendor Plus,15000,2007,Individual,1st owner,30000,
|
| 310 |
+
Bajaj Pulsar 125,65000,2019,Individual,1st owner,16000,
|
| 311 |
+
Honda Activa 5G,42000,2018,Individual,1st owner,22000,57557
|
| 312 |
+
Yamaha Fazer Dlx,58000,2012,Individual,1st owner,40000,
|
| 313 |
+
Harley-Davidson Street 750,330000,2014,Individual,4th owner,6500,534000
|
| 314 |
+
Hero Xtreme 2014,35000,2013,Individual,1st owner,15000,72973
|
| 315 |
+
Royal Enfield Classic 350,162000,2018,Individual,1st owner,17365,
|
| 316 |
+
Hero Honda Hunk,28000,2009,Individual,1st owner,40000,
|
| 317 |
+
Royal Enfield Interceptor 650,285000,2019,Individual,1st owner,5500,
|
| 318 |
+
Royal Enfield Classic 350,125000,2017,Individual,1st owner,33900,
|
| 319 |
+
Bajaj Pulsar 150 [2001-2011],15000,2005,Individual,1st owner,47670,
|
| 320 |
+
Honda Activa [2000-2015],29500,2013,Individual,1st owner,45000,50267
|
| 321 |
+
TVS Apache RR310,200000,2019,Individual,1st owner,5000,
|
| 322 |
+
Jawa Standard,160000,2019,Individual,1st owner,5700,
|
| 323 |
+
Hero Honda Splendor PRO,30000,2012,Individual,1st owner,22866,
|
| 324 |
+
Yamaha FZ25,110000,2019,Individual,1st owner,10000,133680
|
| 325 |
+
Bajaj Pulsar 220F,70000,2016,Individual,1st owner,31000,
|
| 326 |
+
Yamaha Fascino 110,69000,2019,Individual,1st owner,1600,57112
|
| 327 |
+
Yamaha FZ16,30000,2011,Individual,1st owner,44000,78712
|
| 328 |
+
Yamaha FZ16,30000,2010,Individual,1st owner,70000,78712
|
| 329 |
+
TVS Star City Plus,42000,2017,Individual,1st owner,21000,
|
| 330 |
+
Royal Enfield Classic 350,160000,2018,Individual,1st owner,17365,
|
| 331 |
+
Bajaj Pulsar 135 LS,20000,2010,Individual,1st owner,80000,64589
|
| 332 |
+
Suzuki Access 125,45000,2017,Individual,1st owner,15000,
|
| 333 |
+
Bajaj Pulsar 135 LS,23000,2010,Individual,1st owner,77000,64589
|
| 334 |
+
UM Renegade Commando,140000,2017,Individual,2nd owner,40000,180525
|
| 335 |
+
Hero Honda Splendor Plus,12000,2005,Individual,1st owner,48000,
|
| 336 |
+
Hero Passion PRO i3s,50000,2017,Individual,1st owner,18000,56925
|
| 337 |
+
Royal Enfield Classic 350,140000,2018,Individual,1st owner,20000,
|
| 338 |
+
Honda Activa 5G,55000,2019,Individual,1st owner,9000,59422
|
| 339 |
+
Yamaha Fascino 110,45000,2016,Individual,1st owner,56000,54500
|
| 340 |
+
Hero Splendor Plus,25000,2012,Individual,1st owner,50000,
|
| 341 |
+
Royal Enfield Thunderbird 350,90000,2014,Individual,1st owner,12000,
|
| 342 |
+
Yamaha YZF R15 V3,120000,2018,Individual,1st owner,11500,
|
| 343 |
+
KTM RC 200,120000,2015,Individual,1st owner,20000,
|
| 344 |
+
TVS Radeon,35000,2017,Individual,1st owner,20000,66492
|
| 345 |
+
Hero HF Deluxe,35000,2017,Individual,1st owner,27000,
|
| 346 |
+
BMW G310GS,300000,2018,Individual,1st owner,2500,349000
|
| 347 |
+
Royal Enfield Thunderbird 350,87000,2012,Individual,1st owner,20477,
|
| 348 |
+
Hero Honda Splendor Plus,18000,2010,Individual,1st owner,35700,
|
| 349 |
+
Yamaha FZ S V 2.0,50000,2014,Individual,1st owner,70000,84042
|
| 350 |
+
Bajaj Avenger Street 220,60000,2016,Individual,1st owner,29000,95955
|
| 351 |
+
Hero Honda Splendor Plus,15000,2004,Individual,1st owner,14500,
|
| 352 |
+
Bajaj Platina 100,30000,2018,Individual,1st owner,37000,
|
| 353 |
+
Royal Enfield Thunderbird 350X,160000,2018,Individual,1st owner,3246,
|
| 354 |
+
Honda CB Unicorn 150,50000,2016,Individual,1st owner,27000,74295
|
| 355 |
+
Suzuki Gixxer [2014-2018],62000,2017,Individual,1st owner,15000,78316
|
| 356 |
+
Bajaj Platina 100,45000,2019,Individual,1st owner,15000,
|
| 357 |
+
Royal Enfield Thunderbird 350,120000,2017,Individual,1st owner,4050,
|
| 358 |
+
Royal Enfield Thunderbird 500,125000,2014,Individual,1st owner,25000,190874
|
| 359 |
+
Bajaj Pulsar AS150,50000,2015,Individual,1st owner,5000,80821
|
| 360 |
+
Bajaj Pulsar 150,30000,2012,Individual,2nd owner,5000,
|
| 361 |
+
Hero Pleasure,40000,2014,Individual,1st owner,14000,51600
|
| 362 |
+
Honda Aviator,41000,2013,Individual,1st owner,36500,63537
|
| 363 |
+
Royal Enfield Thunderbird 350,120000,2017,Individual,2nd owner,9000,
|
| 364 |
+
Hero Ignitor,35000,2014,Individual,1st owner,33200,67722
|
| 365 |
+
Hero Honda CD100SS,10000,1997,Individual,1st owner,646000,
|
| 366 |
+
TVS Apache RTR 160,35000,2011,Individual,1st owner,25000,
|
| 367 |
+
Hero Achiever 150,38000,2017,Individual,1st owner,26000,69750
|
| 368 |
+
Vespa LX 125,50000,2015,Individual,1st owner,3909,77900
|
| 369 |
+
Honda Activa 3G,40000,2015,Individual,1st owner,7672,54605
|
| 370 |
+
Hero Splendor Plus i3s,70000,2019,Individual,1st owner,3000,55600
|
| 371 |
+
Royal Enfield Classic 350,140000,2016,Individual,1st owner,3654,
|
| 372 |
+
Hero Maestro,26500,2016,Individual,2nd owner,40000,53830
|
| 373 |
+
Hero Glamour 125,38000,2016,Dealer,1st owner,5500,61600
|
| 374 |
+
Yamaha FZ16,60000,2016,Individual,1st owner,29950,78712
|
| 375 |
+
Royal Enfield Himalayan,145000,2017,Individual,1st owner,14000,
|
| 376 |
+
Yamaha FZ S V 2.0,78000,2017,Individual,1st owner,26100,84480
|
| 377 |
+
Hero Maestro Edge,58000,2018,Individual,1st owner,6000,54580
|
| 378 |
+
Yamaha FZ25,130000,2017,Individual,1st owner,4000,132680
|
| 379 |
+
TVS Victor,20000,2001,Individual,1st owner,50000,54852
|
| 380 |
+
Bajaj Dominar 400 [2018],150000,2018,Individual,1st owner,5475,163331
|
| 381 |
+
Bajaj Pulsar 180,32000,2012,Individual,1st owner,40000,85011
|
| 382 |
+
Bajaj Pulsar 180,50000,2017,Individual,1st owner,20500,85011
|
| 383 |
+
KTM 200 Duke,120000,2017,Individual,1st owner,4100,
|
| 384 |
+
Bajaj Avenger Street 150 [2018],60000,2016,Individual,2nd owner,23097,80435
|
| 385 |
+
Bajaj Discover 100 M,20000,2011,Individual,1st owner,37734,44756
|
| 386 |
+
Royal Enfield Bullet 350 [2007-2011],65000,2011,Individual,2nd owner,65000,
|
| 387 |
+
Yamaha YZF R15 S,70000,2016,Individual,1st owner,8000,117926
|
| 388 |
+
Yamaha FZ V 2.0,35000,2014,Individual,1st owner,13500,81508
|
| 389 |
+
Bajaj Avenger Street 220,95000,2018,Individual,1st owner,23000,95955
|
| 390 |
+
Bajaj Pulsar 150,8000,2005,Individual,1st owner,58000,
|
| 391 |
+
Royal Enfield Thunderbird 350,85000,2010,Individual,1st owner,15000,
|
| 392 |
+
Hero Achiever 150,65000,2016,Individual,1st owner,29000,69750
|
| 393 |
+
Hero Passion Pro 110,39000,2013,Individual,1st owner,20000,
|
| 394 |
+
Hero Duet,45000,2017,Individual,1st owner,35000,50280
|
| 395 |
+
Bajaj Avenger Street 150 [2018],60000,2016,Individual,1st owner,45137,80435
|
| 396 |
+
Royal Enfield Classic Stealth Black,160000,2018,Individual,1st owner,7500,204977
|
| 397 |
+
Bajaj Pulsar 150,35000,2011,Individual,1st owner,35600,
|
| 398 |
+
Bajaj Pulsar 135 LS,40000,2018,Individual,1st owner,15000,64589
|
| 399 |
+
Yamaha Fazer [2009-2016],40000,2012,Individual,1st owner,7353,84751
|
| 400 |
+
Honda CB Hornet 160R,56000,2017,Individual,2nd owner,13200,87543
|
| 401 |
+
Honda CB Unicorn Dazzler,22000,2011,Individual,1st owner,38350,71757
|
| 402 |
+
Yamaha YBR 125,36000,2014,Individual,1st owner,20400,54593
|
| 403 |
+
Suzuki Intruder 150 Fi,100000,2018,Individual,1st owner,14500,110240
|
| 404 |
+
Bajaj V15,42000,2016,Individual,1st owner,19500,67187
|
| 405 |
+
Royal Enfield Electra 5 S,85000,2008,Individual,1st owner,20000,
|
| 406 |
+
Hero Passion PRO TR,45000,2014,Individual,1st owner,36000,54586
|
| 407 |
+
Yamaha FZ25,145000,2019,Individual,1st owner,4500,133680
|
| 408 |
+
Hero Karizma [2003-2014],50000,2013,Individual,1st owner,38000,85766
|
| 409 |
+
Royal Enfield Interceptor 650,270000,2019,Individual,1st owner,9000,
|
| 410 |
+
Royal Enfield Thunderbird 350,60000,2006,Individual,1st owner,40000,
|
| 411 |
+
Royal Enfield Classic Squadron Blue,140000,2017,Individual,1st owner,25000,181445
|
| 412 |
+
Hero Honda Splendor Plus,28000,2008,Individual,1st owner,70889,
|
| 413 |
+
KTM 390 Duke ABS [2013-2016],180000,2015,Individual,2nd owner,13125,202127
|
| 414 |
+
Bajaj Pulsar 180,42000,2014,Individual,2nd owner,19600,85011
|
| 415 |
+
Suzuki Access 125 [2007-2016],16000,2011,Individual,1st owner,40000,58314
|
| 416 |
+
Hero Splendor iSmart,40000,2015,Individual,1st owner,19055,52271
|
| 417 |
+
Bajaj Pulsar 180,38000,2012,Individual,2nd owner,57000,85011
|
| 418 |
+
Yamaha YZF R15 S,85000,2017,Individual,1st owner,13000,117926
|
| 419 |
+
Honda Aviator,28000,2013,Individual,1st owner,28087,63537
|
| 420 |
+
KTM 200 Duke,135000,2018,Individual,1st owner,24000,
|
| 421 |
+
Royal Enfield Thunderbird 350,120000,2016,Individual,1st owner,24600,
|
| 422 |
+
Hero Karizma ZMR,37000,2010,Individual,1st owner,27500,108000
|
| 423 |
+
Royal Enfield Classic Chrome,135000,2015,Individual,1st owner,45000,189313
|
| 424 |
+
Hero Honda Splendor,10000,2000,Individual,1st owner,61000,
|
| 425 |
+
Mahindra Rodeo,20000,2013,Individual,1st owner,7000,47343
|
| 426 |
+
TVS Apache RTR 160,83299,2019,Individual,1st owner,6400,
|
| 427 |
+
Yamaha Fazer FI V 2.0 [2016-2018],65000,2018,Individual,1st owner,3500,89643
|
| 428 |
+
Honda Activa 5G,50000,2018,Individual,1st owner,14000,59422
|
| 429 |
+
Bajaj Pulsar 220 Fi,65000,2013,Individual,1st owner,6409,
|
| 430 |
+
Hero Honda Karizma ZMR [2010],45000,2012,Individual,3rd owner,44000,
|
| 431 |
+
Honda CB Hornet 160R,60000,2017,Individual,1st owner,16500,92210
|
| 432 |
+
Royal Enfield Bullet 350,110000,2015,Individual,1st owner,36000,
|
| 433 |
+
Hero Honda CD Deluxe,14700,2005,Individual,2nd owner,30000,
|
| 434 |
+
Yamaha Saluto,38000,2015,Individual,1st owner,15000,63180
|
| 435 |
+
Suzuki Access 125,70000,2018,Individual,1st owner,14500,
|
| 436 |
+
TVS Sport,35000,2018,Individual,1st owner,26600,
|
| 437 |
+
Hero Honda Glamour,19000,2012,Individual,1st owner,32000,
|
| 438 |
+
KTM 125 Duke,130000,2019,Individual,1st owner,3500,
|
| 439 |
+
Bajaj Pulsar NS200,50000,2013,Dealer,1st owner,58203,
|
| 440 |
+
Bajaj Pulsar 150 [2001-2011],18000,2005,Individual,1st owner,21885,
|
| 441 |
+
Hero Xtreme 200R,87000,2019,Individual,1st owner,3200,93400
|
| 442 |
+
Hero Honda Splendor Plus,40000,2007,Individual,1st owner,40000,
|
| 443 |
+
Bajaj Discover 150S,35000,2015,Individual,1st owner,28000,63331
|
| 444 |
+
Honda CBR-250R,100000,2011,Individual,2nd owner,3500,171646
|
| 445 |
+
Hero Pleasure,30000,2013,Individual,1st owner,24000,51600
|
| 446 |
+
Bajaj Avenger Cruise 220,95000,2018,Individual,1st owner,1800,
|
| 447 |
+
Bajaj Discover 125 ST,25000,2012,Individual,1st owner,76000,58438
|
| 448 |
+
Bajaj Pulsar 150 [2001-2011],26500,2010,Individual,1st owner,52500,
|
| 449 |
+
Bajaj Boxer,12000,2008,Individual,1st owner,17500,
|
| 450 |
+
Bajaj Pulsar 150,20000,2006,Individual,1st owner,41000,
|
| 451 |
+
Royal Enfield Classic Signals,195000,2018,Individual,1st owner,2845,164095
|
| 452 |
+
Bajaj Pulsar 180,14900,2007,Individual,1st owner,50000,85011
|
| 453 |
+
Honda Dream Yuga,48000,2018,Individual,1st owner,7110,56147
|
| 454 |
+
Yamaha FZ S [2012-2016],40000,2014,Individual,1st owner,27785,79432
|
| 455 |
+
Honda CB Unicorn,45000,2010,Individual,1st owner,75000,71681
|
| 456 |
+
Honda Shine,25000,2010,Individual,1st owner,20000,
|
| 457 |
+
Honda Activa 3G,25000,2011,Individual,1st owner,20000,54605
|
| 458 |
+
Honda Activa [2000-2015],10000,2009,Individual,1st owner,60000,50267
|
| 459 |
+
Mahindra Flyte,22000,2009,Individual,3rd owner,20000,44493
|
| 460 |
+
Honda Activa 3G,45000,2015,Individual,1st owner,18000,54605
|
| 461 |
+
KTM 250 Duke,135000,2017,Individual,1st owner,16500,
|
| 462 |
+
Yamaha Ray Z,75000,2017,Individual,1st owner,15000,52949
|
| 463 |
+
Bajaj Pulsar 135 LS,24000,2010,Individual,1st owner,45000,64589
|
| 464 |
+
Yamaha FZ16,45000,2016,Individual,1st owner,37000,78712
|
| 465 |
+
Hero Passion PRO i3s,55000,2017,Individual,1st owner,14600,54475
|
| 466 |
+
Bajaj Discover 125,10000,2006,Individual,1st owner,51000,57549
|
| 467 |
+
Royal Enfield Classic 350,135000,2017,Individual,1st owner,15000,
|
| 468 |
+
Honda CB Unicorn 150,55000,2017,Individual,1st owner,12000,74295
|
| 469 |
+
Bajaj Avenger [2015],35000,2012,Individual,1st owner,15000,75502
|
| 470 |
+
Bajaj Super,20000,1988,Individual,1st owner,21000,
|
| 471 |
+
Bajaj Pulsar 150,26000,2012,Individual,2nd owner,65000,
|
| 472 |
+
Honda Activa [2000-2015],23000,2009,Individual,1st owner,95000,50267
|
| 473 |
+
Royal Enfield Classic Desert Storm,150000,2015,Individual,1st owner,23000,181445
|
| 474 |
+
Hero Honda CD Deluxe,24700,2012,Individual,2nd owner,40000,
|
| 475 |
+
Hero Duet,35000,2016,Individual,2nd owner,49637,54080
|
| 476 |
+
Hero Honda Passion PRO [2012],12000,2012,Individual,1st owner,90000,
|
| 477 |
+
Royal Enfield Classic 350,150000,2017,Individual,1st owner,7000,
|
| 478 |
+
Honda Activa 3G,50000,2016,Individual,1st owner,5326,54605
|
| 479 |
+
Honda Activa [2000-2015],25000,2009,Individual,1st owner,585659,50267
|
| 480 |
+
Hero Honda CD100,15000,1999,Dealer,2nd owner,10000,
|
| 481 |
+
Hero Super Splendor,35000,2014,Individual,2nd owner,37541,
|
| 482 |
+
Honda CB Trigger,45000,2015,Individual,1st owner,36000,83437
|
| 483 |
+
Honda Dream Yuga,25000,2013,Individual,1st owner,29000,56147
|
| 484 |
+
Hero Honda Passion Plus,40000,2018,Individual,1st owner,29000,
|
| 485 |
+
TVS Spectra,17000,2008,Individual,1st owner,50000,
|
| 486 |
+
Hero Ignitor,30000,2016,Individual,1st owner,18000,67722
|
| 487 |
+
Hero Honda CD100,15000,2000,Individual,1st owner,50000,
|
| 488 |
+
Bajaj Pulsar 220F,60000,2017,Individual,2nd owner,40000,
|
| 489 |
+
Hero Splendor Plus,30000,2013,Individual,1st owner,20000,
|
| 490 |
+
Yamaha YZF R15 [2011-2018],60000,2012,Individual,1st owner,22000,118997
|
| 491 |
+
Honda Activa 3G,32000,2015,Individual,1st owner,4500,54605
|
| 492 |
+
Bajaj Discover 150,30000,2012,Individual,1st owner,50000,54299
|
| 493 |
+
Bajaj Pulsar 150 [2001-2011],55000,2010,Individual,1st owner,42000,
|
| 494 |
+
Bajaj Avenger Street 150 [2018],75000,2016,Individual,1st owner,35000,80435
|
| 495 |
+
TVS Star City Plus,52000,2017,Individual,1st owner,25000,
|
| 496 |
+
Bajaj Discover 125,38000,2018,Individual,1st owner,34000,60122
|
| 497 |
+
Bajaj Discover 135,12000,2007,Individual,1st owner,60000,
|
| 498 |
+
Honda CB Shine SP,47000,2017,Individual,1st owner,73000,64750
|
| 499 |
+
Honda Activa [2000-2015],22000,2014,Individual,1st owner,38000,50267
|
| 500 |
+
Bajaj Avenger [2015],65000,2015,Individual,1st owner,26000,75502
|
| 501 |
+
Bajaj Platina 100,23000,2013,Individual,2nd owner,24000,
|
| 502 |
+
Bajaj Discover 100,30000,2011,Individual,1st owner,45000,42859
|
| 503 |
+
Bajaj Pulsar 150,35000,2011,Individual,1st owner,36000,
|
| 504 |
+
Bajaj Avenger Street 150 [2018],80000,2017,Individual,1st owner,30000,80435
|
| 505 |
+
Bajaj Platina 100,20000,2012,Individual,1st owner,16295,
|
| 506 |
+
Bajaj Pulsar 150,16000,2011,Individual,2nd owner,59000,
|
| 507 |
+
Bajaj Pulsar 150,20000,2006,Individual,1st owner,9500,
|
| 508 |
+
Bajaj Pulsar NS200,50000,2012,Individual,1st owner,46000,
|
| 509 |
+
Honda CB Trigger,40000,2015,Individual,1st owner,75000,76572
|
| 510 |
+
Bajaj Pulsar 135 LS,20000,2010,Individual,1st owner,80000,64589
|
| 511 |
+
Bajaj Pulsar 180,65000,2018,Individual,1st owner,26000,85011
|
| 512 |
+
Yamaha YZF R15 S,85000,2016,Individual,1st owner,26000,117926
|
| 513 |
+
Hero Splendor Plus,12000,2007,Individual,1st owner,100000,
|
| 514 |
+
Hero Xpulse 200T,105000,2019,Individual,1st owner,2900,96500
|
| 515 |
+
Yamaha FZ S V 2.0,40000,2015,Individual,1st owner,25000,84042
|
| 516 |
+
Bajaj Discover 150,30000,2011,Individual,2nd owner,39500,54299
|
| 517 |
+
Honda Activa [2000-2015],25000,2012,Individual,1st owner,40000,50267
|
| 518 |
+
Hero Splendor PRO,40000,2016,Individual,1st owner,16000,51994
|
| 519 |
+
Honda Dream Neo,45000,2017,Individual,2nd owner,21000,49211
|
| 520 |
+
Bajaj CT 100,40000,2018,Individual,1st owner,14000,
|
| 521 |
+
Suzuki Access 125,70000,2018,Individual,1st owner,7000,76632
|
| 522 |
+
Honda Activa [2000-2015],30000,2012,Individual,1st owner,22000,50267
|
| 523 |
+
Hero Honda Pleasure,25000,2009,Individual,1st owner,50000,
|
| 524 |
+
Bajaj Platina 100,20000,2012,Individual,1st owner,16295,
|
| 525 |
+
Honda CB Hornet 160R,70000,2017,Individual,1st owner,35000,87719
|
| 526 |
+
Bajaj V15,50000,2017,Individual,1st owner,9000,65626
|
| 527 |
+
Hero Honda CD Deluxe,25000,2010,Individual,1st owner,35000,
|
| 528 |
+
Bajaj Pulsar 150,22000,2011,Individual,1st owner,60000,
|
| 529 |
+
Honda Activa [2000-2015],35000,2013,Individual,1st owner,29500,50267
|
| 530 |
+
TVS Apache RTR 160,40000,2014,Individual,2nd owner,50000,
|
| 531 |
+
Bajaj Pulsar 220F,75000,2016,Individual,1st owner,10500,
|
| 532 |
+
Hero Honda Passion PRO [2012],28000,2011,Individual,2nd owner,60000,
|
| 533 |
+
Hero Maestro Edge,55000,2018,Individual,1st owner,39000,52790
|
| 534 |
+
Honda Dio,30000,2014,Individual,1st owner,24000,
|
| 535 |
+
Hero Glamour 125,40000,2016,Individual,1st owner,15000,61600
|
| 536 |
+
Bajaj Avenger Street 160,85000,2019,Individual,1st owner,3000,
|
| 537 |
+
Hero Honda CD Deluxe,12000,2007,Individual,2nd owner,100000,
|
| 538 |
+
Yamaha YBR 125,35000,2013,Individual,1st owner,20350,54593
|
| 539 |
+
Bajaj Pulsar 150,25000,2015,Individual,2nd owner,50000,
|
| 540 |
+
Bajaj Pulsar 150,40000,2012,Individual,2nd owner,37000,
|
| 541 |
+
Hero Honda CD Deluxe,15000,2011,Individual,1st owner,70000,
|
| 542 |
+
Hero Passion PRO i3s,55000,2018,Individual,1st owner,15000,54475
|
| 543 |
+
Bajaj Pulsar 180,60000,2015,Individual,1st owner,28563,85011
|
| 544 |
+
Yamaha Fazer 25,115000,2018,Individual,1st owner,11000,142680
|
| 545 |
+
TVS Excel,5000,1998,Individual,1st owner,60000,
|
| 546 |
+
Honda Shine,40000,2015,Individual,1st owner,21121,
|
| 547 |
+
Honda Dream Neo,50000,2014,Individual,1st owner,25000,49211
|
| 548 |
+
Honda Dio,28000,2014,Individual,1st owner,13000,
|
| 549 |
+
Hero Splendor Plus,35000,2013,Individual,1st owner,55000,
|
| 550 |
+
Bajaj Xcd,25000,2007,Individual,2nd owner,100000,
|
| 551 |
+
TVS Streak,20000,2009,Individual,2nd owner,36000,
|
| 552 |
+
Bajaj Pulsar 180,40000,2013,Individual,1st owner,34000,85011
|
| 553 |
+
Hero Xtreme 200R,86000,2018,Individual,1st owner,12000,93400
|
| 554 |
+
Yamaha YZF R15 [2011-2018],65000,2011,Individual,1st owner,29000,
|
| 555 |
+
Bajaj Avenger Street 150 [2018],60000,2017,Individual,1st owner,30000,80435
|
| 556 |
+
Yamaha RX135,65000,1998,Individual,3rd owner,16500,
|
| 557 |
+
Honda CB Shine SP,41000,2017,Individual,1st owner,33000,66697
|
| 558 |
+
Honda CBR150 R,110000,2017,Individual,1st owner,11800,129662
|
| 559 |
+
Honda Dream Yuga,32000,2017,Individual,1st owner,39000,56147
|
| 560 |
+
Honda Shine,37000,2014,Individual,1st owner,16145,
|
| 561 |
+
Hero Splendor Plus i3s,65000,2019,Individual,1st owner,1000,55600
|
| 562 |
+
Hero Honda Passion Plus,18000,2007,Individual,2nd owner,50000,
|
| 563 |
+
Hero Honda Passion PRO [2012],28700,2012,Individual,2nd owner,49876,
|
| 564 |
+
Honda Activa 3G,35000,2016,Individual,1st owner,51000,54605
|
| 565 |
+
Bajaj Pulsar 180F,100000,2019,Individual,1st owner,1300,
|
| 566 |
+
Hero Honda Glamour,21000,2010,Individual,1st owner,11000,
|
| 567 |
+
Bajaj Pulsar 150 [2001-2011],30000,2010,Individual,2nd owner,55000,
|
| 568 |
+
TVS Apache RTR 200 4V,90000,2019,Individual,1st owner,20000,
|
| 569 |
+
Bajaj Super,6000,1991,Individual,1st owner,35000,
|
| 570 |
+
Hero Honda Passion Plus,23500,2010,Individual,1st owner,60000,
|
| 571 |
+
Bajaj Pulsar 150,55000,2015,Individual,2nd owner,40000,
|
| 572 |
+
Yamaha SZ X,35000,2010,Individual,1st owner,46000,65800
|
| 573 |
+
Hero Honda CD100,15000,1998,Individual,1st owner,65000,
|
| 574 |
+
Bajaj Pulsar 180,35000,2009,Individual,1st owner,19000,85011
|
| 575 |
+
Bajaj Pulsar 220 DTS-i,40000,2011,Individual,1st owner,26000,
|
| 576 |
+
Hero Honda Achiever,15000,2009,Individual,1st owner,86000,
|
| 577 |
+
Hero Honda Karizma,40000,2011,Individual,2nd owner,340000,
|
| 578 |
+
Honda CB Unicorn 160,75000,2016,Individual,1st owner,40000,77545
|
| 579 |
+
Bajaj Avenger Cruise 220,70000,2016,Individual,1st owner,10000,
|
| 580 |
+
Bajaj Discover 135,22000,2007,Individual,1st owner,25000,
|
| 581 |
+
Yamaha FZ S V 2.0,80000,2019,Individual,1st owner,10000,87042
|
| 582 |
+
Bajaj Pulsar 150,72000,2017,Individual,1st owner,24000,
|
| 583 |
+
Hero HF Deluxe,30000,2014,Individual,2nd owner,35000,
|
| 584 |
+
Bajaj Pulsar 135 LS,25000,2011,Individual,2nd owner,30000,64589
|
| 585 |
+
Aprilia SR 125,65000,2018,Individual,1st owner,6500,
|
| 586 |
+
Bajaj Pulsar 150,68000,2019,Individual,1st owner,10000,
|
| 587 |
+
Hero Duet,27000,2016,Individual,1st owner,28000,50280
|
| 588 |
+
Honda CB Twister,25000,2015,Individual,1st owner,35000,57241
|
| 589 |
+
Bajaj Discover 125,45000,2016,Individual,1st owner,20000,60122
|
| 590 |
+
Honda CBR-250R,200000,2019,Individual,1st owner,5500,202310
|
| 591 |
+
Bajaj Pulsar 180,20100,2008,Individual,1st owner,36000,85011
|
| 592 |
+
Honda Shine,30000,2014,Individual,1st owner,25000,
|
| 593 |
+
Suzuki Swish [2012-2015],30000,2014,Individual,1st owner,30000,51685
|
| 594 |
+
TVS Star City,21000,2011,Individual,1st owner,101000,47108
|
| 595 |
+
Hero Super Splendor,45000,2012,Individual,1st owner,21000,
|
| 596 |
+
Yamaha Fazer [2009-2016],45000,2014,Individual,1st owner,57700,84751
|
| 597 |
+
TVS Scooty Pep DLX,14500,2012,Individual,1st owner,44000,
|
| 598 |
+
Honda Dream Yuga,47000,2019,Individual,1st owner,8800,56147
|
| 599 |
+
TVS Star City Plus,26000,2014,Individual,2nd owner,68000,
|
| 600 |
+
Yamaha Fazer [2009-2016],25000,2013,Individual,1st owner,120000,84751
|
| 601 |
+
Hero Honda Street Smart,10000,2000,Individual,1st owner,24000,
|
| 602 |
+
TVS Apache RTR 160,50000,2017,Individual,1st owner,38000,
|
| 603 |
+
Honda Dio,23000,2010,Individual,1st owner,40000,
|
| 604 |
+
Honda Activa [2000-2015],50000,2014,Individual,1st owner,48000,50267
|
| 605 |
+
Hero Maestro Edge,46000,2015,Individual,1st owner,14000,55980
|
| 606 |
+
Honda CB Hornet 160R,80000,2017,Individual,1st owner,18000,87719
|
| 607 |
+
Hero Karizma [2003-2014],50000,2013,Individual,1st owner,38000,85766
|
| 608 |
+
Honda CB Trigger,40000,2014,Individual,1st owner,75000,83437
|
| 609 |
+
Honda CB Hornet 160R,70000,2017,Individual,1st owner,35000,87719
|
| 610 |
+
Hero Glamour FI,30900,2014,Individual,1st owner,25000,71150
|
| 611 |
+
Bajaj Avenger [2015],65000,2010,Individual,1st owner,20000,75502
|
| 612 |
+
Hero Honda Splendor Plus,15000,2006,Individual,1st owner,100000,
|
| 613 |
+
TVS Apache RTR 160,89999,2019,Individual,1st owner,6400,
|
| 614 |
+
Hero Honda Splendor Plus,17600,2006,Individual,1st owner,52000,
|
| 615 |
+
Bajaj Platina 100,17000,2007,Individual,1st owner,16000,
|
| 616 |
+
Yamaha FZ25,90000,2018,Individual,1st owner,8200,132680
|
| 617 |
+
Bajaj Pulsar 150 [2001-2011],35000,2010,Individual,1st owner,60000,
|
| 618 |
+
Yamaha YZF R15 S,70000,2017,Individual,1st owner,16000,117926
|
| 619 |
+
Bajaj Discover 125,15000,2011,Individual,1st owner,47000,57549
|
| 620 |
+
Hero Passion PRO i3s,35000,2016,Individual,1st owner,18000,54475
|
| 621 |
+
Honda Activa [2000-2015],15000,2006,Individual,1st owner,50000,50267
|
| 622 |
+
Bajaj Discover 125,50000,2018,Individual,1st owner,6000,60122
|
| 623 |
+
Suzuki Gixxer [2014-2018],69000,2017,Individual,1st owner,20000,82813
|
| 624 |
+
TVS Wego,15000,2011,Individual,1st owner,65000,54760
|
| 625 |
+
Bajaj Discover 150,25000,2008,Individual,1st owner,25000,54299
|
| 626 |
+
Suzuki Access 125 [2007-2016],30000,2012,Individual,1st owner,23000,58314
|
| 627 |
+
Hero Karizma 2014,45000,2014,Individual,1st owner,5555,86744
|
| 628 |
+
Hero CD Deluxe,35000,2016,Individual,1st owner,38000,
|
| 629 |
+
Yamaha Fazer 25,120000,2018,Individual,1st owner,6000,142680
|
| 630 |
+
Hero Splendor Plus,25000,2015,Individual,1st owner,45000,
|
| 631 |
+
Yamaha YZF R15 [2011-2018],80000,2017,Individual,1st owner,27000,118997
|
| 632 |
+
Hero Honda Splendor Plus,10000,2007,Individual,1st owner,98000,
|
| 633 |
+
TVS Apache RTR 160,70000,2018,Individual,1st owner,16000,
|
| 634 |
+
Bajaj Pulsar 150,35000,2011,Individual,1st owner,50000,
|
| 635 |
+
Hero Glamour 125,40000,2015,Individual,1st owner,71250,61600
|
| 636 |
+
Hero Honda Passion Plus,20000,2006,Individual,1st owner,28000,
|
| 637 |
+
Honda CB Twister,30000,2012,Individual,1st owner,50000,57241
|
| 638 |
+
Bajaj CT 100,8000,2005,Individual,2nd owner,82000,
|
| 639 |
+
Bajaj Pulsar 220 DTS-i,65000,2013,Individual,1st owner,6409,
|
| 640 |
+
Hero Honda Super Splendor [2005],20000,2008,Individual,1st owner,54000,
|
| 641 |
+
Honda CB Trigger,45000,2013,Individual,1st owner,20000,76572
|
| 642 |
+
Hero Hunk,35000,2013,Individual,1st owner,50000,78513
|
| 643 |
+
Bajaj Discover 150,25000,2011,Individual,1st owner,52000,54299
|
| 644 |
+
TVS Apache RTR 160,15000,2009,Individual,4th owner,880000,
|
| 645 |
+
Hero Xtreme Sports,65000,2017,Individual,1st owner,23000,78350
|
| 646 |
+
Bajaj Avenger [2015],45000,2011,Individual,1st owner,35000,75502
|
| 647 |
+
Honda Activa 125,45000,2017,Individual,1st owner,49000,
|
| 648 |
+
Bajaj Pulsar 220F,50000,2011,Individual,2nd owner,55000,
|
| 649 |
+
Bajaj Pulsar NS200,85000,2018,Individual,2nd owner,15100,
|
| 650 |
+
Hero Honda Splendor,25000,2008,Individual,1st owner,38000,
|
| 651 |
+
Honda CB Unicorn 150,60000,2017,Individual,1st owner,12652,74295
|
| 652 |
+
Suzuki Gixxer SF Fi,100000,2019,Individual,1st owner,7000,103170
|
| 653 |
+
KTM RC 200,180000,2019,Individual,2nd owner,13800,
|
| 654 |
+
Bajaj Discover 100,25000,2010,Individual,2nd owner,28000,42859
|
| 655 |
+
TVS Wego,15000,2011,Individual,2nd owner,20000,54760
|
| 656 |
+
Honda CB Hornet 160R,60000,2017,Individual,2nd owner,16008,92210
|
| 657 |
+
Yamaha YZF R15 S,75000,2018,Individual,1st owner,36000,117926
|
| 658 |
+
Hero CBZ,35000,2010,Individual,1st owner,36000,
|
| 659 |
+
TVS Scooty Zest 110,55000,2018,Individual,1st owner,380,53751
|
| 660 |
+
Yamaha FZ S V 2.0,85000,2018,Individual,1st owner,50000,87042
|
| 661 |
+
Hero Honda Glamour,35000,2012,Individual,1st owner,30000,
|
| 662 |
+
Hero Honda CBZ extreme,35000,2011,Individual,1st owner,35000,
|
| 663 |
+
Yamaha FZ S V 2.0,60000,2017,Individual,1st owner,14500,84042
|
| 664 |
+
Suzuki Access 125,40000,2017,Individual,1st owner,15000,
|
| 665 |
+
Bajaj Pulsar 150,30000,2010,Individual,1st owner,54000,
|
| 666 |
+
Bajaj Pulsar NS160,80000,2018,Individual,1st owner,11000,
|
| 667 |
+
Hero Splendor PRO,24000,2011,Individual,1st owner,43000,51994
|
| 668 |
+
Honda Shine,18000,2010,Individual,1st owner,15000,
|
| 669 |
+
Hero Passion Pro 110,20000,2008,Individual,3rd owner,40000,
|
| 670 |
+
Yamaha FZ16,40000,2016,Individual,1st owner,93000,78712
|
| 671 |
+
Suzuki Access 125,20000,2012,Individual,1st owner,24000,
|
| 672 |
+
TVS Jupiter,70000,2018,Individual,1st owner,14000,
|
| 673 |
+
Hero Passion Pro 110,50000,2019,Individual,1st owner,29442,
|
| 674 |
+
Yamaha FZ S V 2.0,75000,2017,Individual,1st owner,20000,84042
|
| 675 |
+
Honda Livo,25000,2015,Individual,1st owner,30000,
|
| 676 |
+
Honda CB Hornet 160R,70000,2017,Individual,1st owner,38000,87543
|
| 677 |
+
Honda Activa 125 [2016-2017],55000,2018,Individual,1st owner,18000,61545
|
| 678 |
+
Honda Activa 5G,51000,2018,Individual,1st owner,14000,59422
|
| 679 |
+
Yamaha Saluto,74000,2019,Individual,1st owner,13000,59844
|
| 680 |
+
Yamaha FZ S V 2.0,65000,2017,Individual,1st owner,42000,84042
|
| 681 |
+
Bajaj Avenger Street 150 [2018],60000,2016,Individual,2nd owner,27000,80435
|
| 682 |
+
Bajaj Pulsar 220F,110000,2019,Individual,1st owner,4000,
|
| 683 |
+
Yamaha YZF R15 [2011-2018],50000,2014,Individual,1st owner,1200,118997
|
| 684 |
+
TVS Apache RTR 160 4V,85009,2018,Individual,1st owner,7500,
|
| 685 |
+
Hero Passion Pro 110,60000,2013,Individual,1st owner,15000,
|
| 686 |
+
Bajaj Pulsar 150,25000,2013,Individual,2nd owner,70000,
|
| 687 |
+
TVS Apache RTR 160 4V,75000,2019,Individual,1st owner,12657,
|
| 688 |
+
Honda CB Unicorn 150,30000,2010,Individual,1st owner,69000,74295
|
| 689 |
+
Honda Activa [2000-2015],16600,2010,Individual,1st owner,100000,50267
|
| 690 |
+
Honda Activa 3G,30000,2015,Individual,1st owner,18000,54605
|
| 691 |
+
Honda Shine,20000,2007,Individual,1st owner,80000,
|
| 692 |
+
Honda Activa 5G,62000,2019,Individual,1st owner,11200,59422
|
| 693 |
+
Bajaj Avenger Street 220,60000,2016,Individual,1st owner,17000,95955
|
| 694 |
+
Hero Xtreme [2013-2014],45000,2014,Individual,1st owner,56420,72492
|
| 695 |
+
Yamaha FZ S [2012-2016],40000,2011,Individual,1st owner,82000,79432
|
| 696 |
+
Suzuki Intruder 150,75000,2018,Individual,1st owner,10000,
|
| 697 |
+
Yamaha Fazer [2009-2016],50000,2012,Individual,1st owner,100000,84751
|
| 698 |
+
Bajaj Pulsar RS 200,105000,2017,Individual,1st owner,18345,
|
| 699 |
+
Bajaj Discover 135,30000,2009,Individual,1st owner,20000,
|
| 700 |
+
Hero Honda CBZ,10000,2000,Individual,4th owner,48000,
|
| 701 |
+
Bajaj Pulsar 135 LS,45000,2014,Individual,1st owner,14000,64589
|
| 702 |
+
Yamaha Fazer 25,145000,2018,Individual,2nd owner,4100,142680
|
| 703 |
+
Honda CB Unicorn 150,45000,2016,Individual,2nd owner,50000,74295
|
| 704 |
+
Honda Activa 5G,65000,2019,Individual,1st owner,3025,59422
|
| 705 |
+
Bajaj Pulsar 135 LS,20000,2011,Individual,1st owner,60000,64589
|
| 706 |
+
Hero Duet,37000,2016,Individual,1st owner,6000,50280
|
| 707 |
+
Hero Splendor NXG,18000,2011,Individual,1st owner,35000,44814
|
| 708 |
+
Hero Glamour 125,25000,2013,Individual,1st owner,50000,61600
|
| 709 |
+
Honda Activa 5G,46000,2018,Individual,1st owner,10000,57557
|
| 710 |
+
Yamaha Fascino 110,55000,2019,Individual,1st owner,7000,57112
|
| 711 |
+
Bajaj V15,40000,2016,Individual,1st owner,34000,67187
|
| 712 |
+
Hero Honda Passion PRO [2012],25000,2012,Individual,2nd owner,20000,
|
| 713 |
+
Honda Activa [2000-2015],25000,2012,Individual,1st owner,38000,50267
|
| 714 |
+
Bajaj Xcd,15000,2008,Individual,1st owner,100000,
|
| 715 |
+
Bajaj Pulsar NS160,70000,2018,Individual,1st owner,20000,
|
| 716 |
+
Honda CB Hornet 160R,70000,2017,Individual,1st owner,240000,92210
|
| 717 |
+
Yamaha RXG,25000,1997,Individual,1st owner,45354,
|
| 718 |
+
TVS Streak,10000,2009,Individual,1st owner,100000,
|
| 719 |
+
Bajaj Pulsar RS 200,80000,2015,Individual,1st owner,32000,
|
| 720 |
+
Yamaha Alpha,25000,2015,Individual,2nd owner,14000,54253
|
| 721 |
+
Honda Livo,35000,2016,Individual,1st owner,70000,
|
| 722 |
+
Mahindra Gusto,25000,2016,Individual,1st owner,13500,51185
|
| 723 |
+
Bajaj Discover 125,26000,2012,Individual,1st owner,75000,57549
|
| 724 |
+
Hero Glamour 125,15000,2011,Individual,1st owner,75000,61600
|
| 725 |
+
Honda CB Unicorn 160,50000,2017,Individual,1st owner,52000,77545
|
| 726 |
+
Hero Pleasure,26500,2013,Individual,1st owner,18860,49600
|
| 727 |
+
Royal Enfield Classic 350,135000,2017,Individual,1st owner,2700,
|
| 728 |
+
Honda CB Hornet 160R,80000,2016,Individual,1st owner,100000,92661
|
| 729 |
+
Bajaj CT 100,30000,2016,Individual,1st owner,38500,
|
| 730 |
+
Yamaha FZ S V 2.0,90000,2018,Individual,1st owner,10500,87042
|
| 731 |
+
Bajaj Pulsar 180,85000,2016,Individual,1st owner,35000,85011
|
| 732 |
+
Hero Glamour 125,54000,2013,Individual,1st owner,17000,61600
|
| 733 |
+
Bajaj CT 100,42000,2019,Individual,1st owner,2900,
|
| 734 |
+
Bajaj Discover 100 T,25000,2014,Individual,1st owner,30000,47032
|
| 735 |
+
TVS Star City Plus,50000,2016,Individual,2nd owner,14000,
|
| 736 |
+
Honda CB Unicorn 150,55000,2014,Individual,1st owner,10000,74295
|
| 737 |
+
Hero Passion PRO TR,35000,2014,Individual,1st owner,9556,54586
|
| 738 |
+
Honda CB Shine SP,50000,2018,Individual,1st owner,37000,64750
|
| 739 |
+
Bajaj V15,45000,2015,Individual,1st owner,2700,65626
|
| 740 |
+
Bajaj V15,45000,2016,Individual,1st owner,36000,67187
|
| 741 |
+
Bajaj Discover 100,28000,2015,Individual,2nd owner,52000,42859
|
| 742 |
+
Royal Enfield Electra 4 S,80000,2013,Individual,1st owner,46000,
|
| 743 |
+
KTM 200 Duke,130000,2016,Individual,1st owner,12000,
|
| 744 |
+
Bajaj Pulsar 220F,120000,2019,Individual,1st owner,6500,
|
| 745 |
+
Suzuki GS150R,27000,2012,Individual,1st owner,14100,70851
|
| 746 |
+
Honda Shine,30000,2014,Individual,1st owner,40000,
|
| 747 |
+
Honda CB Unicorn Dazzler,50000,2010,Individual,1st owner,75000,71757
|
| 748 |
+
Honda Livo,45000,2018,Individual,1st owner,10000,
|
| 749 |
+
Honda Aviator,28000,2009,Individual,1st owner,29625,59183
|
| 750 |
+
Honda Activa [2000-2015],6000,2006,Individual,2nd owner,35000,50267
|
| 751 |
+
Hero Hunk,35000,2016,Individual,1st owner,32000,78513
|
| 752 |
+
Honda Activa 125,30000,2014,Individual,1st owner,20000,
|
| 753 |
+
Bajaj Discover 110,15000,2007,Individual,1st owner,70000,52710
|
| 754 |
+
Hero Xtreme [2013-2014],45000,2013,Individual,1st owner,57000,75936
|
| 755 |
+
TVS Victor GLX,18000,2005,Individual,1st owner,11000,
|
| 756 |
+
Bajaj Pulsar NS200,85000,2018,Individual,1st owner,17500,
|
| 757 |
+
Honda Aviator,30000,2014,Individual,1st owner,7000,59183
|
| 758 |
+
Bajaj Platina 100,40000,2018,Individual,1st owner,17500,
|
| 759 |
+
TVS Sport,34000,2018,Individual,1st owner,25000,
|
| 760 |
+
Hero Honda Passion Plus,8000,2003,Individual,1st owner,53500,
|
| 761 |
+
Bajaj V15,70000,2018,Individual,1st owner,15000,67187
|
| 762 |
+
Honda Dio,50000,2016,Individual,1st owner,8000,
|
| 763 |
+
Honda Dream Yuga,35000,2015,Individual,1st owner,39448,56147
|
| 764 |
+
Hero Honda Splendor Plus,20000,2006,Individual,1st owner,75000,
|
| 765 |
+
Bajaj Pulsar 150,50000,2012,Individual,1st owner,28000,
|
| 766 |
+
Bajaj Discover 135,37000,2008,Individual,1st owner,62000,
|
| 767 |
+
Honda Livo,69000,2018,Individual,1st owner,12000,
|
| 768 |
+
Hero Honda Splendor NXG,28000,2012,Individual,1st owner,49999,
|
| 769 |
+
Bajaj Discover 125,25000,2011,Individual,1st owner,70000,57549
|
| 770 |
+
Yamaha FZ V 2.0,60000,2018,Individual,1st owner,25000,81508
|
| 771 |
+
Yamaha SZ-S,50000,2014,Individual,1st owner,20000,72532
|
| 772 |
+
Royal Enfield Thunderbird 350,135000,2016,Individual,1st owner,4500,
|
| 773 |
+
Bajaj Discover 125 M,30000,2014,Individual,1st owner,45000,49146
|
| 774 |
+
Yamaha FZ S [2012-2016],60000,2014,Individual,1st owner,68000,79432
|
| 775 |
+
Honda Activa [2000-2015],23000,2009,Individual,1st owner,95000,50267
|
| 776 |
+
Bajaj Xcd,20000,2009,Individual,1st owner,16000,
|
| 777 |
+
Bajaj Avenger Street 160,80000,2019,Individual,1st owner,5000,
|
| 778 |
+
Royal Enfield Electra 5 S,99000,2006,Individual,2nd owner,36000,
|
| 779 |
+
TVS Apache RTR 200 4V,90000,2018,Individual,1st owner,70000,
|
| 780 |
+
Hero Honda Splendor Plus,20000,2005,Individual,1st owner,27370,
|
| 781 |
+
Hero Glamour 125,50000,2017,Individual,1st owner,8600,61600
|
| 782 |
+
TVS Victor GLX,27000,2002,Individual,1st owner,49000,
|
| 783 |
+
Honda Grazia,60000,2018,Individual,1st owner,16000,
|
| 784 |
+
Bajaj Pulsar 150 [2001-2011],12000,2007,Individual,2nd owner,100000,
|
| 785 |
+
Hero Xtreme 2014,50000,2014,Individual,1st owner,10000,72973
|
| 786 |
+
Hero Pleasure,20000,2012,Individual,2nd owner,30000,49600
|
| 787 |
+
Hero Passion XPro,45000,2018,Individual,1st owner,7000,58900
|
| 788 |
+
Hero Super Splendor,40000,2013,Individual,1st owner,68000,
|
| 789 |
+
Yamaha FZ S [2012-2016],45000,2016,Individual,2nd owner,20000,79432
|
| 790 |
+
Honda Activa [2000-2015],25000,2015,Individual,1st owner,25000,50267
|
| 791 |
+
Hero Glamour FI,75000,2019,Individual,1st owner,8900,71150
|
| 792 |
+
Hero Honda Passion Plus,25000,2007,Individual,1st owner,70000,
|
| 793 |
+
Hero Splendor Plus,25000,2006,Individual,2nd owner,40000,
|
| 794 |
+
Hero Xpulse 200,100000,2019,Individual,1st owner,8500,107500
|
| 795 |
+
Honda CB Unicorn 150,30000,2012,Individual,1st owner,32000,74295
|
| 796 |
+
Bajaj Discover 135,25000,2010,Individual,1st owner,55000,
|
| 797 |
+
Hero Honda Splendor,10000,2006,Individual,1st owner,75000,
|
| 798 |
+
Hero Honda CD Deluxe,25000,2008,Individual,3rd owner,65000,
|
| 799 |
+
Royal Enfield Electra Twinspark,120000,2016,Individual,1st owner,345000,
|
| 800 |
+
Honda Dream Neo,42000,2014,Individual,1st owner,21000,53415
|
| 801 |
+
Hero Maestro,30000,2013,Individual,1st owner,60000,49412
|
| 802 |
+
Honda CBR150 R,77000,2014,Individual,1st owner,38000,132513
|
| 803 |
+
Honda CB Unicorn Dazzler,25000,2011,Individual,1st owner,40000,71757
|
| 804 |
+
TVS Apache [2006],15000,2006,Individual,1st owner,40000,
|
| 805 |
+
Hero Passion XPro,25000,2013,Individual,1st owner,25000,59640
|
| 806 |
+
Honda Activa 5G,50000,2018,Individual,1st owner,25000,57957
|
| 807 |
+
Honda Activa i,30000,2014,Individual,1st owner,25000,53900
|
| 808 |
+
TVS Apache RTR 200 4V,125000,2019,Individual,1st owner,3000,
|
| 809 |
+
Hero Honda CBZ extreme,35000,2011,Individual,1st owner,28000,
|
| 810 |
+
Suzuki Gixxer [2014-2018],45000,2015,Individual,1st owner,40000,78316
|
| 811 |
+
Hero Xpulse 200,98000,2019,Individual,1st owner,8500,107500
|
| 812 |
+
Bajaj Pulsar 150,75000,2017,Individual,1st owner,30000,
|
| 813 |
+
Bajaj Pulsar AS150,55000,2017,Individual,2nd owner,20000,80821
|
| 814 |
+
Bajaj Platina 100,25000,2013,Individual,1st owner,30000,
|
| 815 |
+
Honda CB Twister,70000,2014,Individual,1st owner,12566,49150
|
| 816 |
+
Suzuki SlingShot,24000,2011,Individual,1st owner,17000,
|
| 817 |
+
TVS Apache RTR 160,70000,2018,Individual,1st owner,17000,
|
| 818 |
+
Bajaj V12,45000,2017,Individual,1st owner,35000,58906
|
| 819 |
+
Hero Karizma 2014,25000,2015,Individual,1st owner,40000,86744
|
| 820 |
+
Yamaha YZF R15 V3,170000,2019,Individual,1st owner,1400,146400
|
| 821 |
+
Yamaha Fascino 110,38000,2016,Individual,1st owner,37000,54500
|
| 822 |
+
Honda CB Unicorn 160,45000,2015,Individual,1st owner,15000,77545
|
| 823 |
+
Yamaha Gladiator,15000,2009,Individual,1st owner,46000,
|
| 824 |
+
Hero Honda Glamour,45000,2012,Individual,1st owner,75000,
|
| 825 |
+
Bajaj Discover 100,22000,2014,Individual,1st owner,14289,42859
|
| 826 |
+
Mahindra Gusto,30000,2015,Individual,2nd owner,20000,51185
|
| 827 |
+
Royal Enfield Thunderbird 350,100000,2012,Individual,1st owner,28000,
|
| 828 |
+
Royal Enfield Classic 350,100000,2014,Individual,1st owner,19000,
|
| 829 |
+
Bajaj Pulsar 150,60000,2017,Individual,1st owner,28450,
|
| 830 |
+
Royal Enfield Electra Twinspark,100000,2014,Individual,1st owner,31500,
|
| 831 |
+
Bajaj Pulsar 150,40000,2016,Individual,1st owner,28000,
|
| 832 |
+
Bajaj Pulsar 150,21000,2007,Individual,1st owner,100000,
|
| 833 |
+
Hero HF Deluxe,40000,2018,Individual,1st owner,16000,
|
| 834 |
+
Honda Activa [2000-2015],25000,2007,Individual,1st owner,17860,50267
|
| 835 |
+
Yamaha FZ S [2012-2016],45000,2015,Individual,1st owner,24000,79432
|
| 836 |
+
Bajaj Avenger Cruise 220,75000,2016,Individual,1st owner,10950,
|
| 837 |
+
Honda Dio,45000,2017,Individual,1st owner,35850,
|
| 838 |
+
Honda Activa i [2016-2017],35000,2016,Individual,1st owner,29000,53436
|
| 839 |
+
Royal Enfield Bullet 350 [2007-2011],60000,2001,Individual,2nd owner,4000,
|
| 840 |
+
Yamaha FZ V 2.0,60000,2016,Individual,1st owner,45420,81508
|
| 841 |
+
Royal Enfield Classic 350,130000,2018,Individual,2nd owner,35000,
|
| 842 |
+
Honda CB Shine SP,42000,2017,Individual,1st owner,19800,64750
|
| 843 |
+
Bajaj V15,76000,2018,Individual,1st owner,23000,65626
|
| 844 |
+
Hero CBZ,40000,2014,Individual,1st owner,35000,
|
| 845 |
+
Hero Splendor Plus,65000,2018,Individual,1st owner,7500,
|
| 846 |
+
Bajaj Discover 100 T,20000,2013,Individual,1st owner,20000,47032
|
| 847 |
+
Honda CB Hornet 160R,75000,2016,Individual,1st owner,72000,92661
|
| 848 |
+
Honda CB Hornet 160R,70000,2018,Individual,1st owner,7000,92661
|
| 849 |
+
TVS Apache RTR 160 4V,105000,2019,Individual,1st owner,6000,
|
| 850 |
+
Honda CB Shine SP,50000,2017,Individual,1st owner,34300,62317
|
| 851 |
+
Royal Enfield Classic 350,120000,2017,Individual,1st owner,7199,
|
| 852 |
+
Bajaj Pulsar 180,25000,2011,Individual,1st owner,43000,85011
|
| 853 |
+
TVS XL 100,30000,2017,Individual,1st owner,8000,30490
|
| 854 |
+
Hero Super Splendor,50000,2017,Individual,1st owner,9999,
|
| 855 |
+
Hero Honda CBZ extreme,25000,2007,Individual,1st owner,80000,
|
| 856 |
+
Bajaj Pulsar 180,50000,2014,Individual,1st owner,30000,85011
|
| 857 |
+
Bajaj Discover 150,35000,2015,Individual,1st owner,12000,54299
|
| 858 |
+
Bajaj Pulsar 180,30000,2009,Individual,1st owner,17500,85011
|
| 859 |
+
Honda Shine,37000,2016,Individual,1st owner,45000,
|
| 860 |
+
Honda CB Unicorn 150,42000,2013,Individual,1st owner,38000,74295
|
| 861 |
+
Royal Enfield Himalayan,119000,2016,Individual,1st owner,19800,
|
| 862 |
+
Kawasaki Ninja 650 [2018-2019],300000,2011,Individual,1st owner,12000,589000
|
| 863 |
+
Royal Enfield Classic 350,130000,1993,Individual,2nd owner,10000,
|
| 864 |
+
Hero Honda Passion Plus,22000,2008,Individual,2nd owner,85000,
|
| 865 |
+
Hero Honda Splendor Plus,15000,2007,Individual,1st owner,70000,
|
| 866 |
+
Benelli TNT 25,160000,2017,Individual,1st owner,2009,170994
|
| 867 |
+
Royal Enfield Thunderbird 500X,185000,2018,Individual,1st owner,1500,198605
|
| 868 |
+
Royal Enfield Continental GT [2013 - 2018],110000,2014,Individual,1st owner,12077,208902
|
| 869 |
+
KTM RC 200,150000,2017,Individual,1st owner,20000,
|
| 870 |
+
Royal Enfield Bullet 350 [2007-2011],150000,1995,Individual,3rd owner,20000,
|
| 871 |
+
Bajaj Pulsar 220F,45000,2011,Individual,1st owner,40000,
|
| 872 |
+
Bajaj Avenger Street 220,75000,2018,Individual,1st owner,12000,95955
|
| 873 |
+
Honda Activa 125 [2016-2017],50000,2017,Individual,1st owner,27000,61545
|
| 874 |
+
Honda Shine,30000,2013,Individual,1st owner,93000,
|
| 875 |
+
Bajaj Discover 150F,30000,2015,Individual,1st owner,12000,64071
|
| 876 |
+
Bajaj Pulsar 150 [2001-2011],22000,2011,Individual,1st owner,36000,
|
| 877 |
+
Hero Karizma ZMR,75000,2015,Individual,1st owner,11000,108000
|
| 878 |
+
Honda Dream Yuga,45000,2017,Individual,1st owner,26000,56147
|
| 879 |
+
Hero Glamour 125,35000,2014,Individual,1st owner,450000,61600
|
| 880 |
+
Honda Activa [2000-2015],35000,2012,Individual,1st owner,29000,50267
|
| 881 |
+
Bajaj CT 100,25000,2017,Individual,1st owner,45000,
|
| 882 |
+
Honda CB Hornet 160R,70000,2017,Individual,1st owner,13000,92210
|
| 883 |
+
Hero CD Dawn,10000,2005,Individual,1st owner,48000,
|
| 884 |
+
Royal Enfield Classic Gunmetal Grey,180000,2018,Individual,1st owner,5814,148114
|
| 885 |
+
Bajaj Discover 100,24000,2014,Individual,1st owner,31000,42859
|
| 886 |
+
Honda Shine,42000,2017,Individual,1st owner,25000,
|
| 887 |
+
TVS Max DLX,26000,2002,Individual,2nd owner,28000,
|
| 888 |
+
Honda Dio,60000,2018,Individual,1st owner,11000,
|
| 889 |
+
Bajaj Pulsar 180,72000,2017,Dealer,1st owner,7850,85011
|
| 890 |
+
Royal Enfield Thunderbird 350,120000,2015,Individual,1st owner,10000,
|
| 891 |
+
Royal Enfield Thunderbird 350,59000,2005,Individual,2nd owner,40000,
|
| 892 |
+
Royal Enfield Classic Chrome,185000,2015,Individual,2nd owner,5000,189313
|
| 893 |
+
Royal Enfield Classic Gunmetal Grey,140000,2018,Individual,1st owner,14000,148114
|
| 894 |
+
KTM 390 Duke,205000,2018,Individual,1st owner,7500,
|
| 895 |
+
Hero Pleasure [2005-2015],30000,2013,Individual,1st owner,25000,46779
|
| 896 |
+
TVS Victor,18000,2004,Individual,1st owner,46700,54852
|
| 897 |
+
Bajaj Pulsar 150,35000,2011,Individual,1st owner,12000,
|
| 898 |
+
KTM RC 200,185000,2019,Individual,1st owner,6000,
|
| 899 |
+
Kawasaki Ninja 300,300000,2016,Individual,1st owner,9800,360000
|
| 900 |
+
Honda Dream Yuga,30000,2015,Individual,2nd owner,46070,56147
|
| 901 |
+
Bajaj Pulsar 150,35000,2009,Individual,1st owner,14500,
|
| 902 |
+
Bajaj Pulsar 150 [2001-2011],35000,2008,Individual,1st owner,70000,
|
| 903 |
+
Hero Honda Passion Plus,25000,2008,Dealer,2nd owner,100000,
|
| 904 |
+
Yamaha YZF R15 [2011-2018],80000,2013,Dealer,1st owner,30000,118997
|
| 905 |
+
Hero Honda Splendor Plus,20000,2004,Individual,2nd owner,127000,
|
| 906 |
+
Hero Karizma ZMR,43000,2012,Individual,2nd owner,63000,108000
|
| 907 |
+
Hero Honda Splendor Plus,20000,2010,Individual,2nd owner,30000,
|
| 908 |
+
Yo Style,20000,2011,Individual,1st owner,10000,37675
|
| 909 |
+
Hero Splendor iSmart,40000,2015,Individual,1st owner,10000,52271
|
| 910 |
+
Hero Super Splendor,30000,2011,Individual,1st owner,89000,
|
| 911 |
+
Bajaj Discover 100,21000,2009,Individual,1st owner,50000,42859
|
| 912 |
+
Yamaha Fazer [2009-2016],35000,2011,Individual,1st owner,15500,84751
|
| 913 |
+
Bajaj Discover 125,23000,2011,Individual,1st owner,66000,57549
|
| 914 |
+
Hero Super Splendor,40000,2017,Individual,2nd owner,80000,
|
| 915 |
+
Honda Shine,40000,2011,Individual,1st owner,8600,
|
| 916 |
+
Bajaj Discover 125 M,45000,2014,Individual,1st owner,40000,47186
|
| 917 |
+
Bajaj Avenger Street 150 [2018],60000,2016,Individual,1st owner,25000,80435
|
| 918 |
+
Yamaha Fazer [2009-2016],40000,2013,Individual,1st owner,34500,84751
|
| 919 |
+
Hero Passion X Pro [2016-2017],42000,2016,Individual,1st owner,15500,59095
|
| 920 |
+
Honda Activa [2000-2015],18000,2011,Individual,1st owner,28000,50267
|
| 921 |
+
TVS Star City,15000,2006,Individual,1st owner,40000,46575
|
| 922 |
+
Hero Honda Hunk,45000,2013,Individual,1st owner,40000,
|
| 923 |
+
TVS Star City,25000,2016,Individual,1st owner,50000,47108
|
| 924 |
+
Bajaj Pulsar 150,70000,2017,Individual,1st owner,24000,
|
| 925 |
+
Bajaj Discover 100,23000,2012,Individual,1st owner,50000,42859
|
| 926 |
+
TVS Victor,10000,2005,Individual,1st owner,55000,54852
|
| 927 |
+
Hero Honda Splendor Plus,25000,2012,Individual,1st owner,70000,
|
| 928 |
+
Honda Aviator,25000,2012,Individual,2nd owner,12000,59183
|
| 929 |
+
Bajaj Pulsar 180,50000,2010,Individual,1st owner,70000,85011
|
| 930 |
+
Bajaj Avenger [2015],60000,2015,Individual,2nd owner,16000,75502
|
| 931 |
+
Hero CD Dawn,35000,2014,Individual,1st owner,38000,
|
| 932 |
+
Hero Maestro,50000,2016,Individual,1st owner,100000,49412
|
| 933 |
+
Honda CB Shine SP,50000,2016,Individual,1st owner,45000,64750
|
| 934 |
+
Hero Honda CD Deluxe,25500,2012,Individual,1st owner,28990,
|
| 935 |
+
Hero Honda Hunk,35000,2010,Individual,1st owner,13000,
|
| 936 |
+
Hero Honda CD Deluxe,20000,2005,Individual,1st owner,15000,
|
| 937 |
+
Honda Activa 3G,40000,2016,Individual,1st owner,60000,54605
|
| 938 |
+
Bajaj Pulsar 135 LS,45000,2017,Individual,1st owner,22000,64589
|
| 939 |
+
Bajaj Pulsar 150 [2001-2011],30000,2008,Individual,1st owner,19500,
|
| 940 |
+
Hero Pleasure,30000,2013,Individual,1st owner,25000,49600
|
| 941 |
+
Hero Honda CBZ extreme,30000,2011,Individual,3rd owner,70000,
|
| 942 |
+
Bajaj Pulsar 150,40000,2014,Individual,2nd owner,65000,
|
| 943 |
+
Honda CB Twister,25000,2012,Individual,1st owner,86000,53857
|
| 944 |
+
Honda Livo,45000,2017,Individual,1st owner,30000,
|
| 945 |
+
Bajaj Pulsar AS200,65000,2015,Individual,1st owner,33000,92074
|
| 946 |
+
Honda Activa 3G,40000,2015,Individual,1st owner,36000,54605
|
| 947 |
+
Hero Honda Hunk,40000,2010,Individual,1st owner,41000,
|
| 948 |
+
Honda CB Hornet 160R,70000,2017,Individual,1st owner,28000,83340
|
| 949 |
+
Hero HF Deluxe,35000,2018,Individual,1st owner,15000,
|
| 950 |
+
Hero Splendor PRO,35000,2015,Individual,1st owner,35280,51994
|
| 951 |
+
Bajaj Boxer,15000,2004,Individual,1st owner,18000,
|
| 952 |
+
Royal Enfield Electra 5 S,99000,2012,Individual,1st owner,28000,
|
| 953 |
+
Royal Enfield Electra 5 S,90000,2012,Individual,1st owner,40000,
|
| 954 |
+
Hero Honda Hunk,20000,2010,Individual,1st owner,17000,
|
| 955 |
+
Hero Ignitor,36000,2016,Individual,1st owner,23000,65599
|
| 956 |
+
Bajaj Discover 100 M,32000,2014,Individual,1st owner,30000,44756
|
| 957 |
+
Honda Activa 3G,50000,2016,Individual,1st owner,6000,54605
|
| 958 |
+
Bajaj Pulsar 135 LS,50000,2015,Individual,1st owner,48000,64589
|
| 959 |
+
Bajaj Pulsar 220 DTS-i,60000,2014,Individual,1st owner,16000,
|
| 960 |
+
Hero Honda CBZ extreme,40000,2009,Individual,1st owner,50000,
|
| 961 |
+
Hero Honda CBZ extreme,35000,2012,Individual,1st owner,60000,
|
| 962 |
+
Royal Enfield Thunder 500,175000,2018,Individual,1st owner,3000,190000
|
| 963 |
+
UM Renegade Mojave,170000,2019,Individual,1st owner,1400,182000
|
| 964 |
+
KTM RC200,165000,2019,Individual,1st owner,4000,178000
|
| 965 |
+
Bajaj Dominar 400,145000,2019,Individual,1st owner,1200,160000
|
| 966 |
+
Royal Enfield Classic 350,135000,2019,Individual,1st owner,4100,147000
|
| 967 |
+
KTM RC390,135000,2017,Individual,1st owner,21700,237000
|
| 968 |
+
Hyosung GT250R,135000,2016,Individual,2nd owner,16500,345000
|
| 969 |
+
Royal Enfield Thunder 350,125000,2015,Individual,1st owner,15000,150000
|
| 970 |
+
Royal Enfield Thunder 350,120000,2018,Individual,1st owner,18000,150000
|
| 971 |
+
Royal Enfield Classic 350,120000,2019,Individual,1st owner,11000,147000
|
| 972 |
+
KTM RC200,120000,2018,Individual,1st owner,6000,178000
|
| 973 |
+
Royal Enfield Thunder 350,115000,2018,Individual,1st owner,8700,150000
|
| 974 |
+
KTM 390 Duke ,115000,2016,Individual,1st owner,7000,240000
|
| 975 |
+
Mahindra Mojo XT300,115000,2018,Individual,1st owner,35000,140000
|
| 976 |
+
Royal Enfield Classic 350,115000,2017,Individual,1st owner,17000,147000
|
| 977 |
+
Royal Enfield Classic 350,111000,2017,Individual,1st owner,17500,147000
|
| 978 |
+
Royal Enfield Classic 350,110000,2015,Individual,1st owner,33000,147000
|
| 979 |
+
Royal Enfield Thunder 500,110000,2017,Individual,1st owner,14000,190000
|
| 980 |
+
Royal Enfield Classic 350,110000,2017,Individual,1st owner,26000,147000
|
| 981 |
+
Royal Enfield Thunder 500,105000,2015,Individual,1st owner,5400,190000
|
| 982 |
+
Bajaj Pulsar RS200,105000,2018,Individual,1st owner,5700,126000
|
| 983 |
+
Royal Enfield Thunder 350,105000,2013,Individual,1st owner,6900,150000
|
| 984 |
+
Royal Enfield Bullet 350,105000,2018,Individual,1st owner,6000,117000
|
| 985 |
+
Royal Enfield Classic 350,100000,2015,Individual,1st owner,46500,147000
|
| 986 |
+
Royal Enfield Classic 500,95000,2014,Individual,1st owner,11500,175000
|
| 987 |
+
Royal Enfield Classic 500,90000,2011,Individual,1st owner,40000,175000
|
| 988 |
+
Bajaj Avenger 220,90000,2019,Individual,1st owner,1300,95000
|
| 989 |
+
Bajaj Avenger 150,75000,2018,Individual,1st owner,7000,80000
|
| 990 |
+
Honda CB Hornet 160R,80000,2019,Individual,1st owner,3000,87000
|
| 991 |
+
Yamaha FZ S V 2.0,78000,2019,Individual,1st owner,5000,84000
|
| 992 |
+
Honda CB Hornet 160R,75000,2019,Individual,1st owner,11000,87000
|
| 993 |
+
Yamaha FZ 16,75000,2017,Individual,1st owner,18000,82000
|
| 994 |
+
Bajaj Avenger 220,75000,2019,Individual,1st owner,3500,95000
|
| 995 |
+
Bajaj Avenger 220,72000,2018,Individual,1st owner,500,95000
|
| 996 |
+
TVS Apache RTR 160,65000,2019,Individual,1st owner,11800,81000
|
| 997 |
+
Bajaj Pulsar 150,65000,2017,Individual,1st owner,5000,74000
|
| 998 |
+
Honda CBR 150,65000,2016,Individual,1st owner,23500,120000
|
| 999 |
+
Hero Extreme,65000,2015,Individual,1st owner,16000,78700
|
| 1000 |
+
Honda CB Hornet 160R,60000,2018,Individual,1st owner,15000,87000
|
| 1001 |
+
Bajaj Avenger 220 dtsi,60000,2017,Individual,1st owner,16600,95000
|
| 1002 |
+
Honda CBR 150,60000,2015,Individual,1st owner,32000,120000
|
| 1003 |
+
Bajaj Avenger 150 street,60000,2018,Individual,1st owner,20000,80000
|
| 1004 |
+
Yamaha FZ v 2.0,60000,2017,Individual,1st owner,29000,84000
|
| 1005 |
+
Yamaha FZ v 2.0,60000,2018,Individual,1st owner,25000,84000
|
| 1006 |
+
Bajaj Pulsar NS 200,60000,2016,Individual,1st owner,25000,99000
|
| 1007 |
+
TVS Apache RTR 160,60000,2014,Individual,1st owner,19000,81000
|
| 1008 |
+
Hero Extreme,55000,2016,Individual,1st owner,15000,78700
|
| 1009 |
+
Yamaha FZ S V 2.0,55000,2017,Individual,1st owner,58000,84000
|
| 1010 |
+
Bajaj Pulsar 220 F,52000,2012,Individual,1st owner,45000,94000
|
| 1011 |
+
Bajaj Pulsar 220 F,51000,2018,Individual,1st owner,24000,94000
|
| 1012 |
+
TVS Apache RTR 180,50000,2013,Individual,1st owner,6000,82600
|
| 1013 |
+
Hero Passion X pro,50000,2018,Individual,1st owner,31000,55000
|
| 1014 |
+
Bajaj Pulsar NS 200,50000,2014,Individual,1st owner,13000,99000
|
| 1015 |
+
Bajaj Pulsar NS 200,50000,2015,Individual,1st owner,45000,99000
|
| 1016 |
+
Yamaha Fazer ,50000,2016,Individual,1st owner,8000,88000
|
| 1017 |
+
Honda Activa 4G,48000,2019,Individual,1st owner,4300,51000
|
| 1018 |
+
TVS Sport ,48000,2019,Individual,1st owner,15000,52000
|
| 1019 |
+
Yamaha FZ S V 2.0,48000,2017,Individual,1st owner,23000,84000
|
| 1020 |
+
Honda Dream Yuga ,48000,2019,Individual,1st owner,8600,54000
|
| 1021 |
+
Honda Activa 4G,45000,2019,Individual,1st owner,4000,51000
|
| 1022 |
+
Bajaj Avenger Street 220,45000,2013,Individual,1st owner,24000,95000
|
| 1023 |
+
TVS Apache RTR 180,45000,2016,Individual,1st owner,23000,82600
|
| 1024 |
+
Bajaj Pulsar NS 200,45000,2014,Individual,1st owner,14500,99000
|
| 1025 |
+
Bajaj Avenger 220 dtsi,45000,2012,Individual,1st owner,27000,95000
|
| 1026 |
+
Hero Splender iSmart,45000,2018,Individual,1st owner,14000,54000
|
| 1027 |
+
Activa 3g,45000,2018,Individual,1st owner,500,54000
|
| 1028 |
+
Hero Passion Pro,45000,2018,Individual,1st owner,1000,55000
|
| 1029 |
+
TVS Apache RTR 160,42000,2016,Individual,1st owner,42000,81000
|
| 1030 |
+
Honda CB Trigger,42000,2015,Individual,1st owner,12000,73000
|
| 1031 |
+
Hero Splender iSmart,40000,2017,Individual,1st owner,14000,54000
|
| 1032 |
+
Yamaha FZ S ,40000,2014,Individual,1st owner,5500,83000
|
| 1033 |
+
Hero Passion Pro,40000,2017,Individual,1st owner,6700,55000
|
| 1034 |
+
Bajaj Pulsar 135 LS,40000,2016,Individual,1st owner,13700,64000
|
| 1035 |
+
Activa 4g,40000,2019,Individual,1st owner,1300,51000
|
| 1036 |
+
Honda CB Unicorn,38000,2017,Individual,1st owner,38600,72000
|
| 1037 |
+
Hero Honda CBZ extreme,38000,2013,Individual,1st owner,75000,78700
|
| 1038 |
+
Honda Karizma,35000,2013,Individual,1st owner,30000,105000
|
| 1039 |
+
Honda Activa 125,35000,2018,Individual,1st owner,24000,57000
|
| 1040 |
+
TVS Jupyter,35000,2016,Individual,1st owner,19000,52000
|
| 1041 |
+
Honda Karizma,31000,2012,Individual,1st owner,213000,105000
|
| 1042 |
+
Hero Honda Passion Pro,30000,2014,Individual,1st owner,60000,51000
|
| 1043 |
+
Hero Splender Plus,30000,2018,Individual,1st owner,50000,48000
|
| 1044 |
+
Honda CB Shine,30000,2015,Individual,1st owner,30000,58000
|
| 1045 |
+
Bajaj Discover 100,27000,2015,Individual,1st owner,21000,47000
|
| 1046 |
+
Bajaj Pulsar 150,25000,2010,Individual,2nd owner,26000,75000
|
| 1047 |
+
Suzuki Access 125,25000,2010,Individual,1st owner,1900,58000
|
| 1048 |
+
TVS Wego,25000,2012,Individual,1st owner,22000,52000
|
| 1049 |
+
Honda CB twister,25000,2015,Individual,1st owner,32000,51000
|
| 1050 |
+
Hero Glamour,25000,2015,Individual,1st owner,18000,57000
|
| 1051 |
+
Hero Super Splendor,20000,2007,Individual,1st owner,55000,57000
|
| 1052 |
+
Bajaj Pulsar 150,20000,2010,Individual,1st owner,60000,75000
|
| 1053 |
+
Bajaj Discover 125,20000,2014,Individual,2nd owner,25000,57000
|
| 1054 |
+
Hero Hunk,20000,2009,Individual,2nd owner,49000,75000
|
| 1055 |
+
Hero Ignitor Disc,20000,2015,Individual,2nd owner,24000,65000
|
| 1056 |
+
Hero CBZ Xtreme,20000,2010,Individual,1st owner,50000,78700
|
| 1057 |
+
Bajaj ct 100,18000,2017,Individual,1st owner,35000,32000
|
| 1058 |
+
Activa 3g,17000,2010,Individual,1st owner,500000,52000
|
| 1059 |
+
Honda CB twister,16000,2012,Individual,1st owner,33000,51000
|
| 1060 |
+
Bajaj Discover 125,15000,2013,Individual,2nd owner,35000,57000
|
| 1061 |
+
Honda CB Shine,12000,2009,Individual,1st owner,53000,58000
|
| 1062 |
+
Bajaj Pulsar 150,10000,2008,Individual,1st owner,92233,75000
|
static/WA_Fn-UseC_-Telco-Customer-Churn.csv
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
static/analysis_report.pdf
ADDED
|
Binary file (332 kB). View file
|
|
|
static/correlation_matrix.png
ADDED
|
static/dtree_classifier.png
ADDED
|
static/galvatron.png
ADDED
|
static/healthcare-dataset-stroke-data.csv
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
static/loan_approval_dataset.csv
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
static/loan_data.csv
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
static/multiclass_barplot.png
ADDED
|
static/multiclass_histplot.png
ADDED
|
static/pair1.png
ADDED
|
static/pair2.png
ADDED
|
static/plot1.png
ADDED
|
static/plot2.png
ADDED
|
static/rf_classifier.png
ADDED
|
templates/upload.html
ADDED
|
@@ -0,0 +1,226 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<title>Upload File</title>
|
| 7 |
+
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
| 8 |
+
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" rel="stylesheet">
|
| 9 |
+
<style>
|
| 10 |
+
body {
|
| 11 |
+
background-color: #f8f9fa;
|
| 12 |
+
}
|
| 13 |
+
.container {
|
| 14 |
+
margin-top: 50px;
|
| 15 |
+
margin-bottom: 50px;
|
| 16 |
+
border-radius: 10px;
|
| 17 |
+
background: white;
|
| 18 |
+
padding: 30px;
|
| 19 |
+
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
|
| 20 |
+
}
|
| 21 |
+
h1, h2 {
|
| 22 |
+
color: #343a40;
|
| 23 |
+
}
|
| 24 |
+
.btn-primary {
|
| 25 |
+
background-color: #b64848;
|
| 26 |
+
border: none;
|
| 27 |
+
}
|
| 28 |
+
.btn-primary:hover {
|
| 29 |
+
background-color: #ca1717;
|
| 30 |
+
}
|
| 31 |
+
.img-fluid {
|
| 32 |
+
border-radius: 10px;
|
| 33 |
+
margin-top: 10px;
|
| 34 |
+
}
|
| 35 |
+
.form-label {
|
| 36 |
+
font-weight: bold;
|
| 37 |
+
}
|
| 38 |
+
.chat-container {
|
| 39 |
+
max-height: 300px;
|
| 40 |
+
overflow-y: auto;
|
| 41 |
+
border: 1px solid #dee2e6;
|
| 42 |
+
border-radius: 10px;
|
| 43 |
+
padding: 10px;
|
| 44 |
+
background-color: #f9f9f9;
|
| 45 |
+
}
|
| 46 |
+
|
| 47 |
+
.chat-message {
|
| 48 |
+
margin: 5px 0;
|
| 49 |
+
padding: 10px;
|
| 50 |
+
border-radius: 20px;
|
| 51 |
+
position: relative;
|
| 52 |
+
}
|
| 53 |
+
|
| 54 |
+
.user-message {
|
| 55 |
+
background-color: #ca1717;
|
| 56 |
+
color: white;
|
| 57 |
+
text-align: left;
|
| 58 |
+
margin-right: 50px;
|
| 59 |
+
}
|
| 60 |
+
|
| 61 |
+
.bot-message {
|
| 62 |
+
background-color: #e2e3e5;
|
| 63 |
+
color: black;
|
| 64 |
+
text-align: left;
|
| 65 |
+
margin-left: 50px;
|
| 66 |
+
}
|
| 67 |
+
|
| 68 |
+
.user-message strong,
|
| 69 |
+
.bot-message strong {
|
| 70 |
+
display: block;
|
| 71 |
+
margin-bottom: 5px;
|
| 72 |
+
}
|
| 73 |
+
</style>
|
| 74 |
+
</head>
|
| 75 |
+
|
| 76 |
+
<body>
|
| 77 |
+
<div class="text-center mb-4">
|
| 78 |
+
<img src="/static/galvatron.png" alt="Galvatron Logo" class="img-fluid" style="max-width: 200px;"> <!-- Adjust the max-width as needed -->
|
| 79 |
+
</div>
|
| 80 |
+
|
| 81 |
+
<div class="container">
|
| 82 |
+
<h1 class="text-center mb-4">Upload CSV or Excel File</h1>
|
| 83 |
+
<form action="/process" method="post" enctype="multipart/form-data" class="mb-5">
|
| 84 |
+
<div class="mb-3">
|
| 85 |
+
<input type="file" name="file" accept=".csv,.xlsx" required class="form-control">
|
| 86 |
+
</div>
|
| 87 |
+
|
| 88 |
+
<button type="submit" class="btn btn-primary btn-lg btn-block">Upload <i class="fas fa-upload"></i></button>
|
| 89 |
+
</form>
|
| 90 |
+
|
| 91 |
+
{% if columns %}
|
| 92 |
+
<form action="/result" method="post" enctype="multipart/form-data" class="mb-5">
|
| 93 |
+
<div class="mb-3">
|
| 94 |
+
<label for="target" class="form-label">Select target variable:</label>
|
| 95 |
+
<select id="target" name="target" class="form-select">
|
| 96 |
+
{% for column in columns %}
|
| 97 |
+
<option value="{{ column }}">{{ column }}</option>
|
| 98 |
+
{% endfor %}
|
| 99 |
+
</select>
|
| 100 |
+
|
| 101 |
+
<label for="target" class="form-label">Select Algorithm to do Prediction:</label>
|
| 102 |
+
<select name="algorithm" class="form-select">
|
| 103 |
+
<option value="Decision Tree">Decision Tree</option>
|
| 104 |
+
<option value="Random Forest">Random Forest</option>
|
| 105 |
+
</select>
|
| 106 |
+
</div>
|
| 107 |
+
|
| 108 |
+
<button type="submit" class="btn btn-primary btn-lg btn-block">Upload <i class="fas fa-upload"></i></button>
|
| 109 |
+
</form>
|
| 110 |
+
{% endif %}
|
| 111 |
+
|
| 112 |
+
{% if response1 and response2 %}
|
| 113 |
+
<h2>Analysis Result</h2>
|
| 114 |
+
<div class="mb-4">
|
| 115 |
+
<h3>Countplot Barchart</h3>
|
| 116 |
+
<img src="{{ url_for('static', path=plot1_path.split('/')[-1]) }}" alt="Plot 1" class="img-fluid">
|
| 117 |
+
<p>{{ response1|safe }}</p>
|
| 118 |
+
</div>
|
| 119 |
+
<div class="mb-4">
|
| 120 |
+
<h3>Histogram Plot</h3>
|
| 121 |
+
<img src="{{ url_for('static', path=plot2_path.split('/')[-1]) }}" alt="Plot 2" class="img-fluid">
|
| 122 |
+
<p>{{ response2|safe }}</p>
|
| 123 |
+
</div>
|
| 124 |
+
{% endif %}
|
| 125 |
+
|
| 126 |
+
{% if response5 %}
|
| 127 |
+
<div class="mb-4">
|
| 128 |
+
<h3>Pairplot</h3>
|
| 129 |
+
<img src="{{ url_for('static', path=plot5_path.split('/')[-1]) }}" alt="Plot 4" class="img-fluid">
|
| 130 |
+
<p>{{ response5|safe }}</p>
|
| 131 |
+
</div>
|
| 132 |
+
{% endif %}
|
| 133 |
+
|
| 134 |
+
{% if response3 %}
|
| 135 |
+
<div class="mb-4">
|
| 136 |
+
<h3>Multiclass Barplot</h3>
|
| 137 |
+
<img src="{{ url_for('static', path=plot3_path.split('/')[-1]) }}" alt="Plot 3" class="img-fluid">
|
| 138 |
+
<p>{{ response3|safe }}</p>
|
| 139 |
+
</div>
|
| 140 |
+
{% endif %}
|
| 141 |
+
|
| 142 |
+
{% if response4 %}
|
| 143 |
+
<div class="mb-4">
|
| 144 |
+
<h3>Multiclass Histogram Plot</h3>
|
| 145 |
+
<img src="{{ url_for('static', path=plot4_path.split('/')[-1]) }}" alt="Plot 4" class="img-fluid">
|
| 146 |
+
<p>{{ response4|safe }}</p>
|
| 147 |
+
</div>
|
| 148 |
+
{% endif %}
|
| 149 |
+
|
| 150 |
+
{% if response6 %}
|
| 151 |
+
<div class="mb-4">
|
| 152 |
+
<h3>Multiclass Pairplot</h3>
|
| 153 |
+
<img src="{{ url_for('static', path=plot6_path.split('/')[-1]) }}" alt="Plot 4" class="img-fluid">
|
| 154 |
+
<p>{{ response6|safe }}</p>
|
| 155 |
+
</div>
|
| 156 |
+
{% endif %}
|
| 157 |
+
|
| 158 |
+
{% if response7 %}
|
| 159 |
+
<div class="mb-4">
|
| 160 |
+
<h3>Multiclass Pairplot</h3>
|
| 161 |
+
<img src="{{ url_for('static', path=plot7_path.split('/')[-1]) }}" alt="Plot 4" class="img-fluid">
|
| 162 |
+
<p>{{ response7|safe }}</p>
|
| 163 |
+
</div>
|
| 164 |
+
{% endif %}
|
| 165 |
+
|
| 166 |
+
{% if response8 %}
|
| 167 |
+
<div class="mb-4">
|
| 168 |
+
<h3>Decision Tree Regressor</h3>
|
| 169 |
+
<img src="{{ url_for('static', path=plot8_path.split('/')[-1]) }}" alt="Plot 4" class="img-fluid">
|
| 170 |
+
<p>{{ response8|safe }}</p>
|
| 171 |
+
</div>
|
| 172 |
+
{% endif %}
|
| 173 |
+
|
| 174 |
+
{% if response9 %}
|
| 175 |
+
<div class="mb-4">
|
| 176 |
+
<h3>Decision Tree Classifier</h3>
|
| 177 |
+
<img src="{{ url_for('static', path=plot9_path.split('/')[-1]) }}" alt="Plot 4" class="img-fluid">
|
| 178 |
+
<p>{{ response9|safe }}</p>
|
| 179 |
+
</div>
|
| 180 |
+
{% endif %}
|
| 181 |
+
|
| 182 |
+
{% if response10 %}
|
| 183 |
+
<div class="mb-4">
|
| 184 |
+
<h3>Random Forest Regressor</h3>
|
| 185 |
+
<img src="{{ url_for('static', path=plot10_path.split('/')[-1]) }}" alt="Plot 4" class="img-fluid">
|
| 186 |
+
<p>{{ response10|safe }}</p>
|
| 187 |
+
</div>
|
| 188 |
+
{% endif %}
|
| 189 |
+
|
| 190 |
+
{% if response11 %}
|
| 191 |
+
<div class="mb-4">
|
| 192 |
+
<h3>Random Forest Classifier</h3>
|
| 193 |
+
<img src="{{ url_for('static', path=plot11_path.split('/')[-1]) }}" alt="Plot 4" class="img-fluid">
|
| 194 |
+
<p>{{ response11|safe }}</p>
|
| 195 |
+
</div>
|
| 196 |
+
{% endif %}
|
| 197 |
+
|
| 198 |
+
{% if show_conversation %}
|
| 199 |
+
<h3>Conversation</h3>
|
| 200 |
+
<form action="/ask" method="post" class="mb-5">
|
| 201 |
+
<div class="input-group">
|
| 202 |
+
<input type="text" name="question" class="form-control" placeholder="Ask your question..." required>
|
| 203 |
+
<button type="submit" class="btn btn-outline-secondary">Ask <i class="fas fa-question-circle"></i></button>
|
| 204 |
+
</div>
|
| 205 |
+
</form>
|
| 206 |
+
{% endif %}
|
| 207 |
+
|
| 208 |
+
{% if question_responses %}
|
| 209 |
+
<h3>Conversation History:</h3>
|
| 210 |
+
<div class="chat-container mb-4">
|
| 211 |
+
{% for question, response in question_responses %}
|
| 212 |
+
<div class="chat-message user-message">
|
| 213 |
+
<strong>You:</strong> {{ question }}
|
| 214 |
+
</div>
|
| 215 |
+
<div class="chat-message bot-message">
|
| 216 |
+
<strong>Response:</strong> {{ response|safe }}
|
| 217 |
+
</div>
|
| 218 |
+
{% endfor %}
|
| 219 |
+
</div>
|
| 220 |
+
{% endif %}
|
| 221 |
+
|
| 222 |
+
</div>
|
| 223 |
+
|
| 224 |
+
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
| 225 |
+
</body>
|
| 226 |
+
</html>
|
webapp.py
ADDED
|
@@ -0,0 +1,856 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import pandas as pd
|
| 2 |
+
import seaborn as sns
|
| 3 |
+
import matplotlib
|
| 4 |
+
import matplotlib.pyplot as plt
|
| 5 |
+
matplotlib.use('Agg')
|
| 6 |
+
import numpy as np
|
| 7 |
+
import google.generativeai as genai
|
| 8 |
+
from PIL import Image
|
| 9 |
+
from werkzeug.utils import secure_filename
|
| 10 |
+
import os
|
| 11 |
+
import json
|
| 12 |
+
from fpdf import FPDF
|
| 13 |
+
from fastapi import FastAPI, File, UploadFile, Form, HTTPException
|
| 14 |
+
from fastapi.responses import HTMLResponse, FileResponse
|
| 15 |
+
from fastapi.staticfiles import StaticFiles
|
| 16 |
+
from fastapi.templating import Jinja2Templates
|
| 17 |
+
from starlette.requests import Request
|
| 18 |
+
from typing import List
|
| 19 |
+
import textwrap
|
| 20 |
+
from IPython.display import display, Markdown
|
| 21 |
+
from PIL import Image
|
| 22 |
+
import shutil
|
| 23 |
+
from werkzeug.utils import secure_filename
|
| 24 |
+
import urllib.parse
|
| 25 |
+
import re
|
| 26 |
+
from langchain_google_genai import ChatGoogleGenerativeAI
|
| 27 |
+
from langchain_community.document_loaders import PyPDFLoader, UnstructuredCSVLoader, UnstructuredExcelLoader, Docx2txtLoader, UnstructuredPowerPointLoader
|
| 28 |
+
from langchain.chains import StuffDocumentsChain
|
| 29 |
+
from langchain.chains.llm import LLMChain
|
| 30 |
+
from langchain.prompts import PromptTemplate
|
| 31 |
+
from langchain.vectorstores import FAISS
|
| 32 |
+
from langchain_google_genai import GoogleGenerativeAIEmbeddings
|
| 33 |
+
from langchain.text_splitter import CharacterTextSplitter
|
| 34 |
+
|
| 35 |
+
app = FastAPI()
|
| 36 |
+
app.mount("/static", StaticFiles(directory="static"), name="static")
|
| 37 |
+
templates = Jinja2Templates(directory="templates")
|
| 38 |
+
|
| 39 |
+
sns.set_theme(color_codes=True)
|
| 40 |
+
uploaded_df = None
|
| 41 |
+
document_analyzed = False
|
| 42 |
+
question_responses = []
|
| 43 |
+
|
| 44 |
+
|
| 45 |
+
def format_text(text):
|
| 46 |
+
# Replace **text** with <b>text</b>
|
| 47 |
+
text = re.sub(r'\*\*(.*?)\*\*', r'<b>\1</b>', text)
|
| 48 |
+
# Replace any remaining * with <br>
|
| 49 |
+
text = text.replace('*', '<br>')
|
| 50 |
+
return text
|
| 51 |
+
|
| 52 |
+
def clean_data(df):
|
| 53 |
+
# Step 1: Clean currency-related columns
|
| 54 |
+
for col in df.columns:
|
| 55 |
+
if any(x in col.lower() for x in ['value', 'price', 'cost', 'amount']):
|
| 56 |
+
if df[col].dtype == 'object':
|
| 57 |
+
df[col] = df[col].str.replace('$', '').str.replace('£', '').str.replace('€', '').replace('[^\d.-]', '', regex=True).astype(float)
|
| 58 |
+
|
| 59 |
+
# Step 2: Drop columns with more than 25% missing values
|
| 60 |
+
null_percentage = df.isnull().sum() / len(df)
|
| 61 |
+
columns_to_drop = null_percentage[null_percentage > 0.25].index
|
| 62 |
+
df.drop(columns=columns_to_drop, inplace=True)
|
| 63 |
+
|
| 64 |
+
# Step 3: Fill missing values for remaining columns
|
| 65 |
+
for col in df.columns:
|
| 66 |
+
if df[col].isnull().sum() > 0:
|
| 67 |
+
if null_percentage[col] <= 0.25:
|
| 68 |
+
if df[col].dtype in ['float64', 'int64']:
|
| 69 |
+
median_value = df[col].median()
|
| 70 |
+
df[col].fillna(median_value, inplace=True)
|
| 71 |
+
|
| 72 |
+
# Step 4: Convert object-type columns to lowercase
|
| 73 |
+
for col in df.columns:
|
| 74 |
+
if df[col].dtype == 'object':
|
| 75 |
+
df[col] = df[col].str.lower()
|
| 76 |
+
|
| 77 |
+
# Step 5: Drop columns with only one unique value
|
| 78 |
+
unique_value_columns = [col for col in df.columns if df[col].nunique() == 1]
|
| 79 |
+
df.drop(columns=unique_value_columns, inplace=True)
|
| 80 |
+
|
| 81 |
+
return df
|
| 82 |
+
|
| 83 |
+
|
| 84 |
+
|
| 85 |
+
|
| 86 |
+
def clean_data2(df):
|
| 87 |
+
for col in df.columns:
|
| 88 |
+
if 'value' in col or 'price' in col or 'cost' in col or 'amount' in col or 'Value' in col or 'Price' in col or 'Cost' in col or 'Amount' in col:
|
| 89 |
+
if df[col].dtype == 'object':
|
| 90 |
+
df[col] = df[col].str.replace('$', '')
|
| 91 |
+
df[col] = df[col].str.replace('£', '')
|
| 92 |
+
df[col] = df[col].str.replace('€', '')
|
| 93 |
+
df[col] = df[col].replace('[^\d.-]', '', regex=True).astype(float)
|
| 94 |
+
|
| 95 |
+
null_percentage = df.isnull().sum() / len(df)
|
| 96 |
+
|
| 97 |
+
for col in df.columns:
|
| 98 |
+
if df[col].isnull().sum() > 0:
|
| 99 |
+
if null_percentage[col] <= 0.25:
|
| 100 |
+
if df[col].dtype in ['float64', 'int64']:
|
| 101 |
+
median_value = df[col].median()
|
| 102 |
+
df[col].fillna(median_value, inplace=True)
|
| 103 |
+
|
| 104 |
+
for col in df.columns:
|
| 105 |
+
if df[col].dtype == 'object':
|
| 106 |
+
df[col] = df[col].str.lower()
|
| 107 |
+
|
| 108 |
+
return df
|
| 109 |
+
|
| 110 |
+
|
| 111 |
+
|
| 112 |
+
def generate_plot(df, plot_path, plot_type):
|
| 113 |
+
df = clean_data(df)
|
| 114 |
+
excluded_words = ["name", "postal", "date", "phone", "address", "code", "id"]
|
| 115 |
+
|
| 116 |
+
if plot_type == 'countplot':
|
| 117 |
+
cat_vars = [col for col in df.select_dtypes(include='object').columns
|
| 118 |
+
if all(word not in col.lower() for word in excluded_words) and df[col].nunique() > 1]
|
| 119 |
+
|
| 120 |
+
for col in cat_vars:
|
| 121 |
+
if df[col].nunique() > 10:
|
| 122 |
+
top_categories = df[col].value_counts().index[:10]
|
| 123 |
+
df[col] = df[col].apply(lambda x: x if x in top_categories else 'Other')
|
| 124 |
+
|
| 125 |
+
num_cols = len(cat_vars)
|
| 126 |
+
num_rows = (num_cols + 1) // 2
|
| 127 |
+
fig, axs = plt.subplots(nrows=num_rows, ncols=2, figsize=(15, 5*num_rows))
|
| 128 |
+
axs = axs.flatten()
|
| 129 |
+
|
| 130 |
+
for i, var in enumerate(cat_vars):
|
| 131 |
+
category_counts = df[var].value_counts()
|
| 132 |
+
top_values = category_counts.index[:10][::-1]
|
| 133 |
+
filtered_df = df.copy()
|
| 134 |
+
filtered_df[var] = pd.Categorical(filtered_df[var], categories=top_values, ordered=True)
|
| 135 |
+
sns.countplot(x=var, data=filtered_df, order=top_values, ax=axs[i])
|
| 136 |
+
axs[i].set_title(var)
|
| 137 |
+
axs[i].tick_params(axis='x', rotation=30)
|
| 138 |
+
|
| 139 |
+
total = len(filtered_df[var])
|
| 140 |
+
for p in axs[i].patches:
|
| 141 |
+
height = p.get_height()
|
| 142 |
+
axs[i].annotate(f'{height/total:.1%}', (p.get_x() + p.get_width() / 2., height), ha='center', va='bottom')
|
| 143 |
+
|
| 144 |
+
sample_size = filtered_df.shape[0]
|
| 145 |
+
|
| 146 |
+
|
| 147 |
+
for i in range(num_cols, len(axs)):
|
| 148 |
+
fig.delaxes(axs[i])
|
| 149 |
+
|
| 150 |
+
elif plot_type == 'histplot':
|
| 151 |
+
num_vars = [col for col in df.select_dtypes(include=['int', 'float']).columns
|
| 152 |
+
if all(word not in col.lower() for word in excluded_words)]
|
| 153 |
+
num_cols = len(num_vars)
|
| 154 |
+
num_rows = (num_cols + 2) // 3
|
| 155 |
+
fig, axs = plt.subplots(nrows=num_rows, ncols=min(3, num_cols), figsize=(15, 5*num_rows))
|
| 156 |
+
axs = axs.flatten()
|
| 157 |
+
|
| 158 |
+
plot_index = 0
|
| 159 |
+
|
| 160 |
+
for i, var in enumerate(num_vars):
|
| 161 |
+
if len(df[var].unique()) == len(df):
|
| 162 |
+
fig.delaxes(axs[plot_index])
|
| 163 |
+
else:
|
| 164 |
+
sns.histplot(df[var], ax=axs[plot_index], kde=True, stat="percent")
|
| 165 |
+
axs[plot_index].set_title(var)
|
| 166 |
+
axs[plot_index].set_xlabel('')
|
| 167 |
+
|
| 168 |
+
sample_size = df.shape[0]
|
| 169 |
+
|
| 170 |
+
|
| 171 |
+
plot_index += 1
|
| 172 |
+
|
| 173 |
+
for i in range(plot_index, len(axs)):
|
| 174 |
+
fig.delaxes(axs[i])
|
| 175 |
+
|
| 176 |
+
fig.tight_layout()
|
| 177 |
+
fig.savefig(plot_path)
|
| 178 |
+
plt.close(fig)
|
| 179 |
+
return plot_path
|
| 180 |
+
|
| 181 |
+
@app.get("/", response_class=HTMLResponse)
|
| 182 |
+
async def read_form(request: Request):
|
| 183 |
+
return templates.TemplateResponse("upload.html", {"request": request})
|
| 184 |
+
|
| 185 |
+
@app.post("/process/", response_class=HTMLResponse)
|
| 186 |
+
async def process_file(request: Request, file: UploadFile = File(...)):
|
| 187 |
+
global df, uploaded_file, document_analyzed, file_path, file_extension
|
| 188 |
+
uploaded_file = file
|
| 189 |
+
file_location = f"static/{file.filename}"
|
| 190 |
+
|
| 191 |
+
# Save the uploaded file to the server
|
| 192 |
+
with open(file_location, "wb") as buffer:
|
| 193 |
+
shutil.copyfileobj(file.file, buffer)
|
| 194 |
+
|
| 195 |
+
# Load DataFrame based on file type
|
| 196 |
+
file_extension = os.path.splitext(file.filename)[1]
|
| 197 |
+
if file_extension == '.csv':
|
| 198 |
+
file_path = 'dataset.csv'
|
| 199 |
+
df = pd.read_csv(file_location, delimiter=",")
|
| 200 |
+
df.to_csv(file_path, index=False) # Save as dataset.csv
|
| 201 |
+
elif file_extension == '.xlsx':
|
| 202 |
+
file_path = 'dataset.xlsx'
|
| 203 |
+
df = pd.read_excel(file_location)
|
| 204 |
+
df.to_excel(file_path, index=False) # Save as dataset.xlsx
|
| 205 |
+
else:
|
| 206 |
+
raise HTTPException(status_code=415, detail="Unsupported file format")
|
| 207 |
+
|
| 208 |
+
# Get columns of the DataFrame
|
| 209 |
+
columns = df.columns.tolist()
|
| 210 |
+
|
| 211 |
+
return templates.TemplateResponse("upload.html", {"request": request, "columns": columns})
|
| 212 |
+
|
| 213 |
+
|
| 214 |
+
@app.post("/result")
|
| 215 |
+
async def result(request: Request,
|
| 216 |
+
target: str = Form(...),
|
| 217 |
+
algorithm: str = Form(...)):
|
| 218 |
+
global df, api
|
| 219 |
+
global plot1_path, plot2_path, plot3_path, plot4_path, plot5_path, plot6_path, plot7_path, plot8_path, plot9_path, plot10_path, plot11_path
|
| 220 |
+
global response1, response2, response3, response4, response5, response6, response7, response8, response9, response10, response11
|
| 221 |
+
|
| 222 |
+
|
| 223 |
+
api = "AIzaSyCFI6cTqFdS-mpZBfi7kxwygewtnuF7PfA"
|
| 224 |
+
excluded_words = ["name", "postal", "date", "phone", "address", "id"]
|
| 225 |
+
|
| 226 |
+
if df[target].dtype in ['float64', 'int64']:
|
| 227 |
+
unique_values = df[target].nunique()
|
| 228 |
+
|
| 229 |
+
# If unique values > 20, treat it as regression, else classification
|
| 230 |
+
if unique_values > 20:
|
| 231 |
+
method = "Regression"
|
| 232 |
+
else:
|
| 233 |
+
method = "Classification"
|
| 234 |
+
else:
|
| 235 |
+
# If the target is not numeric, treat it as classification
|
| 236 |
+
method = "Classification"
|
| 237 |
+
|
| 238 |
+
|
| 239 |
+
|
| 240 |
+
# Initialize response3 and plot3_path to None
|
| 241 |
+
response3 = None
|
| 242 |
+
plot3_path = None
|
| 243 |
+
response4 = None
|
| 244 |
+
plot4_path = None
|
| 245 |
+
response6 = None
|
| 246 |
+
plot6_path = None
|
| 247 |
+
response8 = None # Initialize response8
|
| 248 |
+
plot8_path = None # Initialize plot8_path
|
| 249 |
+
response9 = None # Initialize response9
|
| 250 |
+
plot9_path = None # Initialize plot9_path
|
| 251 |
+
response10 = None # Initialize response8
|
| 252 |
+
plot10_path = None # Initialize plot8_path
|
| 253 |
+
response11 = None # Initialize response9
|
| 254 |
+
plot11_path = None # Initialize plot9_path
|
| 255 |
+
|
| 256 |
+
if method == "Classification":
|
| 257 |
+
cat_vars = [col for col in df.select_dtypes(include=['object']).columns
|
| 258 |
+
if all(word not in col.lower() for word in excluded_words)]
|
| 259 |
+
|
| 260 |
+
# Exclude the target variable from the list if it exists in cat_vars
|
| 261 |
+
if target in cat_vars:
|
| 262 |
+
cat_vars.remove(target)
|
| 263 |
+
|
| 264 |
+
# Create a figure with subplots, but only include the required number of subplots
|
| 265 |
+
num_cols = len(cat_vars)
|
| 266 |
+
num_rows = (num_cols + 2) // 3 # To make sure there are enough rows for the subplots
|
| 267 |
+
fig, axs = plt.subplots(nrows=num_rows, ncols=3, figsize=(15, 5*num_rows))
|
| 268 |
+
axs = axs.flatten()
|
| 269 |
+
|
| 270 |
+
# Create a count plot for each categorical variable
|
| 271 |
+
for i, var in enumerate(cat_vars):
|
| 272 |
+
top_categories = df[var].value_counts().nlargest(5).index
|
| 273 |
+
filtered_df = df[df[var].notnull() & df[var].isin(top_categories)] # Exclude rows with NaN values in the variable
|
| 274 |
+
|
| 275 |
+
# Replace less frequent categories with "Other" if there are more than 5 unique values
|
| 276 |
+
if df[var].nunique() > 5:
|
| 277 |
+
other_categories = df[var].value_counts().index[5:]
|
| 278 |
+
filtered_df[var] = filtered_df[var].apply(lambda x: x if x in top_categories else 'Other')
|
| 279 |
+
|
| 280 |
+
sns.countplot(x=var, hue=target, stat="percent", data=filtered_df, ax=axs[i])
|
| 281 |
+
axs[i].set_xticklabels(axs[i].get_xticklabels(), rotation=45)
|
| 282 |
+
|
| 283 |
+
# Change y-axis label to represent percentage
|
| 284 |
+
axs[i].set_ylabel('Percentage')
|
| 285 |
+
|
| 286 |
+
# Annotate the subplot with sample size
|
| 287 |
+
sample_size = df.shape[0]
|
| 288 |
+
axs[i].annotate(f'Sample Size = {sample_size}', xy=(0.5, 0.9), xycoords='axes fraction', ha='center', va='center')
|
| 289 |
+
|
| 290 |
+
# Remove any remaining blank subplots
|
| 291 |
+
for i in range(num_cols, len(axs)):
|
| 292 |
+
fig.delaxes(axs[i])
|
| 293 |
+
|
| 294 |
+
plt.xticks(rotation=45)
|
| 295 |
+
plt.tight_layout()
|
| 296 |
+
plot3_path = "static/multiclass_barplot.png"
|
| 297 |
+
plt.savefig(plot3_path)
|
| 298 |
+
plt.close(fig)
|
| 299 |
+
|
| 300 |
+
#response 3
|
| 301 |
+
def to_markdown(text):
|
| 302 |
+
text = text.replace('•', ' *')
|
| 303 |
+
return Markdown(textwrap.indent(text, '> ', predicate=lambda _: True))
|
| 304 |
+
|
| 305 |
+
genai.configure(api_key=api)
|
| 306 |
+
|
| 307 |
+
import PIL.Image
|
| 308 |
+
|
| 309 |
+
img = PIL.Image.open("static/multiclass_barplot.png")
|
| 310 |
+
model = genai.GenerativeModel('gemini-1.5-flash-latest')
|
| 311 |
+
#response = model.generate_content(img)
|
| 312 |
+
response = model.generate_content(["As a marketing consulant, I want to understand consumer insighst based on the chart and the market context so I can use the key findings to formulate actionable insights", img])
|
| 313 |
+
response.resolve()
|
| 314 |
+
response3 = format_text(response.text)
|
| 315 |
+
|
| 316 |
+
|
| 317 |
+
if method == "Classification":
|
| 318 |
+
# Generate Multiclass Pairplot
|
| 319 |
+
pairplot_fig = sns.pairplot(df, hue=target)
|
| 320 |
+
plot6_path = "static/pair1.png" # Use plot6_path
|
| 321 |
+
pairplot_fig.savefig(plot6_path) # Save the pairplot as a PNG file
|
| 322 |
+
|
| 323 |
+
|
| 324 |
+
# Google Gemini Integration
|
| 325 |
+
genai.configure(api_key=api)
|
| 326 |
+
img = PIL.Image.open(plot6_path)
|
| 327 |
+
model = genai.GenerativeModel('gemini-1.5-flash-latest')
|
| 328 |
+
|
| 329 |
+
# Generate response based on the pairplot
|
| 330 |
+
response = model.generate_content([
|
| 331 |
+
"You are a professional Data Analyst, write the complete conclusion and actionable insight based on the image. Explain it by points.",
|
| 332 |
+
img
|
| 333 |
+
])
|
| 334 |
+
response.resolve()
|
| 335 |
+
|
| 336 |
+
# Assign the response to response6
|
| 337 |
+
response6 = format_text(response.text)
|
| 338 |
+
|
| 339 |
+
# Include response6 and plot6_path in the data dictionary to be passed to the template
|
| 340 |
+
|
| 341 |
+
|
| 342 |
+
if method == "Classification":
|
| 343 |
+
# Multiclass Histplot
|
| 344 |
+
# Get the names of all columns with data type 'object' (categorical columns)
|
| 345 |
+
cat_cols = df.columns.tolist()
|
| 346 |
+
|
| 347 |
+
# Get the names of all columns with data type 'int'
|
| 348 |
+
int_vars = df.select_dtypes(include=['int', 'float']).columns.tolist()
|
| 349 |
+
int_vars = [col for col in int_vars if col != target]
|
| 350 |
+
|
| 351 |
+
# Create a figure with subplots
|
| 352 |
+
num_cols = len(int_vars)
|
| 353 |
+
num_rows = (num_cols + 2) // 3 # To make sure there are enough rows for the subplots
|
| 354 |
+
fig, axs = plt.subplots(nrows=num_rows, ncols=3, figsize=(15, 5*num_rows))
|
| 355 |
+
axs = axs.flatten()
|
| 356 |
+
|
| 357 |
+
# Create a histogram for each integer variable with hue='Attrition'
|
| 358 |
+
for i, var in enumerate(int_vars):
|
| 359 |
+
top_categories = df[var].value_counts().nlargest(10).index
|
| 360 |
+
filtered_df = df[df[var].notnull() & df[var].isin(top_categories)]
|
| 361 |
+
sns.histplot(data=df, x=var, hue=target, kde=True, ax=axs[i], stat="percent")
|
| 362 |
+
axs[i].set_title(var)
|
| 363 |
+
|
| 364 |
+
# Annotate the subplot with sample size
|
| 365 |
+
sample_size = df.shape[0]
|
| 366 |
+
axs[i].annotate(f'Sample Size = {sample_size}', xy=(0.5, 0.9), xycoords='axes fraction', ha='center', va='center')
|
| 367 |
+
|
| 368 |
+
# Remove any extra empty subplots if needed
|
| 369 |
+
if num_cols < len(axs):
|
| 370 |
+
for i in range(num_cols, len(axs)):
|
| 371 |
+
fig.delaxes(axs[i])
|
| 372 |
+
|
| 373 |
+
# Adjust spacing between subplots
|
| 374 |
+
fig.tight_layout()
|
| 375 |
+
plt.xticks(rotation=45)
|
| 376 |
+
plot4_path = "static/multiclass_histplot.png"
|
| 377 |
+
plt.savefig(plot4_path)
|
| 378 |
+
plt.close(fig)
|
| 379 |
+
|
| 380 |
+
#response 4
|
| 381 |
+
def to_markdown(text):
|
| 382 |
+
text = text.replace('•', ' *')
|
| 383 |
+
return Markdown(textwrap.indent(text, '> ', predicate=lambda _: True))
|
| 384 |
+
|
| 385 |
+
genai.configure(api_key=api)
|
| 386 |
+
|
| 387 |
+
import PIL.Image
|
| 388 |
+
|
| 389 |
+
img = PIL.Image.open("static/multiclass_histplot.png")
|
| 390 |
+
model = genai.GenerativeModel('gemini-1.5-flash-latest')
|
| 391 |
+
response4 = model.generate_content(img)
|
| 392 |
+
response4 = model.generate_content(["As a marketing consulant, I want to understand consumer insighst based on the chart and the market context so I can use the key findings to formulate actionable insights", img])
|
| 393 |
+
response4.resolve()
|
| 394 |
+
response4 = format_text(response4.text)
|
| 395 |
+
|
| 396 |
+
|
| 397 |
+
|
| 398 |
+
|
| 399 |
+
|
| 400 |
+
# Generate Pairplot
|
| 401 |
+
pairplot_fig = sns.pairplot(df)
|
| 402 |
+
plot5_path = "static/pair2.png"
|
| 403 |
+
pairplot_fig.savefig(plot5_path) # Save the pairplot as a PNG file
|
| 404 |
+
|
| 405 |
+
# Google Gemini Integration
|
| 406 |
+
genai.configure(api_key=api)
|
| 407 |
+
img = PIL.Image.open(plot5_path)
|
| 408 |
+
model = genai.GenerativeModel('gemini-1.5-flash-latest')
|
| 409 |
+
|
| 410 |
+
# Generate response based on the pairplot
|
| 411 |
+
response = model.generate_content([
|
| 412 |
+
"You are a professional Data Analyst, write the complete conclusion and actionable insight based on the image. Explain it by points.",
|
| 413 |
+
img
|
| 414 |
+
])
|
| 415 |
+
response.resolve()
|
| 416 |
+
|
| 417 |
+
# Assign the response to response5
|
| 418 |
+
response5 = format_text(response.text)
|
| 419 |
+
|
| 420 |
+
def generate_gemini_response(plot_path):
|
| 421 |
+
|
| 422 |
+
|
| 423 |
+
genai.configure(api_key=api)
|
| 424 |
+
img = Image.open(plot_path)
|
| 425 |
+
model = genai.GenerativeModel('gemini-1.5-flash-latest')
|
| 426 |
+
response = model.generate_content([
|
| 427 |
+
" As a marketing consultant, I want to understand consumer insights based on the chart and the market context so I can use the key findings to formulate actionable insights",
|
| 428 |
+
img
|
| 429 |
+
])
|
| 430 |
+
response.resolve()
|
| 431 |
+
return response.text
|
| 432 |
+
|
| 433 |
+
plot1_path = generate_plot(df, 'static/plot1.png', 'countplot')
|
| 434 |
+
plot2_path = generate_plot(df, 'static/plot2.png', 'histplot')
|
| 435 |
+
|
| 436 |
+
response1 = format_text((generate_gemini_response(plot1_path)))
|
| 437 |
+
response2 = format_text((generate_gemini_response(plot2_path)))
|
| 438 |
+
|
| 439 |
+
from sklearn import preprocessing
|
| 440 |
+
for col in df.select_dtypes(include=['object']).columns:
|
| 441 |
+
|
| 442 |
+
# Initialize a LabelEncoder object
|
| 443 |
+
label_encoder = preprocessing.LabelEncoder()
|
| 444 |
+
|
| 445 |
+
# Fit the encoder to the unique values in the column
|
| 446 |
+
label_encoder.fit(df[col].unique())
|
| 447 |
+
|
| 448 |
+
# Transform the column using the encoder
|
| 449 |
+
df[col] = label_encoder.transform(df[col])
|
| 450 |
+
|
| 451 |
+
|
| 452 |
+
# Display Correlation Heatmap
|
| 453 |
+
plot7_path = "static/correlation_matrix.png"
|
| 454 |
+
fig, ax = plt.subplots(figsize=(30, 24))
|
| 455 |
+
correlation_matrix = df.corr()
|
| 456 |
+
sns.heatmap(correlation_matrix, annot=True, fmt='.2f', cmap='coolwarm', ax=ax)
|
| 457 |
+
plt.savefig(plot7_path)
|
| 458 |
+
plt.close(fig)
|
| 459 |
+
|
| 460 |
+
img = PIL.Image.open(plot7_path)
|
| 461 |
+
response7 = format_text((generate_gemini_response(plot7_path)))
|
| 462 |
+
|
| 463 |
+
|
| 464 |
+
|
| 465 |
+
|
| 466 |
+
|
| 467 |
+
X = df.drop(target, axis=1)
|
| 468 |
+
y = df[target]
|
| 469 |
+
from sklearn.model_selection import train_test_split
|
| 470 |
+
from sklearn.metrics import accuracy_score
|
| 471 |
+
X_train, X_test, y_train, y_test = train_test_split(X,y, test_size=0.2,random_state=0)
|
| 472 |
+
|
| 473 |
+
from scipy import stats
|
| 474 |
+
threshold = 3
|
| 475 |
+
|
| 476 |
+
for col in X_train.columns:
|
| 477 |
+
if X_train[col].nunique() > 20:
|
| 478 |
+
# Calculate Z-scores for the column
|
| 479 |
+
z_scores = np.abs(stats.zscore(X_train[col]))
|
| 480 |
+
# Find and remove outliers based on the threshold
|
| 481 |
+
outlier_indices = np.where(z_scores > threshold)[0]
|
| 482 |
+
X_train = X_train.drop(X_train.index[outlier_indices])
|
| 483 |
+
y_train = y_train.drop(y_train.index[outlier_indices])
|
| 484 |
+
|
| 485 |
+
|
| 486 |
+
|
| 487 |
+
|
| 488 |
+
from sklearn.tree import DecisionTreeRegressor
|
| 489 |
+
from sklearn.tree import DecisionTreeClassifier
|
| 490 |
+
from sklearn.model_selection import GridSearchCV
|
| 491 |
+
from sklearn import metrics
|
| 492 |
+
from sklearn.metrics import mean_absolute_percentage_error
|
| 493 |
+
import math
|
| 494 |
+
|
| 495 |
+
|
| 496 |
+
if algorithm == "Decision Tree":
|
| 497 |
+
|
| 498 |
+
if method == "Regression":
|
| 499 |
+
dtree = DecisionTreeRegressor()
|
| 500 |
+
param_grid = {
|
| 501 |
+
'max_depth': [4, 6, 8],
|
| 502 |
+
'min_samples_split': [4, 6, 8],
|
| 503 |
+
'min_samples_leaf': [1, 2, 3, 4],
|
| 504 |
+
'random_state': [0, 42],
|
| 505 |
+
'max_features': ['auto', 'sqrt', 'log2']
|
| 506 |
+
}
|
| 507 |
+
grid_search = GridSearchCV(dtree, param_grid, cv=5, scoring='neg_mean_squared_error')
|
| 508 |
+
grid_search.fit(X_train, y_train)
|
| 509 |
+
best_params = grid_search.best_params_
|
| 510 |
+
dtree = DecisionTreeRegressor(**best_params)
|
| 511 |
+
dtree.fit(X_train, y_train)
|
| 512 |
+
|
| 513 |
+
y_pred = dtree.predict(X_test)
|
| 514 |
+
mae = metrics.mean_absolute_error(y_test, y_pred)
|
| 515 |
+
mse = metrics.mean_squared_error(y_test, y_pred)
|
| 516 |
+
r2 = metrics.r2_score(y_test, y_pred)
|
| 517 |
+
rmse = np.sqrt(mse)
|
| 518 |
+
|
| 519 |
+
# Feature importance visualization
|
| 520 |
+
imp_df = pd.DataFrame({
|
| 521 |
+
"Feature Name": X_train.columns,
|
| 522 |
+
"Importance": dtree.feature_importances_
|
| 523 |
+
})
|
| 524 |
+
fi = imp_df.sort_values(by="Importance", ascending=False).head(10)
|
| 525 |
+
fig, ax = plt.subplots(figsize=(10, 8))
|
| 526 |
+
sns.barplot(data=fi, x='Importance', y='Feature Name', ax=ax)
|
| 527 |
+
ax.set_title('Top 10 Feature Importance (Decision Tree Regressor)', fontsize=18)
|
| 528 |
+
plot8_path = "static/dtree_regressor.png"
|
| 529 |
+
plt.savefig(plot8_path)
|
| 530 |
+
img = PIL.Image.open(plot8_path)
|
| 531 |
+
response8 = format_text((generate_gemini_response(plot8_path)))
|
| 532 |
+
|
| 533 |
+
|
| 534 |
+
elif method == "Classification":
|
| 535 |
+
dtree = DecisionTreeClassifier()
|
| 536 |
+
param_grid = {
|
| 537 |
+
'max_depth': [3, 4, 5, 6, 7],
|
| 538 |
+
'min_samples_split': [2, 3, 4],
|
| 539 |
+
'min_samples_leaf': [1, 2, 3],
|
| 540 |
+
'random_state': [0, 42]
|
| 541 |
+
}
|
| 542 |
+
grid_search = GridSearchCV(dtree, param_grid, cv=5)
|
| 543 |
+
grid_search.fit(X_train, y_train)
|
| 544 |
+
best_params = grid_search.best_params_
|
| 545 |
+
dtree = DecisionTreeClassifier(**best_params)
|
| 546 |
+
dtree.fit(X_train, y_train)
|
| 547 |
+
|
| 548 |
+
y_pred = dtree.predict(X_test)
|
| 549 |
+
acc = metrics.accuracy_score(y_test, y_pred)
|
| 550 |
+
f1 = metrics.f1_score(y_test, y_pred, average='micro')
|
| 551 |
+
prec = metrics.precision_score(y_test, y_pred, average='micro')
|
| 552 |
+
recall = metrics.recall_score(y_test, y_pred, average='micro')
|
| 553 |
+
|
| 554 |
+
# Feature importance visualization
|
| 555 |
+
imp_df = pd.DataFrame({
|
| 556 |
+
"Feature Name": X_train.columns,
|
| 557 |
+
"Importance": dtree.feature_importances_
|
| 558 |
+
})
|
| 559 |
+
fi = imp_df.sort_values(by="Importance", ascending=False).head(10)
|
| 560 |
+
fig, ax = plt.subplots(figsize=(10, 8))
|
| 561 |
+
sns.barplot(data=fi, x='Importance', y='Feature Name', ax=ax)
|
| 562 |
+
ax.set_title('Top 10 Feature Importance (Decision Tree Classifier)', fontsize=18)
|
| 563 |
+
plot9_path = "static/dtree_classifier.png"
|
| 564 |
+
plt.savefig(plot9_path)
|
| 565 |
+
img = PIL.Image.open(plot9_path)
|
| 566 |
+
response9 = format_text((generate_gemini_response(plot9_path)))
|
| 567 |
+
|
| 568 |
+
|
| 569 |
+
|
| 570 |
+
from sklearn.ensemble import RandomForestRegressor
|
| 571 |
+
from sklearn.ensemble import RandomForestClassifier
|
| 572 |
+
|
| 573 |
+
if algorithm == "Random Forest":
|
| 574 |
+
|
| 575 |
+
if method == "Regression":
|
| 576 |
+
rf = RandomForestRegressor()
|
| 577 |
+
param_grid = {
|
| 578 |
+
'max_depth': [4, 6, 8],
|
| 579 |
+
'random_state': [0, 42],
|
| 580 |
+
'max_features': ['auto', 'sqrt', 'log2']
|
| 581 |
+
}
|
| 582 |
+
grid_search = GridSearchCV(rf, param_grid, cv=5, scoring='neg_mean_squared_error')
|
| 583 |
+
grid_search.fit(X_train, y_train)
|
| 584 |
+
best_params = grid_search.best_params_
|
| 585 |
+
rf = RandomForestRegressor(**best_params)
|
| 586 |
+
rf.fit(X_train, y_train)
|
| 587 |
+
|
| 588 |
+
y_pred = rf.predict(X_test)
|
| 589 |
+
mae = metrics.mean_absolute_error(y_test, y_pred)
|
| 590 |
+
mse = metrics.mean_squared_error(y_test, y_pred)
|
| 591 |
+
r2 = metrics.r2_score(y_test, y_pred)
|
| 592 |
+
rmse = np.sqrt(mse)
|
| 593 |
+
|
| 594 |
+
# Feature importance visualization
|
| 595 |
+
imp_df = pd.DataFrame({
|
| 596 |
+
"Feature Name": X_train.columns,
|
| 597 |
+
"Importance": rf.feature_importances_
|
| 598 |
+
})
|
| 599 |
+
fi = imp_df.sort_values(by="Importance", ascending=False).head(10)
|
| 600 |
+
fig, ax = plt.subplots(figsize=(10, 8))
|
| 601 |
+
sns.barplot(data=fi, x='Importance', y='Feature Name', ax=ax)
|
| 602 |
+
ax.set_title('Top 10 Feature Importance (Random Forest Regressor)', fontsize=18)
|
| 603 |
+
plot10_path = "static/rf_regressor.png"
|
| 604 |
+
plt.savefig(plot10_path)
|
| 605 |
+
img = PIL.Image.open(plot10_path)
|
| 606 |
+
response10 = format_text((generate_gemini_response(plot10_path)))
|
| 607 |
+
|
| 608 |
+
elif method == "Classification":
|
| 609 |
+
rf = RandomForestClassifier()
|
| 610 |
+
param_grid = {
|
| 611 |
+
'max_depth': [3, 4, 5, 6],
|
| 612 |
+
'random_state': [0, 42]
|
| 613 |
+
}
|
| 614 |
+
grid_search = GridSearchCV(rf, param_grid, cv=5)
|
| 615 |
+
grid_search.fit(X_train, y_train)
|
| 616 |
+
best_params = grid_search.best_params_
|
| 617 |
+
rf = RandomForestClassifier(**best_params)
|
| 618 |
+
rf.fit(X_train, y_train)
|
| 619 |
+
|
| 620 |
+
y_pred = rf.predict(X_test)
|
| 621 |
+
acc = metrics.accuracy_score(y_test, y_pred)
|
| 622 |
+
f1 = metrics.f1_score(y_test, y_pred, average='micro')
|
| 623 |
+
prec = metrics.precision_score(y_test, y_pred, average='micro')
|
| 624 |
+
recall = metrics.recall_score(y_test, y_pred, average='micro')
|
| 625 |
+
|
| 626 |
+
# Feature importance visualization
|
| 627 |
+
imp_df = pd.DataFrame({
|
| 628 |
+
"Feature Name": X_train.columns,
|
| 629 |
+
"Importance": rf.feature_importances_
|
| 630 |
+
})
|
| 631 |
+
fi = imp_df.sort_values(by="Importance", ascending=False).head(10)
|
| 632 |
+
fig, ax = plt.subplots(figsize=(10, 8))
|
| 633 |
+
sns.barplot(data=fi, x='Importance', y='Feature Name', ax=ax)
|
| 634 |
+
ax.set_title('Top 10 Feature Importance (Random Forest Classifier)', fontsize=18)
|
| 635 |
+
plot11_path = "static/rf_classifier.png"
|
| 636 |
+
plt.savefig(plot11_path)
|
| 637 |
+
img = PIL.Image.open(plot11_path)
|
| 638 |
+
response11 = format_text((generate_gemini_response(plot11_path)))
|
| 639 |
+
|
| 640 |
+
|
| 641 |
+
|
| 642 |
+
document_analyzed = True
|
| 643 |
+
|
| 644 |
+
|
| 645 |
+
|
| 646 |
+
data = {
|
| 647 |
+
"request": request,
|
| 648 |
+
"response1": response1,
|
| 649 |
+
"response2": response2,
|
| 650 |
+
"response5": response5,
|
| 651 |
+
"response7": response7,
|
| 652 |
+
"plot1_path": plot1_path,
|
| 653 |
+
"plot2_path": plot2_path,
|
| 654 |
+
"plot5_path": plot5_path,
|
| 655 |
+
"plot7_path": plot7_path,
|
| 656 |
+
"show_conversation": document_analyzed,
|
| 657 |
+
"question_responses": question_responses
|
| 658 |
+
}
|
| 659 |
+
|
| 660 |
+
# Conditionally include response3 and plot3_path if they exist
|
| 661 |
+
if response3:
|
| 662 |
+
data["response3"] = response3
|
| 663 |
+
if plot3_path:
|
| 664 |
+
data["plot3_path"] = plot3_path
|
| 665 |
+
if response4:
|
| 666 |
+
data["response4"] = response3
|
| 667 |
+
if plot4_path:
|
| 668 |
+
data["plot4_path"] = plot4_path
|
| 669 |
+
if response6:
|
| 670 |
+
data["response6"] = response6
|
| 671 |
+
if plot6_path:
|
| 672 |
+
data["plot6_path"] = plot6_path
|
| 673 |
+
if response8:
|
| 674 |
+
data["response8"] = response8
|
| 675 |
+
if plot8_path:
|
| 676 |
+
data["plot8_path"] = plot8_path
|
| 677 |
+
if response9:
|
| 678 |
+
data["response9"] = response9
|
| 679 |
+
if plot9_path:
|
| 680 |
+
data["plot9_path"] = plot9_path
|
| 681 |
+
if response10:
|
| 682 |
+
data["response10"] = response10
|
| 683 |
+
if plot10_path:
|
| 684 |
+
data["plot10_path"] = plot10_path
|
| 685 |
+
if response11:
|
| 686 |
+
data["response11"] = response11
|
| 687 |
+
if plot11_path:
|
| 688 |
+
data["plot11_path"] = plot11_path
|
| 689 |
+
|
| 690 |
+
return templates.TemplateResponse("upload.html", data)
|
| 691 |
+
|
| 692 |
+
|
| 693 |
+
|
| 694 |
+
|
| 695 |
+
# Route for asking questions
|
| 696 |
+
@app.post("/ask", response_class=HTMLResponse)
|
| 697 |
+
async def ask_question(request: Request, question: str = Form(...)):
|
| 698 |
+
global file_extension, question_responses, api
|
| 699 |
+
global plot1_path, plot2_path, plot3_path, plot4_path, plot5_path, plot6_path, plot7_path, plot8_path, plot9_path, plot10_path, plot11_path
|
| 700 |
+
global response1, response2, response3, response4, response5, response6, response7, response8, response9, response10, response11
|
| 701 |
+
global document_analyzed
|
| 702 |
+
|
| 703 |
+
# Check if a file has been uploaded
|
| 704 |
+
if not file_extension:
|
| 705 |
+
raise HTTPException(status_code=400, detail="No file has been uploaded yet.")
|
| 706 |
+
|
| 707 |
+
# Initialize the LLM model
|
| 708 |
+
llm = ChatGoogleGenerativeAI(model="gemini-1.5-flash-latest", google_api_key=api)
|
| 709 |
+
|
| 710 |
+
# Determine the file extension and select the appropriate loader
|
| 711 |
+
file_path = ''
|
| 712 |
+
loader = None
|
| 713 |
+
|
| 714 |
+
if file_extension.endswith('.csv'):
|
| 715 |
+
file_path = 'dataset.csv'
|
| 716 |
+
loader = UnstructuredCSVLoader(file_path, mode="elements")
|
| 717 |
+
elif file_extension.endswith('.xlsx'):
|
| 718 |
+
file_path = 'dataset.xlsx'
|
| 719 |
+
loader = UnstructuredExcelLoader(file_path, mode="elements")
|
| 720 |
+
else:
|
| 721 |
+
raise HTTPException(status_code=400, detail="Unsupported file format")
|
| 722 |
+
|
| 723 |
+
# Load and process the document
|
| 724 |
+
try:
|
| 725 |
+
docs = loader.load()
|
| 726 |
+
except Exception as e:
|
| 727 |
+
raise HTTPException(status_code=500, detail=f"Error loading document: {str(e)}")
|
| 728 |
+
|
| 729 |
+
# Combine document text
|
| 730 |
+
text = "\n".join([doc.page_content for doc in docs])
|
| 731 |
+
os.environ["GOOGLE_API_KEY"] = api
|
| 732 |
+
|
| 733 |
+
# Initialize embeddings and create FAISS vector store
|
| 734 |
+
embeddings = GoogleGenerativeAIEmbeddings(model="models/embedding-001")
|
| 735 |
+
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
|
| 736 |
+
chunks = text_splitter.split_text(text)
|
| 737 |
+
document_search = FAISS.from_texts(chunks, embeddings)
|
| 738 |
+
|
| 739 |
+
# Generate query embedding and perform similarity search
|
| 740 |
+
query_embedding = embeddings.embed_query(question)
|
| 741 |
+
results = document_search.similarity_search_by_vector(query_embedding, k=3)
|
| 742 |
+
|
| 743 |
+
if results:
|
| 744 |
+
retrieved_texts = " ".join([result.page_content for result in results])
|
| 745 |
+
|
| 746 |
+
# Define the Summarize Chain for the question
|
| 747 |
+
latest_response = "" if not question_responses else question_responses[-1][1]
|
| 748 |
+
template1 = (
|
| 749 |
+
f"{question} Answer the question based on the following:\n\"{text}\"\n:" +
|
| 750 |
+
(f" Answer the Question with only 3 sentences. Latest conversation: {latest_response}" if latest_response else "")
|
| 751 |
+
)
|
| 752 |
+
prompt1 = PromptTemplate.from_template(template1)
|
| 753 |
+
|
| 754 |
+
# Initialize the LLMChain with the prompt
|
| 755 |
+
llm_chain1 = LLMChain(llm=llm, prompt=prompt1)
|
| 756 |
+
|
| 757 |
+
# Invoke the chain to get the summary
|
| 758 |
+
try:
|
| 759 |
+
response_chain = llm_chain1.invoke({"text": text})
|
| 760 |
+
summary1 = response_chain["text"]
|
| 761 |
+
except Exception as e:
|
| 762 |
+
raise HTTPException(status_code=500, detail=f"Error invoking LLMChain: {str(e)}")
|
| 763 |
+
|
| 764 |
+
# Generate embeddings for the summary
|
| 765 |
+
try:
|
| 766 |
+
summary_embedding = embeddings.embed_query(summary1)
|
| 767 |
+
document_search = FAISS.from_texts([summary1], embeddings)
|
| 768 |
+
except Exception as e:
|
| 769 |
+
raise HTTPException(status_code=500, detail=f"Error generating embeddings: {str(e)}")
|
| 770 |
+
|
| 771 |
+
# Perform a search on the FAISS vector database
|
| 772 |
+
try:
|
| 773 |
+
if document_search:
|
| 774 |
+
query_embedding = embeddings.embed_query(question)
|
| 775 |
+
results = document_search.similarity_search_by_vector(query_embedding, k=1)
|
| 776 |
+
|
| 777 |
+
if results:
|
| 778 |
+
current_response = format_text(results[0].page_content)
|
| 779 |
+
else:
|
| 780 |
+
current_response = "No matching document found in the database."
|
| 781 |
+
else:
|
| 782 |
+
current_response = "Vector database not initialized."
|
| 783 |
+
except Exception as e:
|
| 784 |
+
raise HTTPException(status_code=500, detail=f"Error during similarity search: {str(e)}")
|
| 785 |
+
else:
|
| 786 |
+
current_response = "No relevant results found."
|
| 787 |
+
|
| 788 |
+
# Append the question and response from FAISS search
|
| 789 |
+
current_question = f"You asked: {question}"
|
| 790 |
+
question_responses.append((current_question, current_response))
|
| 791 |
+
|
| 792 |
+
# Save all results to output_summary.json
|
| 793 |
+
save_to_json(question_responses)
|
| 794 |
+
|
| 795 |
+
|
| 796 |
+
|
| 797 |
+
data = {
|
| 798 |
+
"request": request,
|
| 799 |
+
"response1": response1,
|
| 800 |
+
"response2": response2,
|
| 801 |
+
"response5": response5,
|
| 802 |
+
"response7": response7,
|
| 803 |
+
"plot1_path": plot1_path,
|
| 804 |
+
"plot2_path": plot2_path,
|
| 805 |
+
"plot5_path": plot5_path,
|
| 806 |
+
"plot7_path": plot7_path,
|
| 807 |
+
"show_conversation": True,
|
| 808 |
+
"question_responses": question_responses
|
| 809 |
+
}
|
| 810 |
+
|
| 811 |
+
# Conditionally include response3 and plot3_path if they exist
|
| 812 |
+
if response3:
|
| 813 |
+
data["response3"] = response3
|
| 814 |
+
if plot3_path:
|
| 815 |
+
data["plot3_path"] = plot3_path
|
| 816 |
+
if response4:
|
| 817 |
+
data["response4"] = response3
|
| 818 |
+
if plot4_path:
|
| 819 |
+
data["plot4_path"] = plot4_path
|
| 820 |
+
if response6:
|
| 821 |
+
data["response6"] = response6
|
| 822 |
+
if plot6_path:
|
| 823 |
+
data["plot6_path"] = plot6_path
|
| 824 |
+
if response8:
|
| 825 |
+
data["response8"] = response8
|
| 826 |
+
if plot8_path:
|
| 827 |
+
data["plot8_path"] = plot8_path
|
| 828 |
+
if response9:
|
| 829 |
+
data["response9"] = response9
|
| 830 |
+
if plot9_path:
|
| 831 |
+
data["plot9_path"] = plot9_path
|
| 832 |
+
if response10:
|
| 833 |
+
data["response10"] = response10
|
| 834 |
+
if plot10_path:
|
| 835 |
+
data["plot10_path"] = plot10_path
|
| 836 |
+
if response11:
|
| 837 |
+
data["response11"] = response11
|
| 838 |
+
if plot11_path:
|
| 839 |
+
data["plot11_path"] = plot11_path
|
| 840 |
+
|
| 841 |
+
return templates.TemplateResponse("upload.html", data)
|
| 842 |
+
|
| 843 |
+
|
| 844 |
+
|
| 845 |
+
def save_to_json(question_responses):
|
| 846 |
+
outputs = {
|
| 847 |
+
"question_responses": question_responses
|
| 848 |
+
}
|
| 849 |
+
with open("output_summary.json", "w") as outfile:
|
| 850 |
+
json.dump(outputs, outfile)
|
| 851 |
+
|
| 852 |
+
|
| 853 |
+
|
| 854 |
+
if __name__ == "__main__":
|
| 855 |
+
import uvicorn
|
| 856 |
+
uvicorn.run(app, host="127.0.0.1", port=8000)
|