Python中的向量机模型可以应用于分类和回归问题。以下是如何在Python中使用SVM模型进行分类的示例:
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn import svm
# 加载鸢尾花数据集
iris = datasets.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)
# 创建并训练SVM分类器
clf = svm.SVC(kernel='linear')
clf.fit(X_train, y_train)
# 预测测试数据集的标签
y_pred = clf.predict(X_test)
# 输出性能指标
from sklearn.metrics import accuracy_score
print("Accuracy score: ", accuracy_score(y_test, y_pred))
上述示例中,我们使用了sklearn自带的鸢尾花数据集,并使用80%的数据进行训练集和20%的数据进行测试集,创建了一个线性SVM分类器,并使用训练集训练了该分类器。然后我们使用测试集来预测数据点的标签,并输出了精度分数。
如果要应用SVM模型进行回归问题,可以使用sklearn的SVR类。以下是关于如何使用SVM进行回归问题的示例:
python
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn import svm
# 加载糖尿病数据集
diabetes = datasets.load_diabetes()
X = diabetes.data
y = diabetes.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建并训练SVM回归器
reg = svm.SVR(kernel='linear')
reg.fit(X_train, y_train)
# 预测测试数据集的标签
y_pred = reg.predict(X_test)
# 输出性能指标
from sklearn.metrics import mean_squared_error
print("Mean squared error: ", mean_squared_error(y_test, y_pred))
在上述示例中,我们使用sklearn自带的糖尿病数据集,并使用80%的数据进行训练集和20%的数据进行测试集,创建了一个线性SVM回归器,并使用训练集训练了该回归器。然后我们使用测试集来预测数据点的标签,并输出了均方误差。