Python3入门机器学习 经典算法与应用

Posted itman123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3入门机器学习 经典算法与应用相关的知识,希望对你有一定的参考价值。

邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。
kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。

数据预备,这里使用random函数生成10*2的矩阵作为两列特征值,1个10个元素数组作为类别值

import numpy as np
import matplotlib.pyplot as plt
 
x_train = np.random.rand(10,2)*8
y_train = np.random.randint(0,2,10)
x = np.array([3,4])
k=3
plt.scatter(x_train[y_train==1,0],x_train[y_train==1,1],color="red")
plt.scatter(x_train[y_train==0,0],x_train[y_train==0,1],color="green")
plt.scatter(x[0],x[1],marker=+,color="blue")
plt.show()

绿点为类别0,红点为类别1

X_train = np.array(x_train)
 
Y_train = np.array(y_train)
 
from math import sqrt
distances = []
for x_train in X_train:
    d = sqrt(np.sum((x-x_train)**2))
    distances.append(d)
 
distances = [sqrt(np.sum((x-x_train)**2)) for x_train in X_train]
argindex = np.argsort(distances)
 
from collections import Counter
 
topK_Y = [Y_train[i] for i in argindex[:k]]
 
votes = Counter(topK_Y)
votes.most_common(1)[0][0]

 

以上是关于Python3入门机器学习 经典算法与应用的主要内容,如果未能解决你的问题,请参考以下文章

Python3入门机器学习经典算法与应用学习 资源

Python3入门机器学习经典算法与应用

Python3入门机器学习 经典算法与应用

从入门到精通:机器学习算法与应用

机器学习---基础----图解十大经典机器学习算法入门

从零入门机器学习之开宗明义:编程与数据思维