Cara memperbaiki: tidak ada modul bernama "sklearn.cross_validation";


Kesalahan yang mungkin Anda temui saat menggunakan Python adalah:

 ModuleNotFoundError : No module named 'sklearn.cross_validation'

Kesalahan ini biasanya terjadi ketika mencoba mengimpor fungsi train_test_split dari sklearn menggunakan baris berikut:

 from sklearn. cross_validation import train_test_split

Namun, submodul cross_validation telah digantikan oleh submodul model_selection , jadi Anda harus menggunakan baris berikut:

 from sklearn. model_selection import train_test_split

Contoh berikut menunjukkan cara mengatasi kesalahan ini dalam praktiknya.

Bagaimana cara mereproduksi kesalahan tersebut

Katakanlah kita ingin menggunakan fungsi sklearn train_test_split untuk membagi pandas DataFrame menjadi set pelatihan dan pengujian.

Misalkan kita mencoba menggunakan kode berikut untuk mengimpor fungsi train_test_split :

 from sklearn. cross_validation import train_test_split

ModuleNotFoundError : No module named 'sklearn.cross_validation'

Kami menerima kesalahan karena kami menggunakan nama submodul yang salah saat mencoba mengimpor fungsi train_test_split .

Bagaimana cara memperbaiki kesalahan tersebut

Untuk memperbaiki kesalahan ini, kita hanya perlu menggunakan submodul model_selection saja:

 from sklearn. model_selection import train_test_split

Kali ini kami tidak menerima kesalahan apa pun.

Kita kemudian dapat menggunakan fungsi train_test_split untuk membagi DataFrame panda menjadi set pelatihan dan pengujian:

 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

Kami berhasil menggunakan fungsi train_test_split tanpa kesalahan apa pun.

Sumber daya tambahan

Tutorial berikut menjelaskan cara memperbaiki kesalahan umum lainnya dengan Python:

Cara Memperbaiki: Kolom tumpang tindih tetapi tidak ada akhiran yang ditentukan
Cara Memperbaiki: Objek ‘numpy.ndarray’ tidak memiliki atribut ‘append’
Cara memperbaiki: Jika Anda menggunakan semua nilai skalar, Anda harus meneruskan indeks
Cara Memperbaiki: ValueError: Tidak dapat mengubah float NaN menjadi int

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *