cs231n课程实验记录(一)关于knn算法中dists命名的报错

cs231n课程实验记录(一)关于knn算法中dists命名的报错

cs231n课程实验记录(一)关于knn算法中dists命名的报错

##错误记录


Traceback (most recent call last):
  File ", line 36, in <module>
    dists = classifier.compute_distances_two_loops(X_test)
  File  line 66, in compute_distances_two_loops
    for i in xrange(num_test):
NameError: name 'xrange' is not defined
(我把自己的文件目录删掉了)

错误解决


```python
def predict(self, X, k=1, num_loops=0):
        if num_loops == 0:
            dists = self.compute_distances_no_loops(X)
        elif num_loops == 1:
            dists = self.compute_distances_one_loop(X)
        elif num_loops == 2:
            dists = self.compute_distances_two_loops(X)
        else:
            raise ValueError('Invalid value %d for num_loops' % num_loops)
        return self.predict_labels(dists, k=k)


是在最后一行缺少了return语句,所以我们加上如图的return语句吧dists返回,错误就解决了,特此记录一下。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验告:KNN算法实现鸢尾花分类 一、实验目的 通过实现KNN算法对鸢尾花数据集进行分类,掌握KNN算法的基本原理和实现方法。 二、实验环境 - 操作系统:Windows 10 - Python版本:3.7.3 - 相关库:numpy、pandas、scikit-learn 三、实验步骤 1. 导入数据集 使用scikit-learn库的load_iris函数导入鸢尾花数据集,并将数据集分为特征矩阵X和标签向量y: ```python from sklearn.datasets import load_iris iris = load_iris() X = iris.data y = iris.target ``` 2. 分割数据集 使用train_test_split函数将数据集分为训练集和测试集: ```python from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42) ``` 其,test_size=0.3表示将数据集按照7:3的比例分为训练集和测试集,random_state=42表示设置随机数种子,保证每次分割结果相同。 3. 实现KNN算法 使用scikit-learn库的KNeighborsClassifier类实现KNN算法: ```python from sklearn.neighbors import KNeighborsClassifier k = 3 knn = KNeighborsClassifier(n_neighbors=k) knn.fit(X_train, y_train) ``` 其,k=3表示选择K值为3,n_neighbors参数表示选择的近邻数。 4. 模型评估 使用测试集对模型进行评估: ```python from sklearn.metrics import accuracy_score y_pred = knn.predict(X_test) accuracy = accuracy_score(y_test, y_pred) print("Accuracy:", accuracy) ``` 其,accuracy_score函数计算模型在测试集上的准确率。 四、实验结果 在本次实验,我们使用KNN算法对鸢尾花数据集进行分类,得到了如下结果: ``` Accuracy: 0.9777777777777777 ``` 可以看出,KNN算法在鸢尾花数据集上的分类准确率较高。 五、实验总结 本次实验通过对KNN算法的实现,掌握了KNN算法的基本原理和实现方法,并在鸢尾花数据集上进行了分类实验实验结果表明,KNN算法在鸢尾花数据集上表现较好,但在实际应用,还需要根据具体问题选择合适的K值和距离度量方法等参数。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值