Delete ml_insights.py
Browse files- ml_insights.py +0 -55
ml_insights.py
DELETED
@@ -1,55 +0,0 @@
|
|
1 |
-
import pandas as pd
|
2 |
-
import numpy as np
|
3 |
-
import matplotlib.pyplot as plt
|
4 |
-
import seaborn as sns
|
5 |
-
from sklearn.linear_model import LinearRegression
|
6 |
-
import streamlit as st
|
7 |
-
|
8 |
-
def generate_insights(call_data):
|
9 |
-
"""
|
10 |
-
Generate ML insights and visualizations from call data
|
11 |
-
"""
|
12 |
-
# Convert call data to DataFrame
|
13 |
-
df = pd.DataFrame(call_data)
|
14 |
-
|
15 |
-
# Sentiment distribution pie chart
|
16 |
-
plt.figure(figsize=(10, 6))
|
17 |
-
sentiment_counts = df['sentiment'].value_counts()
|
18 |
-
plt.pie(sentiment_counts, labels=sentiment_counts.index, autopct='%1.1f%%')
|
19 |
-
plt.title('Sentiment Distribution')
|
20 |
-
st.pyplot(plt)
|
21 |
-
plt.close()
|
22 |
-
|
23 |
-
# Calculate sentiment trend
|
24 |
-
df['sentiment_numeric'] = df['sentiment'].map({'POSITIVE': 1, 'NEGATIVE': -1, 'NEUTRAL': 0})
|
25 |
-
|
26 |
-
# Simple trend analysis
|
27 |
-
X = np.array(range(len(df))).reshape(-1, 1)
|
28 |
-
y = df['sentiment_numeric'].values
|
29 |
-
|
30 |
-
model = LinearRegression()
|
31 |
-
model.fit(X, y)
|
32 |
-
|
33 |
-
# Predict trend
|
34 |
-
trend_score = model.coef_[0]
|
35 |
-
trend_interpretation = (
|
36 |
-
"Improving" if trend_score > 0.1 else
|
37 |
-
"Declining" if trend_score < -0.1 else
|
38 |
-
"Stable"
|
39 |
-
)
|
40 |
-
|
41 |
-
# Summary metrics
|
42 |
-
st.subheader("Call Analysis Summary")
|
43 |
-
st.write(f"Total Calls: {len(df)}")
|
44 |
-
st.write("Sentiment Breakdown:")
|
45 |
-
st.write(sentiment_counts)
|
46 |
-
st.write(f"Sentiment Trend: {trend_interpretation}")
|
47 |
-
|
48 |
-
def main():
|
49 |
-
st.title("Sales Call Insights")
|
50 |
-
|
51 |
-
# Placeholder for loading data mechanism
|
52 |
-
st.write("Insights generation ready.")
|
53 |
-
|
54 |
-
if __name__ == "__main__":
|
55 |
-
main()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|