Nasıl düzeltilir: "sklearn.cross_validation" adında modül yok;


Python kullanırken karşılaşabileceğiniz bir hata:

 ModuleNotFoundError : No module named 'sklearn.cross_validation'

Bu hata genellikle aşağıdaki satırı kullanarak train_test_split işlevini sklearn’den içe aktarmaya çalışırken ortaya çıkar:

 from sklearn. cross_validation import train_test_split

Ancak cross_validation alt modülünün yerini model_selection alt modülü almıştır, dolayısıyla aşağıdaki satırı kullanmanız gerekir:

 from sklearn. model_selection import train_test_split

Aşağıdaki örnekte bu hatanın pratikte nasıl çözüleceği gösterilmektedir.

Hata nasıl yeniden oluşturulur?

Diyelim ki bir pandanın DataFrame’ini eğitim ve test setlerine bölmek için sklearn’in train_test_split fonksiyonunu kullanmak istiyoruz.

train_test_split işlevini içe aktarmak için aşağıdaki kodu kullanmaya çalıştığımızı varsayalım:

 from sklearn. cross_validation import train_test_split

ModuleNotFoundError : No module named 'sklearn.cross_validation'

train_test_split işlevini içe aktarmaya çalışırken yanlış alt modül adını kullandığımız için bir hata alıyoruz.

Hata nasıl düzeltilir?

Bu hatayı düzeltmek için bunun yerine model_selection alt modülünü kullanmamız yeterlidir:

 from sklearn. model_selection import train_test_split

Bu sefer herhangi bir hata almıyoruz.

Daha sonra bir pandanın DataFrame’ini bir eğitim ve test setine bölmek için train_test_split fonksiyonunu kullanabiliriz:

 from sklearn. model_selection import train_test_split
import pandas as pd
import numpy as np

#make this example reproducible
n.p. random . seeds (1)

#create DataFrame with 1000 rows and 3 columns
df = pd. DataFrame ({' x1 ': np.random.randint(30, size=1000),
                   ' x2 ': np.random.randint(12, size=1000),
                   ' y ': np.random.randint(2, size=1000)})

#split original DataFrame into training and testing sets
train, test = train_test_split(df, test_size=0.2, random_state=0)

#view first few rows of each set
print ( train.head ())

     x1 x2 y
687 16 2 0
500 18 2 1
332 4 10 1
979 2 8 1
817 11 1 0

print ( test.head ())

     x1 x2 y
993 22 1 1
859 27 6 0
298 27 8 1
553 20 6 0
672 9 2 1

train_test_split fonksiyonunu hatasız ve başarılı bir şekilde kullanmayı başarıyoruz.

Ek kaynaklar

Aşağıdaki eğitimlerde Python’daki diğer yaygın hataların nasıl düzeltileceği açıklanmaktadır:

Nasıl düzeltilir? Sütunlar çakışıyor ancak son ek belirtilmemiş
Nasıl düzeltilir: ‘numpy.ndarray’ nesnesinin ‘append’ özelliği yok
Nasıl düzeltilir? Tüm skaler değerleri kullanıyorsanız bir dizin iletmeniz gerekir
Nasıl düzeltilir? ValueError: float NaN int’ye dönüştürülemiyor

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir