у меня есть набор данных с тремя столбцами, и я пытаюсь построить модель SVM из набора данных, но возникает ошибка в функции подгонки - PullRequest
0 голосов
/ 09 июля 2019

у меня есть набор данных веб-атаки с двумя столбцами и меткой, я хочу применить алгоритм svm, но функция svm.fit () выдает ошибку

Я пытался преобразовать тип x_train из строкиплавать, но это не было приемлемо, эта проблема похожа на мою проблему https://datascience.stackexchange.com/q/38267/77369

attack_data = pd.read_csv("payload_full.csv").astype(object)
attack_data = pd.DataFrame(data= attack_data, columns = ['payload', 'label', 'attack_type'])
tfidf_vectorizer = TfidfVectorizer()
attack_data['tf_idf_payload'] = tfidf_vectorizer.fit_transform(attack_data['payload'])
attack_data['tf_idf_attack_type'] =tfidf_vectorizer.fit_transform(attack_data['attack_type'])
data_for_model = attack_data[['tf_idf_payload', 'tf_idf_attack_type', 'label']]
x = data_for_model[['tf_idf_payload', 'tf_idf_attack_type']]
y = data_for_model['label']
x_train,x_test,y_train,y_test= train_test_split(x,y,test_size=0.2,random_state=20)
SVM=LinearSVC(C=10.0, class_weight=None, dual=True, fit_intercept=True,
    intercept_scaling=1, loss='squared_hinge', max_iter=1000,
     multi_class='ovr', penalty='l2', random_state=0, tol=1e-05, verbose=0)
the error raise here:
SVM.fit(x_train,y_train)

    ValueError                                Traceback (most recent call last)
    <ipython-input-46-3203378e52a6> in <module>
    ----> 1 SVM.fit(x_train,y_train)

    ~\Anaconda3\lib\site-packages\sklearn\svm\classes.py in fit(self, X, y, sample_weight)
        227         X, y = check_X_y(X, y, accept_sparse='csr',
        228                          dtype=np.float64, order="C",
    --> 229                          accept_large_sparse=False)
        230         check_classification_targets(y)
        231         self.classes_ = np.unique(y)

    ~\Anaconda3\lib\site-packages\sklearn\utils\validation.py in check_X_y(X, y, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, multi_output, ensure_min_samples, ensure_min_features, y_numeric, warn_on_dtype, estimator)
        754                     ensure_min_features=ensure_min_features,
        755                     warn_on_dtype=warn_on_dtype,
    --> 756                     estimator=estimator)
        757     if multi_output:
        758         y = check_array(y, 'csr', force_all_finite=True, ensure_2d=False,

    ~\Anaconda3\lib\site-packages\sklearn\utils\validation.py in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, warn_on_dtype, estimator)
        525             try:
        526                 warnings.simplefilter('error', ComplexWarning)
    --> 527                 array = np.asarray(array, dtype=dtype, order=order)
        528             except ComplexWarning:
        529                 raise ValueError("Complex data not supported\n"

    ~\Anaconda3\lib\site-packages\numpy\core\numeric.py in asarray(a, dtype, order)
        499 
        500     """
    --> 501     return array(a, dtype, copy=False, order=order)
        502 
        503
ValueError: setting an array element with a sequence.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...