คำถามติดแท็ก random-forest

ฟอเรสต์แบบสุ่มเป็นวิธีการเรียนรู้ด้วยเครื่องจักรโดยใช้การผสมผสานเอาท์พุทของต้นไม้ตัดสินใจจำนวนมาก

3
ความแตกต่างระหว่างป่าสุ่มและต้นไม้ที่สุ่มมาก
ฉันเข้าใจว่าป่าสุ่มและต้นไม้ที่สุ่มมากที่สุดนั้นแตกต่างกันในแง่ที่ว่าต้นไม้ในป่าสุ่มนั้นแตกต่างกันไปในขณะที่พวกมันสุ่มในกรณีของต้นไม้ที่สุ่มมาก ๆ (เพื่อความแม่นยำมากขึ้น ท่ามกลางการแยกแบบสุ่มในตัวแปรที่เลือกสำหรับต้นไม้ปัจจุบัน) แต่ฉันไม่เข้าใจถึงผลกระทบของการแบ่งแยกที่แตกต่างกันนี้ในสถานการณ์ต่างๆ พวกเขาเปรียบเทียบในแง่ของอคติ / ความแปรปรวนได้อย่างไร พวกเขาจะเปรียบเทียบต่อหน้าตัวแปรที่ไม่เกี่ยวข้องได้อย่างไร? พวกเขาจะเปรียบเทียบในที่ที่มีตัวแปรที่สัมพันธ์กันอย่างไร?

1
คำนวณด้วยตนเอง
ฉันรู้ว่านี่เป็นRคำถามที่ค่อนข้างเฉพาะแต่ฉันอาจกำลังคิดถึงความแปรปรวนสัดส่วนที่อธิบายว่าไม่ถูกต้อง นี่ไงR2R2R^2 ฉันพยายามที่จะใช้แพคเกจR randomForestฉันมีข้อมูลการฝึกอบรมและข้อมูลการทดสอบ เมื่อฉันพอดีกับโมเดลฟอเรสต์แบบสุ่มrandomForestฟังก์ชันจะอนุญาตให้คุณป้อนข้อมูลการทดสอบใหม่เพื่อทดสอบ จากนั้นจะบอกเปอร์เซ็นต์ความแปรปรวนที่อธิบายไว้ในข้อมูลใหม่นี้ เมื่อฉันดูสิ่งนี้ฉันจะได้หมายเลขหนึ่ง เมื่อฉันใช้predict()ฟังก์ชั่นเพื่อทำนายค่าผลลัพธ์ของข้อมูลการทดสอบตามแบบจำลองที่พอดีกับข้อมูลการฝึกอบรมและฉันใช้ค่าสัมประสิทธิ์สหสัมพันธ์กำลังสองระหว่างค่าเหล่านี้กับค่าผลลัพธ์จริงสำหรับข้อมูลการทดสอบฉันได้ตัวเลขที่แตกต่างกัน ค่าเหล่านี้ไม่ตรงกัน นี่คือRรหัสบางส่วนเพื่อแสดงปัญหา # use the built in iris data data(iris) #load the randomForest library library(randomForest) # split the data into training and testing sets index <- 1:nrow(iris) trainindex <- sample(index, trunc(length(index)/2)) trainset <- iris[trainindex, ] testset <- iris[-trainindex, ] # fit a …

6
ปรับปรุงการจัดหมวดหมู่ด้วยตัวแปรเด็ดขาดมากมาย
ฉันกำลังทำงานกับชุดข้อมูลที่มี 200,000 ตัวอย่างและประมาณ 50 คุณสมบัติต่อตัวอย่าง: 10 ตัวแปรต่อเนื่องและอีก 40 รายการเป็นตัวแปรเด็ดขาด (ประเทศ, ภาษา, สาขาวิทยาศาสตร์ ฯลฯ ) สำหรับตัวแปรจัดหมวดหมู่เหล่านี้คุณมี 150 ประเทศที่แตกต่างกัน 50 ภาษา 50 สาขาวิทยาศาสตร์ ฯลฯ ... จนถึงแนวทางของฉันคือ: สำหรับตัวแปรเด็ดขาดแต่ละตัวที่มีค่าที่เป็นไปได้มากให้ใช้เพียงอันเดียวที่มีตัวอย่างมากกว่า 10,000 ตัวอย่างที่รับค่านี้ ซึ่งจะลดลงเหลือ 5-10 หมวดหมู่แทนที่จะเป็น 150 สร้างตัวแปรดัมมี่สำหรับแต่ละหมวดหมู่ (ถ้า 10 ประเทศจากนั้นสำหรับแต่ละตัวอย่างเพิ่มเวกเตอร์ไบนารีขนาด 10) ป้อนฟอเรสต์ฟอเรสต์แบบสุ่ม (ตรวจสอบความถูกต้องของพารามิเตอร์และอื่น ๆ ... ) ด้วยข้อมูลนี้ ขณะนี้ด้วยวิธีนี้ฉันจัดการเพื่อให้ได้ความแม่นยำ 65% เท่านั้นและฉันรู้สึกว่าสามารถทำได้มากกว่านี้ โดยเฉพาะอย่างยิ่งฉันไม่พอใจกับ 1) เนื่องจากฉันรู้สึกว่าฉันไม่ควรลบ "ค่าที่เกี่ยวข้องน้อยที่สุด" ตามจำนวนตัวอย่างที่พวกเขามีโดยพลการเนื่องจากค่าที่แสดงน้อยกว่าเหล่านี้อาจเป็นการเลือกปฏิบัติมากกว่า …

