当前位置:   article > 正文

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

机器学习 python环境

目录

 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 提供了更多的科学计算工具。

  1. import numpy as np
  2. from scipy import optimize
  3. # NumPy数组操作
  4. arr = np.array([[1, 2, 3], [4, 5, 6]])
  5. print(arr.shape)
  6. # SciPy最小化例子
  7. def objective_function(x):
  8. return x[0]**2 + x[1]**2
  9. result = optimize.minimize(objective_function, [1, 1])
  10. print(result.x)

1.2 Pandas:

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

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

  1. import pandas as pd
  2. # 创建一个简单的DataFrame
  3. data = {'Name': ['Alice', 'Bob', 'Charlie'],
  4. 'Age': [25, 30, 35]}
  5. df = pd.DataFrame(data)
  6. # 查看 DataFrame 头部
  7. print(df.head())

1.3 Matplotlib 和 Seaborn:

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

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

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

  1. import matplotlib.pyplot as plt
  2. import seaborn as sns
  3. # Matplotlib折线图
  4. plt.plot([1, 2, 3, 4], [10, 20, 25, 30])
  5. plt.xlabel('X-axis')
  6. plt.ylabel('Y-axis')
  7. plt.title('Simple Line Plot')
  8. plt.show()
  9. # Seaborn散点图
  10. sns.scatterplot(x='Age', y='Name', data=df)
  11. plt.show()

1.4 Scikit-Learn:

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

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

代码示例: 

  1. from sklearn.model_selection import train_test_split
  2. from sklearn.linear_model import LinearRegression
  3. from sklearn.metrics import mean_squared_error
  4. # 加载数据集
  5. X, y = np.array([[1], [2], [3]]), np.array([2, 4, 6])
  6. # 拆分数据集
  7. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
  8. # 线性回归模型
  9. model = LinearRegression()
  10. # 拟合模型
  11. model.fit(X_train, y_train)
  12. # 预测
  13. predictions = model.predict(X_test)
  14. # 评估
  15. mse = mean_squared_error(y_test, predictions)
  16. print(f'Mean Squared Error: {mse}')

1.5 TensorFlow 和 PyTorch:

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

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

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

代码示例:

  1. # TensorFlow示例
  2. import tensorflow as tf
  3. # 创建一个简单的神经网络
  4. model = tf.keras.Sequential([
  5. tf.keras.layers.Dense(units=1, input_shape=[1])
  6. ])
  7. # 编译模型
  8. model.compile(optimizer='sgd', loss='mean_squared_error')
  9. # 训练模型
  10. model.fit(X_train, y_train, epochs=100)
  11. # PyTorch示例
  12. import torch
  13. import torch.nn as nn
  14. import torch.optim as optim
  15. # 创建一个简单的神经网络
  16. class SimpleNN(nn.Module):
  17. def __init__(self):
  18. super(SimpleNN, self).__init__()
  19. self.fc = nn.Linear(1, 1)
  20. def forward(self, x):
  21. return self.fc(x)
  22. # 初始化模型、损失函数和优化器
  23. model = SimpleNN()
  24. criterion = nn.MSELoss()
  25. optimizer = optim.SGD(model.parameters(), lr=0.01)
  26. # 训练模型
  27. for epoch in range(100):
  28. inputs = torch.Tensor(X_train).float()
  29. labels = torch.Tensor(y_train).float()
  30. optimizer.zero_grad()
  31. outputs = model(inputs)
  32. loss = criterion(outputs, labels.view(-1, 1))
  33. loss.backward()
  34. optimizer.step()

1.6 Jupyter Notebooks:

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

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

  1. # 在Jupyter Notebook中可视化
  2. %matplotlib inline
  3. # Matplotlib折线图
  4. plt.plot([1, 2, 3, 4], [10, 20, 25, 30])
  5. plt.xlabel('X-axis')
  6. plt.ylabel('Y-axis')
  7. plt.title('Simple Line Plot')
  8. plt.show()

1.7 NLTK(Natural Language Toolkit):

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

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

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

  1. import nltk
  2. from nltk.tokenize import word_tokenize
  3. from nltk.stem import PorterStemmer
  4. from nltk.corpus import stopwords
  5. # 下载 NLTK 数据
  6. nltk.download('punkt')
  7. nltk.download('stopwords')
  8. # 示例文本
  9. text = "NLTK is a powerful library for natural language processing."
  10. # 分词
  11. tokens = word_tokenize(text)
  12. print("Tokens:", tokens)
  13. # 词干提取
  14. stemmer = PorterStemmer()
  15. stemmed_tokens = [stemmer.stem(token) for token in tokens]
  16. print("Stemmed Tokens:", stemmed_tokens)
  17. # 去除停用词
  18. stop_words = set(stopwords.words('english'))
  19. filtered_tokens = [token for token in stemmed_tokens if token.lower() not in stop_words]
  20. print("Filtered Tokens:", filtered_tokens)

1.8 Statsmodels:

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

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

  1. import statsmodels.api as sm
  2. import numpy as np
  3. # 生成示例数据
  4. np.random.seed(42)
  5. X = np.random.rand(100, 2)
  6. y = 2 * X[:, 0] + 3 * X[:, 1] + np.random.randn(100)
  7. # 添加常数列作为截距
  8. X = sm.add_constant(X)
  9. # 拟合线性模型
  10. model = sm.OLS(y, X).fit()
  11. # 打印模型摘要
  12. print(model.summary())

1.9 Virtualenv 和 Conda:

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

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

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

(1)virtualenv  安装和使用

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

pip install virtualenv

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

  1. # 在项目目录下创建虚拟环境
  2. virtualenv venv
  3. # 激活虚拟环境
  4. # 在 Windows 下:
  5. venv\Scripts\activate
  6. # 在 Linux/Mac 下:
  7. source venv/bin/activate

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

(2)conda安装和使用

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

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

创建一个 Conda 虚拟环境

  1. # 创建一个新环境
  2. conda create --name myenv
  3. # 激活环境
  4. conda activate myenv

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

Deactivate 虚拟环境:

  1. # 在 Windows 下:
  2. conda deactivate
  3. # 在 Linux/Mac 下:
  4. deactivate

代码示例:

  1. # 使用 virtualenv 创建虚拟环境
  2. # 在项目目录下创建虚拟环境
  3. virtualenv venv
  4. # 激活虚拟环境
  5. # 在 Windows 下:
  6. venv\Scripts\activate
  7. # 在 Linux/Mac 下:
  8. source venv/bin/activate
  9. # 使用 conda 创建虚拟环境
  10. # 创建一个新环境
  11. conda create --name myenv
  12. # 激活环境
  13. 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一百天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 及它提供的机器学习算法。

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/822260
推荐阅读
相关标签
  

闽ICP备14008679号