Python:对具有大量变量的月度数据进行聚类分析

标签 python variables cluster-analysis churn bigdata

我希望你们能帮我解决这个问题,因为我觉得这超出了我的范围。对于你们中的一些人来说这可能很愚蠢,但我迷失了方向,所以我来向你们寻求建议。

我是统计、数据分析和大数据领域的新手。我刚刚开始学习,我需要做一个关于流失预测的项目。是的,这是一项家庭作业,但我希望你能回答我的一些问题。

如果您能得到初学者级别的逐步解答,我将不胜感激。

基本上,我有一个非常大的数据集(显然),其中包含来自移动公司 3 个月的客户事件数据,第 4 个月以流失或未流失结束。每个月都有这些列:

['year',
 'month',
 'user_account_id',
 'user_lifetime',
 'user_intake',
 'user_no_outgoing_activity_in_days',
 'user_account_balance_last',
 'user_spendings',
 'user_has_outgoing_calls',
 'user_has_outgoing_sms',
 'user_use_gprs',
 'user_does_reload',
 'reloads_inactive_days',
 'reloads_count',
 'reloads_sum',
 'calls_outgoing_count',
 'calls_outgoing_spendings',
 'calls_outgoing_duration',
 'calls_outgoing_spendings_max',
 'calls_outgoing_duration_max',
 'calls_outgoing_inactive_days',
 'calls_outgoing_to_onnet_count',
 'calls_outgoing_to_onnet_spendings',
 'calls_outgoing_to_onnet_duration',
 'calls_outgoing_to_onnet_inactive_days',
 'calls_outgoing_to_offnet_count',
 'calls_outgoing_to_offnet_spendings',
 'calls_outgoing_to_offnet_duration',
 'calls_outgoing_to_offnet_inactive_days',
 'calls_outgoing_to_abroad_count',
 'calls_outgoing_to_abroad_spendings',
 'calls_outgoing_to_abroad_duration',
 'calls_outgoing_to_abroad_inactive_days',
 'sms_outgoing_count',
 'sms_outgoing_spendings',
 'sms_outgoing_spendings_max',
 'sms_outgoing_inactive_days',
 'sms_outgoing_to_onnet_count',
 'sms_outgoing_to_onnet_spendings',
 'sms_outgoing_to_onnet_inactive_days',
 'sms_outgoing_to_offnet_count',
 'sms_outgoing_to_offnet_spendings',
 'sms_outgoing_to_offnet_inactive_days',
 'sms_outgoing_to_abroad_count',
 'sms_outgoing_to_abroad_spendings',
 'sms_outgoing_to_abroad_inactive_days',
 'sms_incoming_count',
 'sms_incoming_spendings',
 'sms_incoming_from_abroad_count',
 'sms_incoming_from_abroad_spendings',
 'gprs_session_count',
 'gprs_usage',
 'gprs_spendings',
 'gprs_inactive_days',
 'last_100_reloads_count',
 'last_100_reloads_sum',
 'last_100_calls_outgoing_duration',
 'last_100_calls_outgoing_to_onnet_duration',
 'last_100_calls_outgoing_to_offnet_duration',
 'last_100_calls_outgoing_to_abroad_duration',
 'last_100_sms_outgoing_count',
 'last_100_sms_outgoing_to_onnet_count',
 'last_100_sms_outgoing_to_offnet_count',
 'last_100_sms_outgoing_to_abroad_count',
 'last_100_gprs_usage']

本作业的最终结果将是 k 均值聚类分析和流失预测模型。

关于这个数据集我最头痛的是:

如何对包含大部分这些变量的月度数据进行聚类分析?我试图寻找一个示例,但我要么找到了每月分析一个变量的示例,要么找到了每月分析多个变量的示例。

我正在使用 Python 和 Spark。

我想只要我知道如何处理几个月和一大堆变量,我就能让它发挥作用。

谢谢,我们将非常感谢您的帮助!

附注代码示例会不会要求太多?

最佳答案

为什么在这里使用 k-means?

  1. k-means 不会对此类数据执行任何有意义的操作。它对缩放和属性类型(例如年、月)太敏感

  2. 客户流失预测是一个监督问题。切勿对监督问题使用无监督算法。这意味着您忽略了指导搜索的最有值(value)的信息。

关于Python:对具有大量变量的月度数据进行聚类分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41237997/

相关文章:

python - 提高python中重心坐标计算的效率

python - Sklearn 中的高维 DBSCAN

python - 提取第二和第三邻居时的代码,当第二和第三邻居不存在时将其忽略

python - 为什么全局变量在导入时不像我预期的那样工作?

algorithm - 聚类给定的成对距离和未知的聚类数?

python - 从 python mysql 查询中过滤掉值

python - 修改manage.py用于开发和生产

python - 为什么不能 pickle 作为对象属性的列表?

xslt - 使用 XSLT 变量作为字段名称

excel - 为什么我不应该将某些对象引用转换为对象变量?指导方针是什么?