Python 机器学习 基础 之 学习 基础环境搭建

时间:2024-05-01 17:30:24

Python 机器学习 基础 之 学习 基础环境搭建

目录

Python 机器学习 基础 之 学习 基础环境搭建

一、简单介绍

二、什么是机器学习

三、python 环境的搭建

1、Python 安装包下载

2、这里以 下载 Python 3.10.9 为例

3、安装 Python 3.10.9

4、检验 python 是否安装成功,win + R  快捷打开 运行,输入 cmd ,打开 cmd

四、Pycharm 环境搭建

1、下载 Pycharm 安装包

2、安装 Pycharm

3、打开 Pycharm

4、Pycharm 的简单使用

一些必要的库安装

一、Numpy的安装

二、SciPy 的安装

三、Matplotlib 的安装

四、scikit-learn 的安装

五、pandas 的安装

六、ipython 的安装


一、简单介绍

Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。Python是一种解释型脚本语言,可以应用于以下领域: Web 和 Internet开发、科学计算和统计、人工智能、教育、桌面界面开发、软件开发、后端开发、网络爬虫。

Python 机器学习是利用 Python 编程语言中的各种工具和库来实现机器学习算法和技术的过程。Python 是一种功能强大且易于学习和使用的编程语言,因此成为了机器学习领域的首选语言之一。Python 提供了丰富的机器学习库,如Scikit-learn、TensorFlow、Keras、PyTorch等,这些库包含了许多常用的机器学习算法和深度学习框架,使得开发者能够快速实现、测试和部署各种机器学习模型。

Python 机器学习涵盖了许多任务和技术,包括但不限于:

  1. 监督学习:包括分类、回归等任务。
  2. 无监督学习:如聚类、降维等。
  3. 半监督学习:结合了有监督和无监督学习的技术。
  4. 强化学习:通过与环境的交互学习来优化决策策略。
  5. 深度学习:利用深度神经网络进行学习和预测。

通过 Python 进行机器学习,开发者可以利用其丰富的工具和库来处理数据、构建模型、评估模型性能,并将模型部署到实际应用中。Python 的易用性和庞大的社区支持使得机器学习在各个领域都得到了广泛的应用和发展。

二、什么是机器学习

机器学习 是一种人工智能(AI)的分支领域,致力于让计算机系统通过从数据中学习模式和规律,从而改善其性能。传统的程序需要人类程序员明确编写规则和指令来解决特定问题,而机器学习则是通过让计算机系统自动从数据中学习这些规律和模式,从而使系统能够在面对新数据时进行预测、决策或者发现隐藏的结构。

机器学习的基本原理是通过算法让计算机从数据中学习,进而构建模型来描述数据中的模式和规律。这些模型可以用来进行预测、分类、聚类、降维等各种任务。机器学习算法可以分为监督学习、无监督学习、半监督学习和强化学习等几类,每种类型的算法都有不同的应用场景和方法。

机器学习的应用非常广泛,包括但不限于:

  1. 语音识别和自然语言处理:如语音助手、机器翻译等。
  2. 图像识别和计算机视觉:如人脸识别、图像分类等。
  3. 推荐系统:如电商平台的个性化推荐、视频网站的内容推荐等。
  4. 医疗诊断:如基于医学影像数据的疾病诊断、基因序列分析等。
  5. 金融领域:如信用评分、风险管理等。

随着数据量的增加和计算能力的提升,机器学习在各个领域的应用也越来越广泛,对人类社会的发展产生了深远的影响。

基础环境

  • 开发系统:Windows 10
  • 开发语言:Python
  • IDE 编译器:Pycharm

三、python 环境的搭建

1、Python 安装包下载

下载地址 :Download Python | Python.org,选择单击你需要的版本下载安装即可

2、这里以 下载 Python 3.10.9 为例

1)单击 Download ,跳转下载界面,

2)下拉页面选择对应安装包,点击下载

具体如下图

3、安装 Python 3.10.9

1)双击 安装包,打开安装界面,根据需要选择自定义安装,还是立即安装

2)这里选择自定义安装,选择自己需要安装的路径,避免占用 C 盘过多的空间,建议勾选

Add python.exe to PATH ,添加到环境中,方便以后再 cmd 中直接执行 python

3)依次如图操作,最后安装即可

4、检验 python 是否安装成功,win + R  快捷打开 运行,输入 cmd ,打开 cmd

1)由于之前安装 python 的时候把 python.exe 添加到环境变量中

2)所以,输入 python ,即可看到 python 相关信息,并进入 python 状态

3)可以在次状态编写 ptyhon 代码

4)输入 quit() ,退出当前环境

具体如下

 5、创建一个虚拟环境

1)在 cmd 中 python -m venv MachineLearningProject

2)输入 workon MachineLearningProject 激活进入虚拟环境

