【100天精通Python】Day74:python机器学习的生态圈(numpy,scipy,scikit-learn等),库安装环境搭建(conda virtualenv), 以及入门代码示例

目录

 1 python 机器学习的生态圈       

1.1 NumPy 和 SciPy:

1.2 Pandas:

1.3 Matplotlib 和 Seaborn:

1.4 Scikit-Learn:

1.5 TensorFlow 和 PyTorch:

1.6 Jupyter Notebooks:

1.7 NLTK(Natural Language Toolkit):

1.8 Statsmodels:

1.9 Virtualenv 和 Conda:

(1)virtualenv  安装和使用

(2)conda安装和使用

1.10 Flask 和 Django:

1.11 Scrapy:

2  环境安装

2.1 安装python

2.2 安装Scipy

2.3 安装scikit-learn  

2.4 更加便捷的安装方式 anaconda 

3 总结

 1 python 机器学习的生态圈       

        Python机器学习的生态圈是一个庞大且不断发展的社区,包含了众多开源库、框架和工具,为机器学习从业者提供了广泛的选择。

        以下是Python机器学习生态圈的一些关键组成部分: 

1.1 NumPy 和 SciPy:

    (1)NumPy(Numerical Python): 提供了多维数组和矩阵操作,是几乎所有数据科学和机器学习库的基础。 

    (2)SciPy(Scientific Python): 在 NumPy 基础上构建,包含了许多高级科学计算功能,如最优化、信号处理、线性代数等。

        代码示例:NumPy 用于处理多维数组,SciPy 提供了更多的科学计算工具。

import numpy as np
from scipy import optimize

# NumPy数组操作
arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.shape)

# SciPy最小化例子
def objective_function(x):
    return x[0]**2 + x[1]**2

result = optimize.minimize(objective_function, [1, 1])
print(result.x)

1.2 Pandas:

        提供了数据结构(如DataFrame)和数据分析工具,使数据处理更加便捷,适用于结构化数据的清理、转换和分析。

Pandas 用于处理和分析结构化数据,比如 DataFrame。

import pandas as pd

# 创建一个简单的DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35]}
df = pd.DataFrame(data)

# 查看 DataFrame 头部
print(df.head())

1.3 Matplotlib 和 Seaborn:

Seaborn: 基于 Matplotlib,提供了更高层次的统计图形,使得绘图更加简便。

Matplotlib: 用于生成各种静态、动态和交互式图表,对数据可视化至关重要。

Matplotlib 用于绘制各种图表,Seaborn 是其高级接口,简化了绘图。

import matplotlib.pyplot as plt
import seaborn as sns

# Matplotlib折线图
plt.plot([1, 2, 3, 4], [10, 20, 25, 30])
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Simple Line Plot')
plt.show()

# Seaborn散点图
sns.scatterplot(x='Age', y='Name', data=df)
plt.show()

1.4 Scikit-Learn:

        提供了丰富的机器学习算法和模型,包括分类、回归、聚类、降维等,以及用于模型评估和选择的工具。

         Scikit-Learn 提供了各种机器学习算法和模型。

代码示例: 

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# 加载数据集
X, y = np.array([[1], [2], [3]]), np.array([2, 4, 6])

# 拆分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 线性回归模型
model = LinearRegression()

# 拟合模型
model.fit(X_train, y_train)

# 预测
predictions = model.predict(X_test)

# 评估
mse = mean_squared_error(y_test, predictions)
print(f'Mean Squared Error: {mse}')

1.5 TensorFlow 和 PyTorch:

TensorFlow: 由 Google 提供,是一个强大的深度学习框架,支持静态计算图。

PyTorch: 由 Facebook 提供,以动态计算图而闻名,使得定义和修改模型更为灵活。

TensorFlow 和 PyTorch 是深度学习框架,可以用于搭建和训练神经网络。

代码示例:

# TensorFlow示例
import tensorflow as tf

# 创建一个简单的神经网络
model = tf.keras.Sequential([
    tf.keras.layers.Dense(units=1, input_shape=[1])
])

# 编译模型
model.compile(optimizer='sgd', loss='mean_squared_error')

# 训练模型
model.fit(X_train, y_train, epochs=100)

# PyTorch示例
import torch
import torch.nn as nn
import torch.optim as optim