3
สร้าง "คะแนนความมั่นใจ" จากคะแนนในป่าสุ่ม?
ฉันกำลังมองหาในการฝึกอบรมลักษณนามที่จะแยกแยะระหว่างType AและType Bวัตถุที่มีชุดการฝึกอบรมที่มีขนาดใหญ่พอสมควรประมาณ 10,000 วัตถุประมาณครึ่งหนึ่งของที่มีและครึ่งหนึ่งของที่มีType A Type Bชุดข้อมูลประกอบด้วย 100 คุณสมบัติอย่างต่อเนื่องซึ่งมีรายละเอียดคุณสมบัติทางกายภาพของเซลล์ (ขนาด, รัศมีเฉลี่ย, ฯลฯ ) การแสดงข้อมูลในสปิตเตอร์แพล็ตฟอร์มและแผนการแปลงความหนาแน่นบอกเราว่ามีการทับซ้อนกันอย่างมีนัยสำคัญในการแจกแจงของเซลล์มะเร็งและเซลล์ปกติในคุณลักษณะหลายอย่าง ขณะนี้ฉันกำลังสำรวจป่าสุ่มเป็นวิธีการจำแนกสำหรับชุดข้อมูลนี้และฉันได้เห็นผลลัพธ์ที่ดี การใช้ R ป่าแบบสุ่มสามารถจำแนกวัตถุได้อย่างถูกต้องประมาณ 90% หนึ่งในสิ่งที่เราต้องการลองทำคือการสร้าง "คะแนนความเชื่อมั่น" ที่จะบอกปริมาณว่าเรามีความมั่นใจในการจำแนกประเภทของวัตถุอย่างไร เรารู้ว่าลักษณนามของเราจะไม่ถูกต้อง 100% และแม้ว่าความแม่นยำสูงในการคาดการณ์ที่จะประสบความสำเร็จเราจะต้องการเทคนิคการฝึกอบรมที่จะระบุว่าวัตถุอย่างแท้จริงและType A Type Bดังนั้นแทนที่จะให้การคาดการณ์ที่แน่วแน่ของType AหรือType Bเราต้องการที่จะนำเสนอคะแนนสำหรับแต่ละวัตถุที่จะอธิบายถึงวิธีการAหรือBวัตถุ ตัวอย่างเช่นถ้าเรากำหนดคะแนนที่มีช่วงตั้งแต่ 0 ถึง 10 คะแนน 0 อาจบ่งบอกว่าวัตถุนั้นคล้ายกับType Aวัตถุมากในขณะที่คะแนน 10 จะบ่งบอกว่าวัตถุนั้นมีลักษณะคล้ายType Bกันมาก ฉันคิดว่าฉันสามารถใช้คะแนนภายในป่าสุ่มเพื่อคิดคะแนนเช่นนี้ เนื่องจากการจำแนกในป่าสุ่มจะกระทำโดยการโหวตส่วนใหญ่ภายในป่าของต้นไม้ที่สร้างขึ้นฉันจะสมมติว่าวัตถุที่ได้รับการโหวต 100% ของต้นไม้Type Aจะแตกต่างจากวัตถุที่ได้รับการโหวตโดยพูดว่า 51% ของต้นไม้ Type …

