机器学习——生成分类数据的坐标系边界需要用到的技术方法

0、前言:

  • 如果遇到一种应用场景需要将x轴数据和y轴数据所有点映射到坐标系中,需要得到坐标系中x和y映射的坐标点,就要用到meshgrid把x和y映射到坐标系中,然后把得到的结果用ravel把结果转成一维的。
  • 用np.c_()把x数据和y数据堆叠在一起,就可以用来输入模型做训练。

1、numpy库中的meshgrid方法:

  • 该函数常用于在二维或三维空间中创建网格点坐标
  • 示例
python 复制代码
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
x = [1,2,3]
y = [4,5]
X,Y = np.meshgrid(x,y)
display(pd.DataFrame(X))
'''
	0	1	2
0	1	2	3
1	1	2	3
'''
display(pd.DataFrame(Y))
'''
	0	1	2
0	4	4   4
1	5	5	5

'''
# 组合
# 相交点
XY = np.c_[X.ravel(),Y.ravel()]
display(pd.DataFrame(XY))
'''
	0	1
0	1	4
1	2	4
2	3	4
3	1	5
4	2	5
5	3	5
'''
  • 理解:通过meshgrid方法,就是相当于把输入的x坐标和输入的y坐标组合在一起对应成网格点,然后把网格点对应x坐标和y坐标以网格点的形式返回。例如我们看到显示返回的x坐标的时候,每一列都是同一个数,返回y坐标中每一行都是同一个数。

2、np.ravel() :

  • 在 NumPy 中,你可以使用 np.ravel() 方法来将一个多维数组转换成一个一维数组。
python 复制代码
a = np.array(
    [[1,1,1],
     [2,2,2],
     [3,3,3]]
)
a.ravel() # array([1, 1, 1, 2, 2, 2, 3, 3, 3])

3、np.c_[a,b]:

  • numpy中的.c_方法把他们按照坐标的形式组合在一起。np.c_ 或 np.column_stack 将输入的数组以列为主导(左右组合)进行堆叠,生成一个新的数组。输入数组的每一行都会成为新数组的一列。这对于需要将多个一维数组组合成二维数组的情况非常有用。
python 复制代码
a = np.array(
    [[1,1,1],
     [2,2,2],
     [3,3,3]]
)
b = np.array(
    [[4,4,4],
     [5,5,5],
     [6,6,6]]
)
A = np.c_[a,b]
'''
array([[1, 1, 1, 4, 4, 4],
       [2, 2, 2, 5, 5, 5],
       [3, 3, 3, 6, 6, 6]])
'''

4、sklearn.datasets.make_blobs:

  • 这是一个Scikit-learn库中的函数,用于创建带有随机分隔的聚类数据集。
  • 示例:
python 复制代码
data,target = make_blobs()
'''
参数:
n_samples=100,样本数量,行数
n_features=2, 特征数量,列数
centers=None,中心点个数,默认3
cluster_std=1.0,聚集,表示每一堆点的聚集程度
center_box=(-10,10),表示中心的范围
'''
plt.scatter(data[:,0],data[:,1],c=target)

相关推荐
平和男人杨争争20 分钟前
机器学习2——贝叶斯理论下
人工智能·机器学习
归去_来兮20 分钟前
支持向量机(SVM)分类
机器学习·支持向量机·分类
静心问道21 分钟前
XLSR-Wav2Vec2:用于语音识别的无监督跨语言表示学习
人工智能·学习·语音识别
算家计算25 分钟前
5 秒预览物理世界,2 行代码启动生成——ComfyUI-Cosmos-Predict2 本地部署教程,重塑机器人训练范式!
人工智能·开源
摆烂工程师26 分钟前
国内如何安装和使用 Claude Code 教程 - Windows 用户篇
人工智能·ai编程·claude
云天徽上9 天前
【目标检测】图像处理基础:像素、分辨率与图像格式解析
图像处理·人工智能·目标检测·计算机视觉·数据可视化
Vertira9 天前
PyTorch中的permute, transpose, view, reshape和flatten函数详解(已解决)
人工智能·pytorch·python
heimeiyingwang9 天前
【深度学习加速探秘】Winograd 卷积算法:让计算效率 “飞” 起来
人工智能·深度学习·算法
lsd&xql9 天前
AI大模型(四)openAI应用实战
人工智能
飞哥数智坊9 天前
AI编程实战:使用Cursor,65分钟轻松打造番茄时钟应用
人工智能