# 创建一个简单的神经网络
class SimpleNN(nn.Module):
    def __init__(self):
        super(SimpleNN, self).__init__()
        self.fc = nn.Linear(1, 1)

    def forward(self, x):
        return self.fc(x)

# 初始化模型、损失函数和优化器
model = SimpleNN()
criterion = nn.MSELoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)

# 训练模型
for epoch in range(100):
    inputs = torch.Tensor(X_train).float()
    labels = torch.Tensor(y_train).float()

    optimizer.zero_grad()
    outputs = model(inputs)
    loss = criterion(outputs, labels.view(-1, 1))
    loss.backward()
    optimizer.step()

1.6 Jupyter Notebooks:

交互式计算和可视化环境,广泛用于教育、实验和分享机器学习项目。

Jupyter Notebooks 提供一个交互式计算和可视化环境。

# 在Jupyter Notebook中可视化
%matplotlib inline

# Matplotlib折线图
plt.plot([1, 2, 3, 4], [10, 20, 25, 30])
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Simple Line Plot')
plt.show()

1.7 NLTK(Natural Language Toolkit):

        非常适用于处理和分析文本数据,包括标记化、词干提取、词袋模型等自然语言处理(NLP)任务。

        NLTK 是一个用于处理人类语言数据的库,是自然语言处理(NLP)领域的强大工具。它包括了各种文本处理和分析的功能,如文本标记化、词干提取、词袋模型等。

在 Python 中使用 NLTK 进行文本处理:

import nltk
from nltk.tokenize import word_tokenize
from nltk.stem import PorterStemmer
from nltk.corpus import stopwords

# 下载 NLTK 数据
nltk.download('punkt')
nltk.download('stopwords')

# 示例文本
text = "NLTK is a powerful library for natural language processing."

# 分词
tokens = word_tokenize(text)
print("Tokens:", tokens)

# 词干提取
stemmer = PorterStemmer()
stemmed_tokens = [stemmer.stem(token) for token in tokens]
print("Stemmed Tokens:", stemmed_tokens)

# 去除停用词
stop_words = set(stopwords.words('english'))
filtered_tokens = [token for token in stemmed_tokens if token.lower() not in stop_words]
print("Filtered Tokens:", filtered_tokens)

1.8 Statsmodels:

        提供了统计模型估计和测试的工具,适用于统计分析和实证研究。Statsmodels 是一个用于估计和测试统计模型的库,提供了线性模型、时间序列分析、非参数估计等统计工具。

        在 Python 中使用 Statsmodels 进行统计分析:

import statsmodels.api as sm
import numpy as np

# 生成示例数据
np.random.seed(42)
X = np.random.rand(100, 2)
y = 2 * X[:, 0] + 3 * X[:, 1] + np.random.randn(100)

# 添加常数列作为截距
X = sm.add_constant(X)

# 拟合线性模型
model = sm.OLS(y, X).fit()

# 打印模型摘要
print(model.summary())

1.9 Virtualenv 和 Conda:

用于创建和管理 Python 虚拟环境的工具,帮助隔离项目之间的依赖关系。

这些库和工具相互配合,形成了一个强大而丰富的生态圈,使得机器学习从业者能够在不同领域、不同任务上灵活应用。

virtualenv 是一个用于创建和管理 Python 虚拟环境的工具。虚拟环境允许你在不同项目之间隔离依赖关系,避免版本冲突。

(1)virtualenv  安装和使用

首先,确保你已经安装了 virtualenv

pip install virtualenv

然后,创建一个虚拟环境:

# 在项目目录下创建虚拟环境
virtualenv venv

# 激活虚拟环境
# 在 Windows 下:
venv\Scripts\activate
# 在 Linux/Mac 下:
source venv/bin/activate

现在,你的命令行提示符应该显示虚拟环境的名称。在虚拟环境中,你可以安装项目特定的依赖,而不会影响全局 Python 环境。

(2)conda安装和使用

Conda 是一个开源的包管理和环境管理系统,适用于多种编程语言,包括 Python。它不仅可以管理 Python 包,还可以管理系统依赖项。

首先,确保你已经安装了 Anaconda 或 Miniconda(Anaconda 的精简版,仅包含 Conda 和 Python)。

创建一个 Conda 虚拟环境

# 创建一个新环境
conda create --name myenv

# 激活环境
conda activate myenv

