Python简介与开发环境搭建

常见问题 admin 发布时间:2025-02-27 浏览:156 次

1.1 Python是什么?为什么选择Python?


Python是什么?


Python是一种高级编程语言,由Guido van Rossum于1991年首次发布。它的设计哲学强调代码的可读性和简洁性,使得开发者可以用更少的代码实现复杂的功能。Python支持多种编程范式,包括面向对象编程、函数式编程和过程式编程,因此具有极高的灵活性。


Python的语法简单直观,接近自然语言,这使得它成为初学者学习编程的理想选择。同时,Python拥有丰富的标准库和第三方库,能够快速实现各种功能,从简单的脚本到复杂的机器学习模型。


为什么选择Python?


在众多编程语言中,Python因其独特的优势,成为了机器学习(Machine Learning)和深度学习(Deep Learning)领域的首选语言。以下是选择Python的主要原因:


简单易学,开发效率高


强大的生态系统


跨平台与可扩展性


 广泛的应用领域以及社区支持与持续发展


在机器学习和深度学习中的优势


1.2 安装Python与配置开发环境(使用Conda)


在开始学习Python之前,我们需要完成开发环境的搭建。这包括安装Python解释器、配置虚拟环境以及选择合适的集成开发环境(IDE)。本节将重点介绍如何使用 Anaconda 和 Conda 来安装Python并配置开发环境。


什么是Conda?


Conda 是一个开源的包管理工具和环境管理工具,广泛用于数据科学、机器学习和深度学习领域。它不仅可以轻松安装和管理Python及其相关库,还可以创建独立的虚拟环境,避免不同项目之间的依赖冲突。


Anaconda 是一个基于 Conda 的发行版,包含了 Python、Conda 以及许多常用的科学计算和数据分析库(如 NumPy、Pandas、Matplotlib 等)。因此,Anaconda 是初学者和数据科学家的理想选择。


步骤 1:下载并安装 Anaconda


访问 Anaconda 官网


https://www.anaconda.com/?spm=5aebb161.2ef5001f.0.0.4881c921ccmLSL


下载安装程序




Windows 用户:下载 .exe 文件。


macOS 用户:下载 .pkg 文件。


Linux 用户:下载 .sh 脚本文件。




运行安装程序




Windows :双击下载的 .exe 文件,按照提示完成安装。


macOS :双击 .pkg 文件,按照安装向导完成安装。


Linux :在终端中运行以下命令


bash Anaconda3-<version>-Linux-x86_64.sh



验证安装


安装完成后,打开终端(或命令提示符),输入以下命令检查 Conda 是否安装成功:


conda --version





步骤 2:创建虚拟环境


虚拟环境是一种隔离的 Python 环境,可以为每个项目单独管理依赖,避免版本冲突。以下是使用 Conda 创建虚拟环境的步骤:


创建新环境


在终端中运行以下命令,创建一个名为 ml_env 的虚拟环境,并指定 Python 版本(例如 3.9):




conda create --name ml_env python=3.9




激活虚拟环境


创建完成后,使用以下命令激活虚拟环境:




conda activate ml_env


激活后,终端的提示符前会显示环境名称,例如 (ml_env)。


安装必要的库


在虚拟环境中,你可以根据需要安装所需的库。例如,安装 NumPy 和 Pandas:




conda install numpy pandas


退出虚拟环境


如果需要退出当前环境,可以运行以下命令:




conda deactivate




步骤 3:选择并配置 IDE


为了更高效地编写和调试代码,建议选择一个合适的集成开发环境(IDE)。以下是几种常用的 Python IDE 及其配置方法:


1. Jupyter Notebook


Jupyter Notebook 是一个交互式的开发工具,特别适合数据分析和机器学习任务。它允许你以单元格的形式运行代码,并实时查看结果。


启动 Jupyter Notebook


在终端中运行以下命令:




jupyter notebook


这会在浏览器中打开 Jupyter Notebook 界面。


优点


支持 Markdown 文档和代码混合编写。


实时可视化数据和图表。


非常适合教学和实验性项目。


2. Visual Studio Code (VS Code)


VS Code 是一款轻量级但功能强大的代码编辑器,支持多种编程语言和插件。


安装 VS Code


从 VS Code官网 下载并安装。


安装 Python 插件


打开 VS Code,点击左侧扩展图标,搜索并安装“Python”插件。


配置虚拟环境


在 VS Code 中打开项目文件夹,按下 Ctrl+Shift+P(或 Cmd+Shift+P),输入 Python: Select Interpreter,选择刚刚创建的虚拟环境路径(如 ml_env)。


