AI 获客系统中潜在客户线索挖掘功能的示例代码。该示例利用逻辑回归模型,结合模拟的客户数据来挖掘潜在客户线索。AI矩阵获客系统搭建,AI矩阵获客系统源码
代码说明
数据生成:generate_mock_data 函数创建模拟的客户数据,涵盖年龄、收入、购买频率、平均购买金额以及是否为潜在客户的标签。
数据预处理:preprocess_data 函数提取特征矩阵 X 和目标变量 y,并对特征矩阵进行标准化,保证特征具有相同尺度。
模型训练:train_model 函数将数据划分为训练集和测试集,使用逻辑回归模型进行训练,并计算模型在测试集上的准确率。
潜在客户线索挖掘:mine_potential_leads 函数利用训练好的模型预测每个客户成为潜在客户的概率,通过设定阈值(这里为 0.5)来判断是否为潜在客户。
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import accuracy_score
# 生成模拟客户数据
def generate_mock_data():
data = {
'age': [25, 30, 35, 40, 45, 22, 28, 32, 38, 42],
'income': [50000, 60000, 70000, 80000, 90000, 45000, 55000, 65000, 75000, 85000],
'purchase_frequency': [5, 3, 7, 2, 4, 6, 8, 1, 3, 5],
'average_purchase_amount': [100, 200, 150, 300, 250, 80, 120, 220, 180, 280],
'is_potential_lead': [1, 0, 1, 0, 1, 0, 1, 0, 1, 0]
}
return pd.DataFrame(data)
# 数据预处理
def preprocess_data(df):
X = df.drop('is_potential_lead', axis=1)
y = df['is_potential_lead']
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
return X_scaled, y
# 训练逻辑回归模型
def train_model(X, y):
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
model = LogisticRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f"模型准确率: {accuracy}")
return model
# 潜在客户线索挖掘
def mine_potential_leads(model, X):
lead_probabilities = model.predict_proba(X)[:, 1]
# 设定阈值为 0.5,可根据实际情况调整
potential_leads = lead_probabilities > 0.5
return potential_leads
if __name__ == "__main__":
df = generate_mock_data()
X_scaled, y = preprocess_data(df)
model = train_model(X_scaled, y)
potential_leads = mine_potential_leads(model, X_scaled)
print("潜在客户线索挖掘结果:")
for i, is_lead in enumerate(potential_leads):
print(f"客户 {i + 1} 是否为潜在客户: {is_lead}")