คำถามติดแท็ก cross-validation

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

1
ทำไม xgboost จึงเร็วกว่า GradientBoostingClassifier ของ sklearn มาก?
ฉันพยายามที่จะฝึกอบรมการยกระดับความลาดชันของตัวอย่างมากกว่า 50k ด้วยคุณสมบัติตัวเลข 100 ตัว XGBClassifierจัดการ 500 ต้นภายใน 43 วินาทีบนเครื่องของฉันในขณะที่GradientBoostingClassifierจัดการเพียง 10 ต้น (!) ใน 1 นาทีและ 2 วินาที :( ฉันไม่ได้พยายามที่จะเติบโต 500 ต้นเพราะจะใช้เวลาหลายชั่วโมงฉันใช้แบบเดียวกันlearning_rateและmax_depthการตั้งค่า ดูด้านล่าง อะไรทำให้ XGBoost เร็วขึ้นมาก? มันใช้การปรับแต่งแบบใหม่เพื่อส่งเสริมการไล่ระดับสีที่พวก sklearn ไม่รู้หรือไม่? หรือว่า "ตัดมุม" และปลูกต้นไม้ที่ตื้นขึ้น? ป.ล. ฉันตระหนักถึงการสนทนานี้: https://www.kaggle.com/c/higgs-boson/forums/t/10335/xgboost-post-competition-surveyแต่ไม่สามารถหาคำตอบได้ที่นั่น ... XGBClassifier(base_score=0.5, colsample_bylevel=1, colsample_bytree=1, gamma=0, learning_rate=0.05, max_delta_step=0, max_depth=10, min_child_weight=1, missing=None, n_estimators=500, nthread=-1, objective='binary:logistic', reg_alpha=0, reg_lambda=1, …
29 scikit-learn  xgboost  gbm  data-mining  classification  data-cleaning  machine-learning  reinforcement-learning  data-mining  bigdata  dataset  nlp  language-model  stanford-nlp  machine-learning  neural-network  deep-learning  randomized-algorithms  machine-learning  beginner  career  xgboost  loss-function  neural-network  software-recommendation  naive-bayes-classifier  classification  scikit-learn  feature-selection  r  random-forest  cross-validation  data-mining  python  scikit-learn  random-forest  churn  python  clustering  k-means  machine-learning  nlp  sentiment-analysis  machine-learning  programming  python  scikit-learn  nltk  gensim  visualization  data  csv  neural-network  deep-learning  descriptive-statistics  machine-learning  supervised-learning  text-mining  orange  data  parameter-estimation  python  pandas  scraping  r  clustering  k-means  unsupervised-learning 

3
การสร้างแบบจำลองด้วยป่าสุ่มต้องมีการตรวจสอบข้ามหรือไม่
เท่าที่ฉันเคยเห็นความคิดเห็นมีแนวโน้มที่จะแตกต่างกันเกี่ยวกับเรื่องนี้ แนวปฏิบัติที่ดีที่สุดจะใช้การตรวจสอบข้าม (โดยเฉพาะอย่างยิ่งหากเปรียบเทียบ RF กับอัลกอริทึมอื่นในชุดข้อมูลเดียวกัน) แหล่งที่มาดั้งเดิมระบุว่ามีการคำนวณข้อผิดพลาดจริงของ OOB ระหว่างการฝึกอบรมแบบจำลองเพียงพอที่จะเป็นตัวบ่งชี้ประสิทธิภาพของชุดการทดสอบ แม้แต่ Trevor Hastie ในการพูดคุยที่ค่อนข้างเร็วบอกว่า "ป่าสุ่มให้การตรวจสอบข้ามฟรี" โดยสัญชาตญาณสิ่งนี้สมเหตุสมผลสำหรับฉันถ้าการฝึกอบรมและพยายามปรับปรุงโมเดล RF-based บนหนึ่งชุดข้อมูล บางคนได้โปรดสร้างข้อโต้แย้งสำหรับและต่อต้านความต้องการการตรวจสอบข้ามป่าด้วยการสุ่ม?

2
วิธีใช้ผลลัพธ์ของ GridSearch
ขณะนี้ฉันกำลังทำงานกับ Python และ Scikit เรียนรู้เพื่อวัตถุประสงค์ในการจัดหมวดหมู่และทำการอ่านเกี่ยวกับ GridSearch ฉันคิดว่านี่เป็นวิธีที่ดีในการปรับพารามิเตอร์ตัวประมาณของฉันให้เหมาะสมเพื่อให้ได้ผลลัพธ์ที่ดีที่สุด วิธีการของฉันคือ: แบ่งข้อมูลของฉันออกเป็นการฝึกอบรม / ทดสอบ ใช้ GridSearch พร้อมการตรวจสอบ 5Fold Cross เพื่อฝึกอบรมและทดสอบเครื่องมือประมาณค่าของฉัน (Random Forest, Gradient Boost, SVC และอื่น ๆ ) เพื่อรับเครื่องมือประมาณค่าที่ดีที่สุดด้วยการรวมกันของพารามิเตอร์ไฮเปอร์ จากนั้นฉันคำนวณตัวชี้วัดของตัวประมาณค่าของฉันเช่น Precision, Recall, FMeasure และ Matthews Correlation Coefficient โดยใช้ชุดทดสอบของฉันเพื่อทำนายการจำแนกประเภทและเปรียบเทียบกับฉลากระดับจริง มันอยู่ในขั้นตอนนี้ที่ฉันเห็นพฤติกรรมแปลก ๆ และฉันไม่แน่ใจว่าจะดำเนินการต่อไปอย่างไร ฉันจะใช้. best_estimator_ จาก GridSearch และใช้สิ่งนี้เป็นผลลัพธ์ 'ดีที่สุด' จากการค้นหากริดและทำการคาดการณ์โดยใช้เครื่องมือประมาณนี้ ถ้าฉันทำสิ่งนี้ฉันพบว่าตัวชี้วัดระยะที่ 3 มักจะต่ำกว่าถ้าฉันฝึกอบรมข้อมูลการฝึกอบรมทั้งหมดและทดสอบในชุดการทดสอบ หรือฉันจะใช้วัตถุ GridSearchCV …

3
การผสานเฟรมข้อมูลหลายแถวใน PySpark
ฉันมีเฟรม 10 ข้อมูลpyspark.sql.dataframe.DataFrameที่ได้รับจากrandomSplitเป็น(td1, td2, td3, td4, td5, td6, td7, td8, td9, td10) = td.randomSplit([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1], seed = 100)ตอนนี้ผมต้องการที่จะเข้าร่วม 9 td's ลงในกรอบข้อมูลเดียวว่าฉันควรทำเช่นนั้น? ฉันได้ลองไปแล้วunionAllแต่ฟังก์ชั่นนี้ยอมรับเพียงสองข้อโต้แย้งเท่านั้น td1_2 = td1.unionAll(td2) # this is working fine td1_2_3 = td1.unionAll(td2, td3) # error TypeError: unionAll() takes exactly 2 arguments …

4
ความแตกต่างระหว่างการบูตสแตรปและการตรวจสอบความถูกต้องข้ามคืออะไร?
ฉันเคยใช้การตรวจสอบความถูกต้องไขว้ของ K-fold เพื่อประเมินโมเดลการเรียนรู้ของเครื่องของฉันอย่างมีประสิทธิภาพ แต่ฉันก็ตระหนักถึงการมีอยู่ของวิธีบูตสแตรปปิ้งเพื่อจุดประสงค์นี้เช่นกัน อย่างไรก็ตามฉันไม่สามารถเห็นความแตกต่างที่สำคัญระหว่างพวกเขาในแง่ของการประเมินประสิทธิภาพ เท่าที่ฉันเห็น bootstrapping ยังผลิตจำนวนสุ่มฝึกอบรม + ชุดย่อยทดสอบ (แม้ว่าในทางที่แตกต่างกัน) ดังนั้นสิ่งที่เป็นจุดได้เปรียบสำหรับการใช้วิธีนี้มากกว่า CV? สิ่งเดียวที่ฉันสามารถคิดได้ว่าในกรณีของการบูตสแตรปหนึ่งสามารถสร้างจำนวนเซตย่อยตามอำเภอใจได้อย่างแท้จริงในขณะที่สำหรับ CV จำนวนของอินสแตนซ์นั้นเป็นข้อ จำกัด สำหรับเรื่องนี้ แต่แง่มุมนี้ดูเหมือนจะสร้างความรำคาญเล็กน้อย

1
พารามิเตอร์ validation_split ของฟังก์ชัน fit ของ Keras ทำงานอย่างไร
การตรวจสอบแยกใน Keras ลำดับฟังก์ชั่นรุ่นพอดีเป็นเอกสารดังต่อไปนี้ในhttps://keras.io/models/sequential/ : validation_split: ลอยระหว่าง 0 และ 1 เศษส่วนของข้อมูลการฝึกอบรมที่จะใช้เป็นข้อมูลการตรวจสอบ แบบจำลองจะแยกส่วนของข้อมูลการฝึกอบรมนี้จะไม่ฝึกอบรมและจะประเมินการสูญเสียและตัวชี้วัดแบบจำลองใด ๆ กับข้อมูลนี้ในตอนท้ายของแต่ละยุค ข้อมูลการตรวจสอบความถูกต้องถูกเลือกจากตัวอย่างสุดท้ายในข้อมูล x และ y ที่ให้ไว้ก่อนที่จะสับ โปรดสังเกตบรรทัดสุดท้าย: ข้อมูลการตรวจสอบความถูกต้องถูกเลือกจากตัวอย่างสุดท้ายในข้อมูล x และ y ที่ให้ไว้ก่อนที่จะสับ หมายความว่าข้อมูลการตรวจสอบความถูกต้องคงที่และนำมาจากด้านล่างของชุดข้อมูลหลักหรือไม่? มีวิธีใดบ้างที่จะสามารถทำการสุ่มเลือกสัดส่วนของข้อมูลจากชุดข้อมูลหลักได้?

2
เหตุใดจึงต้องใช้ทั้งชุดการตรวจสอบและชุดการทดสอบ
พิจารณาโครงข่ายประสาทเทียม: สำหรับชุดข้อมูลที่กำหนดเราแบ่งเป็นชุดฝึกอบรมตรวจสอบและทดสอบ สมมติว่าเราทำในอัตราส่วน 60:20:20 คลาสสิคจากนั้นเราป้องกันการ overfitting โดยตรวจสอบความถูกต้องของเครือข่ายโดยตรวจสอบในชุดการตรวจสอบความถูกต้อง ถ้าอย่างนั้นจำเป็นต้องทำการทดสอบอะไรในชุดทดสอบเพื่อตรวจสอบประสิทธิภาพ? ข้อผิดพลาดในชุดทดสอบจะค่อนข้างเหมือนกับชุดการตรวจสอบความถูกต้องสำหรับเครือข่ายเป็นข้อมูลที่มองไม่เห็นเหมือนกับชุดการตรวจสอบความถูกต้องและทั้งสองอย่างมีจำนวนเท่ากันหรือไม่ เราไม่สามารถเพิ่มชุดฝึกอบรมได้โดยรวมชุดทดสอบเข้าด้วยกันเพื่อให้เรามีข้อมูลการฝึกอบรมมากขึ้นและเครือข่ายฝึกอบรมได้ดีขึ้นจากนั้นใช้ชุดการตรวจสอบเพื่อป้องกันการ overfitting? ทำไมเราไม่ทำเช่นนี้?

5
ทำให้แผนที่ความร้อนของทะเลใหญ่ขึ้น
ฉันสร้างcorr()df จาก df ดั้งเดิม corr()DF ออก 70 X 70 มาและมันเป็นไปไม่ได้ที่จะเห็นภาพ heatmap ส sns.heatmap(df)... ถ้าฉันพยายามที่จะแสดงcorr = df.corr()ตารางที่ไม่พอดีกับหน้าจอและฉันสามารถดูความสัมพันธ์ทั้งหมด มันเป็นวิธีที่จะพิมพ์ทั้งdfโดยไม่คำนึงถึงขนาดของมันหรือเพื่อควบคุมขนาดของ heatmap หรือไม่?
17 visualization  pandas  plotting  machine-learning  neural-network  svm  decision-trees  svm  efficiency  python  linear-regression  machine-learning  nlp  topic-model  lda  named-entity-recognition  naive-bayes-classifier  association-rules  fuzzy-logic  kaggle  deep-learning  tensorflow  inception  classification  feature-selection  feature-engineering  machine-learning  scikit-learn  tensorflow  keras  encoding  nlp  text-mining  nlp  rnn  python  neural-network  feature-extraction  machine-learning  predictive-modeling  python  r  linear-regression  clustering  r  ggplot2  neural-network  neural-network  training  python  neural-network  deep-learning  rnn  predictive-modeling  databases  sql  programming  distribution  dataset  cross-validation  neural-network  deep-learning  rnn  machine-learning  machine-learning  python  deep-learning  data-mining  tensorflow  visualization  tools  sql  embeddings  orange  feature-extraction  unsupervised-learning  gan  machine-learning  python  data-mining  pandas  machine-learning  data-mining  bigdata  apache-spark  apache-hadoop  deep-learning  python  convnet  keras  aggregation  clustering  k-means  r  random-forest  decision-trees  reference-request  visualization  data  pandas  plotting  neural-network  keras  rnn  theano  deep-learning  tensorflow  inception  predictive-modeling  deep-learning  regression  sentiment-analysis  nlp  encoding  deep-learning  python  scikit-learn  lda  convnet  keras  predictive-modeling  regression  overfitting  regression  svm  prediction  machine-learning  similarity  word2vec  information-retrieval  word-embeddings  neural-network  deep-learning  rnn 

3
วิธีการเลือกลักษณนามหลังจากการตรวจสอบข้าม?
เมื่อเราทำการตรวจสอบความถูกต้องข้ามของ k-fold เราควรใช้ลักษณนามที่มีความแม่นยำในการทดสอบสูงสุดหรือไม่? โดยทั่วไปแล้ววิธีที่ดีที่สุดในการรับตัวจําแนกจากการตรวจสอบข้ามคืออะไร?

2
การบรรจุมากเกินไปสามารถเกิดขึ้นได้แม้จะมีการสูญเสียการตรวจสอบยังคงลดลง?
ฉันมีโมเดล + LSTM แบบ convolutional ใน Keras คล้ายกับที่นี่ (อ้างอิง 1) ที่ฉันใช้สำหรับการแข่งขัน Kaggle สถาปัตยกรรมที่แสดงด้านล่าง ฉันได้ฝึกมันในชุดตัวอย่างที่มีป้ายกำกับของฉัน 11000 ตัวอย่าง (สองคลาสความชุกเริ่มต้นคือ ~ 9: 1 ดังนั้นฉันจึงเพิ่ม 1 ต่อ 1 เป็นอัตราส่วน 1/1) สำหรับ 50 epochs ที่มีการตรวจสอบความถูกต้อง 20% ชั่วครู่หนึ่ง แต่ฉันคิดว่ามันสามารถควบคุมเสียงและเลเยอร์กลางคันได้ แบบจำลองดูเหมือนว่าจะเป็นการฝึกอบรมที่ยอดเยี่ยมในตอนท้ายได้คะแนน 91% จากชุดฝึกอบรมทั้งหมด แต่เมื่อทดสอบชุดข้อมูลการทดสอบแล้วขยะสมบูรณ์ ข้อสังเกต: ความแม่นยำในการตรวจสอบความถูกต้องสูงกว่าความแม่นยำในการฝึกอบรม นี่คือสิ่งที่ตรงกันข้ามกับการ overfitting "ทั่วไป" ปรีชาญาณของฉันคือเมื่อแยกการตรวจสอบความถูกต้องของไอซ์เล็กโมเดลยังคงจัดการเพื่อให้พอดีกับชุดอินพุตและการสูญเสียลักษณะทั่วไปมากเกินไป เบาะแสอื่น ๆ คือ val_acc นั้นดีกว่ามาตรฐานดูเหมือนว่าคาว นั่นเป็นสถานการณ์ที่เป็นไปได้มากที่สุดที่นี่ใช่ไหม หากสิ่งนี้มากเกินไปจะเพิ่มการแยกการตรวจสอบที่ลดลงทั้งหมดหรือฉันจะพบปัญหาเดียวกันเนื่องจากโดยเฉลี่ยแต่ละตัวอย่างจะเห็นครึ่งยุคทั้งหมดยังคงอยู่หรือไม่ …

1
ฉันควรใช้เซลล์ LSTM กี่เซลล์
มีกฎของหัวแม่มือ (หรือกฎจริง) ที่เกี่ยวข้องกับจำนวน LSTM ขั้นต่ำ, สูงสุดและ "สมเหตุสมผล" ที่ฉันควรใช้หรือไม่? โดยเฉพาะฉันเกี่ยวข้องกับBasicLSTMCellจาก TensorFlow และnum_unitsคุณสมบัติ โปรดสมมติว่าฉันมีปัญหาการจำแนกที่กำหนดโดย: t - number of time steps n - length of input vector in each time step m - length of output vector (number of classes) i - number of training examples ตัวอย่างจริงหรือไม่ที่จำนวนตัวอย่างการฝึกอบรมควรมากกว่า: 4*((n+1)*m + m*m)*c ที่cเป็นจำนวนของเซลล์? ฉันใช้สิ่งนี้: จะคำนวณจำนวนพารามิเตอร์ของเครือข่าย …
12 rnn  machine-learning  r  predictive-modeling  random-forest  python  language-model  sentiment-analysis  encoding  machine-learning  deep-learning  neural-network  dataset  caffe  classification  xgboost  multiclass-classification  unbalanced-classes  time-series  descriptive-statistics  python  r  clustering  machine-learning  python  deep-learning  tensorflow  machine-learning  python  predictive-modeling  probability  scikit-learn  svm  machine-learning  python  classification  gradient-descent  regression  research  python  neural-network  deep-learning  convnet  keras  python  tensorflow  machine-learning  deep-learning  tensorflow  python  r  bigdata  visualization  rstudio  pandas  pyspark  dataset  time-series  multilabel-classification  machine-learning  neural-network  ensemble-modeling  kaggle  machine-learning  linear-regression  cnn  convnet  machine-learning  tensorflow  association-rules  machine-learning  predictive-modeling  training  model-selection  neural-network  keras  deep-learning  deep-learning  convnet  image-classification  predictive-modeling  prediction  machine-learning  python  classification  predictive-modeling  scikit-learn  machine-learning  python  random-forest  sampling  training  recommender-system  books  python  neural-network  nlp  deep-learning  tensorflow  python  matlab  information-retrieval  search  search-engine  deep-learning  convnet  keras  machine-learning  python  cross-validation  sampling  machine-learning 

4
Overfitting / Underfitting ด้วยขนาดชุดข้อมูล
ในกราฟด้านล่าง แกน x => ขนาดชุดข้อมูล แกน y => คะแนนการตรวจสอบไขว้ เส้นสีแดงใช้สำหรับข้อมูลการฝึกอบรม สายสีเขียวสำหรับการทดสอบข้อมูล ในบทช่วยสอนที่ฉันอ้างถึงผู้เขียนบอกว่าจุดที่เส้นสีแดงและเส้นสีเขียวทับกันหมายถึง การรวบรวมข้อมูลมากขึ้นนั้นไม่น่าจะเพิ่มประสิทธิภาพการวางนัยทั่วไปและเราอยู่ในภูมิภาคที่เรามีแนวโน้มที่จะทำให้ข้อมูลไม่เหมาะสม ดังนั้นจึงเหมาะสมที่จะลองใช้โมเดลที่มีความจุมากขึ้น ฉันไม่สามารถเข้าใจความหมายของวลีที่ชัดเจนและมันเกิดขึ้นได้อย่างไร ขอบคุณสำหรับความช่วยเหลือใด ๆ

2
การตรวจสอบความถูกต้องไขว้: K-fold เทียบกับการสุ่มตัวอย่างย่อยซ้ำซ้ำ ๆ
ฉันสงสัยว่ารูปแบบการตรวจสอบความถูกต้องไขว้แบบใดเพื่อเลือกสำหรับปัญหาการจำแนกประเภท: K-fold หรือการสุ่มย่อยแบบสุ่ม (การสุ่มตัวอย่างบูตสแตรป)? การคาดเดาที่ดีที่สุดของฉันคือใช้ 2/3 ของชุดข้อมูล (ซึ่งคือ ~ 1,000 รายการ) สำหรับการฝึกอบรมและ 1/3 สำหรับการตรวจสอบ ในกรณีนี้ K-fold ให้การทำซ้ำเพียงสามครั้ง (เท่า) ซึ่งไม่เพียงพอที่จะเห็นข้อผิดพลาดเฉลี่ยที่เสถียร ในทางตรงกันข้ามฉันไม่ชอบคุณสมบัติการสุ่มตัวอย่างย่อย: บางรายการจะไม่ถูกเลือกสำหรับการฝึกอบรม / การตรวจสอบความถูกต้องและบางรายการจะถูกใช้มากกว่าหนึ่งครั้ง อัลกอริทึมการจำแนกประเภทที่ใช้: ฟอเรสต์แบบสุ่มและการถดถอยโลจิสติก

1
จะเข้าใกล้การแข่งขัน numer.ai ด้วยวิธีทำนายตัวเลขแบบไม่ระบุชื่อได้อย่างไร
Numer.aiอยู่มาระยะหนึ่งแล้วและดูเหมือนจะมีเพียงไม่กี่โพสต์หรือการสนทนาอื่น ๆ เกี่ยวกับมันบนเว็บ ระบบมีการเปลี่ยนแปลงเป็นครั้งคราวและการตั้งค่าวันนี้มีดังต่อไปนี้: ฝึกอบรม (N = 96K) และทดสอบข้อมูล (N = 33K) พร้อมคุณสมบัติ 21 อย่างที่มีค่าต่อเนื่องใน [0,1] และเป้าหมายไบนารี ข้อมูลสะอาด (ไม่มีค่าขาดหาย) และอัปเดตทุก 2 สัปดาห์ คุณสามารถอัปโหลดการทำนายของคุณ (ในชุดทดสอบ) และดูการสูญเสียบันทึก ส่วนหนึ่งของข้อมูลการทดสอบคือข้อมูลสดและคุณจะได้รับเงินสำหรับการคาดการณ์ที่ดี สิ่งที่ฉันต้องการจะพูดคุย: เนื่องจากคุณสมบัติไม่ระบุชื่อโดยสิ้นเชิงฉันคิดว่ามีวิศวกรรมคุณสมบัติไม่มากที่เราสามารถทำได้ ดังนั้นวิธีการของฉันมีกลไกมาก: แรงบันดาลใจจากนี้ฉันจะใช้ขั้นตอนวิธีการจัดหมวดหมู่ในการกรองข้อมูลการฝึกอบรมผู้ที่พอดีกับการทดสอบข้อมูลที่ดีที่สุดของฉัน คิดออกก่อนการประมวลผลที่ดี ฝึกอัลกอริทึมการจำแนกที่ดี สร้างตระการตาของพวกเขา (ซ้อน, .. ) คำถามที่เป็นรูปธรรม: เกี่ยวกับขั้นตอนที่ 1: คุณมีประสบการณ์เกี่ยวกับวิธีการดังกล่าวหรือไม่? สมมติว่าฉันสั่งความน่าจะเป็นของตัวอย่างรถไฟให้เป็นของการทดสอบ (ปกติต่ำกว่า 0.5) จากนั้นฉันหาค่าความน่าจะเป็น K ที่ใหญ่ที่สุด คุณจะเลือก K อย่างไร ฉันพยายามกับ …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.