3
วิธีการตีความ OOB และเมทริกซ์ความสับสนสำหรับป่าสุ่ม?
ฉันได้สคริปต์ R จากบางคนเพื่อใช้โมเดลฟอเรสต์แบบสุ่ม ฉันแก้ไขและรันด้วยข้อมูลพนักงานบางส่วน เราพยายามทำนายการแยกโดยสมัครใจ นี่คือข้อมูลเพิ่มเติม: นี่คือรูปแบบการจัดหมวดหมู่คือ 0 = พนักงานยังคงอยู่ 1 = พนักงานถูกยกเลิกตอนนี้เรากำลังดูตัวแปรทำนายโหลเพียงอย่างเดียวข้อมูลคือ "ไม่สมดุล" ในคำว่าระเบียนทำขึ้นประมาณ 7 % ของชุดระเบียนทั้งหมด ฉันรันโมเดลด้วยการเลือก mtry และ ntree ที่หลากหลาย แต่ตัดสินที่ด้านล่าง OOB คือ 6.8% ซึ่งฉันคิดว่าดี แต่เมทริกซ์ความสับสนดูเหมือนจะบอกเล่าเรื่องราวที่แตกต่างกันสำหรับการทำนายเงื่อนไขเนื่องจากอัตราความผิดพลาดค่อนข้างสูงที่ 92.79% ฉันคิดถูกว่าฉันไม่สามารถพึ่งพาและใช้โมเดลนี้ได้เพราะ อัตราความผิดพลาดสูงสำหรับการทำนายคำศัพท์คืออะไร? หรือมีบางอย่างที่ฉันสามารถทำได้เพื่อใช้ RF และได้รับอัตราความผิดพลาดน้อยลงสำหรับการทำนายคำศัพท์? FOREST_model <- randomForest(theFormula, data=trainset, mtry=3, ntree=500, importance=TRUE, do.trace=100) ntree OOB 1 2 100: 6.97% 0.47% …

3
วิธีการตีความค่าเฉลี่ยลดลงในความแม่นยำและค่าเฉลี่ยลดลง GINI ในรูปแบบป่าสุ่ม
ฉันมีความยากลำบากในการทำความเข้าใจวิธีตีความผลลัพธ์ความสำคัญของตัวแปรจากแพ็คเกจ Random Forest การลดความแม่นยำหมายถึงการลดลงของความแม่นยำของแบบจำลองจากการอนุญาตให้ใช้ค่าในแต่ละคุณสมบัติ นี่เป็นคำแถลงเกี่ยวกับสถานที่ทั้งหมดหรือเกี่ยวกับค่าเฉพาะภายในสถานที่หรือไม่? ไม่ว่าในกรณีใดค่าเฉลี่ยลดลงในความแม่นยำจำนวนหรือสัดส่วนของการสังเกตที่จำแนกอย่างไม่ถูกต้องโดยการลบคุณลักษณะ (หรือค่าจากคุณลักษณะ) ออกจากแบบจำลองหรือไม่ สมมติว่าเรามีรูปแบบดังต่อไปนี้: require(randomForest) data(iris) set.seed(1) dat <- iris dat$Species <- factor(ifelse(dat$Species=='virginica','virginica','other')) model.rf <- randomForest(Species~., dat, ntree=25, importance=TRUE, nodesize=5) model.rf varImpPlot(model.rf) Call: randomForest(formula = Species ~ ., data = dat, ntree = 25, proximity = TRUE, importance = TRUE, nodesize = 5) Type of …

3
ป่าสุ่มไม่ไวต่อค่าผิดปกติอย่างไร
ฉันได้อ่านในแหล่งข้อมูลไม่กี่แห่งซึ่งรวมถึงอันนี้ว่าป่าสุ่มไม่ไวต่อค่าผิดปกติ (เช่นวิธีการที่ Logistic Regression และวิธีการ ML อื่น ๆ เป็นตัวอย่าง) อย่างไรก็ตามสัญชาตญาณสองชิ้นบอกฉันเป็นอย่างอื่น: เมื่อใดก็ตามที่ต้นไม้การตัดสินใจถูกสร้างขึ้นคะแนนทั้งหมดจะต้องจำแนก ซึ่งหมายความว่าแม้แต่ผู้ผิดกฎหมายก็จะถูกจัดประเภทและด้วยเหตุนี้จะส่งผลต่อต้นไม้การตัดสินใจที่พวกเขาได้รับเลือกในระหว่างการส่งเสริม Bootstrapping เป็นส่วนหนึ่งของการสุ่มตัวอย่างแบบสุ่มป่าไม้ การบูตสแตรปมีความอ่อนไหวต่อค่าผิดปกติ มีวิธีใดบ้างที่จะกระทบยอดปรีชาญาณของฉันเกี่ยวกับความอ่อนไหวต่อผู้ผิดกฎหมายกับแหล่งที่ไม่เห็นด้วยหรือไม่?

