干货合集│最好用的 python 库都在这_机器学习中tpdm什么意思

  • 优秀的中文分词库,依靠中文词库,利用词库确定汉子之间关联的概率,形成分词结果
import jieba

word = '伟大的中华人民共和国'

jieba.cut(word)
jieba.lcut(word)

二、词云库 - wordcloud
  • 对数据中出现频率较高的 关键词 生成的一幅图像,予以视觉上的突出
import jieba
import numpy as np
import PIL.Image as Image
from wordcloud import WordCloud

def run(word_path, picture_path):
    with open(word_path, 'r') as f:
        word = f.read()

    cut_word = ' '.join(jieba.cut(word))
    color_mask = np.array(Image.open(picture_path))

    word_cloud = WordCloud(
        # 设置字体,不指定就会出现乱码
        font_path='/System/Library/Fonts/PingFang.ttc',
        # 设置背景色
        background_color='white',
        # 词云形状
        mask=color_mask,
        # 允许最大词汇
        max_words=120,
        # 最大号字体
        max_font_size=2000
    ).generate(cut_word)

    word_cloud.to_file('word\_cloud.jpg')
    im = word_cloud.to_image()
    im.show()

三、可视化进度条 - tpdm
  • 好看的进度条,不仅会让人一眼就知道任务的进度,还能够让自己的心情愉悦
from time import sleep
from tqdm import tqdm

# 这里同样的,tqdm就是这个进度条最常用的一个方法
# 里面存一个可迭代对象
for i in tqdm(range(1, 500)):
  # 模拟你的任务
  sleep(0.01)
sleep(0.5)

四、优美的表格 - PrettyTable
  • 可以让你在命令行打印出优美的表格
import prettytable as pt

# 按行添加数据
tb = pt.PrettyTable()
tb.field_names = ['name', 'age', 'height', 'weight']
tb.add_row(['亮仔', 25, 174, 65])
tb.add_row(['程序员', 23, 164, 55])
tb.add_row(['程序员亮仔', 27, 184, 69.5])

print(tb)

# +-----------+-----+--------+--------+
# | name | age | height | weight |
# +-----------+-----+--------+--------+
# | 亮仔 | 25 | 174 | 65 |
# | 程序员 | 23 | 164 | 55 |
# | 程序员亮仔 | 27 | 184 | 69.5 |
# +-----------+-----+--------+--------+

五、多进程 - multiprocessing
  • 创建多进程
from multiprocessing import Process

def func(s):
  print(s)

if __name__ == '\_\_main\_\_':
  process = [
  	Process(target=func, args=('1', ))
    Process(target=func, args=('2', ))
  ]
  
  [p.start() for p in process]
  [p.join() for p in process]

六、多线程 - threading
  • 创建多线程
import threading

def func(s):
  print(s)

if __name__ == '\_\_main\_\_':
  thread = [
  	threading.Thread(target=func, args=('1', ))
    threading.Thread(target=func, args=('2', ))
  ]
  
  [t.start() for t in thread]
  [t.join() for t in thread]

七、谷歌翻译 - googletrans
  • 自动语言检测,批量翻译,语言检测等
from googletrans import Translator

translator = Translator()
# 未提供源语言以及翻译的最终语言,会自动翻译成英文
translator.translate('안녕하세요.')
# 告诉它翻译成什么语言
translator.translate('안녕하세요.', dest='ja')
# 告诉它源语言是什么
translator.translate('程序员亮仔', src='zh-cn')

# 语言检测
t = ttranslator.detect('이 문장은 한글로 쓰여졌습니다.')
t.lang

八、重复回调 - retrying
  • 如果请求失败,我们需要再重新进行进行请求,防止请求异常导致数据缺失
from retrying import retry

@retry(stop_max_attempt_number=5)
def say():
  try:
    cxyliangzai
  except Exception as e:
    # 可以将错误记录日志
    print(e)
    raise
    
say()

九、游戏开发 - pygame
  • 实现 python 游戏的开发,可以开发各种大小型游戏
import pygame, sys
from pygame.locals import \*
 
# 初始化pygame
pygame.init()
 
# 设置窗口的大小,单位为像素
screen = pygame.display.set_mode((500,400), 0, 32)
 
# 设置窗口的标题
pygame.display.set_caption('用户事件监控')
 
# 设置背景
screen.fill((255, 255, 255))
 
# 程序主循环
while True:
  # 获取事件
  for event in pygame.event.get():
    # 判断事件是否为退出事件
    if event.type == QUIT:
      # 退出pygame
      pygame.quit()
      # 退出系统
      sys.exit()
      
    # 获得键盘按下的事件 
    if event.type == KEYDOWN:
      if(event.key==K_UP or event.key==K_w):
        print("上")
      if(event.key==K_DOWN or event.key==K_s):
        print("下")
      if(event.key==K_LEFT or event.key==K_a):
        print("左")
      if(event.key==K_RIGHT or event.key==K_d):
        print("右")
      # 按下键盘的Esc键退出
      if(event.key==K_ESCAPE):
        # 退出pygame
        pygame.quit()
        # 退出系统
        sys.exit()
 
    # 获得鼠标当前的位置 
    if event.type ==MOUSEMOTION:
      print(event.pos)
 
    # 获得鼠标按下的位置
    if event.type ==MOUSEBUTTONDOWN:
      print("鼠标按下:", event.pos)
 
    # 获得鼠标抬起的位置
    if event.type ==MOUSEBUTTONUP:
      print("鼠标抬起:", event.pos) 
 
  # 绘制屏幕内容
  pygame.display.update()

