请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

请问老师,什么是面向对象的方式进行封装呢?

输入正文请问老师,什么是面向对象的方式进行封装呢?

from sklearn.neighbors import KNeighborsClassifier 这一行代码没有看懂,觉得这节课的内容引入了很多包和变量,一下子消耗不了,问的问题可能有点白痴,请老师谅解。

正在回答

1回答

liuyubobobo 2020-10-26 11:56:04

额?你是否学习过某个面向对象的语言?或者某个语言的面向对象的语言特性?如果没有接触过,一定要学习一下哦,面相对象是计算机领域非常非常重要的概念,近乎只要你编程,就离不开面向对象的思想。


简单的说,面向对象就是把一系列和某个对象相关的操作集中起来。


比如在上一小节,我们介绍 kNN 的过程,需要先有 X;然后再计算出 distance;然后再对 distance 做排序;然后再求 nearest,然后再求 topK_y,然后再求 votes,最终终于得到了预测结果。


但是,如果我们将整个 kNN 算法封装起来,作为一个类,只需要执行 fit,然后执行 score,就好了。


当然,这么说很笼统,也并不能完全体现面向对象的优势。面向对象是一个太大的话题。如果你不了解面向对象的话,我依然是建议你专门进行一下学习。这么大的概念不是在问答区一句话两句话就能解释明白的。


==========


from sklearn.neighbors import KNeighborsClassifier 的意思就是,在 sklearn 下有一个 neighbors 包,在这个包下有一个 KNeighborsClassifier 类,将这个类加载到当前环境中,之后我们就可以直接使用这个类了。


其实,这和我们在上一小节为了使用 Counter 类,需要写 from collections import Counter,是完全一样的。


继续加油!:)

2 回复 有任何疑惑可以回复我~
  • 提问者 山屿麋鹿Jasmine #1
    非常感谢老师的耐心解答!我之前的专业确实是没有编程背景,也不需要编程思维的,那我真的是需要系统的学习一下!再次感谢!
    回复 有任何疑惑可以回复我~ 2020-10-26 16:04:39
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信