首页 > 编程语言 >(三)人工智能之Python入门

(三)人工智能之Python入门

时间:2024-07-22 18:01:29浏览次数:15  
标签:plt 入门 Python 模型 人工智能 test 线性 print

目录

(一)环境准备

1.1、安装 Python

1.2、pycharm安装

(二)python基础知识

2.1、变量和数据类型

2.2、列表

2.3、字典

2.4、元组

2.5、循环和条件语句

2.6、函数

(三)python入门实例 

3.1、线性回归任务

3.2、线性回归的基本概念

1、自变量和因变量:

2、线性关系:

3、目标

4、线性回归示例

(四)总结

引言

Python 是一门简单易学、功能强大的编程语言,广泛应用于人工智能(AI)领域。由于其丰富的库和社区支持,Python 成为 AI 开发者的首选语言。本章节将带你从基础开始,逐步了解如何使用 Python 进行 AI 开发。

(一)环境准备

1.1、安装 Python


首先,需要在电脑上安装 Python。推荐使用 Python 3.x 版本。可以从官方网站Download Python | Python.org 下载适合你操作系统的版本,并按照提示进行安装。

安装完成后可进行cmd命令验证:

1.2、pycharm安装

本文使用pycharm工具,进行代码编译运行,安装可参考网上教程,不再做详细介绍

(二)python基础知识

2.1、变量和数据类型

  变量就像装数据的小盒子,不同类型的数据可以放进不同的小盒子里

x = 5          # 整数
y = 3.14       # 浮点数
name = "AI"    # 字符串
is_valid = True # 布尔值

2.2、列表

  列表是可以装多种数据的“超级盒子”,你可以把很多值放在一个列表里。

fruits = ["apple", "banana"]
print(fruits[1])  # 输出 "banana"

2.3、字典

  字典是带标签的盒子,每个值都有一个独特的标签(键)

person = {"name": "Alice", "age": 25}
print(person["name"])  # 输出 "Alice"

2.4、元组

元组与列表类似,但它们是不可变的,创建后就不能修改。

# 创建一个简单的元组
my_tuple = (1, 2, 3)
print(my_tuple)  # 输出: (1, 2, 3)

# 创建一个混合类型的元组
another_tuple = ("apple", 2.5, True)
print(another_tuple)  # 输出: ('apple', 2.5, True)

print(my_tuple[0])  # 输出: 1
print(another_tuple[1])  # 输出: 2.5

2.5、循环和条件语句

for循环:

#1、基础使用
for letter in 'abcdef':  # 遍历字符串 'abcdef'
    print("字母: %s" % letter)  # 每次循环打印一个字母

fruits = ['banana', 'apple']  # 创建一个包含两种水果的列表
for fruit in fruits:  # 遍历列表 'fruits'
    print('水果: %s' % fruit)  # 每次循环打印一个水果

#2.通过序列索引迭代
fruits = ['香蕉', '苹果', '西瓜']  # 创建一个包含三种水果的列表

for index in range(len(fruits)):  # 使用 'range' 和 'len' 函数生成索引序列
    print('水果 : %s' % fruits[index])  # 使用索引访问并打印列表中的每个水果

if条件

if x > 4:
    print("x is greater than 4")
else:
    print("x is not greater than 4")

2.6、函数

函数就像一个超级厨师,输入原料(参数),输出美味(返回值):

def greet(name):
    return "Hello, " + name

print(greet("AI"))  # 输出 "Hello, AI"

(三)python入门实例 

本小结使用上篇文章提到的Scikit-learn库进行一个简单的python机器学习任务实例演示:线性回归

3.1、线性回归任务

线性回归是一种用于找出两个变量之间关系的基本方法。想象一下,我们有一组数据,显示的是学习时间和考试成绩之间的关系。我们的目标是找到一种方法,可以根据学习时间预测考试成绩。

3.2、线性回归的基本概念


1、自变量和因变量:

自变量(x):你用来预测的变量,比如学习时间。
因变量(y):你想预测的变量,比如考试成绩。

2、线性关系:

线性回归假设自变量和因变量之间有线性关系,可以用一条直线来描述。

数学公式:y=mx+b

y 是输出考试成绩
x 是输入学习时间
m 是斜率,表示输入对结果的影响程度
b 是截距,表示没有学习时的考试成绩


3、目标

找到最佳的 m 和 b 值,使得预测值和实际值之间的误差最小。

4、线性回归示例