十、绘图教程 - turtle
  • 可以画出各种各样奇妙的图案,简直就是程序中的画板
from turtle import \*

colors = ['red', 'purple', 'blue', 'green', 'yellow', 'orange']
for x in range(360):
    pencolor(colors[x % 6])
    width(x / 100 + 1)
    forward(x)
    left(59)

十一、数据分析 - pandas
  • 数据分析处理库,为解决数据分析任务而创建的,能够快速便捷地处理数据的函数和方法
import pandas as pd

info = pd.read_csv("students.csv", encoding = "utf-8")

# 查看数据框的一些属性:最大、最小、均值、四分位数等
info.describe()

# 空值相关的操作
pin = info["pin"]
pin_isnull = pd.isnull(pin) 
pin_isnull_list = info[pin_isnull] 
len(pin_isnull_list)

# 缺失值相关操作, 简单的处理办法就是过滤掉null值
books = info["life\_cycle\_books"]
book_isnull = pd.isnull(books)
book_list_isnull = info["life\_cycle\_books"][book_isnull == False]
mean = sum(book_list_isnull) / len(book_list_isnull)
# 删除缺失值, 所有行
na_info = info.dropna(axis = 1)
# 删除缺失值, 可以指定列
na_info = info.dropna(axis = 0, subset = ["age", "name"])

十二、算法加密 - pycryto
  • pycryto 能实现大致 3 种类型的数据加密(单向加密、对称加密 和非对称加密),产生随机数,生成密钥对,数字签名
from Crypto.Hash import SHA256

hash = SHA256.new()
hash.update('Hello, World!')
# 使用digest()方法加密
digest = hash.digest()
# 使用hexdigest()方法加密,该方法加密后是16进制的
hexdigest = hash.hexdigest()

print(digest, hexdigest)

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

t, hexdigest)



[外链图片转存中...(img-8KHf91Wx-1714197397984)]
[外链图片转存中...(img-m2Mv6HEx-1714197397985)]

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

好的,很高兴为您解答这个问题。 在深度学习,数据增强是一种常用的技术,它可以通过对原始数据进行变换、裁剪、旋转、翻转等操作,来扩充训练集,从而提高模型的泛化能力和鲁棒性。在图像领域,常用的数据增强方法包括随机裁剪、随机旋转、随机翻转、色域变换等。下面,我将为您介绍如何使用 Python 对图像进行随机数据增强。 1. 随机裁剪 随机裁剪是一种简单而有效的数据增强方法,它可以通过对原始图像进行随机裁剪,来扩充训练集。在 Python ,我们可以使用 PIL 的 Image 模块来实现随机裁剪。 ```python from PIL import Image import random def random_crop(img, crop_size): w, h = img.size left = random.randint(0, w - crop_size) top = random.randint(0, h - crop_size) right = left + crop_size bottom = top + crop_size return img.crop((left, top, right, bottom)) ``` 2. 随机旋转 随机旋转是一种常用的数据增强方法,它可以通过对原始图像进行随机旋转,来扩充训练集。在 Python ,我们可以使用 PIL 的 Image 模块来实现随机旋转。 ```python from PIL import Image import random def random_rotate(img, angle_range): angle = random.uniform(-angle_range, angle_range) return img.rotate(angle) ``` 3. 随机翻转 随机翻转是一种简单而有效的数据增强方法,它可以通过对原始图像进行随机翻转,来扩充训练集。在 Python ,我们可以使用 PIL 的 Image 模块来实现随机翻转。 ```python from PIL import Image import random def random_flip(img, flip_prob): if random.random() < flip_prob: return img.transpose(Image.FLIP_LEFT_RIGHT) return img ``` 4. 色域变换 色域变换是一种常用的数据增强方法,它可以通过对原始图像进行色彩变换,来扩充训练集。在 Python ,我们可以使用 PIL 的 Image 模块来实现色域变换。 ```python from PIL import Image import random def random_color(img, color_range): r, g, b = img.split() r = r.point(lambda i: i + random.randint(-color_range, color_range)) g = g.point(lambda i: i + random.randint(-color_range, color_range)) b = b.point(lambda i: i + random.randint(-color_range, color_range)) return Image.merge('RGB', (r, g, b)) ``` 以上就是使用 Python 进行随机数据增强的一些常用方法,希望对您有所帮助。如果您有任何问题,请随时联系我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值