python - 如何在 matplotlib 中绘制此数据集?
问题描述
我正在阅读使用 Python 的机器学习教程,并且正在努力绘制正在使用的数据集。本教程使用下面的代码生成使用的数据集,但不显示绘制它们的代码。
它们应该以 3 维绘制,z 值始终为 1 或 -1。这是生成数据集的代码:
import numpy as np
def get_dataset(get_examples):
X1, y1, X2, y2 = get_examples()
X, y = get_dataset_for(X1, y1, X2, y2)
return X, y
def get_dataset_for(X1, y1, X2, y2):
X = np.vstack((X1, X2))
y = np.hstack((y1, y2))
return X, y
def get_training_examples():
X1 = np.array([[10,10],[6,6],[6,11],[3,15],[12,6],[9,5],[16,3],[11,5]])
X2 = np.array([[3,6],[6,3],[2,9],[9,2],[18,1],[1,18],[1,13],[13,1]])
y1 = np.ones(len(X1))
y2 = np.ones(len(X2)) * -1
return X1, y1, X2, y2
数据集如下所示:
>>> get_dataset(get_training_examples)
(array([[10, 10],
[ 6, 6],
[ 6, 11],
[ 3, 15],
[12, 6],
[ 9, 5],
[16, 3],
[11, 5],
[ 3, 6],
[ 6, 3],
[ 2, 9],
[ 9, 2],
[18, 1],
[ 1, 18],
[ 1, 13],
[13, 1]]),
array([ 1., 1., 1., 1., 1., 1., 1., 1., -1., -1., -1., -1., -1.,
-1., -1., -1.]))
解决方案
我不知道你究竟想如何绘制它,但阅读你的问题我认为你想要一个分散的情节。为此,您应该使用 matplotlib 和 mpl_toolkits(制作 3d 视图)
代码应该是这样的:
import numpy as np
from mpl_toolkits import mplot3d
import matplotlib.pyplot as plt
def get_dataset(get_examples):
X1, y1, X2, y2 = get_examples()
X, y = get_dataset_for(X1, y1, X2, y2)
return X, y
def get_dataset_for(X1, y1, X2, y2):
X = np.vstack((X1, X2))
y = np.hstack((y1, y2))
return X, y
def get_training_examples():
X1 = np.array([[10,10],[6,6],[6,11],[3,15],[12,6],[9,5],[16,3],[11,5]])
X2 = np.array([[3,6],[6,3],[2,9],[9,2],[18,1],[1,18],[1,13],[13,1]])
y1 = np.ones(len(X1))
y2 = np.ones(len(X2)) * -1
return X1, y1, X2, y2
X,y = get_dataset(get_training_examples)
ax = plt.axes(projection='3d')
ax.scatter3D(X[:,0], X[:,1], y, c='r', marker='o') # c = 'color', marker = 'marker_form'
推荐阅读
- python - 在 python 文档中,输入参数周围带逗号的括号是什么意思?
- java - 使用 Stream 时未从功能接口返回 Obj
- python - 将 Kivy 和 KivyMd 模块转换为 Cython
- sql - 如何在表的层次结构中查找具有特定值的 ID(主键)的表名?
- mysql - 如何按标签和类别mysql查询获取产品
- iis - URL 重写不适用于 IIS 上的 http 到 https 重定向
- mysql - 如何在 SQL 的列中的每一行中添加相同的内容?
- r - 将传单 addCircles 导出为 shapefile
- java - Ubuntu 20.04 中的 java 版本和 javac 版本不同
- reactjs - 将文件上传到前端还是后端的 s3 存储桶更好?