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

Я пытаюсь реализовать классификатор произвольного леса в питоне, но он показывает ошибку значения. Пример кода:

from sklearn.ensemble import RandomForestClassifier
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
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))

rf = RandomForestClassifier(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>
    rf.fit(X_train, y_train)
  File "C:\Users\sadia\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\ensemble\forest.py", line 275, in fit
    y, expanded_class_weight = self._validate_y_class_weight(y)
  File "C:\Users\sadia\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\ensemble\forest.py", line 478, in _validate_y_class_weight
    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'

Ошибка происходит:

rf.fit(X_train, y_train)

Любая помощь будет принята с благодарностью.

Here is my sample data:

1 Ответ

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

Эта ошибка возникает из-за того, что вы передаете значение с плавающей запятой в ваш классификатор, который ожидает категориальные значения в качестве целевого вектора. Попробуйте использовать алгоритмы регрессора. то есть вместо RandomForestClassifier вы должны использовать RandomForestRegressor для непрерывного целевого вектора.

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

...