精选文章 发现一个三维画图库

发现一个三维画图库

作者:qq_41699660 时间: 2019-11-04 05:17:12
qq_41699660 2019-11-04 05:17:12
#导入包
import pandas as pd
import numpy as np
from sklearn import cluster
from sklearn.preprocessing import StandardScaler
from itertools import cycle, islice
import plotly
import plotly.graph_objs as go
#数据预处理
all_user = pd.read_csv('all_user.csv')
df = all_user[['package_fee','two_topup_amount','billing_amount']]
df = df.sample(10000)
X = StandardScaler().fit_transform(df)

#minibatchkmeans
two_means = cluster.MiniBatchKMeans(n_clusters=5)
two_means.fit(X)
y_pred = two_means.predict(X)
colors = np.array(list(islice(cycle(['#377eb8', '#ff7f00', '#4daf4a',
                                             '#f781bf', '#a65628', '#984ea3',
                                             '#999999', '#e41a1c', '#dede00']),
                                      int(max(y_pred) + 1))))

# 画图
fig1 = go.Scatter3d(x=X[:,0],
                    y=X[:,1],
                    z=X[:,2],
                    marker=dict(color=colors[y_pred],
                                opacity=1,
                                reversescale=True,
                                colorscale='Blues',
                                size=5),
                    line=dict(width=0.02)
                    ,mode='markers'
                   )
mylayout = go.Layout(scene=dict(xaxis=dict(title="package_fee"),
                                yaxis=dict(title='two_topup_amount'),
                                zaxis=dict(title='billing_amount')),)

plotly.offline.plot({'data':[fig1],
                     "layout":mylayout},
                    auto_open=True,
                    filename=('三维图.html'))

发现一个三维画图库1

勿删,copyright占位
分享文章到微博
分享文章到朋友圈

上一篇:netty中的channelHandler注释@sharable后是否代表多个io线程共享的一个单例模式呢

下一篇:快应用常用组件开发-图标和表单

CSDN

CSDN

中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。