>  기사  >  기술 주변기기  >  인기 있는 Python 기계 학습 라이브러리의 추세 및 비교

인기 있는 Python 기계 학습 라이브러리의 추세 및 비교

WBOY
WBOY앞으로
2023-04-12 23:52:121123검색

Python은 세계에서 가장 인기 있는 프로그래밍 언어 중 하나이며 라이브러리와 프레임워크의 수가 점점 늘어나고 있습니다. 최신 내용을 확인하세요.

인기 있는 Python 기계 학습 라이브러리의 추세 및 비교

Python은 세계에서 가장 인기 있는 프로그래밍 언어 중 하나이며, AI 및 ML 개발을 촉진하기 위한 라이브러리와 프레임워크의 수가 점점 늘어나고 있습니다. Python에는 250개 이상의 라이브러리가 있으며 어떤 라이브러리가 프로젝트에 가장 적합한지 파악하고 모든 라이브러리에 수반되는 기술적 변화와 추세를 따라가는 것은 약간 혼란스러울 수 있습니다.

다음은 제가 사용한 인기 있는 Python 기계 학습 라이브러리입니다. 사용되는 시나리오에 따라 분류하기 위해 최선을 다했습니다. 이 외에도 많은 라이브러리가 있지만 사용하지 않은 라이브러리에 대해서는 말할 수 없으며 이것이 가장 많이 사용되는 라이브러리라고 생각합니다.

NumPy

NumPy는 다른 기계 학습 패키지와는 다른 잘 알려진 범용 배열 처리 패키지입니다. n차원 배열(벡터, 행렬, 고차 행렬)의 경우 NumPy는 고성능(기본적으로 컴파일된) 지원과 다양한 작업 지원을 제공합니다. 벡터화된 작업을 지원하며, 특히 Python 표현식을 하위 수준 코드 디스패치로 변환하여 데이터의 다양한 하위 집합을 암시적으로 반복합니다.

NumPy 함수

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)

함수의 시작 및 중지 매개변수가 필요하며 값을 반환합니다. ​​미리 정해진 시간 간격에 걸쳐 고르게 분포됩니다.

  • numpy.repeat

배열의 요소를 반복하려면 numpy.repeat(a,peats, axis=None) 메서드를 사용하세요. 두 번째 입력은 지정된 횟수만큼 반복됩니다.

  • numpy.random.randint

함수 numpy.random.randint(low, high=None, size=None, dtype='l')은 [low, high]에서 임의의 정수를 반환합니다. high 매개변수가 존재하지 않는 경우(None), [0, low] 범위에서 임의의 숫자가 선택됩니다.

Numpy가 인기 있는 이유는 무엇인가요?

간단히 말하면, NumPy에 최적화되고 사전 컴파일된 C 코드는 모든 무거운 작업을 처리할 수 있어 표준 Python 배열보다 빠릅니다.

NumPy는 과학 컴퓨팅에서 자주 사용되는 많은 수학 프로그램을 빠르고 사용하기 쉽게 만듭니다.

Pandas

Pandas는 "관계형" 및 "태그가 지정된" 데이터 작업을 위한 빠르고 적응 가능하며 표현력이 풍부한 데이터 구조를 지원하기 때문에 가장 널리 사용되는 Python 데이터 분석 라이브러리로 빠르게 자리잡고 있습니다. Pandas가 필요한 실용적이고 실제적인 Python 데이터 분석 문제가 있습니다. Pandas는 철저하게 최적화되고 매우 안정적인 성능을 제공합니다. 순수하게 백엔드 코드를 작성하는 데는 C 또는 Python만 사용됩니다.

일부 Pandas 함수

pd.read_csv, pd.read_excel

첫 번째로 언급할 함수는 read_csv 또는 read_excel입니다. 이러한 기능에 대한 명확한 설명이 제공되었습니다. 나는 이를 사용하여 CSV 또는 Excel 파일의 데이터를 pandas DataFrame 형식으로 읽습니다.

df = pd.read_csv("PlayerStat.csv")

.read csv() 함수는 다음 구문을 사용하여 .txt 파일을 읽을 수도 있습니다.

data = pd.read_csv(file.txt, sep=" ")
  • df.query()

부울 표현식은 데이터를 필터링하거나 쿼리할 수 있습니다. 쿼리 함수를 사용하여 필터 기준을 문자열로 적용할 수 있습니다. 다른 많은 프로그램보다 더 많은 자유를 제공합니다.

df.query("A > 4")

A가 4보다 큰 행만 반환합니다.

  • df.iloc()

행 및 열 인덱스를 함수에 인수로 전달하면 DataFrame의 적절한 하위 집합이 반환됩니다.

  • df[''].dtypes

또 다른 매우 기본적이고 인기 있는 기능입니다. 분석, 시각화 또는 예측 모델링을 시작하기 전에 변수의 데이터 유형을 알아야 합니다. 이 기술을 사용하면 각 열의 데이터 유형을 얻을 수 있습니다.

  • df.dtypes

Pandas vs Vaex

Vaex Python은 Out of Core Dataframe을 사용하여 대량의 데이터를 더 빠르게 계산하는 Pandas 라이브러리의 대안입니다. 대규모 테이블 형식 데이터 세트를 보고 연구하기 위한 Vaex는 게으른 코어 외부 데이터 프레임(Pandas와 유사)을 위한 고성능 Python 모듈입니다. 간단한 통계를 사용하여 초당 10억 개 이상의 행을 계산할 수 있습니다. 다양한 시각화를 지원하므로 광범위한 대화형 데이터 탐색이 가능합니다.

