我正在尝试使用 OneClassSVM 检测数据集的异常值,我的代码如下
from sklearn.svm import OneClassSVM
import pandas as pd
input_file = "training.csv"
training_data = pd.read_csv(input_file)
X = training_data[['header1', 'header2', 'header3']].values
model = OneClassSVM(gamma='auto').fit(X)
但我收到以下错误:
> Traceback (most recent call last): File
> "C:/Users/user1/PycharmProjects/sv/main.py", line 13, in <module>
> model = svm.OneClassSVM(gamma='auto').fit(X) File "C:\Users\user1\PycharmProjects\sv\venv\lib\site-packages\sklearn\svm\_classes.py",
> line 1376, in fit
> super().fit(X, np.ones(_num_samples(X)), File "C:\Users\user1\PycharmProjects\sv\venv\lib\site-packages\sklearn\svm\_base.py",
> line 169, in fit
> X, y = self._validate_data(X, y, dtype=np.float64, File "C:\Users\user1\PycharmProjects\sv\venv\lib\site-packages\sklearn\base.py",
> line 433, in _validate_data
> X, y = check_X_y(X, y, **check_params) File "C:\Users\user1\PycharmProjects\sv\venv\lib\site-packages\sklearn\utils\validation.py",
> line 63, in inner_f
> return f(*args, **kwargs) File "C:\Users\user1\PycharmProjects\sv\venv\lib\site-packages\sklearn\utils\validation.py",
> line 814, in check_X_y
> X = check_array(X, accept_sparse=accept_sparse, File "C:\Users\user1\PycharmProjects\sv\venv\lib\site-packages\sklearn\utils\validation.py",
> line 63, in inner_f
> return f(*args, **kwargs) File "C:\Users\user1\PycharmProjects\sv\venv\lib\site-packages\sklearn\utils\validation.py",
> line 616, in check_array
> array = np.asarray(array, order=order, dtype=dtype) File "C:\Users\user1\PycharmProjects\sv\venv\lib\site-packages\numpy\core\_asarray.py",
> line 102, in asarray
> return array(a, dtype, copy=False, order=order) ValueError: could not convert string to float: 'SDS'
>
> Process finished with exit code 1
有人可以帮忙解决这个问题吗?