คำถามติดแท็ก scikit-learn

Scikit-learn เป็นโมดูล Python ซึ่งประกอบด้วยเครื่องมือที่ง่ายและมีประสิทธิภาพสำหรับการเรียนรู้ของเครื่องจักรการทำเหมืองข้อมูลและการวิเคราะห์ข้อมูล มันถูกสร้างขึ้นบน NumPy, SciPy และ matplotlib มันเผยแพร่ภายใต้ใบอนุญาต BSD 3-Clause

2
การลดขนาดอย่างมีประสิทธิภาพสำหรับชุดข้อมูลขนาดใหญ่
ฉันมีชุดข้อมูลที่มี ~ 1M แถวและ ~ 500K คุณสมบัติกระจัดกระจาย ฉันต้องการลดมิติข้อมูลลงที่ใดที่หนึ่งตามลำดับของคุณลักษณะที่หนาแน่น 1K-5K sklearn.decomposition.PCAไม่ทำงานกับข้อมูลที่กระจัดกระจายและฉันพยายามใช้sklearn.decomposition.TruncatedSVDแต่ได้รับข้อผิดพลาดของหน่วยความจำอย่างรวดเร็ว ตัวเลือกของฉันในการลดมิติข้อมูลที่มีประสิทธิภาพในระดับนี้คืออะไร

1
scikit-Learn พารามิเตอร์ n_jobs เกี่ยวกับการใช้งาน CPU และหน่วยความจำ
ในประมาณมากที่สุดใน scikit การเรียนรู้ที่มีn_jobsพารามิเตอร์ในfit/ วิธีการสำหรับการสร้างงานโดยใช้แบบคู่ขนานpredict joblibฉันสังเกตเห็นว่าการตั้งค่าให้-1สร้างกระบวนการ Python เพียง 1 กระบวนการและใช้แกนประมวลผลสูงสุดทำให้การใช้งาน CPU สูงถึง 2,500% ที่ด้านบน สิ่งนี้ค่อนข้างแตกต่างจากการตั้งค่าเป็นจำนวนเต็มบวก> 1 ซึ่งสร้างกระบวนการ Python หลายกระบวนการที่การใช้งาน ~ 100% การตั้งค่านี้มีผลต่อการใช้งาน CPU & core อย่างไรบนเซิร์ฟเวอร์ multi-CPU Linux (เช่นถ้าn_jobs=8เป็น 8 ซีพียูถูกล็อคอย่างสมบูรณ์หรือซีพียูยังคงจองคอร์บางส่วนสำหรับงาน / กระบวนการอื่น ๆ ?) นอกจากนี้ฉันจะได้รับMemoryErrorเป็นครั้งคราวเมื่อตั้งค่าn_jobs=-1ชุดข้อมูลขนาดใหญ่ อย่างไรก็ตามการใช้หน่วยความจำมักจะวนเวียนอยู่ที่ประมาณ 30-40% สำหรับกระบวนการ Python เดียว ข้อมูลและหน่วยความจำมีการจัดการ / คัดลอกอย่างไรขึ้นอยู่กับมูลค่าของn_jobs?

