首页 > 其他分享 >数据挖掘习题10

数据挖掘习题10

时间:2024-07-12 23:29:04浏览次数:12  
标签:10 DBSCAN scaled print score 数据挖掘 clusters 习题 data

1.题干

       客户细分是将市场细分为具有相似特征的离散客户群体。客户细分可以成为识别未满足客户需求的有力手段。利用上述数据,公司可以通过开发具有独特吸引力的产品和服务来超越竞争对手。

      现有某超市客户的特征数据集,包括客户编号(ID),性别,婚姻状况(Marital status),年龄,受教育程度,收入,职业,居住小区规模(Settlement size)。读取数据,查看数据的基本情况,输出基本统计量,查看有无缺失值,数据标准化,利用KMeans,层次聚类AgglomerativeClustering,基于密度的聚类DBSCAN,输出DB指数等评价指标轮廓系数(Silhouetie Coeficient)。

2.数据格式

3.代码 

import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans, AgglomerativeClustering, DBSCAN
from sklearn.metrics import silhouette_score, davies_bouldin_score, calinski_harabasz_score

def printf(n, strf):
    print()
    print('-' * n)
    print(f"\033[1m{strf}\033[0m")
    print()

data = pd.read_csv('dataset/segmentation data.csv')
printf(100, '查看数据基本信息')
print(data.info())
printf(100, '输出基本统计量')
print(data.describe())
printf(100, '查看是否有缺失值')
print(data.isnull().sum())

scaler = StandardScaler()
scaled_data = scaler.fit_transform(data.drop(columns=['ID']))

models = {
    "KMeans": KMeans(n_clusters=3, random_state=42),
    "AgglomerativeClustering": AgglomerativeClustering(n_clusters=3),
    "DBSCAN": DBSCAN(eps=0.5, min_samples=5),
}

for name, model in models.items():
    printf(100,f'{name}模型聚类结果为')
    clusters = model.fit_predict(scaled_data)
    # print(clusters)
    # print(len(clusters))
    print("KMeans Silhouette Score:", silhouette_score(scaled_data, clusters))  # 轮廓系数
    print("DBSCAN Davies-Bouldin Index:", davies_bouldin_score(scaled_data, clusters)) # 戴维森-鲍威尔指数
    print("calinski_harabasz_score:", calinski_harabasz_score(scaled_data, clusters)) # 卡林斯基-哈拉巴斯指数

4.后续更新中 

标签:10,DBSCAN,scaled,print,score,数据挖掘,clusters,习题,data
From: https://blog.csdn.net/2201_75415299/article/details/140388739

相关文章

  • leetcode简单题21 N.104 二叉树的最大深度 rust描述
     //[3,9,20,null,null,15,7]3//[1,null,2]2usestd::rc::Rc;usestd::cell::RefCell;//Definitionforabinarytreenode.#[derive(Debug,PartialEq,Eq)]pubstructTreeNode{pubval:i32,publeft:Option<Rc<RefCell<TreeNode>>......
  • 大厂性能优化的10大顶级方案 (万字图文史上最全)
    文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪......
  • U7-11课综合练习+12课阶段测评练习——复习练习题目
     [2的n次方] 高精度乘法复习资料:https://www.cnblogs.com/jayxuan/p/18287673 重复做以下操作$n$次:对每一位乘以$2$,然后进位。(当然也可以使用正常的高精度乘法)【参考代码】#include<bits/stdc++.h>usingnamespacestd;intans[59];intmain(){intn......
  • php计算两张照片的相似度,范围:0-100
    可以是本地图片也可以是网络图片需要gd库/***计算图片相似度*@param$imagePath1string图片路径1*@param$imagePath2string图片路径2*@returnfloat|int0(完全两张图片)-100(两张一模一样的图片)*/functioncalculateImageSimilarity($imagePath1,$imag......
  • 0基础_永磁同步电机FOC(矢量控制)实践快速入门(一)——通过DSP28335配置SPI与AD2S1210通信
    AD2S1210.cADSP28335配置SPA模块与AD2S1210通信读取旋转变压器反馈的位置、速度信息欢迎大家进群领取电机控制,嵌入式学习资料!程序文件也在群里哦目录文章目录前言一、位置角是什么,为什么要获取位置角?二、如何获取位置角?三、AD2S1210介绍四、如何通过AD2S1210进行旋......
  • Spark Exam 20240710黄洛天
    SparkExam20240710黄洛天0.整体总结时间安排:0-1h,+200pts,1h-4h,+0pts(expected+25pts)A,B较简单。C,D较难。排名4。Acceptable,完全不失误可以拿rnk1,所以还是挺好。D是大数据结构,不太想打(事实上做二维前缀和可以简单地拿到10pts)A.花菖蒲考虑构造完全二叉树,然后多余的1度......
  • 10个Python函数参数进阶用法及代码优化
    目录1.默认参数值:让函数更加灵活2.关键字参数:清晰的调用方式3.*args:拥抱不确定数量的位置参数4.**kwargs:处理不确定数量的关键字参数5.参数解包:简化多参数的传递6.命名关键字参数:限制关键字参数7.局部变量与全局变量:理解作用域8.高级:装饰器(@decorator)9.Lambd......
  • P1065 [NOIP2006 提高组] 作业调度方案
     首先纠正一下题目错误,红色框应当为3-1,蓝色框应当为3-2 简单概括一下上述题意,首先看输入案例和输出案例代表哪些东西:另外注意以下约束条件对同一个工件,每道工序必须在它前面的工序完成后才能开始;同一时刻每一台机器至多只能加工一个工件。在保证约束条件 (1.)(2.)......
  • 运维系列:数据库服务器 重启mysql服务出现 ERROR 1045: Access denied for user: ‘roo
    @[TOC](数据库服务器重启mysql服务出现ERROR1045:Accessdeniedforuser:‘root@localhost’(Usingpassword:NO)怎么)数据库服务器重启mysql服务出现ERROR1045:Accessdeniedforuser:‘root@localhost’(Usingpassword:NO)怎么解决?系统是ubuntuse......
  • 《DNK210使用指南 -CanMV版 V1.0》第十二章 跑马灯实验
    第十二章跑马灯实验1)实验平台:正点原子DNK210开发板2)章节摘自【正点原子】DNK210使用指南-CanMV版V1.03)购买链接:https://detail.tmall.com/item.htm?&id=7828013987504)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DNK210.html5)正点原子......