คำถามติดแท็ก one-hot-encoding

19
แปลงอาเรย์ของดัชนีไปเป็นอาเรย์ numpy ที่เข้ารหัสแล้ว 1 ครั้ง
สมมติว่าฉันมีอาร์เรย์ numpy 1d a = array([1,0,3]) ฉันต้องการเข้ารหัสเป็นอาร์เรย์ 2d 1-hot b = array([[0,1,0,0], [1,0,0,0], [0,0,0,1]]) มีวิธีที่รวดเร็วในการทำเช่นนี้? เร็วกว่าการวนซ้ำaเพื่อตั้งค่าองค์ประกอบของbนั่นคือ

20
ฉันจะเข้ารหัสร้อนใน Python ได้อย่างไร
ฉันมีปัญหาการจัดหมวดหมู่แมชชีนเลิร์นนิงที่มีตัวแปรตามหมวดหมู่ 80% ฉันต้องใช้การเข้ารหัสแบบร้อนครั้งเดียวหรือไม่หากฉันต้องการใช้ลักษณนามสำหรับการจัดประเภท ฉันสามารถส่งข้อมูลไปยังลักษณนามโดยไม่ต้องเข้ารหัสได้หรือไม่ ฉันพยายามทำสิ่งต่อไปนี้เพื่อเลือกคุณสมบัติ: ฉันอ่านไฟล์รถไฟ: num_rows_to_read = 10000 train_small = pd.read_csv("../../dataset/train.csv", nrows=num_rows_to_read) ฉันเปลี่ยนประเภทของคุณสมบัติหมวดหมู่เป็น 'หมวดหมู่': non_categorial_features = ['orig_destination_distance', 'srch_adults_cnt', 'srch_children_cnt', 'srch_rm_cnt', 'cnt'] for categorical_feature in list(train_small.columns): if categorical_feature not in non_categorial_features: train_small[categorical_feature] = train_small[categorical_feature].astype('category') ฉันใช้การเข้ารหัสร้อนหนึ่งรายการ: train_small_with_dummies = pd.get_dummies(train_small, sparse=True) ปัญหาคือส่วนที่ 3 มักจะติดขัดแม้ว่าฉันจะใช้เครื่องแรง ดังนั้นหากไม่มีการเข้ารหัสที่ร้อนแรงฉันไม่สามารถทำการเลือกคุณสมบัติใด ๆ เพื่อกำหนดความสำคัญของคุณสมบัติได้ คุณแนะนำเมนูใด?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.