采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
输入正文请问老师,什么是面向对象的方式进行封装呢?
from sklearn.neighbors import KNeighborsClassifier 这一行代码没有看懂,觉得这节课的内容引入了很多包和变量,一下子消耗不了,问的问题可能有点白痴,请老师谅解。
额?你是否学习过某个面向对象的语言?或者某个语言的面向对象的语言特性?如果没有接触过,一定要学习一下哦,面相对象是计算机领域非常非常重要的概念,近乎只要你编程,就离不开面向对象的思想。
简单的说,面向对象就是把一系列和某个对象相关的操作集中起来。
比如在上一小节,我们介绍 kNN 的过程,需要先有 X;然后再计算出 distance;然后再对 distance 做排序;然后再求 nearest,然后再求 topK_y,然后再求 votes,最终终于得到了预测结果。
但是,如果我们将整个 kNN 算法封装起来,作为一个类,只需要执行 fit,然后执行 score,就好了。
当然,这么说很笼统,也并不能完全体现面向对象的优势。面向对象是一个太大的话题。如果你不了解面向对象的话,我依然是建议你专门进行一下学习。这么大的概念不是在问答区一句话两句话就能解释明白的。
==========
from sklearn.neighbors import KNeighborsClassifier 的意思就是,在 sklearn 下有一个 neighbors 包,在这个包下有一个 KNeighborsClassifier 类,将这个类加载到当前环境中,之后我们就可以直接使用这个类了。
其实,这和我们在上一小节为了使用 Counter 类,需要写 from collections import Counter,是完全一样的。
继续加油!:)
非常感谢老师的耐心解答!我之前的专业确实是没有编程背景,也不需要编程思维的,那我真的是需要系统的学习一下!再次感谢!
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
2.5k 19
3.5k 17
2.9k 15
1.6k 15
1.4k 14