3)输入 pip list ,可以查看环境中安装的包

4)输入 deactivate 退出虚拟环境

Python 2.7.X版本和3.X版本的区别

我们来简单了解一下 Python 2.7.X 版本 和 3.X 版本的区别,如下的一些区别可供参考

1)编码

Python 3.X源码文件默认使用UTF-8编码,这就使得以下代码是合法的

    >>> 中国 = 'china'
    >>>print(中国)
    china

2)语法

(1)Python 3.X 去除了<>,全部改用!=。

(2)Python 3.X 去除了``,全部改用repr()。

(3)Python 3.X 关键词加入了as、with、True、False和None。

(4)Python 3.X 整型除法返回浮点数,要得到整型结果,请使用//。

(5)Python 3.X 加入nonlocal语句,使用noclocal x可以直接指派外围(非全局)变量。

(6)Python 3.X 去除了print语句,加入print()函数实现相同的功能。同样的还有exec语句,已经改为exec()函数。

    2.7.X版本和3.X版本的对应如下:
     
    2..7.X: print "The answer is", 2*2
    3.X: print("The answer is", 2*2)
    2.7.X: print x,                  # 使用逗号结尾禁止换行
    3.X: print(x, end=" ")           # 使用空格代替换行

(7)Python 3.X 改变了顺序操作符的行为,例如x<y,当x和y类型不匹配时抛出TypeError,而不是返回随机的bool值。

(8)Python 3.X 输入函数改变了,删除了raw_input,用input代替。

    2.7.X:guess = int(raw_input('Enter an integer : '))        # 读取键盘输入的方法
    3.X:guess = int(input('Enter an integer : '))

3)数据类型

(1)3.X中去除了long类型,现在只有整型——int,但它的行为就像2.7.X版本中的long。

(2)新增了bytes类型,对应于2.7.X版本中的八位串。定义一个bytes字面量的方法如下:

    >>> b = b'china'
    >>> type(b)
    <type 'bytes'>

(3)dict的.keys()、.items和.values()方法返回迭代器,而之前的iterkeys()等函数都被废弃。同时去掉的还有dict.has_key(),替代它的是in。

4)面向对象

(1)引入抽象基类(Abstraact Base Classes,ABCs)。

(2)迭代器的next()方法改名为__next__(),并增加内置函数next(),用以调用迭代器的__next__()方法。

(3)增加了@abstractmethod和@abstractproperty两个decorator,编写抽象方法(属性)更加方便。

5)模块变动

(1)移除了cPickle模块,可以使用pickle模块代替,最终将会获得一个透明高效的模块。

(2)移除了imageop模块。

(3)移除了audiodev、Bastion、bsddb185、exceptions、linuxaudiodev、md5、MimeWriter、mimify、popen2、rexec、sets、sha、stringold、strop、sunaudiodev、timing和xmllib模块。

(4)移除了bsddb模块。

(5)移除了new模块。

(6)os.tmpnam()和os.tmpfile()函数被移动到了tmpfile模块下。

(7)tokenize模块现在使用bytes工作,主要的入口点不再是generate_tokens,而是tokenize.tokenize()。
 

四、Pycharm 环境搭建

1、下载 Pycharm 安装包

1)在百度上搜索 Pycharm download

2)或者下面的 下载地址进行下载 :下载 PyCharm:JetBrains 出品的用于数据科学和 Web 开发的 Python IDE

3)根据自己的需要选择版本(专业版、社区版),基础的学习开发社区版本就好

2、安装 Pycharm

1)双击安装包 .exe ,如果你有老版本,根据需要是否卸载

2)由于 Pycharm 安装较大,建议安装到 C 盘之外的大盘中

3)安装中,根据需要,添加桌面启动图标,其他设置根据需要选取即可

4)接着进行安装,等待安装完成即可

3、打开 Pycharm

1、点击图片打开 Pycharm

2)第一次会提示要求配置,如果有配置可以导入进来,如果没有,可以不导入,如下图

3)查阅条款,勾选接手即可,如下图

4)根据需要选择是否收集信息发送 Pycharm 开发团队,如下图

5)选择 Pycharm 界面风格,如下图

6)新建一个 pyhon 工程

7)选择工程保存的位置,建议不放在 C 盘,并选择Previously configured interpreter(而不是每次新建工程都建立一个虚拟环境,可能较占空间),如下图

8)Interpreter 为 Python 安装的位置的 python.exe,根据自己的安装的位置,添加即可,如下图

4、Pycharm 的简单使用

1)选择新建的工程名,右键新建一个 Python File,如下图

2)然后编写一个,hello world 打印代码,在编辑栏空白处,右键 "Run XXX" 即可,如下图

3)运行后,即可看到运行结果,如下图

一些必要的库安装

一、Numpy的安装

