Python中如何进行机器学习和人工智能开发?代码举例讲解

Python提供了丰富的机器学习和人工智能库,主要有:

1. scikit-learn:

  • scikit-learn是Python中最流行的机器学习库。
  • 它支持分类.回归.聚类.降维.模型选择和预处理等机器学习算法。
  • 用法:
from sklearn.linear_model import LogisticRegression
from sklearn.cluster import KMeans
from sklearn.decomposition import PCA
from sklearn.model_selection import train_test_split

# 逻辑回归分类
lr = LogisticRegression()
lr.fit(X_train, y_train)
y_pred = lr.predict(X_test)

# K-均值聚类
kmeans = KMeans(n_clusters=3)  
kmeans.fit(X)   

# PCA降维  
pca = PCA(n_components=0.95)  
pca.fit(X)

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

2. TensorFlow和Keras:

  • TensorFlow和Keras是Google开发的人工智能库。
  • 可以用来开发深度学习和神经网络模型。
  • TensorFlow提供完整的机器学习算法工具箱。
  • Keras是TensorFlow上更高层的API,更易用。
  • 用法:
import tensorflow as tf
from tensorflow import keras

# 构建 tf.keras深度学习模型
model = keras.Sequential([
    keras.layers.Dense(32, activation=tf.nn.relu),
    keras.layers.Dense(10, activation=tf.nn.softmax)
])

# 编译模型 
model.compile(optimizer=tf.train.AdamOptimizer(), 
             loss='sparse_categorical_crossentropy',
             metrics=['accuracy'])

# 训练模型 
model.fit(x_train, y_train, epochs=5)  

# 评估模型
model.evaluate(x_test, y_test)

3. PyTorch:

  • PyTorch是Facebook开发的人工智能库。
  • 它主要用于深度学习和计算机视觉。
  • PyTorch提供更加灵活的神经网络构建方式。
  • 用法:
import torch 
import torch.nn as nn
import torch.optim as optim

# 构建PyTorch模型
model = nn.Sequential(
    nn.Linear(in_features=64, out_features=10),
    nn.Softmax(dim=1)  
)

# 定义loss和optimizer 
loss_fn = nn.CrossEntropyLoss()  
optimizer = optim.Adam(model.parameters(), lr=0.01)

# 训练模型
for epoch in range(10):
    output = model(input)
    loss = loss_fn(output, target)
    loss.backward()   
    optimizer.step()    # 更新权重
    optimizer.zero_grad()   # 清零梯度