Update src/App.js
Browse files- src/App.js +46 -15
src/App.js
CHANGED
|
@@ -427,21 +427,7 @@ const UrologyLeaderboard = () => {
|
|
| 427 |
React.createElement('div', { style: styles.innerContainer },
|
| 428 |
React.createElement('div', { style: styles.header },
|
| 429 |
React.createElement('h1', { style: styles.title }, 'π Urology AI Leaderboard'),
|
| 430 |
-
React.createElement('p', { style: styles.subtitle }, 'Evaluating Natural Language Models on Urology Knowledge Assessment')
|
| 431 |
-
React.createElement('div', { style: styles.statsContainer },
|
| 432 |
-
React.createElement('div', { style: styles.statCard },
|
| 433 |
-
React.createElement('div', { style: styles.statNumber }, data.length),
|
| 434 |
-
React.createElement('div', { style: styles.statLabel }, 'Models')
|
| 435 |
-
),
|
| 436 |
-
React.createElement('div', { style: styles.statCard },
|
| 437 |
-
React.createElement('div', { style: styles.statNumber }, '151'),
|
| 438 |
-
React.createElement('div', { style: styles.statLabel }, 'Questions')
|
| 439 |
-
),
|
| 440 |
-
React.createElement('div', { style: styles.statCard },
|
| 441 |
-
React.createElement('div', { style: styles.statNumber }, 'SAS Urology'),
|
| 442 |
-
React.createElement('div', { style: styles.statLabel }, 'Specialty')
|
| 443 |
-
)
|
| 444 |
-
)
|
| 445 |
),
|
| 446 |
React.createElement('div', { style: styles.controlsContainer },
|
| 447 |
React.createElement('div', { style: styles.inputGroup },
|
|
@@ -588,6 +574,51 @@ const UrologyLeaderboard = () => {
|
|
| 588 |
)
|
| 589 |
),
|
| 590 |
React.createElement('div', { style: styles.infoSection },
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 591 |
React.createElement('div', { style: styles.infoCard },
|
| 592 |
React.createElement('h3', { style: { fontSize: '20px', fontWeight: '600', color: 'white', marginBottom: '12px' } }, 'π About This Evaluation'),
|
| 593 |
React.createElement('p', { style: { color: '#d1d5db', marginBottom: '12px' } }, 'This leaderboard evaluates natural language models on their ability to answer urology questions. Models must respond to multiple-choice questions about urological knowledge, demonstrating their understanding and mastery of this medical specialty.'),
|
|
|
|
| 427 |
React.createElement('div', { style: styles.innerContainer },
|
| 428 |
React.createElement('div', { style: styles.header },
|
| 429 |
React.createElement('h1', { style: styles.title }, 'π Urology AI Leaderboard'),
|
| 430 |
+
React.createElement('p', { style: styles.subtitle }, 'Evaluating Natural Language Models on Urology Knowledge Assessment')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 431 |
),
|
| 432 |
React.createElement('div', { style: styles.controlsContainer },
|
| 433 |
React.createElement('div', { style: styles.inputGroup },
|
|
|
|
| 574 |
)
|
| 575 |
),
|
| 576 |
React.createElement('div', { style: styles.infoSection },
|
| 577 |
+
React.createElement('div', { style: styles.infoCard },
|
| 578 |
+
React.createElement('h3', { style: { fontSize: '20px', fontWeight: '600', color: 'white', marginBottom: '16px' } }, 'π Statistics'),
|
| 579 |
+
React.createElement('div', { style: { display: 'flex', justifyContent: 'space-around', gap: '20px', flexWrap: 'wrap', marginBottom: '8px' } },
|
| 580 |
+
React.createElement('div', { style: { textAlign: 'center' } },
|
| 581 |
+
React.createElement('div', { style: { fontSize: '24px', fontWeight: 'bold', color: '#60a5fa' } }, filteredAndSortedData.length),
|
| 582 |
+
React.createElement('div', { style: { fontSize: '14px', color: '#d1d5db' } }, 'Models')
|
| 583 |
+
),
|
| 584 |
+
React.createElement('div', { style: { textAlign: 'center' } },
|
| 585 |
+
React.createElement('div', { style: { fontSize: '24px', fontWeight: 'bold', color: '#34d399' } },
|
| 586 |
+
filteredAndSortedData.length > 0 ?
|
| 587 |
+
`${((filteredAndSortedData.reduce((sum, item) => sum + item.accuracy, 0) / filteredAndSortedData.length) * 100).toFixed(1)}%` :
|
| 588 |
+
'0%'
|
| 589 |
+
),
|
| 590 |
+
React.createElement('div', { style: { fontSize: '14px', color: '#d1d5db' } }, 'Mean')
|
| 591 |
+
),
|
| 592 |
+
React.createElement('div', { style: { textAlign: 'center' } },
|
| 593 |
+
React.createElement('div', { style: { fontSize: '24px', fontWeight: 'bold', color: '#a78bfa' } },
|
| 594 |
+
filteredAndSortedData.length > 0 ? (() => {
|
| 595 |
+
const sortedAccuracies = [...filteredAndSortedData].sort((a, b) => a.accuracy - b.accuracy);
|
| 596 |
+
const mid = Math.floor(sortedAccuracies.length / 2);
|
| 597 |
+
const median = sortedAccuracies.length % 2 === 0 ?
|
| 598 |
+
(sortedAccuracies[mid - 1].accuracy + sortedAccuracies[mid].accuracy) / 2 :
|
| 599 |
+
sortedAccuracies[mid].accuracy;
|
| 600 |
+
return `${(median * 100).toFixed(1)}%`;
|
| 601 |
+
})() : '0%'
|
| 602 |
+
),
|
| 603 |
+
React.createElement('div', { style: { fontSize: '14px', color: '#d1d5db' } }, 'Median')
|
| 604 |
+
),
|
| 605 |
+
React.createElement('div', { style: { textAlign: 'center' } },
|
| 606 |
+
React.createElement('div', { style: { fontSize: '24px', fontWeight: 'bold', color: '#fbbf24' } },
|
| 607 |
+
filteredAndSortedData.length > 0 ? (() => {
|
| 608 |
+
const accuracyMap = {};
|
| 609 |
+
filteredAndSortedData.forEach(item => {
|
| 610 |
+
const rounded = Math.round(item.accuracy * 1000) / 10;
|
| 611 |
+
accuracyMap[rounded] = (accuracyMap[rounded] || 0) + 1;
|
| 612 |
+
});
|
| 613 |
+
const maxCount = Math.max(...Object.values(accuracyMap));
|
| 614 |
+
const modes = Object.keys(accuracyMap).filter(key => accuracyMap[key] === maxCount);
|
| 615 |
+
return `${modes[0]}%`;
|
| 616 |
+
})() : '0%'
|
| 617 |
+
),
|
| 618 |
+
React.createElement('div', { style: { fontSize: '14px', color: '#d1d5db' } }, 'Mode')
|
| 619 |
+
)
|
| 620 |
+
)
|
| 621 |
+
),
|
| 622 |
React.createElement('div', { style: styles.infoCard },
|
| 623 |
React.createElement('h3', { style: { fontSize: '20px', fontWeight: '600', color: 'white', marginBottom: '12px' } }, 'π About This Evaluation'),
|
| 624 |
React.createElement('p', { style: { color: '#d1d5db', marginBottom: '12px' } }, 'This leaderboard evaluates natural language models on their ability to answer urology questions. Models must respond to multiple-choice questions about urological knowledge, demonstrating their understanding and mastery of this medical specialty.'),
|