02 Numpy基础

29 篇文章 1 订阅
29 篇文章 0 订阅

02 Numpy基础

# 导入第三方库,并且为其起一个别名
import numpy as np

# numpy 版本
print(np.__version__)

# In 和 Out 都是IPython的特殊对象,用来存储我们输入与输出的值
# In 是列表类型,Out 是字典类型

# 如果不使用python输出,而是作为表达式计算值显示时,我们只能看到最后一个结果

# 忽略警告信息
import warnings
warnings.filterwarnings("ignore")

# 调用np的arange函数生成一个数据序列:从0-9
data = np.arange(0, 9)
print(data)
# print(type(data)) # <class 'numpy.ndarray'>

# 思考:如何对数据序列(0-9)的每个元素都进行加1操作?

list1 = list(range(10))
print(list1)
# print(type(list1)) # <class 'list'>

# 方法一:使用 list
res = []
for i in list1:
    res.append(i + 1)
print(res)

# 方法二:使用 numpy
data = np.arange(10)
# print(data)
data += 1
print(data)

# 使data中的每个元素都 * 2
data *= 2
print(data)

# 目的:深刻地认识到使用numpy来进行数据计算,要比使用原生的python要简单的多!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
KNN算法可以用于分类和回归等问题,不同的问题需要不同的可视化方法。在这里,我将介绍KNN算法用于分类问题时的可视化方法。 首先,我们需要准备数据集。假设我们有一个二维的数据集,其中包含两类数据点:红色点和蓝色点。我们可以使用matplotlib库来绘制数据点的散点图,如下所示: ```python import matplotlib.pyplot as plt import numpy as np # 生成数据集 np.random.seed(0) X = np.random.randn(200, 2) y = np.logical_xor(X[:, 0] > 0, X[:, 1] > 0) # 绘制散点图 plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Spectral) plt.show() ``` 这段代码会生成一个包含200个数据点的散点图,其中红色点表示类别0,蓝色点表示类别1。数据集是随机生成的,其中红色点和蓝色点分别位于第一象限和第三象限。 接下来,我们可以使用KNN算法对数据进行分类,并将分类结果可视化。以下是代码示例: ```python from sklearn.neighbors import KNeighborsClassifier # 训练KNN模型 clf = KNeighborsClassifier(n_neighbors=3) clf.fit(X, y) # 绘制决策边界 h = .02 x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1 y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1 xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h)) Z = clf.predict(np.c_[xx.ravel(), yy.ravel()]) Z = Z.reshape(xx.shape) plt.contourf(xx, yy, Z, cmap=plt.cm.Spectral) # 绘制散点图 plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Spectral) plt.show() ``` 这段代码会训练一个KNN模型,然后使用网格搜索方法生成决策边界,并将分类结果用颜色填充。我们可以看到,分类结果非常准确,所有的红色点都在左下角,所有的蓝色点都在右上角。 关于KNN算法的回归问题,可视化方法与分类问题有所不同。如果你想了解更多,请告诉我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

soyisou

您的鼓励将是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值