3
มีรูปแบบภาษาที่ดีนอกกรอบสำหรับงูใหญ่หรือไม่?
ฉันกำลังสร้างต้นแบบแอปพลิเคชันและฉันต้องการโมเดลภาษาเพื่อคำนวณความงุนงงในประโยคที่สร้างขึ้น มีรูปแบบภาษาที่ผ่านการฝึกอบรมในภาษาไพ ธ อนที่ฉันสามารถใช้ได้หรือไม่? บางสิ่งที่เรียบง่ายเช่น model = LanguageModel('en') p1 = model.perplexity('This is a well constructed sentence') p2 = model.perplexity('Bunny lamp robert junior pancake') assert p1 < p2 ฉันดูบางกรอบ แต่ไม่สามารถค้นหาสิ่งที่ฉันต้องการ ฉันรู้ว่าฉันสามารถใช้สิ่งที่ชอบ: from nltk.model.ngram import NgramModel lm = NgramModel(3, brown.words(categories='news')) สิ่งนี้ใช้การแจกแจงความน่าจะเป็นที่ดีใน Brown Corpus แต่ฉันกำลังมองหาโมเดลที่สร้างขึ้นอย่างดีในชุดข้อมูลขนาดใหญ่เช่นชุดข้อมูลคำ 1b สิ่งที่ฉันสามารถเชื่อถือได้จริง ๆ ผลลัพธ์สำหรับโดเมนทั่วไป (ไม่เพียงข่าว)
11 python  nlp  language-model  r  statistics  linear-regression  machine-learning  classification  random-forest  xgboost  python  sampling  data-mining  orange  predictive-modeling  recommender-system  statistics  dimensionality-reduction  pca  machine-learning  python  deep-learning  keras  reinforcement-learning  neural-network  image-classification  r  dplyr  deep-learning  keras  tensorflow  lstm  dropout  machine-learning  sampling  categorical-data  data-imputation  machine-learning  deep-learning  machine-learning-model  dropout  deep-network  pandas  data-cleaning  data-science-model  aggregation  python  neural-network  reinforcement-learning  policy-gradients  r  dataframe  dataset  statistics  prediction  forecasting  r  k-means  python  scikit-learn  labels  python  orange  cloud-computing  machine-learning  neural-network  deep-learning  rnn  recurrent-neural-net  logistic-regression  missing-data  deep-learning  autoencoder  apache-hadoop  time-series  data  preprocessing  classification  predictive-modeling  time-series  machine-learning  python  feature-selection  autoencoder  deep-learning  keras  tensorflow  lstm  word-embeddings  predictive-modeling  prediction  machine-learning-model  machine-learning  classification  binary  theory  machine-learning  neural-network  time-series  lstm  rnn  neural-network  deep-learning  keras  tensorflow  convnet  computer-vision 

1
วิธีใช้ Scikit-Learn การเผยแพร่ฉลากบนข้อมูลที่มีโครงสร้างของกราฟ
เป็นส่วนหนึ่งของการวิจัยของฉันฉันสนใจที่จะทำการเผยแพร่ฉลากบนกราฟ ฉันสนใจวิธีการทั้งสองนี้เป็นพิเศษ: เซี่ยวจินจู้และซู่บิน Ghahramani เรียนรู้จากข้อมูลที่ติดป้ายกำกับและไม่มีป้ายกำกับด้วยการเผยแพร่ฉลาก รายงานทางเทคนิค CMU-CALD-02-107, Carnegie Mellon University, 2002 http://pages.cs.wisc.edu/~jerryzhu/pub/CMU-CALD-02-107.pdf Dengyong Zhou, Olivier Bousquet, Thomas Navin Lal, Jason Weston, Bernhard Schoelkopf การเรียนรู้ด้วยความสอดคล้องระดับท้องถิ่นและระดับโลก (2004) http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.115.3219 ฉันเห็นว่า scikit เรียนรู้นำเสนอรูปแบบการทำเช่นนั้น อย่างไรก็ตามโมเดลนี้ควรใช้กับข้อมูลที่มีโครงสร้างแบบเวกเตอร์ ( เช่นจุดข้อมูล) โมเดลสร้างเมทริกซ์ความสัมพันธ์จากจุดข้อมูลโดยใช้เคอร์เนลจากนั้นเรียกใช้อัลกอริทึมบนเมทริกที่สร้างขึ้น ฉันต้องการที่จะป้อนเมทริกซ์ adjacency โดยตรงของกราฟของฉันแทนเมทริกซ์ความเหมือนกัน มีความคิดเกี่ยวกับวิธีการบรรลุผลนั้น หรือคุณรู้จักห้องสมุด Python ใด ๆ ที่จะอนุญาตให้เรียกใช้การเผยแพร่ฉลากโดยตรงบนข้อมูลโครงสร้างของกราฟสำหรับสองวิธีดังกล่าวข้างต้น ขอบคุณล่วงหน้าสำหรับความช่วยเหลือของ!

