img show test
can you see img above?
手写实现KNN分类和回归
Numpy实现KNN分类功能
功能1:实现闵氏距离(Minkowski Distance),增加参数p来选择不同的距离度量(包括曼哈顿距离、欧几里得距离和切比雪夫距离)
功能2:对特征X增加标准化操作(包括标准化和归一化两种方法)
功能3:在iris数据集上datasets.load_iris(),测试不同距离度量和有没有使用标准化操作的效果(3*3共九种结果),使用准确率accuracy作为评估指标
实现12345678910111213# 分别对每一列的数值进行标准化处理import numpy as npdef standardize(data): for col in range(len(data[0])): data_col = [] for i in range(len(data)): data_col.append(data[i][col]) mean = np.mean(data_col, axis=0) std = np.std(data_col, axis=0) ...
notes
字典树(前缀树)求区间异或和(异或对)最大值求子区间异或对最大值求子区间异或对的最大值,利用前缀树可以在每次询问对子区间内的每个元素在O(log n)的时间内得到答案,执行n此的时间花费为O(n logn),而得到答案需要已经建立前缀树,而每次询问答案都需要重新建立一棵前缀树,每次建树最坏情况下的时间花费为O(n)。总的时间为O(n^2 logn),对于这题来说已经足够了。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172#include<iostream>#include<vector>#include<algorithm>using namespace std;vector<vector<int>> son;vector<int> a;int idx;void insert(int x) ...