TensorFlow

TensorFlow는 Google에서 만들고 게시한 빠른 수치 계산을 위한 Python 라이브러리입니다. Tensorflow는 Theano와 다른 언어 및 함수 이름을 사용하므로 Theano에서 전환하는 것이 필요 이상으로 복잡해질 수 있습니다. 그러나 Tensorflow의 전체 계산 그래프는 Theano의 것과 유사하게 작동하며 동일한 장점과 단점이 있습니다. 계산 그래프의 수정이 성능에 상당한 영향을 미치더라도 Tensorflow의 평가 기능은 중간 상태를 관찰하는 것을 약간 더 쉽게 만듭니다. Tensorflow는 몇 년 전 Theano 및 Caffe에 비해 선호되는 딥 러닝 기술입니다.

TensorFlow 내장 함수

  • tf.zeros_like

이 함수의 출력은 입력 텐서와 유형 및 모양이 동일하지만 값이 0인 텐서입니다.

tensor = tf.constant( I[1, 2, 3], [4, 5, 6]])
tf.zeros_like( tensor) # [ [0, 0, 0], [0, 0,0]

이 기능은 입력 이미지에서 검은색 이미지를 생성할 때 도움이 될 수 있습니다. 양식을 직접 정의하려면 tf.zeros를 사용하세요. 0 대신 1로 초기화하는 것을 선호한다면 tf.ones_like를 사용하세요.

  • tfpad

상수 값으로 주위에 지정된 패딩을 추가하여 텐서의 차원을 늘립니다.

  • tf.enable_eager_execution

这可以在您运行 TensorFlow 应用程序时帮助您。使用 Eager Execution 时,您不需要在会话中构建和运行图。这是有关急切执行的更多信息。

“Eager execution”必须是导入 TensorFlow 后的第一条语句。

TensorFlow 与 PyTorch

Torch 的 Python 实现 Pytorch 得到 Facebook 的支持。它通过提供即时图形编译与上述技术竞争,通过不将图形视为不同和不透明的对象,使 Pytorch 代码与周围的 Python 更加兼容。相反,有许多灵活的技术可以即时构建张量计算。此外,它表现良好。它具有强大的多 GPU 能力,很像 Tensorflow;然而,Tensorflow 仍然适用于更大规模的分布式系统。虽然 Pytorch 的 API 文档齐全,但 Tensorflow 或 Keras 的 API 更加完善。然而,Pytorch 在不影响性能的情况下在灵活性和可用性方面取得了胜利,这无疑迫使 Tensorflow 重新思考和调整。Tensorflow 最近受到 Pytorch 的严重挑战,

Keras

Keras 是一个开源软件库,为人工神经网络提供 Python 接口。由于 Keras 名义上是独立于引擎的,所以理论上 Keras 代码可以被重用,即使引擎需要因性能或其他因素而改变。它的缺点是,当您希望创建非常新颖或专业的架构时,通常需要在 Keras 层下使用 Tensorflow 或 Theano。这主要发生在您需要使用复杂的 NumPy 索引时,这对应于 Tensorflow 中的聚集/分散和 Theano 中的 set/inc 子张量。

Keras 函数

  • 评估与预测

在 Keras 中,evaluate() 和 predict() 都可用。这些技术可以利用 NumPy 数据集。当数据经过测试后,我完成了对结果的评估。我使用这些技术来评估我们的模型。

  • Keras 中的图层

每个 Keras 层都包含许多技术。这些层有助于构建、配置和训练数据。密集层有助于操作实现。我使用 flat 展平了输入。Dropout 启用输入丢失。我可以使用重塑工具重塑输出。我使用输入启动了一个 Keras 张量。

您可以获得中间层的输出。

一个相当简单的库是 Keras。它使得从层的中间层获取输出成为可能。您可以轻松地向现有层添加一个新层,以帮助您在中间获得输出。

Theano

Theano 是一个 Python 库和优化编译器,用于操作和评估数学表达式,尤其是矩阵值表达式。作为最古老和最成熟的,为 Theano 提供了优势和劣势。大多数用户请求的功能都已添加,因为它是旧版本。但是,其中一些实现有点过于复杂且难以使用,因为没有先例可循。该文档是可以通过但模棱两可的。由于没有简单的方法来检查中间计算,因此在 Theano 中让复杂的项目正常运行可能非常具有挑战性。他们通常使用调试器或通过查看计算图来进行调试。

Theano 函数

  • 声明变量

我用 dscalar 方法声明了一个十进制标量变量。当下面的语句运行时,它会在您的程序代码中添加一个名为 C 的变量。

C = tensor.dscalar()
  • 定义 Theano 函数

该函数接受两个参数,第一个是输入,第二个是函数的输出。根据下面的声明,第一个参数是一个包含 C 和 D 两项的数组。结果是一个标量单位,指定为 E。

f = theano.function([C,D], E)

结论

我见过一个高技能的 Python 程序员迅速掌握新库的精妙之处并了解如何使用它。但是,无论是初学者、中级还是专家,选择一种编程语言还是在这种情况下选择一个库而不是另一个库,很大程度上取决于您项目的目标和需求。

위 내용은 인기 있는 Python 기계 학습 라이브러리의 추세 및 비교의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제