3
อะไรคือความแตกต่างระหว่าง vectorizer hashing และ Vectorizer tfidf
ฉันกำลังแปลงคลังข้อความเอกสารเป็นคำเวกเตอร์สำหรับแต่ละเอกสาร ฉันได้ลองแล้วโดยใช้TfidfVectorizerและHashingVectorizer ผมเข้าใจว่าHashingVectorizerไม่คำนึงถึงIDFคะแนนเหมือนTfidfVectorizerไม่ เหตุผลที่ฉันยังคงทำงานร่วมกับผู้HashingVectorizerที่มีความยืดหยุ่นจะช่วยให้ขณะที่การจัดการกับชุดข้อมูลขนาดใหญ่ตามที่อธิบายไว้ที่นี่และที่นี่ (ชุดข้อมูลดั้งเดิมของฉันมีเอกสาร 30 ล้านฉบับ) ขณะนี้ฉันทำงานกับกลุ่มตัวอย่าง 45,339 เอกสารดังนั้นผมมีความสามารถในการทำงานด้วยTfidfVectorizerนอกจากนี้ยังมี เมื่อฉันใช้ vectorizers สองตัวนี้บนเอกสาร 45339 เดียวกันเมทริกซ์ที่ฉันได้รับนั้นแตกต่างกัน hashing = HashingVectorizer() with LSM('corpus.db')) as corpus: hashing_matrix = hashing.fit_transform(corpus) print(hashing_matrix.shape) hashing เมทริกซ์รูปร่าง (45339, 1048576) tfidf = TfidfVectorizer() with LSM('corpus.db')) as corpus: tfidf_matrix = tfidf.fit_transform(corpus) print(tfidf_matrix.shape) รูปร่างเมทริกซ์ tfidf (45339, 663307) ฉันต้องการเข้าใจความแตกต่างระหว่าง a HashingVectorizerและ a TfidfVectorizerและเหตุผลที่เมทริกซ์เหล่านี้มีขนาดต่างกันโดยเฉพาะในจำนวนคำ …