3. PyCharm


PyCharm 是一款专为 Python 开发设计的 IDE,提供了强大的调试和项目管理功能。


安装 PyCharm


从 PyCharm官网 下载并安装社区版(免费)或专业版(付费)。


配置虚拟环境


打开 PyCharm,创建新项目时选择“Existing Interpreter”,并指向 Conda 创建的虚拟环境路径。


图片


步骤 4:验证开发环境


完成上述步骤后,可以通过以下方式验证开发环境是否正常工作:


运行简单的 Python 脚本


在终端中运行以下命令,检查 Python 是否正常工作:




python --version


测试安装的库


在 Python 解释器中导入已安装的库,例如






import numpyprint(numpy.__version__)


运行 Jupyter Notebook 示例


在 Jupyter Notebook 中创建一个新的 Notebook 文件,运行以下代码








import matplotlib.pyplot as pltplt.plot([1, 2, 3], [4, 5, 6])plt.show()


1.3 编写第一个Python程序


下面以鸢尾花分类为例,利用神经网络搭建第一个python程序


























































































































# 导入必要的库import numpy as npimport matplotlib.pyplot as pltfrom sklearn.datasets import load_irisfrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import StandardScalerfrom sklearn.neural_network import MLPClassifierfrom sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay, accuracy_score

# 1. 加载鸢尾花数据集iris = load_iris()X = iris.data  # 特征 (150, 4)y = iris.target  # 标签 (150,)

# 2. 数据预处理# 标准化特征scaler = StandardScaler()X = scaler.fit_transform(X)

# 划分训练集和测试集X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 3. 构建神经网络模型mlp = MLPClassifier(    hidden_layer_sizes=(10, 10),  # 两个隐藏层,每层 10 个神经元    activation='relu',            # 激活函数为 ReLU    solver='adam',                # 使用 Adam 优化器    max_iter=1,                   # 设置为 1,因为我们使用 partial_fit 手动控制训练    warm_start=True,              # 允许增量训练    random_state=42               # 随机种子)

# 4. 训练模型并记录损失与准确率epochs = 1000train_loss_list, test_loss_list = [], []train_acc_list, test_acc_list = [], []

for epoch in range(epochs):    mlp.partial_fit(X_train, y_train, classes=np.unique(y))  # 增量训练

    # 记录训练集的损失和准确率    train_loss = mlp.loss_    train_pred = mlp.predict(X_train)    train_accuracy = accuracy_score(y_train, train_pred)    train_loss_list.append(train_loss)    train_acc_list.append(train_accuracy)

    # 测试集评估    y_pred_proba = mlp.predict_proba(X_test)  # 获取预测概率    test_loss = -np.mean(np.log(y_pred_proba[np.arange(len(y_test)), y_test]))  # 手动计算交叉熵损失    y_pred = mlp.predict(X_test)    test_accuracy = accuracy_score(y_test, y_pred)    test_loss_list.append(test_loss)    test_acc_list.append(test_accuracy)

    if (epoch + 1) % 20 == 0:        print(f"Epoch [{epoch+1}/{epochs}], Train Loss: {train_loss:.4f}, Train Acc: {train_accuracy:.4f}, "              f"Test Loss: {test_loss:.4f}, Test Acc: {test_accuracy:.4f}")


# 5. 绘制训练集和测试集的损失与准确率曲线plt.figure(figsize=(12, 9))

# 绘制损失曲线plt.subplot(2, 2, 1)plt.plot(train_loss_list, label='Train Loss')plt.plot(test_loss_list, label='Test Loss')plt.title('Loss Curve')plt.xlabel('Epochs')plt.ylabel('Loss')plt.legend()

# 绘制准确率曲线plt.subplot(2, 2, 2)plt.plot(train_acc_list, label='Train Accuracy')plt.plot(test_acc_list, label='Test Accuracy')plt.title('Accuracy Curve')plt.xlabel('Epochs')plt.ylabel('Accuracy')plt.legend()


plt.show()


# 绘制混淆矩阵cm = confusion_matrix(y_test, y_pred)disp = ConfusionMatrixDisplay(confusion_matrix=cm, display_labels=iris.target_names)disp.plot(cmap=plt.cm.Blues)plt.title("Confusion Matrix")


plt.show()


1.png


在线咨询

点击这里给我发消息售前咨询专员

点击这里给我发消息售后服务专员

在线咨询

免费通话

24h咨询:18221674630


如您有问题,可以咨询我们的24H咨询电话!

免费通话

微信扫一扫

微信联系
返回顶部