在这个环境中,你可以使用 conda install 安装 Python 包,而不会影响其他环境。

Deactivate 虚拟环境:

# 在 Windows 下:
conda deactivate
# 在 Linux/Mac 下:
deactivate

代码示例:

# 使用 virtualenv 创建虚拟环境
# 在项目目录下创建虚拟环境
virtualenv venv

# 激活虚拟环境
# 在 Windows 下:
venv\Scripts\activate
# 在 Linux/Mac 下:
source venv/bin/activate

# 使用 conda 创建虚拟环境
# 创建一个新环境
conda create --name myenv

# 激活环境
conda activate myenv

1.10 Flask 和 Django:

         Web 框架,使得部署机器学习模型成为可能,提供 API 或构建完整的 Web 应用。

        Joblib:用于高效地并行处理的工具,特别适用于训练和评估大型模型。

1.11 Scrapy:

        用于爬取和提取网页数据的框架,对于构建训练数据集非常有用。

        Scrapy 是一个用于爬取和提取网页数据的高级 Python 框架。它提供了强大的工具和结构,使得用户能够定义如何爬取网站以及如何处理提取的数据。Scrapy 使用了 Twisted 异步网络库,使得爬取效率更高。

2  环境安装

2.1 安装python

        首先,安装 Python。你可以从 Python 官方网站 下载最新版本的 Python 安装程序,并按照提示进行安装。

参考:【100天精通python】Day1:python入门_初识python,搭建python环境,运行第一个python小程序_python一百天_LeapMay的博客-CSDN博客文章浏览阅读3k次,点赞22次,收藏82次。Python是一种高级、通用、解释型编程语言。它具有简单易学的语法和强大的功能,适用于多种应用领域,包括Web开发、数据分析、人工智能和科学计算等。Python拥有庞大的社区支持,且拥有丰富的第三方库和工具,使得开发变得更加高效和便捷。python 语言不仅可以应用到网络编程、游戏开发等领域,还可以在图形图像处理、智能机器人、爬取数据、自动化运维等多方面发挥特长,为开发者提供简约、优雅的编程体验。_python一百天【100天精通Python】Day74:python机器学习的生态圈(numpy,scipy,scikit-learn等),库安装环境搭建(conda virtualenv), 以及入门代码示例https://blog.csdn.net/qq_35831906/article/details/131671309

当安装完成后。终端命令行输入以下命令确认python版本:

python --version

2.2 安装Scipy

        SciPy 通常会与 NumPy 一起安装,因为它是基于 NumPy 构建的。你可以使用以下命令来安装 SciPy:

pip install scipy

2.3 安装scikit-learn  

        Scikit-learn 是一个用于机器学习的库,提供了许多常用的算法和工具。你可以使用以下命令来安装 scikit-learn:

pip install scikit-learn

2.4 更加便捷的安装方式 anaconda 

        Anaconda 是一个用于科学计算和机器学习的开源发行版,包含了大量常用库和工具。你可以按照以下步骤安装 Anaconda:

  1. 下载 Anaconda: 从 Anaconda 官方网站 下载适用于你操作系统的 Anaconda 安装程序。

  2. 安装 Anaconda: 执行下载的安装程序并按照提示进行安装。在安装过程中,可以选择是否将 Anaconda 添加到系统路径中。

  3. 创建和激活环境: 打开命令行或 Anaconda 提供的终端,创建一个新环境并激活它:

    conda create --name myenv conda activate myenv
  4. 安装 SciPy 和 scikit-learn: 在激活的环境中,使用 conda 安装 SciPy 和 scikit-learn:

    conda install scipy scikit-learn

    Anaconda 将负责解决依赖关系并安装相应的包。

通过这些步骤,你就可以安装好 Python、SciPy 和 scikit-learn,无论是通过 pip 还是 Anaconda。使用 Anaconda 还能更方便地管理不同项目的环境和依赖。

3 总结

        本篇主要介绍了python 及其在机器学习方面的生态圈和相关类库的安装,包括以下内容:  python 及其在机器学习方面的类库和应用,Scipy的主要功能和它依赖的扩展类库。scikit-learn 及它提供的机器学习算法。

        接下来将介绍一个机器学习实例。通过这个实例使读者对机器学习项目有一个初步的了解,了解机器学习项目的基本步骤和流程。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2023年12月6日
下一篇 2023年12月6日

相关推荐