You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于问卷调研数据的3D clustering实现方法咨询

问卷3D聚类分析落地方案

有序分类题项编码规则

聚类算法的核心逻辑是基于样本间的距离计算类群归属,字符串格式的选项无法直接参与计算,必须转换为数值编码,编码时注意两个核心原则:

  • 严格匹配有序递进关系:两个5级李克特题项要按照态度正向程度统一编码方向,避免逻辑反向。参考映射规则:正向最高选项(非常同意/非常满意)映射为5,同意映射为4,中立映射为3,不同意/不满意映射为2,负向最高选项(非常不同意/非常不满意)映射为1。你之前已经完成了复购意愿题项的重复选项去重,编码时直接对应映射即可。
  • 编码后必须做特征标准化:三个维度的量纲不一致(前两题取值1-5,推荐意愿题取值0-10),如果直接输入聚类模型,量纲更大的维度会在距离计算中占据不合理的高权重,导致聚类结果失真。可以直接用MinMaxScaler将三个维度统一缩放到0-1区间,或用StandardScaler做Z-score标准化。

工具选型与可视化实现

针对你需要的支持鼠标旋转、缩放、分群高亮、悬停查看样本详情的3D交互效果,优先选以下方案,不需要复杂部署:

  • 快速出结果场景:直接用Python生态的Plotly库,生成的可视化结果为独立HTML文件,本地浏览器打开即可使用所有交互功能,支持按聚类结果分色、图例点选隐藏/展示指定分群、自定义悬停显示字段,完全匹配需求。
  • 定制化嵌入场景:如果需要把结果嵌入内部系统、加作答筛选/详情跳转等定制功能,可以选Three.js封装的3D散点组件做前端开发,灵活度更高。

最小实现代码示例

以下代码可以直接运行,替换模拟数据为你的真实调研数据即可输出结果:

import pandas as pd
import numpy as np
from sklearn.preprocessing import MinMaxScaler
from sklearn.cluster import KMeans
import plotly.express as px

# 替换为你自己的真实问卷数据
survey_data = pd.DataFrame({
    "满意度": np.random.choice(["非常同意","同意","中立","不满意","非常不满意"], size=500),
    "复购意愿": np.random.choice(["非常同意","同意","中立","不同意","非常不同意"], size=500),
    "推荐意愿": np.random.randint(0,11, size=500)
})

# 有序选项数值映射
satisfaction_map = {"非常同意":5, "同意":4, "中立":3, "不满意":2, "非常不满意":1}
repurchase_map = {"非常同意":5, "同意":4, "中立":3, "不同意":2, "非常不同意":1}
survey_data["满意度_编码"] = survey_data["满意度"].map(satisfaction_map)
survey_data["复购意愿_编码"] = survey_data["复购意愿"].map(repurchase_map)

# 特征标准化
scaler = MinMaxScaler()
scaled_features = scaler.fit_transform(survey_data[["满意度_编码", "复购意愿_编码", "推荐意愿"]])

# 聚类计算,n_clusters可通过肘部法、轮廓系数调整最优值
kmeans_model = KMeans(n_clusters=3, random_state=42)
survey_data["聚类分群"] = kmeans_model.fit_predict(scaled_features).astype(str)

# 生成3D交互可视化
fig = px.scatter_3d(
    survey_data,
    x="满意度_编码",
    y="复购意愿_编码",
    z="推荐意愿",
    color="聚类分群",
    hover_data=["满意度", "复购意愿", "推荐意愿"],
    title="产品X用户调研3D聚类结果"
)
# 导出为本地HTML文件,打开即可交互
fig.write_html("用户聚类3D结果.html")
fig.show()

实操提示:如果样本中存在明显的离群用户(比如所有题都打极端分的无效作答),可以把K-Means替换为DBSCAN算法,对离群点的鲁棒性更好,聚类结果更贴合真实用户分层。

内容的提问来源于stack exchange,提问作者MSmith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 06:18:21