NumPy 是 Python 中用于科学计算和数值操作的一个强大库。它提供了一个多维数组对象(称为 ndarray),以及一系列用于对数组进行操作的函数。NumPy 是许多其他 Python 科学计算库的基础,如 SciPy、Pandas、Matplotlib 等。

NumPy 的主要特点包括:

  1. 多维数组对象(ndarray):NumPy 提供了一个高效的多维数组对象 ndarray,它可以存储同一类型的数据,并且支持高效的数组操作。

  2. 广播功能:NumPy 支持广播(broadcasting),即在不同形状的数组之间进行数学运算时,自动处理形状不匹配的情况,使得计算更加方便。

  3. 数学函数:NumPy 提供了丰富的数学函数,用于对数组进行各种数学操作,如求和、平均值、最大值、最小值等。

  4. 线性代数操作:NumPy 提供了许多线性代数操作,如矩阵乘法、求逆、解线性方程组等,这些操作对于科学计算和机器学习等领域至关重要。

  5. 随机数生成:NumPy 提供了生成随机数的功能,可以用于模拟、随机抽样等应用场景。

由于 NumPy 提供了高效的数组操作和数学函数,因此它在科学计算、数据分析、机器学习等领域被广泛应用。NumPy 的数组操作效率高,因为它是用 C 语言实现的,底层操作经过了优化,同时它也提供了对 C、C++、Fortran 等语言的接口,方便与其他科学计算库进行集成。

1、进入创建的虚拟环境:输入 pip install numpy

二、SciPy 的安装

SciPy 是 Python 中用于科学计算的一个开源库,它建立在 NumPy 的基础之上,提供了许多用于数值计算、优化、统计和信号处理等领域的功能。SciPy 包含了许多高效的数学算法和函数,使得科学计算变得更加简单和高效。

SciPy 的主要特点和功能包括:

  1. 数值积分和微分方程求解:SciPy 提供了用于数值积分和解常微分方程的函数,包括单步法、多步法、龙格-库塔方法等。

  2. 优化:SciPy 提供了用于数值优化的函数,可以求解无约束、约束、非线性、线性等各种类型的优化问题。

  3. 信号处理:SciPy 提供了用于信号处理的函数,包括滤波、傅里叶变换、波形生成等功能。

  4. 统计:SciPy 提供了用于统计分析的函数,包括概率分布、描述统计、假设检验等功能。

  5. 插值和拟合:SciPy 提供了用于数据插值和拟合的函数,可以对数据进行平滑、曲线拟合等操作。

  6. 稀疏矩阵:SciPy 提供了用于处理稀疏矩阵的函数,包括存储、操作、线性代数等功能。

SciPy 是 Python 科学计算生态系统中的一个重要组成部分,它与 NumPy、Matplotlib、Pandas 等库紧密集成,为科学计算、工程计算、数据分析等领域提供了丰富的功能和工具。SciPy 的函数通常都是用 C 或 Fortran 实现的,因此具有较高的执行效率。

1、进入创建的虚拟环境:输入 pip install numpy

三、Matplotlib 的安装

Matplotlib 是 Python 中用于绘制高质量图形的开源库。它提供了一种类似于 MATLAB 绘图接口的方式,使得用户可以轻松地生成各种类型的图表和可视化效果。Matplotlib 能够创建折线图、散点图、柱状图、等高线图、3D 图等各种类型的图形,并支持对图形进行高度自定义。

Matplotlib 的主要特点包括:

  1. 简单易用:Matplotlib 的接口设计简单直观,用户可以使用一系列简单的函数调用来创建和定制图形。

  2. 高质量输出:Matplotlib 能够生成高质量的图形,支持输出到多种格式,包括 PNG、PDF、SVG 等。

  3. 多种图形类型:Matplotlib 支持绘制各种类型的图形,包括线图、散点图、柱状图、等高线图、3D 图等。

  4. 自定义能力强:Matplotlib 允许用户对图形进行高度自定义,包括修改颜色、线型、标签、标题、图例等。

  5. 与 NumPy 和 Pandas 集成:Matplotlib 与 NumPy 和 Pandas 等库紧密集成,可以直接接受这些库中的数据结构进行绘图。

  6. 丰富的文档和社区支持:Matplotlib 拥有丰富的文档和社区支持,用户可以方便地查找文档、教程和示例,解决使用过程中遇到的问题。

Matplotlib 在数据可视化、科学研究、工程绘图等领域被广泛应用,它是 Python 科学计算生态系统中的一个核心组件。同时,Matplotlib 也是许多其他 Python 数据可视化库的基础,如 Seaborn、Plotly 等。

1、进入创建的虚拟环境:输入 pip install matplotlib

四、scikit-learn 的安装

scikit-learn 是一个用于机器学习的 Python 开源库,它建立在 NumPy、SciPy 和 Matplotlib 的基础上,提供了丰富而强大的机器学习算法和工具。scikit-learn 的设计简单、易于使用,同时又具有高度的灵活性和性能。

