- Mastering Machine Learning with scikit-learn(Second Edition)
- Gavin Hackeling
- 267字
- 2021-07-02 19:01:12
K-Nearest Neighbors
KNN is a simple model for regression and classification tasks. It is so simple that its name describes most of its learning algorithm. The titular neighbors are representations of training instances in a metric space. A metric space is a feature space in which the distances between all members of a set are defined. In the previous chapter's pizza problem, our training instances were represented in a metric space because the distances between all the pizza diameters was defined. These neighbors are used to estimate the value of the response variable for a test instance. The hyperparameter k specifies how many neighbors can be used in the estimation. A hyperparameter is a parameter that controls how the algorithm learns; hyperparameters are not estimated from the training data and are sometimes set manually. Finally, the k neighbors that are selected are those that are nearest to the test instance, as measured by some distance function.
For classification tasks, a set of tuples of feature vectors and class labels comprise the training set. KNN is a capable of binary, multi-class, and multi-label classification; we will define these tasks later, and we will focus on binary classification in this chapter. The simplest KNN classifiers use the mode of the KNN labels to classify test instances, but other strategies can be used. The k is often set to an odd number to prevent ties. In regression tasks, the feature vectors are each associated with a response variable that takes a real-valued scalar instead of a label. The prediction is the mean or weighted mean of the KNN response variables.
- iOS面試一戰到底
- 程序員面試筆試寶典(第3版)
- Raspberry Pi for Python Programmers Cookbook(Second Edition)
- jQuery從入門到精通 (軟件開發視頻大講堂)
- SEO實戰密碼
- Visual C#.NET程序設計
- Learning OpenCV 3 Computer Vision with Python(Second Edition)
- Instant Nancy Web Development
- Unity 2018 Shaders and Effects Cookbook
- Vue.js 2 Web Development Projects
- JBoss:Developer's Guide
- MySQL程序員面試筆試寶典
- Android嵌入式系統程序開發(基于Cortex-A8)
- Dart:Scalable Application Development
- Building Web and Mobile ArcGIS Server Applications with JavaScript(Second Edition)