2020-05-20 第十一章 kNN模型的应用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2020-05-20 第十一章 kNN模型的应用相关的知识,希望对你有一定的参考价值。

参考技术A [TOC]

KNN模型仍然为有监督的学习算法,它的中文名称为K最近邻算法。它属于“惰性”学习算法,即不会预先生成一个分类或预测模型,用于新样本的预测,而是将模型的构建与未知数据的预测同时进行。
该算法既可以针对离散因变量做分类,又可以对连续因变量做预测,其核心思想就是比较已知y值的样本与未知y值样本的相似度,然后寻找最相似的k个样本用作未知样本的预测。

如图所示,模型的本质就是寻找k个最近样本,然后基于最近样本做“预测”。对于离散型的因变量来说,从k个最近的已知类别样本中挑选出频率最高的类别用于未知样本的判断;对于连续型的因变量来说,则是将k个最近的已知样本均值用作未知样本的预测。

根据经验发现,不同的k值对模型的预测准确性会有比较大的影响,如果k值过于偏小,可能会导致模型的过拟合;反之,又可能会使模型进入欠拟合状态。

示例结果如下:最佳K值为5

杰卡德相似系数与余弦相似度经常被用于推荐算法,计算用户之间的相似性。例如,A用户购买了10件不同的商品,B用户购买了15件不同的商品,则两者之间的相似系数可以表示为:

第十一章 网络编程

每个网络应用都是基于客户端-服务端模型的。根据这个模型,一个用用是由一个服务器和一个或多个客户端组成的。服务器管理资源,以某种方式操作资源,为客户端服务。例如,一个Web服务器管理着一组磁盘文件,它会代表客户端进行检索和执行。

客户端-服务端模型中的基本操作是事务。一个客户端-服务器事务由以下四步组成:

1、当一个客户端需要服务时,它向服务器发送一个请求,发起一个事务。

2、服务器收到请求后,解释它,并以适当的方式操作它的资源

3、服务器给客户端发送一个响应,并等待下一个请求

4、客户端收到响应并处理它

 

客户端和服务器通过因特网这个全球网络来通信。从程序员的观点来看,我们可以把因特网看成是一个全球范围的主机集合,具有以下几个属性:

1、每个因特网主机都有一个唯一的32位名字,称为它的IP地址。IP地址通常是以一种成为点分十进制表示法来表示,其中每个字节由它的十进制表示,并用句点和其他字节分开。

2、IP地址的集合被映射为一个因特网域名的集合。

3、不同因特网主机上的进程能够通过连接互相通信。

 

客户端和服务器通过使用套接字接口建立连接。一个套接字是连接的一个端点,每个套接字都有相应的套接字地址,是由一个因特网地址和一个16位的整数端口组成的,用“地址:端口”来表示。

一个连接是由它两端的套接字地址唯一确定的。

 

常见的几个函数作用:

socket函数:客户端和服务器使用socket函数类创建一个套接字描述符。

connect函数:客户端调用connect函数来建立和服务器的连接。

bind函数:告诉内核将addr中的服务器套接字地址和套接字描述符sockfd联系起来。

listen函数:将sockfd从一个主动套接字转换为一个监听套接字,该套接字可以接受来自客户端的连接请求。

accept函数:服务器通过调用accept函数来等待来自客户端的连接请求。

 

Web服务器使用HTTP协议和它们的客户端彼此通信。浏览器向服务器请求静态或动态的内容。对静态内容的请求时通过从服务器磁盘取得文件并把它返回给客户端来服务的。对动态内容的请求时通过在服务器上一个子进程的上下文中运行一个程序并将它的输出返回给客户端来服务的。

 

以上是关于2020-05-20 第十一章 kNN模型的应用的主要内容,如果未能解决你的问题,请参考以下文章

第十一章 网络编程

深入理解计算机系统 第十一章 网络编程

深入浅出第十一章python

构建之法第十一章读后感

敏捷软件开发 第十章第十一章第十二章

《构建之法》阅读笔记第十&十一章