利用datasets模块中的Make_blobs()函数产生各向同性的高斯分布的三维样本数据,画出样本数据在三维平面上的投影
时间: 2024-05-09 20:18:44 浏览: 82
Python实现高斯函数的三维显示方法
以下是利用Make_blobs函数生成高斯分布样本数据,并在三维平面上绘制其投影的Python代码:
```python
import numpy as np
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 生成高斯分布样本数据
X, y = make_blobs(n_samples=500, n_features=3, centers=4, cluster_std=1.0, random_state=42)
# 绘制三维散点图
fig = plt.figure()
ax = Axes3D(fig)
ax.scatter(X[:, 0], X[:, 1], X[:, 2], c=y)
plt.show()
# 绘制三维平面上的投影
fig2 = plt.figure()
ax2 = fig2.add_subplot(111)
ax2.scatter(X[:, 0], X[:, 1], c=y)
plt.show()
```
运行代码后,将会先生成一个三维散点图,然后再生成其在三维平面上的投影。其中,Make_blobs函数生成的高斯分布样本数据包含500个样本,每个样本有3个特征,共分为4个类别。cluster_std参数控制了每个类别内部的标准差,random_state参数用于设置随机种子,确保每次生成的样本数据都相同。在绘制三维散点图时,不同的类别用不同的颜色进行标记;在绘制投影时,只绘制前两个特征,并用相同的颜色进行标记。
阅读全文