Python常用机器学习库习题集锦

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、Matplotlib是什么?
  • Matplotlib练习习题
  • 1.题目1
  • 1.1 代码
  • 2. 题目2
  • 2.1 代码
  • 二、Opencv是什么?
  • Opencv练习习题
  • 1.题目
  • 2.代码
  • 三、PIL是什么?
  • PIL练习习题
  • 1.题目
  • 2.代码
  • 总结

  • 前言

    随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
    Python常用机器学习库习题

    1. Matplotlib
    2. Opencv
    3. PIL

    一、Matplotlib是什么?

    matplotlib是一个用于绘制数据可视化图形的Python库。它提供了各种绘图方法,包括线图、散点图、条形图、饼图、直方图、等高线图、三维图等等。matplotlib的设计灵活,可以用于各种应用场景,从简单的绘图到高度定制化的图形都可以实现。

    Matplotlib练习习题

    1.题目1

    1.研究人员在2014年,分别在中国与日本的四个城市对将近两万名7-18岁男孩进行了相关测试,得到平均年龄/身高数据表avgHgt.cvs。使用Pandas和Matplotlib库,实现如下功能:
    (1)从中国和日本7-18岁男生平均身高 avgHgt.cvs文件中读取身高数据。
    (2)把数据绘制成如图所示的曲线图。

    1.1 代码

    import pandas as pd
    import matplotlib.pyplot as plt
    
    data = pd.read_csv("avgHgt.csv")
    print(data)
    df = pd.DataFrame(data)
    plt.rcParams['font.sans-serif']=['SimHei']
    plt.title("中国和日本7~18岁男孩升高图")
    plt.xlabel("年龄/岁")
    plt.ylabel("身高/厘米")
    plt.plot(df["age"],df["CHeight"],df["age"],df["JHeight"])
    plt.legend(['中国男孩身高','日本男孩身高'])
    plt.show()
    

    2. 题目2

    以共享x轴的方式,展示每月的销量和销量增长率,其中x轴表示月份序列,如下图所示。

    2.1 代码

    import pandas as pd
    import matplotlib.pyplot as plt
    import numpy as np
    
    data= pd.read_excel("mrbook.xlsx")
    print(data)
    ## 提取出需要分析的数据
    x = data["月份"]
    y1 = data["销量"]
    y2 = data["rate"]
    #创建画布和第一个Ax对象
    plt.rcParams['font.sans-serif']=['SimHei'] #正常显示中文
    plt.rcParams['axes.unicode_minus'] =False#可帮助显示 负数
    fig, ax1 = plt.subplots()
    plt.title("销量情况对比")
    ax1.bar(x,y1)
    #设置第一个Axes对象的X轴和Y轴标签,
    ax1.set_xlabel("月份")
    ax1.set_ylabel("销量(册)")
    #####创建共享X轴
    ax2 = ax1.twinx()
    ax2.plot(x,y2,'--ok')
    ax2.set_ylabel("增长率")
    plt.show()
    

    二、Opencv是什么?

    Opencv 是一个开源的计算机视觉库,它提供了一系列的图像处理和机器学习的功能¹。它可以用于人脸识别,物体检测,视频分析等应用¹。它是用 C/C++ 编写的,可以在多种平台上运行³。

    Opencv练习习题

    1.题目

    安装Opencv库,实践用Opencv捕获摄像头图像或视频。
    检测摄像头范围内的人脸

    2.代码

    #检测摄像头范围内的人脸
    import cv2
    cascPath = r"C:\Users\FZQ\AppData\Roaming\Python\Python38\site-packages\cv2\data\haarcascade_frontalface_alt2.xml"
    faceCascade = cv2.CascadeClassifier(cascPath)
    cap = cv2.VideoCapture(0)
    
    while(True):
        ret,img=cap.read()
        faces=faceCascade.detectMultiScale(img,1.2,2,cv2.CASCADE_SCALE_IMAGE,(20,20))
        for(x,y,w,h) in faces:
            img = cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2)
        cv2.imshow('img',img)
    
        key = cv2.waitKey(1)
        if key & 0xFF ==ord('q') or key == 27:
            break;
    cv2.destroyAllWindows()
    cap.release()
    

    三、PIL是什么?

    Python Imaging Library 是一个用于图像处理的 Python 库,它可以支持多种图像格式,提供高效的内部表示,以及强大的图像处理功能¹²。它可以用于缩放,裁剪,旋转,滤波,合成等操作³。

    PIL练习习题

    1.题目

    使用PIL库的filter()函数,调整图像亮度为原来的两倍(用两个方法)。
    方法一:使用如下模板,对当前像素值乘2 (0,0,0,0,2,0,0,0,0)
    方法二:调用库函数ImageEnhance(),对图像进行处理。

    2.代码

    #方法一:使用如下模板,对当前像素值乘以2
    from PIL import Image,ImageFilter,ImageDraw
    img = Image.open("img.jpg")
    
    #经过PIL自定filter处理,自定义模板
    myFilter = ImageFilter.CONTOUR
    myFilter.name="Double_brightness"
    myFilter.filterargs=((3,3),1,0,(0,0,0,0,2,0,0,0,0))
    imgFilter=img.filter(myFilter)
    imgFilter.show()
    
    #方法二:调用库函数ImageEnhance(),对图像进行处理
    from PIL import Image,ImageEnhance
    image = Image.open("img.jpg")
    enhancer = ImageEnhance.Brightness(image)
    enhanced_image = enhancer.enhance(2)
    enhanced_image.show()
    
    

    总结

    例如:以上就是今天要讲的内容,本文在学习python常用机器学习库的前提下进行习题上机练习。

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python常用机器学习库习题集锦

    发表评论