วิธีแก้ไข: ไม่มีโมดูลชื่อ "sklearn.cross_validation";
ข้อผิดพลาดที่คุณอาจพบเมื่อใช้ Python คือ:
ModuleNotFoundError : No module named 'sklearn.cross_validation'
ข้อผิดพลาดนี้มักเกิดขึ้นเมื่อพยายามนำเข้าฟังก์ชัน train_test_split จาก sklearn โดยใช้บรรทัดต่อไปนี้:
from sklearn. cross_validation import train_test_split
อย่างไรก็ตาม โมดูลย่อย cross_validation ถูกแทนที่ด้วยโมดูลย่อย model_selection ดังนั้นคุณต้องใช้บรรทัดต่อไปนี้:
from sklearn. model_selection import train_test_split
ตัวอย่างต่อไปนี้แสดงวิธีการแก้ไขข้อผิดพลาดนี้ในทางปฏิบัติ
วิธีการทำซ้ำข้อผิดพลาด
สมมติว่าเราต้องการใช้ฟังก์ชัน train_test_split ของ sklearn เพื่อแยก DataFrame ของ pandas ออกเป็นชุดการฝึกและการทดสอบ
สมมติว่าเราพยายามใช้โค้ดต่อไปนี้เพื่อนำเข้าฟังก์ชัน train_test_split :
from sklearn. cross_validation import train_test_split ModuleNotFoundError : No module named 'sklearn.cross_validation'
เราได้รับข้อผิดพลาดเนื่องจากเราใช้ชื่อโมดูลย่อยไม่ถูกต้องเมื่อพยายามนำเข้าฟังก์ชัน train_test_split
วิธีการแก้ไขข้อผิดพลาด
เพื่อแก้ไขข้อผิดพลาดนี้ เราเพียงแค่ต้องใช้โมดูลย่อย model_selection แทน:
from sklearn. model_selection import train_test_split
ครั้งนี้เราไม่ได้รับข้อผิดพลาดใดๆ
จากนั้นเราสามารถใช้ฟังก์ชัน train_test_split เพื่อแบ่ง DataFrame ของ pandas ออกเป็นชุดการฝึกอบรมและการทดสอบ:
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 ได้สำเร็จโดยไม่มีข้อผิดพลาด
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีแก้ไขข้อผิดพลาดทั่วไปอื่นๆ ใน Python:
วิธีแก้ไข: คอลัมน์ซ้อนทับกันแต่ไม่ได้ระบุส่วนต่อท้าย
วิธีแก้ไข: วัตถุ ‘numpy.ndarray’ ไม่มีแอตทริบิวต์ ‘ผนวก’
วิธีแก้ไข: หากใช้ค่าสเกลาร์ทั้งหมด คุณจะต้องผ่านดัชนี
วิธีแก้ไข: ValueError: ไม่สามารถแปลง float NaN เป็น int