2
จะไม่มีตัวแปรที่มีความสัมพันธ์สูงในความแม่นยำของการบิดเบือนป่าและการเลือกคุณลักษณะหรือไม่
ในความเข้าใจของฉันตัวแปรที่มีความสัมพันธ์สูงจะไม่ทำให้เกิดปัญหาความหลากหลายในรูปแบบฟอเรสต์แบบสุ่ม (โปรดแก้ไขฉันหากฉันผิด) อย่างไรก็ตามในทางกลับกันถ้าฉันมีตัวแปรมากเกินไปที่มีข้อมูลที่คล้ายกันโมเดลน้ำหนักจะมากเกินไปในเซตนี้หรือไม่ ตัวอย่างเช่นมีชุดข้อมูลสองชุด (A, B) ที่มีพลังการทำนายเท่ากัน ตัวแปร , X 2 , ... X 1000ทั้งหมดมีข้อมูล A และมีเพียง Y เท่านั้นที่มีข้อมูล B เมื่อสุ่มตัวอย่างตัวแปรต้นไม้ส่วนใหญ่จะเติบโตบนข้อมูล A และเป็นผลให้ข้อมูล B ไม่ได้รับการบันทึกอย่างสมบูรณ์หรือไม่X1X1X_1X2X2X_2X1000X1000X_{1000}

2
ความสำคัญเชิงสัมพัทธ์ของชุดพยากรณ์ในการจำแนกประเภทป่าสุ่มใน R
ฉันต้องการพิจารณาความสำคัญสัมพัทธ์ของชุดของตัวแปรที่มีต่อการrandomForestจำแนกประเภทในอาร์importanceฟังก์ชั่นนี้ให้MeanDecreaseGiniตัวชี้วัดสำหรับตัวทำนายแต่ละตัว - มันง่ายเหมือนการรวมสิ่งนี้กับตัวทำนายแต่ละตัวในเซตหรือไม่? ตัวอย่างเช่น: # Assumes df has variables a1, a2, b1, b2, and outcome rf <- randomForest(outcome ~ ., data=df) importance(rf) # To determine whether the "a" predictors are more important than the "b"s, # can I sum the MeanDecreaseGini for a1 and a2 and compare to that of …

3
การจัดหมวดหมู่ R เป็นข้อความได้ดีเพียงใด [ปิด]
ฉันพยายามเพิ่มความเร็วให้สูงขึ้นด้วย R. ในที่สุดฉันก็ต้องการใช้ไลบรารี R สำหรับการจำแนกข้อความ ฉันแค่สงสัยว่าประสบการณ์ของผู้คนเกี่ยวข้องกับความสามารถในการปรับขนาดของ R เมื่อพูดถึงการจำแนกข้อความ ฉันมีแนวโน้มที่จะพบข้อมูลมิติสูง (~ 300k มิติ) ฉันกำลังมองหาการใช้ SVM และ Random Forest โดยเฉพาะอย่างยิ่งเป็นอัลกอริทึมการจำแนกประเภท ไลบรารี R จะปรับขนาดตามขนาดปัญหาของฉันหรือไม่ ขอบคุณ แก้ไข 1: เพื่อชี้แจงชุดข้อมูลของฉันมีแนวโน้มที่จะมี 1,000-3,000 แถว (อาจเพิ่มอีกเล็กน้อย) และ 10 คลาส แก้ไข 2: ตั้งแต่ฉันยังใหม่กับ R ฉันจะขอโปสเตอร์ให้เฉพาะเจาะจงมากที่สุดเท่าที่จะเป็นไปได้ ตัวอย่างเช่นหากคุณกำลังแนะนำเวิร์กโฟลว์ / ไปป์ไลน์โปรดตรวจสอบให้แน่ใจว่าได้ระบุถึงไลบรารี R ที่เกี่ยวข้องในแต่ละขั้นตอนถ้าเป็นไปได้ พอยน์เตอร์เพิ่มเติมบางอย่าง (สำหรับตัวอย่างโค้ดตัวอย่าง ฯลฯ ) จะเป็นไอซิ่งบนเค้ก แก้ไข 3: ก่อนอื่นขอขอบคุณทุกคนสำหรับความคิดเห็นของคุณ และประการที่สองฉันขอโทษบางทีฉันควรจะให้บริบทมากขึ้นสำหรับปัญหา …

2
จำเป็นหรือไม่ที่จะต้องทำการฟื้นฟูสำหรับ SVM และ Random Forest?
คุณลักษณะของฉัน 'ทุกมิติมีช่วงของค่าที่แตกต่างกัน ฉันต้องการทราบว่าจำเป็นหรือไม่ที่จะทำให้ชุดข้อมูลนี้เป็นมาตรฐาน

