<div className="mt-3 flex gap-2 flex-wrap"> contestant.personalityTraits.map(trait => ( <span key=trait className="bg-gray-800 text-xs px-2 py-1 rounded-full">trait</span> )) </div>
def compare_contestants(self, id1, id2): c1 = next(c for c in self.contestants if c['id'] == id1) c2 = next(c for c in self.contestants if c['id'] == id2) comparison = "name": [c1['name'], c2['name']], "nominations_count": [c1['nominationsCount'], c2['nominationsCount']], "task_success_rate": [ c1['tasksWonAsCaptain'] / max(1, c1['tasksWonAsCaptain'] + c1['taskFailures']), c2['tasksWonAsCaptain'] / max(1, c2['tasksWonAsCaptain'] + c2['taskFailures']) ], "personality_overlap": len(set(c1['personalityTraits']) & set(c2['personalityTraits'])) / len(set(c1['personalityTraits'] + c2['personalityTraits'])) return comparison
@app.get("/bbms6/eviction-risk/week") def eviction_risk(week: int): return analyzer.predict_eviction_risk(week) bigg boss season 6 contestants malayalam
@app.get("/bbms6/compare/id1/id2") def compare(id1: str, id2: str): return analyzer.compare_contestants(id1, id2)
@app.get("/bbms6/winner-picks") def winner_picks(): return analyzer.get_winner_recommendation() // ContestantCard.jsx import React from 'react'; export default function ContestantCard( contestant ) const riskColor = contestant.eviction_risk > 0.7 ? 'red' : contestant.eviction_risk > 0.4 ? 'orange' : 'green'; <div className="mt-3 flex gap-2 flex-wrap"> contestant
def predict_eviction_risk(self, week_number): # Simplified logistic regression mock nominated = [c for c in self.contestants if week_number in c['nominationWeeks']] for c in nominated: risk = ( 0.3 * c['nominationsCount'] + 0.4 * (1 - c['fanPollRank'] / len(self.contestants)) + 0.3 * (c['taskFailures'] / max(1, c['tasksWonAsCaptain'] + c['taskFailures'])) ) c['eviction_risk'] = min(0.99, risk) return sorted(nominated, key=lambda x: x['eviction_risk'], reverse=True)
def get_winner_recommendation(self): active = [c for c in self.contestants if c['status'] == 'Active'] scored = [] for c in active: gameplay_score = (c['tasksWonAsCaptain'] * 2) - (c['taskFailures'] * 1.5) audience_score = c['fanPollRank'] # lower rank = better controversy_penalty = 2 if 'Aggressive' in c['personalityTraits'] else 0 total = gameplay_score - controversy_penalty - audience_score scored.append((c['name'], total)) scored.sort(key=lambda x: x[1], reverse=True) return scored[:3] from fastapi import FastAPI app = FastAPI() @app.get("/bbms6/contestants") def get_all_contestants(): return contestants_list div className="mt-3 flex gap-2 flex-wrap">
<div className="mt-4 grid grid-cols-2 gap-2 text-sm"> <div>📋 Nominations: contestant.nominationsCount</div> <div>👑 Captain wins: contestant.tasksWonAsCaptain</div> <div>📈 IG growth: +contestant.instagramGrowthPercent%</div> <div>⭐ Fan rank: #contestant.fanPollRank</div> </div>