#python #pandas #matplotlib #plotly #data-analysis
#python #pandas #matplotlib #plotly #анализ данных
Вопрос:
У меня есть сегментация клиентов с проектом анализа RFM. Я разделил клиентов на группы типа «Не могу их потерять», «Лояльные», «Чемпионы» по уровню RFM. Существует 7 разных групп.
Мне нужен 3D-график кластеров. У меня есть пример 3D-графика. по частоте, новизне, денежному эквиваленту, но он имеет 3 разных кластера. Мне нужно 7 разных кластеров. Итак, как я могу построить 3D-график уровней RFM?
Фотография моего набора данных
import plotly.graph_objs as go
import plotly as py
x3 = data[['R_Quartile','F_Quartile','M_Quartile']].iloc[:,:].values
algorithm = (KMeans(n_clusters = 3 ,init='k-means ', n_init = 10 ,max_iter=300,
tol=0.0001, random_state= 111 , algorithm='elkan') )
algorithm.fit(x3)
labels3 = algorithm.labels_
centroids3 = algorithm.cluster_centers_
data['label3'] = labels3
trace1 = go.Scatter3d(
x= data['recency'],
y= data['frequency'],
z= data['monetary'],
mode='markers',
marker=dict(
color = data['label3'],
size= 1,
line=dict(
color= data['label3'],
width= 12
),
opacity=0.8
)
)
data_temp = [trace1]
layout = go.Layout(
# margin=dict(
# l=0,
# r=0,
# b=0,
# t=0
# )
title= 'Clusters',
scene = dict(
xaxis = dict(title = 'R'),
yaxis = dict(title = 'F'),
zaxis = dict(title = 'M')
)
)
fig = go.Figure(data=data_temp, layout=layout)
py.offline.iplot(fig)