make_s_curve
时间: 2023-09-19 15:07:59 浏览: 82
`make_s_curve` 是 Scikit-learn 中的一个函数,用于生成一个三维 S 形曲线数据集。这个数据集通常被用来演示非线性降维算法,比如 Isomap 和 Locally Linear Embedding (LLE)。
以下是一个使用 `make_s_curve` 函数生成数据集并绘制图形的示例代码:
``` python
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from sklearn.datasets import make_s_curve
# 生成 S 形曲线数据集
X, y = make_s_curve(n_samples=1000, noise=0.1, random_state=42)
# 绘制三维散点图
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(X[:, 0], X[:, 1], X[:, 2], c=y)
plt.show()
```
这个代码会生成一个三维 S 形曲线数据集,并将其可视化,效果如下图所示:
![S Curve Dataset](https://raw.githubusercontent.com/scikit-learn/scikit-learn/master/doc/modules/generated/sklearn.datasets.make_s_curve_thumb.png)
在这个图中,每个点代表数据集中的一个样本,颜色表示样本的标签。由于 S 形曲线数据集是非线性的,所以它可以用来展示非线性降维算法的效果。