当前位置: 首页 > wzjs >正文

做收费课程网站谷歌商店paypal下载官网

做收费课程网站,谷歌商店paypal下载官网,wordpress 火箭,建筑网325一、 随机创建不同二维数据集作为训练集 ,并结合k-means算法将其聚类 ,你可以尝试分别聚类不同数量的簇 ,并观察聚类 效果: 聚类参数n_cluster传值不同 ,得到的聚类结果不同 代码展示: from sklearn.da…

一、

随机创建不同二维数据集作为训练集 ,并结合k-means算法将其聚类 ,你可以尝试分别聚类不同数量的簇 ,并观察聚类 效果:

聚类参数n_cluster传值不同 ,得到的聚类结果不同

代码展示:

from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans
import matplotlib.pyplot as pltplt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = Falsex,_ = make_blobs(n_samples=1000,centers=[[-1,-1],[0,0],[1,1],[2,2]],cluster_std=[0.4,0.2,0.2,0.2],random_state=42
)plt.subplot(221)
plt.scatter(x[:,0],x[:,1],s=5,marker="o")kmeans_2 = KMeans(n_clusters=2)
kmeans_3 = KMeans(n_clusters=3)
kmeans_4 = KMeans(n_clusters=4)kmeans_2.fit(x)
y_pred = kmeans_2.predict(x)
plt.subplot(222)
plt.scatter(x[:,0],x[:,1],c=y_pred,s=5,marker="o")kmeans_3.fit(x)
y_pred = kmeans_3.predict(x)
plt.subplot(224)
plt.scatter(x[:,0],x[:,1],c=y_pred,s=5,marker="o")kmeans_4.fit(x)
y_pred = kmeans_4.predict(x)
plt.subplot(223)
plt.scatter(x[:,0],x[:,1],c=y_pred,s=5,marker="o")plt.show()

 结果展示:

二、

 

K-means 练习题

‌数据集‌:

(2,10), (2,5), (8,4), (5,8), (7,5), (6,4), (1,2), (4,9)

  1. 使用K-means算法将上述点分为2个簇,初始中心点选择(2,10)和(5,8)
  2. 进行两次迭代并展示每次的簇分配和中心点更新

代码展示:

from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
import numpy as np
import os
os.environ["LOKY_MAX_CPU_COUNT"] = "8"  # 设置为你想要使用的核心数plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = Falsepoits = np.array([[2,10],[2,5],[8,4],[5,8],[7,5],[6,4],[1,2],[4,9]])centers = np.array([[2,10],[5,8]])kmeans_1 = KMeans(n_clusters=2,init=centers,n_init=1,max_iter=1)
kmeans_1.fit(poits)
centers_iter1 = kmeans_1.cluster_centers_plt.scatter(poits[:,0],poits[:,1],c=kmeans_1.labels_,cmap="viridis"
)# plt.scatter(
#     centers[:,0],
#     centers[:,1],
#     c="red"
# )plt.scatter(centers_iter1[:,0],centers_iter1[:,1],c="orange"
)
plt.title("第一次迭代后")
plt.show()kmeans_2 = KMeans(n_clusters=2,init=centers_iter1,n_init=1,max_iter=1)
kmeans_2.fit(poits)
centers_iter2 = kmeans_2.cluster_centers_plt.scatter(poits[:,0],poits[:,1],c=kmeans_2.labels_,cmap="viridis"
)plt.scatter(centers_iter1[:,0],centers_iter1[:,1],c="orange"
)plt.scatter(centers_iter2[:,0],centers_iter2[:,1],c="green"
)print("第二次迭代后")
plt.show()

结果展示:

 

 

三、

 

项目背景

假设你是一家电子商务公司的数据分析师,公司希望根据客户的购买行为数据进行客户细分,以便制定更有针对性的营销策略。你需要使用K-means聚类算法对客户进行分组,并使用轮廓系数确定最佳K值。

数据集

我们将使用Kaggle上的"Customer Segmentation"数据集:

  • 数据集链接: Mall Customer Segmentation Data | Kaggle
  • 数据集包含客户ID、性别、年龄、年收入(千美元)和消费分数(1-100)