3
R: การสุ่มฟอเรสต์การโยน NaN / Inf ในข้อผิดพลาด“ การเรียกฟังก์ชันต่างประเทศ” แม้จะไม่มีชุดข้อมูลของ NaN [ปิด]
ฉันใช้คาเร็ตเพื่อรันฟอเรสต์แบบสุ่มที่ผ่านการตรวจสอบความถูกต้องข้ามชุดข้อมูล ตัวแปร Y เป็นปัจจัย ไม่มีชุดข้อมูลของ NaN, Inf's หรือ NA ในชุดข้อมูลของฉัน อย่างไรก็ตามเมื่อใช้ป่าสุ่มฉันได้รับ Error in randomForest.default(m, y, ...) : NA/NaN/Inf in foreign function call (arg 1) In addition: There were 28 warnings (use warnings() to see them) Warning messages: 1: In data.matrix(x) : NAs introduced by coercion 2: In data.matrix(x) : NAs …

1
การแปลงเมทริกซ์ความคล้ายคลึงกันเป็นเมทริกซ์ระยะทาง (ยูคลิด)
ในอัลกอริธึม Random Forest, Breiman (ผู้เขียน) สร้างเมทริกซ์ความเหมือนกันดังนี้ ส่งตัวอย่างการเรียนรู้ทั้งหมดลงต้นไม้ในป่า ถ้าสองตัวอย่างลงดินในองค์ประกอบที่สอดคล้องกันของการเพิ่มขึ้นของใบไม้เดียวกันในเมทริกซ์ความเหมือนกันทีละ 1 ทำให้เมทริกซ์เป็นปกติด้วยจำนวนต้นไม้ เขาพูดว่า: ความผิดปกติระหว่างเคส n และ k ก่อให้เกิดเมทริกซ์ {prox (n, k)} จากคำจำกัดความมันง่ายที่จะแสดงว่าเมทริกซ์นี้เป็นสมมาตรบวกแน่นอนและล้อมรอบด้วย 1 โดยมีองค์ประกอบเส้นทแยงมุมเท่ากับ 1 มันตามมาว่าค่า 1-prox (n, k) เป็นระยะกำลังสองในยูคลิด พื้นที่ของมิติไม่เกินจำนวนกรณี แหล่ง ในการดำเนินการของเขาเขาใช้sqrt (1-prox)โดยที่proxเป็นเมทริกซ์ความคล้ายคลึงกันเพื่อแปลงเป็นเมทริกซ์ระยะทาง ฉันเดาว่ามันมีบางอย่างเกี่ยวกับ "ระยะทางตอร์เรสในอวกาศยูคลิด" - ยกมาจากข้างบน ใครบางคนสามารถส่องแสงเล็ก ๆ น้อย ๆ ว่าทำไมมันตามมาว่า 1-prox เป็นระยะทางกำลังสองในอวกาศยูคลิดและทำไมเขาใช้รากกำลังสองเพื่อรับเมทริกซ์ระยะทาง

4
เมื่อใดที่จะหลีกเลี่ยงป่าสุ่ม?
ป่าสุ่มที่รู้จักกันดีในการดำเนินการอย่างเป็นธรรมได้ดีบนความหลากหลายของงานและได้รับการเรียกว่าLeatherman วิธีการเรียนรู้ มีปัญหาประเภทใดบ้างหรือเงื่อนไขใดบ้างที่ควรหลีกเลี่ยงการใช้ฟอเรสต์แบบสุ่ม?

4
มีการใช้ฟอเรสต์แบบสุ่มที่ทำงานได้ดีกับข้อมูลที่กระจัดกระจายมากหรือไม่?
มีการใช้ฟอเรสต์แบบสุ่ม R ที่ทำงานได้ดีกับข้อมูลที่กระจัดกระจายมากหรือไม่? ฉันมีตัวแปรอินพุตบูลีนหลายพันล้านตัว แต่มีเพียงร้อยหรือมากกว่าเท่านั้นที่จะเป็น TRUE สำหรับตัวอย่างที่กำหนด ฉันค่อนข้างใหม่สำหรับ R และสังเกตว่ามีแพ็คเกจ 'Matrix' สำหรับจัดการกับข้อมูลที่กระจัดกระจาย แต่แพ็คเกจ 'randomForest' มาตรฐานดูเหมือนจะไม่รู้จักชนิดข้อมูลนี้ หากมีความสำคัญข้อมูลอินพุตจะถูกสร้างขึ้นนอก R และนำเข้า คำแนะนำใด ๆ? ฉันสามารถดูการใช้ Weka, Mahout หรือแพ็คเกจอื่น ๆ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.