第一部分:人工智能编程的基础
1.1 理解人工智能是什么
人工智能是通过模拟人类的智能行为来完成任务的一种技术。我们可以通过机器学习、深度学习等技术来实现人工智能。接下来,我们开始用Python实现基本的AI任务。
# Anaconda
# 你可以选择Jupyter Notebook
1.3 必备库安装
pip install numpy pandas matplotlib scikit-learn tensorflow pytorch
第二部分:深入了解机器学习
2.1 监督学习 vs 无监督学习监督学习示例:线性回归
线性回归是监督学习的一种简单算法。它的目的是通过学习训练数据的关系,预测连续值。
步骤1:导入库和准备数据
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.datasets import make_regression
# 创建一个回归数据集
X, y = make_regression(n_samples=100, n_features=1, noise=20, random_state=42)
# 将数据分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 可视化数据
plt.scatter(X, y)
plt.title('Generated Data')
plt.xlabel('X')
plt.ylabel('y')
plt.show()
步骤2:训练模型
# 创建线性回归模型
model = LinearRegression()
# 训练模型
model.fit(X_train, y_train)
# 预测
y_pred = model.predict(X_test)
# 可视化预测结果
plt.scatter(X_test, y_test, color='blue', label='True values')
plt.scatter(X_test, y_pred, color='red', label='Predicted values')
plt.title('Linear Regression Prediction')
plt.xlabel('X')
plt.ylabel('y')
plt.legend()
plt.show()
2.2 无监督学习示例:K-means聚类
K-means聚类是一种无监督学习算法,适用于数据的自动分组。
步骤1:导入库和准备数据
from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
# 创建一个聚类数据集
X, _ = make_blobs(n_samples=300, centers=4, cluster_std=0.60, random_state=0)
# 可视化数据
plt.scatter(X[:, 0], X[:, 1], s=30, cmap='viridis')
plt.title('Generated Clustering Data')
plt.show()
步骤2:应用K-means算法
# 使用K-means进行聚类
kmeans = KMeans(n_clusters=4)
kmeans.fit(X)
# 获取聚类结果
y_kmeans = kmeans.predict(X)
# 可视化聚类结果
plt.scatter(X[:, 0], X[:, 1], c=y_kmeans, s=30, cmap='viridis')
centers = kmeans.cluster_centers_
plt.scatter(centers[:, 0], centers[:, 1], c='red', s=200, alpha=0.75, marker='X')
plt.title('K-means Clustering')
plt.show()
2.3 模型评估
在训练完机器学习模型后,评估其性能非常重要。
步骤1:评估线性回归模型
from sklearn.metrics import mean_squared_error, r2_score
# 计算均方误差
mse = mean_squared_error(y_test, y_pred)
print(f'Mean Squared Error: {mse}')
# 计算R²得分
r2 = r2_score(y_test, y_pred)
print(f'R² Score: {r2}')
未完持续更新中 娱梦
领取专属 10元无门槛券
私享最新 技术干货