代码展示:

import matplotlib.pyplot as plt
import pandas as pd
from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
from sklearn.metrics import silhouette_score
import osfrom sklearn.preprocessing import StandardScaleros.environ["LOKY_MAX_CPU_COUNT"] = "8"  # 设置为你想要使用的核心数plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = Falsedata = pd.read_csv("./data/Mall_Customers.csv",encoding="utf-8")
print(data.head())data['Gender'] = data['Gender'].map({'Male':0,'Female':1})X = data[["Annual Income (k$)","Spending Score (1-100)"]]# transform = StandardScaler()
# X = transform.fit_transform(X)range_k = range(2,11)sc_list = []for i in range_k:kmeans = KMeans(n_clusters=i,random_state=42)pred = kmeans.fit_predict(X)sc = silhouette_score(X,pred)sc_list.append(sc)plt.plot(range_k,sc_list,"bo-")
plt.xlabel("k")
plt.ylabel("sc")
plt.title("k-sc")
plt.grid()
plt.show()kmeans = KMeans(n_clusters=5,random_state=42)
kmeans.fit(X)
y_means = kmeans.predict(X)plt.figure(figsize=(8,6))scatter = plt.scatter(X.iloc[:,0],X.iloc[:,1],c=y_means,s=30,cmap="viridis"
)centers = kmeans.cluster_centers_center_scatter = plt.scatter(centers[:,0],centers[:,1],c="black",s=100,marker="x",linewidths=5,label="Centroids"
)# 创建自定义图例元素
legend_elements = [# 添加各簇颜色说明plt.Line2D([0], [0],marker='o',color='w',label=f'Cluster {i+1}',markerfacecolor=plt.cm.viridis(i/4),  # 保持viridis颜色映射markersize=10)for i in range(5)
] + [# 添加中心点说明plt.Line2D([0], [0],marker='x',color='black',markersize=10,label='Centroids',linestyle='None')
]# 添加右侧图例
plt.legend(handles=legend_elements,title="图例说明",loc='center left',bbox_to_anchor=(0.85, 0.5),  # 定位到画布右侧frameon=True,title_fontsize=12,fontsize=10,edgecolor='#DDDDDD'
)plt.xlabel("年收入(k$)")
plt.ylabel("消费分数(1-100)")
plt.title("客户细分结果")
plt.grid()
plt.tight_layout()
plt.show()

结果展示:

 

 

 

 

 

http://www.dtcms.com/wzjs/526384.html

相关文章:

  • 阿里云个人域名备案seo网站优化师
  • wordpress cptui宁波seo入门教程
  • 海珠做网站要多少钱网络口碑营销
  • 如何成为一个电商seo推广费用需要多少
  • 网站建设软硬件平台谷歌推广代理公司
  • 网站如何做银联在线支付百度广告投放公司
  • 网站中的ppt链接怎么做的网络营销教材电子版
  • 成华区建设局门户网站深圳外包网络推广
  • 泉州建设网站制作公司怎么做网络营销
  • 网站建设优化保定优化营商环境条例
  • 做思维导图好看的网站新手怎么学网络运营
  • 大型网站建设设备友链是什么
  • 网站页面设计主要包括营销模式100个经典案例
  • 全国二级建造师注册查询网站seo排名公司
  • 国内简洁大气网站推荐baidu百度一下
  • 程序员自己做项目的网站新产品推广方案范文
  • 网站设计模板旅游景点11页西安网站推广慧创科技
  • 做高端网站建设互联网网络推广
  • 汕头高端网站建设方法seo自学教程seo免费教程
  • 党中央建设的少年网站网站快速排名公司
  • 电子商务网站开发与建设世界十大搜索引擎排名
  • 网站制作测试范围新闻稿范文
  • 营销型网站线下营销推广方式都有哪些
  • 锦州制作网站公司谷歌浏览器网址
  • 做网站要是要求吗百度爱采购怎么优化排名
  • 网站解析密码查网站是否正规
  • 国外网站建站营销广告语
  • 用html做网站东莞seo网站制作报价
  • asp.net获取网站的域名推广网站怎么制作
  • 临沂罗庄做网站谷歌广告优化师