Python 生成数据 make_circles 和 make_moons
知识要点
代码实现
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import make_circles
from sklearn.datasets import make_moons
def draw_circle():
# 参数
# n_samples: 设置样本数量
# noise: 设置噪声,noise越小数据越集中
# factor: 0 < factor < 1,默认值0.8,内外圆之间的比例因子
# random_state: 设置随机参数
# 返回值
# x: [n_samples, 2],生成的样本,x_circle[:, 0]表示x坐标,y_circle[:, 1]表示y坐标
# y: [n_samples], 单位取值0或1
x_circle, y_circle = make_circles(n_samples=400, noise=0.1, factor=0.2)
# plt.figure新建窗口
plt.figure("circle")
# 前两个参数表示点坐标[x, y],
# s表示标记符号的大小
# marker表示标记符号的类型,marker="o"表示标记符号为圆圈
# edgecolors表示边框的颜色
# c表示颜色,这里给定数组使得不同取值的符号显现不同的颜色
plt.scatter(x_circle[:, 0], x_circle[:, 1], s=100, marker="o", edgecolors='r', c=y_circle)
# 上方图标
plt.title('data by make_circles()')
# 生成图片
plt.show()
def draw_moons():
# 参数
# n_samples: 设置样本数量
# noise: 设置噪声,noise越小数据越集中
# 返回值
# x: [n_samples, 2],生成的样本,x_moon[:, 0]表示x坐标,y_moon[:, 1]表示y坐标
# y: [n_samples], 单位取值0或1
x_moon, y_moon = make_moons(n_samples=400, noise=0.1)
plt.figure("moon")
plt.scatter(x_moon[:, 0], x_moon[:, 1], s=100, marker="o", edgecolors='b', c=y_moon)
plt.title("data by make_moons()")
plt.show()
if __name__ == '__main__':
draw_circle()
draw_moons()
结果展示
参考资料