expenses_ai / behavior.py
Sabithulla's picture
Rename behaviour.py to behavior.py
640009d verified
raw
history blame contribute delete
589 Bytes
import pandas as pd
from sklearn.cluster import KMeans
import numpy as np
def analyze_behavior(df):
if len(df) < 5:
return {"insight": "Not enough data"}
df['amount'] = df['amount']
X = df[['amount']]
kmeans = KMeans(n_clusters=2, n_init=10)
df['cluster'] = kmeans.fit_predict(X)
avg = df['amount'].mean()
high_spend = df[df['amount'] > avg]
return {
"average_spending": float(avg),
"high_spending_count": len(high_spend),
"insight": "User has high spending spikes" if len(high_spend) > 2 else "Spending is stable"
}