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() # 清零梯度