简介
Evidently AI 是一款专为监控生产中的机器学习(ML)模型而设计的工具。它侧重于分析和诊断这些模型随时间变化的性能,提供对数据漂移、模型性能和概念漂移等各个方面的见解。Evidently AI 的目的是帮助数据科学家和 ML 工程师轻松识别和了解模型部署后可能出现的任何问题,确保模型在现实世界中继续发挥预期性能。
特点和能力
显而易见,人工智能提供了一系列功能,使其成为 ML 生命周期中的宝贵资产:
在人工智能生态系统中的重要性
通过解决机器学习模型的一个关键方面:部署后监控,人工智能显然在人工智能生态系统中发挥着至关重要的作用。虽然人工智能开发的重点在于模型的训练和验证,但模型在现实世界中的表现会因数据环境的变化而不同。显而易见,人工智能可确保模型长期保持准确可靠,这对于金融、医疗保健和电子商务等行业的应用至关重要,因为在这些行业中,基于模型预测的决策可能会产生重大影响。
对人工智能发展的影响
Evidently AI 的影响不仅限于监控。它通过以下方式为开发更强大的人工智能系统做出贡献:
代码
为了演示如何通过合成数据集使用 Evidently AI,包括生成指标和图表,让我们创建一个简单的示例。该示例包括创建一个合成数据集,训练一个模型,然后使用 Evidently 分析模型的性能和数据漂移。
首先,确保你已安装 Evidently。如果没有,可以使用 pip 安装:
pip install evidently
让我们将其放入代码中:
import numpy as np
import pandas as pd
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
from evidently.dashboard import Dashboard
from evidently.dashboard.tabs import ClassificationPerformanceTab, DataDriftTab
from evidently.model_profile import Profile
from evidently.model_profile.sections import DataDriftProfileSection, ClassificationPerformanceProfileSection
# Step 1: Create a synthetic dataset
X, y = make_classification(n_samples=1000, n_features=20, n_informative=2, n_redundant=10, random_state=42)
data = pd.DataFrame(X, columns=[f'feature_{i}' for i in range(X.shape[1])])
data['target'] = y
# Split into train and test sets
X_train, X_test, y_train, y_test = train_test_split(data.drop('target', axis=1), data['target'], test_size=0.25, random_state=42)
# Step 2: Train a model
model = LogisticRegression(max_iter=1000)
model.fit(X_train, y_train)
# Predict on the test set
predictions = model.predict(X_test)
# Calculate accuracy
accuracy = accuracy_score(y_test, predictions)
print(f'Model Accuracy: {accuracy}')
# Step 3: Use Evidently to analyze model performance and data drift
# Combine predictions with the test set for Evidently analysis
test_data_with_predictions = X_test.copy()
test_data_with_predictions['target'] = y_test
test_data_with_predictions['prediction'] = predictions
# Generate reference (training) and current (test) datasets as Pandas dataframes
reference_data = pd.concat([X_train, y_train], axis=1)
current_data = test_data_with_predictions
# Generate Evidently Profile
profile = Profile(sections=[DataDriftProfileSection(), ClassificationPerformanceProfileSection()])
profile.calculate(reference_data, current_data, column_mapping=None)
# Generate and save Evidently dashboard report
report = Dashboard(tabs=[DataDriftTab(), ClassificationPerformanceTab()])
report.calculate(reference_data, current_data, column_mapping=None)
report.save('evidently_report.html')
该代码的功能如下:
请确保你的环境中已安装 Evidently 和其他所需库函数(如 pandas、sklearn 等),以便运行此代码。
结论
Evidently AI 代表了人工智能领域的重大进步,特别是解决了与 ML 模型部署后阶段相关的挑战。通过提供全面监控和分析工具,Evidently AI 使企业能够满怀信心地部署人工智能解决方案,因为他们知道,面对不断变化的现实条件,这些解决方案能够保持高性能和可靠性。随着人工智能不断发展并扩展到各个领域,Evidently AI 等监控工具在确保负责任地有效使用这些技术方面的作用将变得越来越关键。