sklearn.svm.SVC使用的例子
时间: 2024-02-05 16:37:55 浏览: 23
下面是一个使用sklearn.svm.SVC的例子:
```python
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
# 加载鸢尾花数据集
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.3, random_state=42)
# 创建SVM模型
svm_model = SVC(kernel='linear', C=1, gamma='auto')
# 训练模型
svm_model.fit(X_train, y_train)
# 预测
y_pred = svm_model.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print('准确率:', accuracy)
```
以上代码加载了鸢尾花数据集,将数据集划分为训练集和测试集,创建了一个使用线性核函数的SVM模型,并在训练集上训练模型。然后,预测测试集并计算准确率。
相关问题
AttributeError: module 'sklearn.svm' has no attribute 'score'
这个错误通常是因为你正在尝试使用一个不存在的属性或方法。在这种情况下,你正在尝试使用'score'属性,但是'sklearn.svm'模块中没有这个属性。这可能是因为你导入的模块不正确或版本不兼容。你可以尝试检查你的代码中是否正确导入了'sklearn.svm'模块,并且该模块是否包含'score'属性。
如果你确定你的代码正确导入了'sklearn.svm'模块并且该模块包含'score'属性,那么你可能需要检查你的sklearn版本是否正确。你可以尝试更新sklearn版本或者降低版本以解决这个问题。
以下是一个例子,展示了如何使用SVC模型的score方法来计算模型的准确率:
```python
from sklearn import svm, datasets
iris = datasets.load_iris()
X = iris.data[:, :2]
y = iris.target
# 创建SVC模型
clf = svm.SVC(kernel='linear', C=1, random_state=42)
# 训练模型
clf.fit(X, y)
# 使用score方法计算模型准确率
accuracy = clf.score(X, y)
print("Model accuracy:", accuracy)
```
给出完整的sklearn.svm的训练、保存模型,加载使用模型的例子
好的,下面是一个完整的sklearn.svm训练、保存模型和加载使用模型的例子:
```python
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
import joblib
# 加载数据集
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.3, random_state=42)
# 训练模型
model = SVC(kernel='linear', C=1, probability=True)
model.fit(X_train, y_train)
# 评估模型
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
# 保存模型
filename = 'svm_model.joblib'
joblib.dump(model, filename)
# 加载模型并使用
loaded_model = joblib.load(filename)
result = loaded_model.predict([[5.1, 3.5, 1.4, 0.2]])
print("Predicted class:", result)
```
这个例子中,我们加载了经典的鸢尾花数据集,将其划分成训练集和测试集,使用SVC(支持向量机)模型进行训练,并评估其准确率。然后,我们使用joblib库保存了模型,并通过joblib.load()函数加载了模型并进行了预测。
注意:该例子中使用的是线性核函数和C=1的参数,仅作示例之用,实际使用中需要根据数据集的情况进行调整。