Python: 对变量较多的月度数据进行聚类分析
Python: Cluster analysis on a monthly data with a lot of variables
我希望你们能帮我解决这个问题,因为我觉得这在我之上。对你们中的一些人来说这可能很愚蠢,但我迷路了,我来向你寻求建议。
我是统计学、数据分析和大数据的新手。我刚开始学习,我需要做一个关于流失预测的项目。是的,这是一个家庭作业,但我希望你能回答我的一些问题。
我将非常感谢一步一步的初学者级别的答案。
基本上,我有一个非常大的数据集(显然)来自移动公司 3 个月的客户 activity 数据,第 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。
我想我可以让它工作,只要我知道如何处理几个月和大量变量。
谢谢,非常感谢您的帮助!
P.S。一个代码示例会不会要求太多?
为什么要在这里使用 k-means?
k-means 不会对此类数据做任何有意义的事情。它对缩放和属性类型(例如年、月)太敏感
客户流失预测是一个监督问题。永远不要对监督问题使用无监督算法。这意味着您忽略了指导搜索的最有价值的信息。
我希望你们能帮我解决这个问题,因为我觉得这在我之上。对你们中的一些人来说这可能很愚蠢,但我迷路了,我来向你寻求建议。
我是统计学、数据分析和大数据的新手。我刚开始学习,我需要做一个关于流失预测的项目。是的,这是一个家庭作业,但我希望你能回答我的一些问题。
我将非常感谢一步一步的初学者级别的答案。
基本上,我有一个非常大的数据集(显然)来自移动公司 3 个月的客户 activity 数据,第 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。
我想我可以让它工作,只要我知道如何处理几个月和大量变量。
谢谢,非常感谢您的帮助!
P.S。一个代码示例会不会要求太多?
为什么要在这里使用 k-means?
k-means 不会对此类数据做任何有意义的事情。它对缩放和属性类型(例如年、月)太敏感
客户流失预测是一个监督问题。永远不要对监督问题使用无监督算法。这意味着您忽略了指导搜索的最有价值的信息。