0

我正在尝试使用 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

有人可以帮忙解决这个问题吗?

4

0 回答 0