Ошибка при запуске SVM и логистической регрессии в Python - PullRequest
0 голосов
/ 07 октября 2019

Я пытаюсь настроить параметр между SVM, Логистической регрессией, MLP и Случайной лесной регрессией в питоне, но он показывает ошибку значения для SVM и логистической регрессии. Мой пример данных:

Wavelength    Phase_velocity     Shear_wave_velocity
1.50              202.69          240.73
1.68              192.72          240.73
1.79              205.54          240.73
17.08             218               229
16.73             243               269
17.72             245               269
16.72             212               253
17.26             214               253
........

Пример кода:

from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC
from sklearn.ensemble import RandomForestRegressor
import numpy as np
import pandas as pd
from sklearn.neural_network import MLPRegressor
from sklearn.model_selection import train_test_split


df = pd.read_csv("0.5-1.csv")
df.head()

X = df[['wavelength', 'phase velocity']]
y = df['shear wave velocity']

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

print (len(X_train),len(X_test),len(y_train),len(y_test))

lr = LogisticRegression(solver='liblinear',multi_class='ovr')
lr.fit(X_train, y_train)
print (lr.score(X_test, y_test))

svm = SVC(gamma='auto')
svm.fit(X_train, y_train)
print (svm.score(X_test, y_test))

mlp = MLPRegressor(hidden_layer_sizes=(50,50,50), max_iter=2000, activation='relu')
mlp.fit(X_train,y_train)
print (mlp.score(X_test, y_test))

rf = RandomForestRegressor(n_estimators=40)
rf.fit(X_train, y_train)
print (rf.score(X_test, y_test))

ошибка такова:

Traceback (most recent call last):
  File "G:\My Drive\ANN\test\0.5-1\0.5-1_tunecode.py", line 23, in <module>
    lr.fit(X_train, y_train)
  File "C:\Users\sadia\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\linear_model\logistic.py", line 1533, in fit
    check_classification_targets(y)
  File "C:\Users\sadia\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\utils\multiclass.py", line 169, in check_classification_targets
    raise ValueError("Unknown label type: %r" % y_type)
ValueError: Unknown label type: 'continuous'

Как исправить эту ошибку?

1 Ответ

0 голосов
/ 07 октября 2019

Поскольку ваша целевая переменная имеет непрерывный характер, вы не можете использовать logisticRegression, вместо SVC используйте linearRegression или SVR.

from sklearn.linear_model import LinearRegression
from sklearn.svm import SVR

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...