3
ภาษาที่ดีที่สุดสำหรับการคำนวณทางวิทยาศาสตร์ [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ดูเหมือนว่าภาษาส่วนใหญ่จะมีห้องสมุดคำนวณทางวิทยาศาสตร์จำนวนหนึ่ง Python มี Scipy Rust มี SciRust C++มีหลายอย่างรวมถึงViennaCLและArmadillo JavaมีJava NumericsและColtเช่นเดียวกับหลาย ๆ ไม่ต้องพูดถึงภาษาที่ชอบRและJuliaออกแบบมาอย่างชัดเจนสำหรับการคำนวณทางวิทยาศาสตร์ ด้วยตัวเลือกมากมายคุณจะเลือกภาษาที่ดีที่สุดสำหรับงานอย่างไร นอกจากนี้ภาษาใดที่จะเป็นคนที่มีประสิทธิภาพมากที่สุด? PythonและRดูเหมือนว่าจะมีแรงฉุดที่สุดในอวกาศ แต่ภาษาที่รวบรวมได้ดูเหมือนจะเป็นทางเลือกที่ดีกว่า และจะมีอะไรดีกว่านี้Fortranไหม ภาษาที่คอมไพล์ด้วยนอกจากนี้มักจะมีการเร่งความเร็วของ GPU ในขณะที่ตีความภาษาเช่นRและPythonไม่ ฉันควรคำนึงถึงอะไรเมื่อเลือกภาษาและภาษาใดให้ความสมดุลของยูทิลิตี้และประสิทธิภาพที่ดีที่สุด มีภาษาใดบ้างที่มีทรัพยากรการคำนวณทางวิทยาศาสตร์ที่สำคัญที่ฉันพลาดไป
10 efficiency  statistics  tools  knowledge-base  machine-learning  neural-network  deep-learning  optimization  hyperparameter  machine-learning  time-series  categorical-data  logistic-regression  python  visualization  bigdata  efficiency  classification  binary  svm  random-forest  logistic-regression  data-mining  sql  experiments  bigdata  efficiency  performance  scalability  distributed  bigdata  nlp  statistics  education  knowledge-base  definitions  machine-learning  recommender-system  evaluation  efficiency  algorithms  parameter  efficiency  scalability  sql  statistics  visualization  knowledge-base  education  machine-learning  r  python  r  text-mining  sentiment-analysis  machine-learning  machine-learning  python  neural-network  statistics  reference-request  machine-learning  data-mining  python  classification  data-mining  bigdata  usecase  apache-hadoop  map-reduce  aws  education  feature-selection  machine-learning  machine-learning  sports  data-formats  hierarchical-data-format  bigdata  apache-hadoop  bigdata  apache-hadoop  python  visualization  knowledge-base  classification  confusion-matrix  accuracy  bigdata  apache-hadoop  bigdata  efficiency  apache-hadoop  distributed  machine-translation  nlp  metadata  data-cleaning  text-mining  python  pandas  machine-learning  python  pandas  scikit-learn  bigdata  machine-learning  databases  clustering  data-mining  recommender-system 

3
วิธีการเข้ารหัสคลาสที่มี 24,000 หมวดหมู่?
ฉันกำลังทำงานกับโมเดลการถดถอยโลจิสติกส์สำหรับฟังก์ชั่นจีโนม genesหนึ่งของการป้อนข้อมูลเขตข้อมูลที่ฉันต้องการที่จะรวมเป็นตัวแปรร่วมเป็น มียีนที่รู้จักประมาณ 24,000 ตัว มีคุณสมบัติมากมายที่มีระดับความแปรปรวนในชีววิทยาการคำนวณและต้องการตัวอย่างนับแสน ถ้าฉันLabelEncoder()ยีน 24K เหล่านั้น แล้วOneHotEncoder()พวกเขา ... จะมี 24,000 คอลัมน์ที่จะทำให้การฝึกอบรมของฉันเร็วขึ้นสำหรับซีพียู quad-core i7 2.2 GHz หรือไม่? ถ้าเป็นเช่นนั้นมีวิธีอื่นในการเข้ารหัสที่ฉันสามารถทำได้ด้วยหรือไม่ ฉันควรพยายามอุทิศเลเยอร์ของแบบจำลองของฉันกับคุณสมบัตินี้หรือไม่? นี่หมายความว่าฉันต้องการโหนดอินพุต 24K หรือไม่

3
ทำนายเวลาที่ดีที่สุดในการโทร
ฉันมีชุดข้อมูลรวมถึงชุดลูกค้าในเมืองต่าง ๆ ของรัฐแคลิฟอร์เนียเวลาที่โทรหาลูกค้าแต่ละรายและสถานะการโทร (จริงถ้าลูกค้ารับสายและเท็จถ้าลูกค้าไม่รับสาย) ฉันต้องหาเวลาที่เหมาะสมในการโทรหาลูกค้าในอนาคตเพื่อให้โอกาสในการตอบรับสูง ดังนั้นกลยุทธ์ที่ดีที่สุดสำหรับปัญหานี้คืออะไร ฉันควรพิจารณาว่าเป็นปัญหาการจำแนกซึ่งชั่วโมง (0,1,2, ... 23) เป็นชั้นเรียนหรือไม่ หรือฉันควรพิจารณาว่าเป็นงานการถดถอยซึ่งเวลาเป็นตัวแปรต่อเนื่องหรือไม่ ฉันจะแน่ใจได้อย่างไรว่าความน่าจะเป็นที่จะรับสายจะสูง ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม มันจะดีมากถ้าคุณอ้างอิงถึงปัญหาที่คล้ายกัน ด้านล่างนี้เป็นภาพรวมของข้อมูล

3
การสร้างรูปแบบการเรียนรู้ของเครื่องเพื่อทำนายผลผลิตพืชจากข้อมูลสิ่งแวดล้อม
ฉันมีชุดข้อมูลที่มีข้อมูลเกี่ยวกับอุณหภูมิการตกตะกอนและผลผลิตถั่วเหลืองสำหรับฟาร์มเป็นเวลา 10 ปี (2005 - 2014) ฉันต้องการที่จะทำนายผลตอบแทนสำหรับปี 2015 จากข้อมูลนี้ โปรดทราบว่าชุดข้อมูลมีค่ารายวันสำหรับอุณหภูมิและปริมาณน้ำฝน แต่มีเพียง 1 ค่าต่อปีสำหรับผลผลิตเนื่องจากการเก็บเกี่ยวพืชผลเกิดขึ้นเมื่อสิ้นสุดฤดูกาลเพาะปลูก ฉันต้องการสร้างแบบจำลองการถดถอยหรือแบบจำลองการเรียนรู้ด้วยเครื่องอื่น ๆ เพื่อคาดการณ์ผลตอบแทนปี 2558 โดยยึดตามรูปแบบการถดถอย / แบบจำลองอื่น ๆ ที่ได้จากการศึกษาความสัมพันธ์ระหว่างอัตราผลตอบแทนกับอุณหภูมิและปริมาณน้ำฝนในปีก่อนหน้า ฉันคุ้นเคยกับการเรียนรู้ด้วยเครื่องโดยใช้ Scikit-Learn อย่างไรก็ตามไม่แน่ใจว่าจะแสดงปัญหานี้อย่างไร ส่วนที่ยุ่งยากนี่คืออุณหภูมิและปริมาณน้ำฝนเป็นรายวัน แต่ผลผลิตเพียง 1 ค่าต่อปี ฉันจะเข้าใกล้สิ่งนี้ได้อย่างไร

2
ตัวแยกประเภท Scikit ใช้เวลานานเท่าไรในการจำแนก?
ฉันวางแผนที่จะใช้ลักษณนามลักษณนามของเวกเตอร์สนับสนุนเชิงเส้น (SVM) ของ scikit สำหรับการจำแนกข้อความบนคลังข้อมูลซึ่งประกอบด้วยเอกสารที่มีป้ายกำกับ 1 ล้านฉบับ สิ่งที่ฉันกำลังวางแผนที่จะทำคือเมื่อผู้ใช้ป้อนคำหลักบางคำลักษณนามจะจัดประเภทไว้ในหมวดหมู่ก่อนแล้วแบบสอบถามการสืบค้นข้อมูลที่ตามมาจะเกิดขึ้นภายในเอกสารของหมวดหมู่หมวดหมู่นั้น ฉันมีคำถามสองสามข้อ: ฉันจะยืนยันได้อย่างไรว่าการจำแนกประเภทจะใช้เวลาไม่นาน ฉันไม่ต้องการให้ผู้ใช้ต้องใช้เวลารอการจัดหมวดหมู่ให้เสร็จเพื่อให้ได้ผลลัพธ์ที่ดีขึ้น การใช้ห้องสมุด scikit ของ Python สำหรับเว็บไซต์ / แอปพลิเคชันบนเว็บเหมาะสมกับเรื่องนี้หรือไม่? ไม่มีใครรู้ว่า amazon หรือ flipkart ดำเนินการจัดหมวดหมู่ในการค้นหาของผู้ใช้หรือพวกเขาใช้ตรรกะที่แตกต่างอย่างสิ้นเชิง?

1
ข้อมูลที่ไม่สมดุลทำให้เกิดการจำแนกผิดพลาดในชุดข้อมูลหลายคลาส
ฉันทำงานเกี่ยวกับการจำแนกข้อความที่ฉันมี 39 หมวดหมู่ / คลาสและ 8.5 ล้านบันทึก (ในอนาคตข้อมูลและหมวดหมู่จะเพิ่มขึ้น) โครงสร้างหรือรูปแบบของข้อมูลของฉันมีดังนี้ ---------------------------------------------------------------------------------------- | product_title | Key_value_pairs | taxonomy_id | ---------------------------------------------------------------------------------------- Samsung S7 Edge | Color:black,Display Size:5.5 inch,Internal | 211 Storage:128 GB, RAM:4 GB,Primary Camera:12 MP Case cover Honor 8 | Color:transparent,Height:15 mm,width:22 mm | 212 Ruggers Men's T-Shirt | Size:L,ideal for:men,fit:regular, | …

4
การตีความแผนผังการตัดสินใจในบริบทของคุณลักษณะสำคัญ
ฉันกำลังพยายามที่จะเข้าใจวิธีการทำความเข้าใจกระบวนการตัดสินใจของรูปแบบการจัดหมวดหมู่ต้นไม้การตัดสินใจที่สร้างขึ้นด้วยความเข้าใจ สิ่งสำคัญสองประการที่ฉันกำลังดูคือการนำเสนอกราฟวิซของต้นไม้และรายการของคุณลักษณะสำคัญ สิ่งที่ฉันไม่เข้าใจคือการกำหนดความสำคัญของคุณลักษณะในบริบทของต้นไม้ ตัวอย่างเช่นนี่คือรายการสำคัญของคุณลักษณะของฉัน: การจัดอันดับคุณลักษณะ: 1. FeatureA (0.300237) FeatureB (0.166800) FeatureC (0.092472) FeatureD (0.075009) คุณสมบัติ E (0.068310) FeatureF (0.067118) FeatureG (0.066510) คุณสมบัติ H (0.043502) คุณสมบัติ I (0.040281) คุณสมบัติ J (0.039006) FeatureK (0.032618) FeatureL (0.008136) FeatureM (0.000000) อย่างไรก็ตามเมื่อฉันดูที่ด้านบนของต้นไม้ดูเหมือนว่า: ในความเป็นจริงแล้วฟีเจอร์บางอย่างที่มีการจัดอันดับว่า "สำคัญที่สุด" จะไม่ปรากฏขึ้นจนกว่าจะลงไปถึงต้นไม้และบนสุดของต้นไม้คือ FeatureJ ซึ่งเป็นหนึ่งในฟีเจอร์ที่มีอันดับต่ำที่สุด ข้อสันนิษฐานที่ไร้เดียงสาของฉันคือว่าฟีเจอร์ที่สำคัญที่สุดจะถูกจัดอยู่ใกล้กับส่วนบนสุดของต้นไม้เพื่อให้ได้ผลที่ดีที่สุด หากไม่ถูกต้องแล้วคุณสมบัติใดที่ทำให้ "สำคัญ"

3
ส่งออกน้ำหนัก (สูตร) ​​จาก Random Forest Regressor ใน Scikit-Learn
ฉันได้ฝึกฝนแบบจำลองการทำนายด้วย Scikit Learn ใน Python (Random Forest Regressor) และฉันต้องการแยกน้ำหนักของคุณลักษณะแต่ละอย่างเพื่อสร้างเครื่องมือ excel สำหรับการคาดการณ์ด้วยตนเอง สิ่งเดียวที่ฉันพบคือmodel.feature_importances_แต่มันไม่ได้ช่วย มีวิธีการที่จะบรรลุหรือไม่ def performRandomForest(X_train, y_train, X_test, y_test): '''Perform Random Forest Regression''' from sklearn.ensemble import RandomForestRegressor model = RandomForestRegressor() model.fit( X_train , y_train ) #make predictions expected = y_test predicted = model.predict( X_test ) #summarize the fit of the model …

1
การเลือกคุณสมบัติสำหรับ Support Vector Machines
คำถามของฉันคือสามเท่า ในบริบทของ "Kernelized" รองรับเครื่องเวกเตอร์ การเลือกตัวแปร / คุณสมบัติเป็นสิ่งที่ต้องการ - โดยเฉพาะอย่างยิ่งเมื่อเราทำการปรับพารามิเตอร์ C เพื่อป้องกันการ overfitting และแรงจูงใจหลักที่อยู่เบื้องหลังการนำเมล็ดไปยัง SVM คือการเพิ่มมิติของปัญหาในกรณีเช่นนี้การลดขนาดโดยการลดพารามิเตอร์ หากคำตอบของคำถามที่ 1 คือ "ไม่" ดังนั้นคำตอบของคำถามที่ควรคำนึงถึงคืออะไร? มีวิธีการที่ดีที่พยายามลดคุณสมบัติสำหรับ SVM ในห้องสมุด scikit-Learn ของ python หรือไม่ฉันได้ลองใช้วิธี SelectFpr แล้วและกำลังมองหาคนที่มีประสบการณ์ด้วยวิธีการที่แตกต่างกัน

2
มีวิธีที่ตรงข้ามกับการลดขนาดหรือไม่?
ฉันยังใหม่กับการเรียนรู้ของเครื่องจักร แต่ได้ทำการแบ่งสัญญาณการประมวลผลแล้ว โปรดแจ้งให้เราทราบหากคำถามนี้ติดป้ายกำกับไม่ถูกต้อง ฉันมีข้อมูลสองมิติซึ่งกำหนดโดยตัวแปรอย่างน้อยสามตัวด้วยวิธีการจำลองที่ไม่เป็นเชิงเส้นสูงเกินไปที่ซับซ้อนในการจำลอง ฉันมีระดับความสำเร็จที่แตกต่างกันในการแยกสององค์ประกอบหลักจากข้อมูลโดยใช้วิธีการเช่น PCA และ ICA (จากห้องสมุดหลาม Scikit-Learn) แต่ดูเหมือนว่าวิธีการเหล่านี้ (หรืออย่างน้อยที่สุดการใช้งานวิธีการเหล่านี้) มี จำกัด เพื่อแยกส่วนประกอบได้มากเท่าที่มีมิติในข้อมูลตัวอย่างเช่น 2 ส่วนประกอบจากคลาวด์จุด 2D เมื่อพล็อตข้อมูลเป็นที่ชัดเจนต่อสายตาที่ผ่านการฝึกอบรมว่ามีแนวโน้มเชิงเส้นที่แตกต่างกันสามเส้นเส้นสีสามเส้นแสดงทิศทาง เมื่อใช้ PCA ส่วนประกอบหลักจะถูกจัดตำแหน่งให้เป็นหนึ่งในเส้นสีและส่วนอื่น ๆ จะอยู่ที่ 90 °ตามที่คาดไว้ เมื่อใช้ ICA ส่วนประกอบแรกจะถูกจัดแนวกับเส้นสีน้ำเงินและองค์ประกอบที่สองอยู่ระหว่างสีแดงกับสีเขียว ฉันกำลังมองหาเครื่องมือที่สามารถสร้างส่วนประกอบทั้งสามในสัญญาณของฉัน แก้ไขข้อมูลเพิ่มเติม:ฉันอยู่ที่นี่ทำงานในเซตย่อยขนาดเล็กของระนาบเฟสที่ใหญ่กว่า ในชุดย่อยขนาดเล็กนี้ตัวแปรอินพุตแต่ละตัวสร้างการเปลี่ยนแปลงเชิงเส้นบนระนาบ แต่ทิศทางและความกว้างของการเปลี่ยนแปลงนี้ไม่ใช่แบบเส้นตรงและขึ้นอยู่กับตำแหน่งบนระนาบที่ใหญ่กว่าที่ฉันกำลังทำงานอยู่ ในบางสถานที่ตัวแปรสองตัวสามารถเสื่อมถอยลงได้พวกมันสร้างการเปลี่ยนแปลงในทิศทางเดียวกัน ตัวอย่างเช่นสมมติว่าโมเดลขึ้นกับ X, Y และ Z การเปลี่ยนแปลงในตัวแปร X จะทำให้เกิดการเปลี่ยนแปลงตามแนวเส้นสีฟ้า Y ทำให้เกิดการเปลี่ยนแปลงตามเส้นสีเขียว Z ตามแนวสีแดง

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