Cara memperbaiki: valueerror: jenis label tidak dikenal: 'kontinu'
Kesalahan umum yang mungkin Anda temui dengan Python adalah:
ValueError : Unknown label type: 'continuous'
Kesalahan ini biasanya terjadi ketika Anda mencoba menggunakan sklearn agar sesuai dengan model klasifikasi seperti regresi logistik dan nilai yang Anda gunakan untuk variabel respons bersifat kontinu, bukan kategorikal.
Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.
Bagaimana cara mereproduksi kesalahan tersebut
Misalkan kita mencoba menggunakan kode berikut agar sesuai dengan model regresi logistik:
import numpy as np
from sklearn. linear_model import LogisticRegression
#define values for predictor and response variables
x = np. array ([[2, 2, 3], [3, 4, 3], [5, 6, 6], [7, 5, 5]])
y = np. array ([0, 1.02, 1.02, 0])
#attempt to fit logistic regression model
classifier = LogisticRegression()
classify. fit (x,y)
ValueError : Unknown label type: 'continuous'
Kami menerima kesalahan karena saat ini nilai variabel respons kami kontinu.
Ingatlah bahwa model regresi logistik mengharuskan nilai variabel respon bersifat kategoris sehingga:
- 0 atau 1
- “Ya atau tidak”
- “Berhasil atau gagal”
Saat ini, variabel respon kami berisi nilai kontinu seperti 0 dan 1.02 .
Bagaimana cara memperbaiki kesalahan tersebut
Cara untuk mengatasi kesalahan ini adalah dengan mengonversi nilai kontinu dari variabel respons menjadi nilai kategorikal menggunakan fungsi LabelEncoder() sklearn :
from sklearn import preprocessing
from sklearn import utils
#convert y values to categorical values
lab = preprocessing. LabelEncoder ()
y_transformed = lab. fit_transform (y)
#view values transformed
print (y_transformed)
[0 1 1 0]
Setiap nilai asli sekarang dikodekan sebagai 0 atau 1 .
Kami sekarang dapat mengadaptasi model regresi logistik:
#fit logistic regression model
classifier = LogisticRegression()
classify. fit (x,y_transformed)
Kali ini kami tidak menerima kesalahan apa pun karena nilai respons model bersifat kategoris.
Sumber daya tambahan
Tutorial berikut menjelaskan cara memperbaiki kesalahan umum lainnya dengan Python:
Cara Memperbaiki: ValueError: Indeks berisi entri duplikat, tidak dapat dibentuk ulang
Cara Memperbaiki: Kesalahan Ketik: Objek String atau Bytes yang Diharapkan
Cara Memperbaiki: TypeError: Objek ‘numpy.float64’ tidak dapat dipanggil