Spaces:
				
			
			
	
			
			
					
		Running
		
	
	
	
			
			
	
	
	
	
		
		
					
		Running
		
	Modify predictions output if all same
Browse files
    	
        app.py
    CHANGED
    
    | @@ -108,19 +108,21 @@ def analyze_sentiment_and_statistics(text): | |
| 108 |  | 
| 109 | 
             
                # Calculate statistics
         | 
| 110 | 
             
                scores = list(results.values())
         | 
| 111 | 
            -
                 | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 112 | 
             
                    statistics = {
         | 
| 113 | 
             
                        "Message": "All models predict the same score.",
         | 
| 114 | 
            -
                        "Average Score": f"{ | 
| 115 | 
             
                    }
         | 
| 116 | 
             
                else:
         | 
| 117 | 
            -
                    min_score_model = min(results, key=results.get)
         | 
| 118 | 
            -
                    max_score_model = max(results, key=results.get)
         | 
| 119 | 
            -
                    average_score = np.mean(scores)
         | 
| 120 | 
            -
                    
         | 
| 121 | 
             
                    statistics = {
         | 
| 122 | 
            -
                        "Lowest Score": f"{ | 
| 123 | 
            -
                        "Highest Score": f"{ | 
| 124 | 
             
                        "Average Score": f"{average_score:.2f}",
         | 
| 125 | 
             
                    }
         | 
| 126 | 
             
                return results, statistics
         | 
| @@ -179,7 +181,7 @@ with gr.Blocks(css=".gradio-container { max-width: 900px; margin: auto; padding: | |
| 179 | 
             
                # Button to analyze sentiment and show statistics
         | 
| 180 | 
             
                def process_input_and_analyze(text_input):
         | 
| 181 | 
             
                    results, statistics = analyze_sentiment_and_statistics(text_input)
         | 
| 182 | 
            -
                    if "Message" in statistics: | 
| 183 | 
             
                        return (
         | 
| 184 | 
             
                            f"{results['DistilBERT']}",
         | 
| 185 | 
             
                            f"{results['Logistic Regression']}",
         | 
| @@ -188,7 +190,7 @@ with gr.Blocks(css=".gradio-container { max-width: 900px; margin: auto; padding: | |
| 188 | 
             
                            f"{results['RoBERTa']}",
         | 
| 189 | 
             
                            f"Statistics:\n{statistics['Message']}\nAverage Score: {statistics['Average Score']}"
         | 
| 190 | 
             
                        )
         | 
| 191 | 
            -
                    else: | 
| 192 | 
             
                        return (
         | 
| 193 | 
             
                            f"{results['DistilBERT']}",
         | 
| 194 | 
             
                            f"{results['Logistic Regression']}",
         | 
|  | |
| 108 |  | 
| 109 | 
             
                # Calculate statistics
         | 
| 110 | 
             
                scores = list(results.values())
         | 
| 111 | 
            +
                min_score = min(scores)
         | 
| 112 | 
            +
                max_score = max(scores)
         | 
| 113 | 
            +
                min_score_models = [model for model, score in results.items() if score == min_score]
         | 
| 114 | 
            +
                max_score_models = [model for model, score in results.items() if score == max_score]
         | 
| 115 | 
            +
                average_score = np.mean(scores)
         | 
| 116 | 
            +
             | 
| 117 | 
            +
                if all(score == scores[0] for score in scores):
         | 
| 118 | 
             
                    statistics = {
         | 
| 119 | 
             
                        "Message": "All models predict the same score.",
         | 
| 120 | 
            +
                        "Average Score": f"{average_score:.2f}",
         | 
| 121 | 
             
                    }
         | 
| 122 | 
             
                else:
         | 
|  | |
|  | |
|  | |
|  | |
| 123 | 
             
                    statistics = {
         | 
| 124 | 
            +
                        "Lowest Score": f"{min_score} (Models: {', '.join(min_score_models)})",
         | 
| 125 | 
            +
                        "Highest Score": f"{max_score} (Models: {', '.join(max_score_models)})",
         | 
| 126 | 
             
                        "Average Score": f"{average_score:.2f}",
         | 
| 127 | 
             
                    }
         | 
| 128 | 
             
                return results, statistics
         | 
|  | |
| 181 | 
             
                # Button to analyze sentiment and show statistics
         | 
| 182 | 
             
                def process_input_and_analyze(text_input):
         | 
| 183 | 
             
                    results, statistics = analyze_sentiment_and_statistics(text_input)
         | 
| 184 | 
            +
                    if "Message" in statistics:
         | 
| 185 | 
             
                        return (
         | 
| 186 | 
             
                            f"{results['DistilBERT']}",
         | 
| 187 | 
             
                            f"{results['Logistic Regression']}",
         | 
|  | |
| 190 | 
             
                            f"{results['RoBERTa']}",
         | 
| 191 | 
             
                            f"Statistics:\n{statistics['Message']}\nAverage Score: {statistics['Average Score']}"
         | 
| 192 | 
             
                        )
         | 
| 193 | 
            +
                    else:
         | 
| 194 | 
             
                        return (
         | 
| 195 | 
             
                            f"{results['DistilBERT']}",
         | 
| 196 | 
             
                            f"{results['Logistic Regression']}",
         | 