import numpy as np  # 导入numpy库,用于处理数组
from sklearn.model_selection import train_test_split  # 导入sklearn库中的train_test_split模块,用于分割数据
from sklearn.linear_model import LinearRegression  # 导入sklearn库中的LinearRegression模块,用于创建线性回归模型
from sklearn.metrics import mean_squared_error  # 导入sklearn库中的mean_squared_error模块,用于评估模型
import matplotlib.pyplot as plt
# 示例数据:学习时间和考试成绩
#在机器学习中,输入数据通常是二维数组,即矩阵格式。这是因为大多数机器学习库(如Scikit-learn)期望输入数据具有特定的形状,以便进行批量处理
x= np.array([[1], [2], [3], [4], [5]])  # 学习时间,作为自变量
y = np.array([2, 4, 6, 8, 10])  # 考试成绩,作为因变量
# 分割数据为训练集和测试集
# train_test_split函数用于将数据随机分为训练集和测试集,test_size=0.2表示20%的数据用作测试集
#random_state是确保每次运行时分割结果相同
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=42)
# 创建线性回归模型
model = LinearRegression()  # 实例化LinearRegression类,创建线性回归模型
model.fit(x_train, y_train)  # 使用训练集数据拟合模型
# 进行预测
y_pred = model.predict(x_test)  # 使用测试集数据进行预测
# 评估模型
mse = mean_squared_error(y_test, y_pred)  # 计算均方误差(Mean Squared Error, MSE)
print("Mean Squared Error:", mse)  # 输出均方误差
# 可视化
plt.scatter(x, y, color='blue', label='数据点')  # 绘制原始数据点,蓝色
plt.plot(x, model.predict(x), color='red', linewidth=2, label='回归线')  # 绘制回归线,红色
plt.title('线性回归模型')  # 图形标题
plt.xlabel('学习时间')  # x轴标签
plt.ylabel('考试成绩')  # y轴标签
plt.legend()  # 显示图例
plt.grid(True)  # 显示网格
plt.show()  # 显示图形

模型生成步骤:

示例数据:

学习时间(x)和考试成绩(y)
分割数据:

将数据分割为训练集(80%)和测试集(20%)。

模型可以在训练集上学习,并在测试集上进行测试。
创建模型:

创建并训练线性回归模型。
进行预测:

使用测试集进行预测。
评估模型:

使用均方误差(Mean Squared Error, MSE)评估模型的性能,这个值能了解模型的预测效果如何。MSE 越小,模型越好。

结果分析:

图形展示了学习时间和考试成绩的关系:蓝色点表示实际的数据,红色直线表示根据这些数据训练出来的预测模型。

(四)总结

本章节涵盖了Python在人工智能开发中的基础知识和应用实例。通过学习这些内容,可进一步深入了解人工智能。

标签:plt,入门,Python,模型,人工智能,test,线性,print
From: https://blog.csdn.net/weixin_45757872/article/details/140294552

相关文章

  • python 风云4号云顶温度处理
    根据网上的一些关于风云4号卫星的数据处理方法与本人自己的修改风云4号卫星云顶温度出图代码如下:对于色斑的选择下一步还需要继续修改和精进#!usr/bin/envpython#-*-coding:utf-8-*-"""@author:Suyue@file:CTT_map.py@time:2024/06/26@desc:"""importnumpyas......
  • 在 Jupyter Notebook 中使用Python虚拟环境
    在JupyterNotebook和Python中使用虚拟环境目录使用Virtualenv/venv创建虚拟环境使用Anaconda创建虚拟环境将虚拟环境添加到JupyterNotebook从JupyterNotebook中删除虚拟环境 在我们开始之前,什么是虚拟环境?为什么需要它?虚拟环境是Python的一个独立工作......
  • python面向对象三大特性(继承、多态、封装)之继承
    来吧,下面来具体说一下面向对象的三大特性:所谓封装、多态和继承。我们先来说一下继承。所谓继承,顾名思义,子类继承父类的属性,包括数据属性和函数属性。写个简单的例子吧:1.简单的继承classAnimal:need_substance='water'def__init__(self):print('这是一......
  • 7月22号python 每日一题
    7月22号python每日一题LCR121.寻找目标值-二维数组难度:中等m*n的二维数组plants记录了园林景观的植物排布情况,具有以下特性:每行中,每棵植物的右侧相邻植物不矮于该植物;每列中,每棵植物的下侧相邻植物不矮于该植物。请判断plants中是否存在目标高度值target。示......
  • Python文件夹与文件逐级移动
    importosimportshutildefmove_items(src_path,dest_path):  #列出源路径下的所有项  items=os.listdir(src_path)  foritem_nameinitems:    src_item=os.path.join(src_path,item_name)    #构造目标路径    dest_i......
  • python解释器源码函数调用分析
    1、编译python代码1.1python代码test.py1defftest():2x=33ftest()1.2编译工具disass_py.py#-*-coding:utf8-*-importdisimportsysdefdisassemble_file(file_path):withopen(file_path,'r')asfile:source_code=file.read()......
  • python学习笔记——基础数据类型
    一、python赋初值         1.Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。    2.在Python中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。    3.等号(=)用来给变量赋值。 ......
  • Python数据可视化常用的库
    Python中的数据可视化是指使用图形和图表来展示数据,以便更直观地理解和分析数据。数据可视化的目的是将复杂的数据转化为容易理解的视觉形式,从而帮助发现数据中的模式、趋势和异常情况。以下是数据可视化的一些主要用途:探索性数据分析:帮助理解数据分布和结构识别数据中的......
  • Pandas入门
    Pandas入门1.读取和写入数据①read_csv():从CSV文件读取数据到DataFrame。 importpandasaspd读取文件名为"data.csv'的数据df=pd.read_csv('data.csv') ②read_excel():从Excel文件读取数据。 假设有一个文件名为1data.xlsxdf=pd.read_excel('data.xlsx') ......
  • 张高兴的 MicroPython 入门指南:(三)使用串口通信
    目录什么是串口使用方法使用板载串口相互通信硬件需求电路代码使用板载的USB串口参考什么是串口串口是串行接口的简称,这是一个非常大的概念,在嵌入式中串口通常指UART(UniversalAsynchronousReceiver/Transmitter,通用异步收发器)。使用串口进行的通信叫做串行通信,与之相对的一......