A user is trying to tune the parameter between the SVM, Logistic regression, MLP and Random forest regression in the python but it shows a value error for SVM and logistic regression. The sample data is this:

911    Asked by NaveenYadav in Data Science , Asked on Nov 30, 2019
Answered by Naveen Yadav

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

........


Below is the code.

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))


He received the following error

Traceback (most recent call last):

  File "G:My DriveANN est.5-1.5-1_tunecode.py", line 23, in

    lr.fit(X_train, y_train)

  File "C:UserssadiaAppDataLocalProgramsPythonPython36libsite-packagessklearnlinear_modellogistic.py", line 1533, in fit

    check_classification_targets(y)

  File "C:UserssadiaAppDataLocalProgramsPythonPython36libsite-packagessklearnutilsmulticlass.py", line 169, in check_classification_targets

    raise ValueError("Unknown label type: %r" % y_type)

ValueError: Unknown label type: 'continuous'


The following error is due to fitting a logistic and SVM model to a continuous variable. Logistic, SVM and MLP model are for classification purposes but this model having a target variable should fit into a linear regression model.

With this piece of code, we can fit this model

from sklearn.linear_model import LinearRegression

from sklearn.svm import SVR



Your Answer

Interviews

Parent Categories