Compare commits

...

2 Commits

Author SHA1 Message Date
3cde4d784f Create KMeans_example.py 2025-01-13 08:10:04 +08:00
8a83969b07 Update python_example.py 2025-01-12 10:53:37 +08:00
2 changed files with 88 additions and 7 deletions

View File

@ -1,9 +1,60 @@
a = [1, 2] # 数组
a = [1, 2] # list列表
print(a)
print(len(a)) # 数组长度
a.append(3) # 增加元素
print(type(a)) # 对象类型
print(id(a)) # 对象唯一标识符
print(len(a)) # 列表长度
a.append(3) # list列表增加元素
print(a)
b = range(5) # 数列从0开始
print(b)
for i0 in b:
print(i0)
print(sum(a)) # 求和
print(max(a)) # 最大值
print(min(a)) # 最小值
print(abs(-3.14)) # 绝对值
b1 = [2, -1, 3]
b2 = sorted(b1) # 排序,不改变原数列
print(b1)
print(b2)
b3 = list(reversed(b1)) # 反向并转为list列表
print(b1)
print(b3)
c = range(5) # 数列从0开始
print(c)
for i0 in c:
print(i0)
d1 = [1, 2, 3, 3, 2, 1, 1]
d2 = set(d1) # 转成集合,去除重复元素
print(d1)
print(d2)
print(list(d2))
print()
dict_data = {"name": "张三", "age": 30, "city": "北京"} # dict字典
print(dict_data)
print(type(dict_data))
print(dict_data.items())
for key, value in dict_data.items():
print(f'打印字典内容 {key} {value}')
print() # 打印空一行
print(all([True, True, False])) # 所有元素为真,结果为真
print(all([1, 2, True]))
print(any([True, True, False])) # 有一个是真,结果为真
print(any([0, None, ""]))
print()
e = 'abc'
print(e)
print(hash(e)) # 哈希值(如果是多次运行,对于相同的对象,返回的哈希值是不同的)
print(hash(e)) # 哈希值(同一个运行中多次调用 hash(),对于相同的对象,返回的哈希值是相同的)
print()
for i0 in range(3):
exec(f'''
a{i0} = {i0}
print(a{i0})
''') # 执行动态创建的代码
f = eval('1+2') # 执行表达式并返回值
print(f)
f = open('a.txt', 'w') # 打开文件
f.write('test') # 写入文件
f.close() # 关闭文件

View File

@ -0,0 +1,30 @@
"""
This code is supported by the website: https://www.guanjihuan.com
The newest version of this code is on the web page: https://www.guanjihuan.com/archives/44839
"""
import os
os.environ["OMP_NUM_THREADS"] = "1" # KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting this environment variable
from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt
X, y = make_blobs(n_samples=300, centers=4, random_state=42) # 生成示例数据(四类)
print(X.shape)
print(y.shape)
plt.scatter(X[:, 0], X[:, 1]) # 显示数据
plt.show()
plt.scatter(X[:, 0], X[:, 1], c=y, cmap='viridis') # 通过颜色显示数据原有的标签
plt.show()
kmeans = KMeans(n_clusters=3, random_state=42) # 进行 KMeans 聚类(这里分为三类)
kmeans.fit(X)
labels = kmeans.labels_ # 获取聚类的标签
print(labels.shape)
plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='viridis') # 绘制聚类结果
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=300, c='red', marker='X') # 绘制聚类中心
plt.title('KMeans Result')
plt.show()