低维数据可视化

Python 生成数据 make_circles 和 make_moons

知识要点

image-20220114115544655

代码实现

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()

结果展示

image-20220114115340993

image-20220114115409390

参考资料

posted @ 2022-01-14 12:01  NoahQ  阅读(84)  评论(0编辑  收藏  举报