04_Python简答题

在这里插入图片描述

文章目录

  • Python有哪方面的应用
  • 简单说明机器学习的步骤
  • 实例、类属性以及实例、类静态方法的区别
  • Python机器学习算法简介

博文配套视频课程:Python面试题与面试技巧


Python有哪方面的应用

  1. 常规软件研发,支持B/S、C/S架构:Python支持函数式编程和OOP面向对象编程,能够承担任何种类软件的开发工作,因此常规的软件开发、脚本编写、网络编程等都属于标配能力
  2. 科学计算:掌握语言:numpy、pandas、matplotlib 等库的兴起,让Python越来越适合做科学计算、绘制高质量的2D和3D图像
  3. 自动化运维:Python的简单、高效是运维工程师的首选,Python在运维方面已经深入人心,Saltstack就是大名鼎鼎的自动化运维平台
  4. 云计算:开源云计算解决方案OpenStack就是基于Python开发的
  5. Web开发:Python有很多的Web开发框架,例如:Django、Flask,其中Pytohn + Django应用范围非常广泛,速度快,学习门槛也低,能够帮助快速搭建可用的Web服务
  6. 网络爬虫:也称网络蜘蛛,是大数据行业获取数据的核心工具。没有网络爬虫自动地、不分昼夜地、高智能地在互联网上爬取免费的数据,那些大数据相关的公司恐怕要少四分之三,而Python中基于爬虫的Scrapy框架绝对是目前的中流砥柱
  7. 机器学习与人工智能:在大量数据的基础上,结合科学计算、机器学习、深度学习、神经网络来让数据产生巨大的价值,而基于Python的sklearn、以及googl开源的TensorFlow深度学习框架绝对是目前学习人工智能的首选语言

简单说明机器学习的步骤

  1. 获取数据:read_csv | read_xls | from sklearn.datasets | dataset.make_moons | scrapy
  2. 数据清洗:isnull, notnull、fillna、dropna、astype、pd.cut 对数据
  3. 特征工程:One-hot PCA PolynomialFeatures
  4. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=1),交叉验证 (训练集又分为训练集和验证集)
  5. 选择合适的模型:线性回归、逻辑回归、K-means、决策树、决策回归、集成学习、随机森林、TensorFlow、贝叶斯
  6. 模型优化 超参数 (对超参数进行网格搜索)、特征工程(PCA)、准确率、精确率、召回率、欠拟合、过拟合、增加样本数量、删除异常点、
  7. 保存与加载:job.load、job.dump

实例、类属性以及实例、类静态方法的区别

在Python中一切皆对象,类是一个特殊的对象即类对象,描述类的属性称为类属性,它属于类。类属性在内存中只有一份,所有实例对象公用,在__init__外部定义。实例属性:用来描述类创建出来的实例对象,需要通过对象来访问,在各自对象的内存中都保存一份,在__init__方法内部定义

class Person():
    count = 0  # 此处i为类属性

    def __init__(self, name):
        self.name = name  # 此处name为实例属性
        Person.count += 1

    def show(self):
        print(self.name)


per = Person("张三")  # 实例化
print(per.name)
# 类属性,实例和类都可以访问
print(per.count,Person.count)
# 实例属性,类不能访问
print(Person.name)
  1. 实例方法由对象调用,至少一个self参数,self代表对象的引用。
  2. 类方法由类调用,至少一个cls参数,并且需要装饰器@classmethod修饰
  3. 静态方法由类调用,不需要参数,需要装饰器@staticmethod修饰
# 类属性与实例属性的区别
class Person():
    count = 0  # 此处i为类属性

    # 实例对象和类对象都可以调用。
    @classmethod
    def add(cls):
        cls.count += 1

    # 静态方法主要是用来存放逻辑性的代码,逻辑上属于类,但是和类本身没有关系,
    # 也就是说在静态方法中,不会涉及到类中的属性和方法的操作。可以理解为,
    # 单纯的函数,它仅仅托管于某个类的名称空间中,便于使用和维护。

    @staticmethod
    def method():
        print('static method........')

    def __init__(self, name):
        self.name = name  # 此处name为实例属性
        Person.add() # self.add()

    # 只能由实例对象调用
    def show(self):
        print(self.name)

per = Person("张三")  # 实例化
print(per.name)
# 类属性,实例和类都可以访问
print(per.count, Person.count)
# 实例属性,类不能访问
# print(Person.name)
per.show()
per.method()
Person.method()

Python机器学习算法简介

  1. 机器学习和深度学习目的:根据现有的数据经验对未来进行预测

  2. 所有算法本质都是数学函数,机器学习的过程就是找到函数的参数,以让函数曲线尽量拟合数据的过程 (误差值变小的过程)

  3. 不那么精确,却是比没有算法要可靠, 机器学习不探究事物的本质,不追求精确模型,只用基本的模型算法,直接以数据驱动预测

  4. 机器学习算法分类:

    4.1 监督学习:有标签(预测结果)

    4.2 分类:对离散型变量预测的监督学习算法,定性输出,邮件过滤,金融欺诈

    4.3 回归 (权重 + 偏值)、逻辑回归 (权重 + 偏值 + 决策边界)、KNN (K近邻)、决策树 (信息熵)、贝叶斯 (TF-IDF)、向量机 (寻找最大间隔)、随机森林、集成学习

  5. 无监督学习无标签(预测结果)聚类:数据没有标注,基于数据内部结构寻找样本的自然集群、新闻聚类、文章推荐

在这里插入图片描述

你可能感兴趣的:(Python精选面试题,python,面试题,算法)