以下是一个简单的Scikit-Learn入门示例,该示例使用鸢尾花(Iris)数据集来演示分类问题的基本步骤。这个数据集包含了150个样本,每个样本有四个特征(花萼长度、花萼宽度、花瓣长度、花瓣宽度),以及一个目标变量(花的种类,分为山鸢尾、杂色鸢尾和维吉尼亚鸢尾)。
python
# 导入必要的库
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
# 加载鸢尾花数据集
iris = load_iris()
X = iris.data # 特征数据
y = iris.target # 目标变量(花的种类)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 数据预处理(可选步骤,这里使用特征缩放)
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
# 选择并训练模型(这里使用支持向量机SVM)
model = SVC(kernel='linear', C=1, random_state=42)
model.fit(X_train_scaled, y_train)
# 预测测试集结果
y_pred = model.predict(X_test_scaled)
# 评估模型性能
accuracy = accuracy_score(y_test, y_pred)
print(f'Model accuracy: {accuracy}')
在这个示例中,我们首先导入了必要的库,然后加载了鸢尾花数据集。接着,我们使用train_test_split
函数将数据集划分为训练集和测试集。然后,我们选择了一个数据预处理方法(特征缩放),并用它处理了训练集和测试集的特征。之后,我们选择了支持向量机(SVM)作为分类器,并使用训练集数据训练了模型。最后,我们用模型对测试集进行了预测,并计算了模型的准确率。