4.K均值算法--应用
2021-02-12 11:16
标签:red from sys ima 构建 otl label font class 1. 应用K-means算法进行图片压缩 from sklearn.cluster import KMeans import matplotlib.image as img import matplotlib.pyplot as plt import sys import numpy as np image=img.imread("./大黄蜂.jpeg") #读取一张图片 print("压缩前图片大小:",image.size) print("压缩前图片占用内存大小:",sys.getsizeof(image)) print("图片数据结构: \n",image) plt.imshow(image) plt.show() img=image[::3,::3] #降低分辨率,隔3个值取一个值 x=img.reshape(-1,3) #将像素颜色整合成一个数组 n_clusters=64 #取64种颜色 model=KMeans(n_clusters) labels=model.fit_predict(x) colors = model.cluster_centers_ #聚类中心 image2 = colors[labels].reshape(img.shape) #聚类中收替代原像素颜色,还原为二维 print("压缩后图片大小:", image2.size) print("压缩后的图片占用内存大小:", sys.getsizeof(image2)) plt.imshow(image2.astype(np.uint8)) plt.show() 原图片: 原图片大小,占内存大小,图片数据结构: 压缩后图片 压缩后图片的文件大小,占内存大小 2. 观察学习与生活中可以用K均值解决的问题。 from sklearn.model_selection import train_test_split from sklearn.cluster import KMeans import pandas as pd data_tr = pd.read_csv(‘201706120049+蔡炳良+预处理.csv‘) #准备数据 x_data = data_tr.iloc[:, :2] y_data = data_tr.iloc[:, 4] print(x_data) print(y_data) x_tr,x_te,y_tr,y_te=train_test_split(x_data,y_data,test_size=1,random_state=5) #准备模型的训练数据和测试数据 km_model = KMeans(n_clusters=3) #模型的构建 km_model.fit(x_tr, y_tr) #模型的训练 pre = km_model.predict(x_te) #模型的测试 print(km_model.cluster_centers_) print(k_model.labels_ ) 数据来自自己爬取的汽车网站的数据 4.K均值算法--应用 标签:red from sys ima 构建 otl label font class 原文地址:https://www.cnblogs.com/cnw834575008/p/12732361.html
上一篇:二叉排序树的实现(部分功能