scikit-learn 的主要特点包括:

  1. 简单易用:scikit-learn 提供了一致的、简洁的 API 设计,使得用户可以轻松地构建、训练和评估机器学习模型。

  2. 丰富的算法库:scikit-learn 包含了大量常用的机器学习算法,包括监督学习、无监督学习、半监督学习和强化学习等领域的算法,如线性回归、支持向量机、随机森林、K 均值聚类等。

  3. 文档和示例丰富:scikit-learn 提供了详细的文档和示例,用户可以轻松地学习如何使用各种算法和工具。

  4. 与 NumPy 和 Pandas 集成:scikit-learn 与 NumPy 和 Pandas 等常用数据处理库集成良好,可以直接接受这些库中的数据结构作为输入,方便进行数据预处理和特征工程。

  5. 模型评估和选择:scikit-learn 提供了丰富的模型评估和选择工具,包括交叉验证、网格搜索、学习曲线等,帮助用户选择最佳的模型和参数。

  6. 可扩展性和性能优化:scikit-learn 具有良好的可扩展性和性能优化,支持并行计算和大规模数据处理。

scikit-learn 在科学研究、工业应用和教育领域得到了广泛的应用,它为用户提供了构建机器学习模型所需的一切工具和算法,是 Python 机器学习领域的一个核心库。

1、进入创建的虚拟环境:输入 pip install scikit-learn

五、pandas 的安装

Pandas 是 Python 中用于数据分析和数据处理的开源库,它提供了丰富而灵活的数据结构和数据操作工具,使得用户可以轻松地进行数据清洗、数据准备、数据分析和数据可视化等工作。

Pandas 的主要数据结构包括:

  1. Series:类似于一维数组的数据结构,由一组数据和与之相关的索引组成。

  2. DataFrame:类似于二维表格的数据结构,由多个 Series 组成,每个 Series 共享同一个索引。

Pandas 提供了丰富的数据操作和处理功能,包括:

  1. 数据读取和写入:Pandas 支持从各种数据源读取数据,如 CSV 文件、Excel 文件、数据库、JSON 文件等,也可以将数据写入到各种格式的文件中。

  2. 数据清洗和处理:Pandas 提供了丰富的数据清洗和处理功能,包括缺失值处理、重复值处理、数据类型转换、数据筛选、数据排序等。

  3. 数据分组和聚合:Pandas 支持对数据进行分组和聚合操作,包括分组统计、分组计算、分组筛选等。

  4. 数据合并和拼接:Pandas 提供了多种方法用于合并和拼接数据,包括纵向拼接、横向拼接、数据库样式的连接等。

  5. 数据透视表和重塑:Pandas 支持生成数据透视表和进行数据重塑操作,方便进行数据分析和可视化。

  6. 时间序列处理:Pandas 提供了丰富的时间序列处理功能,包括日期范围生成、时间序列重采样、移动窗口计算等。

Pandas 是 Python 数据科学生态系统中的一个核心组件,它与 NumPy、Matplotlib、SciPy、scikit-learn 等库紧密集成,为数据科学家、分析师和工程师提供了强大的数据分析和数据处理工具

1、进入创建的虚拟环境:输入 pip install pandas

六、ipython 的安装

IPython 是一个交互式的 Python 解释器,提供了比默认的 Python 解释器更丰富的功能和工具,使得 Python 编程更加方便、灵活和高效。

IPython 的主要特点包括:

  1. 增强的交互式 shell:IPython 提供了一个增强的交互式 shell,比默认的 Python 解释器具有更丰富的功能和工具,如自动补全、语法高亮、历史记录、命令别名、魔术命令等。

  2. 丰富的展示功能:IPython 支持丰富的数据展示功能,可以直接在命令行界面或者 Jupyter Notebook 中展示图像、音频、视频、HTML、LaTeX 公式等内容。

  3. 强大的对象探索功能:IPython 允许用户对 Python 对象进行探索和查看,包括对象的属性、方法、源代码等信息。

  4. 交互式数据分析和可视化:IPython 与 Matplotlib、Pandas、NumPy 等数据科学库紧密集成,可以直接在 IPython 中进行数据分析和可视化操作。

  5. 支持扩展和定制:IPython 支持扩展和定制,用户可以编写自己的 IPython 插件,或者通过自定义配置文件来定制 IPython 的行为和外观。

IPython 是 Python 数据科学生态系统中的一个重要组件,它在数据分析、科学计算、机器学习等领域被广泛应用。IPython 也是 Jupyter Notebook 的前身,Jupyter Notebook 基于 IPython 的基础上进行了扩展,提供了更丰富的交互式计算环境和功能。

1、进入创建的虚拟环境:输入 pip install scikit-learn

所有到的安装包的版本如下