目录
引言
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 是输出考试成绩
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