วิทยาศาสตร์ข้อมูล

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

5
วิธีการวาดไดอะแกรมสถาปัตยกรรมเครือข่ายการเรียนรู้ระดับลึก
ฉันสร้างแบบจำลองของฉันแล้ว ตอนนี้ฉันต้องการวาดแผนภาพสถาปัตยกรรมเครือข่ายสำหรับงานวิจัยของฉัน ตัวอย่างที่แสดงด้านล่าง:

11
SVM โดยใช้ scikit เรียนรู้ทำงานอย่างไม่มีที่สิ้นสุดและไม่เคยดำเนินการจนเสร็จสมบูรณ์
ฉันพยายามเรียกใช้ SVR โดยใช้ scikit learn (python) บนชุดข้อมูลการฝึกอบรมที่มี 595605 แถวและ 5 คอลัมน์ (คุณสมบัติ) และชุดทดสอบที่มี 397070 แถว ข้อมูลได้รับการประมวลผลล่วงหน้าและทำให้เป็นมาตรฐาน ฉันสามารถรันตัวอย่างทดสอบได้สำเร็จ แต่เมื่อใช้งานชุดข้อมูลของฉันและปล่อยให้มันทำงานนานกว่าหนึ่งชั่วโมงฉันก็ยังไม่เห็นผลลัพธ์หรือการสิ้นสุดของโปรแกรม ฉันได้ลองใช้งานด้วย IDE ที่แตกต่างกันและแม้กระทั่งจาก terminal แต่นั่นก็ไม่ได้เป็นปัญหา ฉันได้ลองเปลี่ยนค่าพารามิเตอร์ 'C' จาก 1 เป็น 1e3 แล้ว ฉันกำลังเผชิญปัญหาที่คล้ายกันกับการใช้งาน svm ทั้งหมดโดยใช้ scikit ฉันไม่ได้รอให้เสร็จหรือไม่ การดำเนินการนี้ควรใช้เวลาเท่าไหร่ จากประสบการณ์ของฉันไม่ควรใช้เวลาสักครู่ นี่คือการกำหนดค่าระบบของฉัน: Ubuntu 14.04, RAM 8GB, หน่วยความจำฟรีมากมาย, โปรเซสเซอร์เจนเนอเรชั่นที่ 4 รุ่นที่ 4

5
ทำไมฟังก์ชั่นค่าใช้จ่ายใช้ความผิดพลาดกำลังสอง?
ฉันเพิ่งเริ่มต้นด้วยการเรียนรู้ของเครื่องและจนถึงตอนนี้ฉันได้จัดการกับการถดถอยเชิงเส้นมากกว่าหนึ่งตัวแปร ฉันได้เรียนรู้ว่ามีสมมติฐานซึ่งก็คือ: hθ(x)=θ0+θ1xhθ(x)=θ0+θ1xh_\theta(x)=\theta_0+\theta_1x เพื่อหาค่าที่ดีสำหรับพารามิเตอร์และθ 1เราต้องการลดความแตกต่างระหว่างผลการคำนวณและผลลัพธ์จริงของข้อมูลทดสอบของเรา เราก็ลบออกθ0θ0\theta_0θ1θ1\theta_1 hθ(x(i))−y(i)hθ(x(i))−y(i)h_\theta(x^{(i)})-y^{(i)} สำหรับทุกจาก1ไปม. ดังนั้นเราคำนวณผลรวมเหนือความแตกต่างนี้แล้วคำนวณค่าเฉลี่ยด้วยการคูณผลรวมด้วย1iii111mmm . จนถึงตอนนี้ดีมาก สิ่งนี้จะส่งผลให้:1m1m\frac{1}{m} 1m∑mi=1hθ(x(i))−y(i)1m∑i=1mhθ(x(i))−y(i)\frac{1}{m}\sum_{i=1}^mh_\theta(x^{(i)})-y^{(i)} แต่นี่ไม่ใช่สิ่งที่ได้รับการแนะนำ แต่หลักสูตรแนะนำให้ใช้ค่ากำลังสองของความแตกต่างและคูณด้วย . ดังนั้นสูตรคือ:12m12m\frac{1}{2m} 12m∑mi=1(hθ(x(i))−y(i))212m∑i=1m(hθ(x(i))−y(i))2\frac{1}{2m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2 ทำไมถึงเป็นอย่างนั้น? ทำไมเราถึงใช้ฟังก์ชันสแควร์ตรงนี้, ทำไมเราคูณด้วยแทน112m12m\frac{1}{2m} ?1m1m\frac{1}{m}

11
ทำไมคนถึงชอบ Pandas ถึง SQL
ฉันใช้ SQL มาตั้งแต่ปี 1996 ดังนั้นฉันอาจจะลำเอียง ฉันใช้ MySQL และ SQLite 3 อย่างกว้างขวาง แต่ก็ใช้ Microsoft SQL Server และ Oracle ด้วย การดำเนินการส่วนใหญ่ที่ฉันเคยทำกับ Pandas นั้นสามารถทำได้ง่ายขึ้นด้วย SQL ซึ่งรวมถึงการกรองชุดข้อมูลการเลือกคอลัมน์เฉพาะสำหรับการแสดงนำฟังก์ชันไปใช้กับค่าและอื่น ๆ SQL มีข้อดีของการมีเครื่องมือเพิ่มประสิทธิภาพและการคงอยู่ของข้อมูล SQL ยังมีข้อความแสดงข้อผิดพลาดที่ชัดเจนและเข้าใจได้ นุ่นมี API ที่ค่อนข้างคลุมเครือซึ่งในบางครั้งก็เหมาะสมที่จะใช้เป็นหนึ่งเดียว[ stuff ]ครั้งอื่น ๆ ที่คุณต้องการและบางครั้งคุณจำเป็นต้องมี[[ stuff ]] .locส่วนหนึ่งของความซับซ้อนของนุ่นเกิดขึ้นจากความจริงที่ว่ามีการบรรทุกเกินพิกัดมากเกินไป ดังนั้นฉันจึงพยายามที่จะเข้าใจว่าทำไมนุ่นถึงได้รับความนิยม
69 pandas  sql 

8
เมื่อใดที่ฉันควรใช้ Gini Impurity เมื่อเทียบกับการได้รับข้อมูล
ใครบางคนสามารถอธิบายเหตุผลเบื้องหลังความไม่บริสุทธิ์ของ GiniกับInformation gain (อิงจากเอนโทรปี) ได้หรือไม่? ตัวชี้วัดใดดีกว่าที่จะใช้ในสถานการณ์ต่างๆในขณะที่ใช้แผนผังการตัดสินใจ

8
นักวิทยาศาสตร์ข้อมูลกับวิศวกรการเรียนรู้ของเครื่อง
อะไรคือความแตกต่างระหว่าง "นักวิทยาศาสตร์ข้อมูล" และ "วิศวกรการเรียนรู้ของเครื่อง"? ในช่วงปีที่ผ่านมา "วิศวกรการเรียนรู้ของเครื่องจักร" ได้เริ่มแสดงจำนวนมากในการโพสต์งาน นี่เป็นสิ่งที่เห็นได้ชัดเจนในซานฟรานซิสโกซึ่งเป็นที่มาของคำว่า "นักวิทยาศาสตร์ข้อมูล" จนถึงจุดหนึ่ง "นักวิทยาศาสตร์ข้อมูล" ตามทัน "นักสถิติ" และฉันสงสัยว่าตอนนี้สิ่งเดียวกันนี้กำลังเริ่มเกิดขึ้นอย่างช้าๆกับ "นักวิทยาศาสตร์ข้อมูล" หรือไม่ คำแนะนำด้านอาชีพมีการระบุว่าเป็นหัวข้อนอกเว็บไซต์นี้ แต่ฉันคิดว่าคำถามของฉันมีความเกี่ยวข้องอย่างมากเนื่องจากฉันถามถึงคำจำกัดความ ฉันไม่ได้ขอคำแนะนำเกี่ยวกับวิถีชีวิตการทำงานหรือสถานการณ์ส่วนตัวเช่นคำถามนอกหัวข้ออื่น ๆ คำถามนี้เป็นคำถามในหัวข้อเนื่องจากบางวันอาจมีนัยสำคัญสำหรับผู้ใช้หลายคนของไซต์นี้ ในความเป็นจริงไซต์แลกเปลี่ยนสแต็กนี้อาจไม่มีอยู่หากวิวัฒนาการ "สถิติ" เทียบกับ "นักวิทยาศาสตร์ข้อมูล" ไม่ได้เกิดขึ้น ในแง่นี้คำถามนี้เป็นคำถามที่ค่อนข้างตรงประเด็น

1
ความแตกต่างระหว่าง isna () และ isnull () ใน pandas
ฉันใช้แพนด้ามานานแล้ว แต่ฉันไม่เข้าใจว่าอะไรคือความแตกต่างระหว่างisna()และisnull()ในนุ่น และที่สำคัญกว่านั้นคืออันไหนที่จะใช้สำหรับการระบุค่าที่หายไปในดาต้าเฟรม ความแตกต่างพื้นฐานพื้นฐานของวิธีการตรวจพบค่าเป็นอย่างใดอย่างหนึ่งnaหรือnullคืออะไร?

5
การทำนายอนุกรมเวลาโดยใช้ ARIMA กับ LSTM
ปัญหาที่ฉันจัดการคือการทำนายค่าอนุกรมเวลา ฉันกำลังดูซีรีส์ครั้งเดียวในแต่ละครั้งและตามตัวอย่างเช่น 15% ของข้อมูลอินพุตฉันต้องการทำนายค่าในอนาคต จนถึงตอนนี้ฉันเจอสองรุ่น: LSTM (หน่วยความจำระยะสั้นระยะยาวคลาสของเครือข่ายประสาทที่เกิดขึ้นอีก) ARIMA ฉันลองทั้งสองและอ่านบทความเกี่ยวกับพวกเขา ตอนนี้ฉันพยายามทำความเข้าใจให้ดีขึ้นเกี่ยวกับวิธีเปรียบเทียบทั้งสอง สิ่งที่ฉันได้พบจนถึง: LSTM ทำงานได้ดีขึ้นหากเราจัดการกับข้อมูลจำนวนมากและมีข้อมูลการฝึกอบรมเพียงพอในขณะที่ ARIMA จะดีกว่าสำหรับชุดข้อมูลขนาดเล็ก (ถูกต้องหรือไม่) ARIMA ต้องการชุดพารามิเตอร์(p,q,d)ที่ต้องคำนวณตามข้อมูลในขณะที่ LSTM ไม่ต้องการตั้งค่าพารามิเตอร์ดังกล่าว อย่างไรก็ตามมีพารามิเตอร์หลายอย่างที่เราต้องปรับแต่งสำหรับ LSTM แก้ไข:หนึ่งความแตกต่างที่สำคัญระหว่างสองที่ฉันสังเกตเห็นในขณะที่อ่านบทความที่ดีที่นี่คือ ARIMA สามารถทำงานได้ดีในซีรีส์เวลานิ่ง (ที่ไม่มีฤดูกาลแนวโน้มและอื่น ๆ ) และคุณต้องดูแลว่าถ้า ต้องการใช้ ARIMA นอกเหนือจากคุณสมบัติที่กล่าวถึงข้างต้นฉันไม่สามารถหาจุดหรือข้อเท็จจริงอื่นใดที่สามารถช่วยฉันเลือกรูปแบบที่ดีที่สุดได้ ฉันจะขอบคุณจริง ๆ ถ้ามีคนช่วยฉันค้นหาบทความเอกสารหรือสิ่งอื่น ๆ (ไม่มีโชคจนถึงตอนนี้มีเพียงความคิดเห็นทั่วไปบางส่วนที่นี่และที่นั่นและไม่มีอะไรจากการทดลอง) ฉันต้องพูดถึงว่าตอนแรกฉันกำลังจัดการกับข้อมูลสตรีมมิ่ง แต่ตอนนี้ฉันกำลังใช้ชุดข้อมูล NABซึ่งรวมถึง 50 ชุดข้อมูลที่มีขนาดสูงสุด 20k จุดข้อมูล

3
ข้อดีของ AUC กับความแม่นยำมาตรฐาน
ฉันเริ่มมองเข้าไปในพื้นที่ภายใต้โค้ง (AUC) และสับสนเล็กน้อยเกี่ยวกับประโยชน์ของมัน เมื่ออธิบายให้ฉันฟังเป็นครั้งแรก AUC ดูเหมือนจะเป็นตัวชี้วัดประสิทธิภาพที่ยอดเยี่ยม แต่ในการวิจัยของฉันฉันพบว่าบางคนอ้างว่าข้อได้เปรียบของมันนั้นส่วนใหญ่อยู่ในเกณฑ์ที่ดีที่สุดสำหรับการจับโมเดล 'โชคดี' . ดังนั้นฉันควรหลีกเลี่ยงการใช้ AUC สำหรับตรวจสอบรุ่นหรือชุดค่าผสมจะดีที่สุดหรือไม่ ขอบคุณสำหรับความช่วยเหลือของคุณ

6
สตริงเป็นคุณลักษณะในต้นไม้ตัดสินใจ / ฟอเรสต์แบบสุ่ม
ฉันกำลังทำปัญหาบางอย่างกับการใช้ต้นไม้ตัดสินใจ / ป่าสุ่ม ฉันกำลังพยายามหาปัญหาที่มีตัวเลขและสตริง (เช่นชื่อประเทศ) เป็นคุณลักษณะ ตอนนี้ห้องสมุดscikit-learnจะใช้ตัวเลขเป็นพารามิเตอร์เท่านั้น แต่ฉันต้องการฉีดสตริงรวมถึงมีความรู้จำนวนมาก ฉันจะจัดการสถานการณ์ดังกล่าวได้อย่างไร ฉันสามารถแปลงสตริงเป็นตัวเลขโดยกลไกบางอย่างเช่น hashing ใน Python แต่ฉันต้องการทราบวิธีปฏิบัติที่ดีที่สุดเกี่ยวกับวิธีการจัดการสตริงในปัญหาต้นไม้การตัดสินใจ

1
วิธีรับความสัมพันธ์ระหว่างตัวแปรเด็ดขาดสองประเภทกับตัวแปรเด็ดขาดและตัวแปรต่อเนื่องได้อย่างไร
ฉันกำลังสร้างแบบจำลองการถดถอยและฉันจำเป็นต้องคำนวณด้านล่างเพื่อตรวจสอบความสัมพันธ์ ความสัมพันธ์ระหว่างตัวแปรเด็ดขาด 2 ระดับหลายระดับ ความสัมพันธ์ระหว่างตัวแปรเด็ดขาดหลายระดับและตัวแปรต่อเนื่อง VIF (ปัจจัยเงินเฟ้อความแปรปรวน) สำหรับตัวแปรเด็ดขาดหลายระดับ ฉันเชื่อว่ามันผิดที่จะใช้สัมประสิทธิ์สหสัมพันธ์ของเพียร์สันสำหรับสถานการณ์ข้างต้นเพราะเพียร์สันใช้ได้กับตัวแปร 2 ตัวต่อเนื่องเท่านั้น กรุณาตอบคำถามด้านล่าง สัมประสิทธิ์สหสัมพันธ์ใดดีที่สุดสำหรับกรณีข้างต้น การคำนวณ VIF ใช้งานได้เฉพาะกับข้อมูลต่อเนื่องดังนั้นทางเลือกอื่นคืออะไร ฉันต้องตรวจสอบสมมติฐานอะไรก่อนที่ฉันจะใช้สัมประสิทธิ์สหสัมพันธ์ที่คุณแนะนำ วิธีการนำไปใช้ใน SAS & R

3
Backprop ผ่านเลเยอร์ Max-Pooling?
นี่เป็นคำถามเชิงแนวคิดขนาดเล็กที่จู้จี้ฉันอยู่ครู่หนึ่ง: เราจะเผยแพร่กลับผ่านเลเยอร์ max-pooling ในเครือข่ายประสาทได้อย่างไร ฉันเจอเลเยอร์แบบรวมกำไรสูงสุดในขณะที่ทำตามบทช่วยสอนนี้สำหรับห้องสมุด nn ของ Torch 7 ไลบรารีจะสรุปการคำนวณการไล่ระดับสีและส่งต่อสำหรับแต่ละเลเยอร์ของเครือข่ายที่ลึก ฉันไม่เข้าใจวิธีการคำนวณการไล่ระดับสีสำหรับเลเยอร์ที่รวมกำไรสูงสุด ฉันรู้ว่าถ้าคุณมีอินพุตเข้าสู่เซลล์ประสาทของเลเยอร์ดังนั้น (นิยามเป็น ) มอบให้โดย: zilzil{z_i}^liiilllδilδil{\delta_i}^lδil=∂E∂zilδil=∂E∂zil{\delta_i}^l = \frac{\partial E}{\partial {z_i}^l}δil=θ′(zil)∑jδjl+1wl,l+1i,jδil=θ′(zil)∑jδjl+1wi,jl,l+1 {\delta_i}^l = \theta^{'}({z_i}^l) \sum_{j} {\delta_j}^{l+1} w_{i,j}^{l,l+1} ดังนั้นเลเยอร์ที่รวมกำไรสูงสุดจะได้รับของเลเยอร์ถัดไปตามปกติ แต่เนื่องจากฟังก์ชั่นการเปิดใช้งานสำหรับเซลล์ประสาท max-pooling ใช้เวลาในเวกเตอร์ของค่า (ซึ่งมัน maxes) เป็นอินพุตไม่ใช่หมายเลขเดียวอีกต่อไป แต่เวกเตอร์ (จะต้องถูกแทนที่ด้วย ) นอกจากนี้ซึ่งเป็นฟังก์ชันสูงสุดแล้วยังไม่สามารถแยกความแตกต่างได้ด้วยความเคารพของอินพุตδjl+1δjl+1{\delta_j}^{l+1}δilδil{\delta_i}^{l}θ′(zjl)θ′(zjl)\theta^{'}({z_j}^l)∇θ({zjl})∇θ({zjl})\nabla \theta(\left\{{z_j}^l\right\})θθ\theta ดังนั้น .... มันจะออกมาดียังไง

8
โอเพนซอร์สตรวจจับความผิดปกติใน Python
พื้นหลังของปัญหา: ฉันกำลังทำงานในโครงการที่เกี่ยวข้องกับไฟล์บันทึกที่คล้ายกับที่พบในพื้นที่การตรวจสอบไอที (เพื่อความเข้าใจที่ดีที่สุดของฉันเกี่ยวกับพื้นที่ไอที) ไฟล์บันทึกเหล่านี้เป็นข้อมูลอนุกรมเวลาซึ่งแบ่งเป็นหลายร้อย / หลายพันแถวของพารามิเตอร์ต่างๆ แต่ละพารามิเตอร์เป็นตัวเลข (ลอย) และมีค่าที่ไม่สำคัญ / ไม่ใช่ข้อผิดพลาดสำหรับแต่ละจุดเวลา งานของฉันคือการตรวจสอบว่าไฟล์บันทึกสำหรับการตรวจจับความผิดปกติ (แหลม, ตก, รูปแบบที่ผิดปกติกับพารามิเตอร์บางอย่างที่ไม่ได้ซิงค์, พฤติกรรมแปลกปลอมที่ 1/2 / ฯลฯ ฯลฯ ) ในการมอบหมายที่คล้ายกันฉันได้ลอง Splunk กับ Prelert แล้ว แต่ฉันกำลังสำรวจตัวเลือกโอเพนซอร์สในขณะนี้ ข้อ จำกัด : ฉัน จำกัด ตัวเองกับ Python เพราะฉันรู้ดีและต้องการชะลอการสลับเป็น R และเส้นโค้งการเรียนรู้ที่เกี่ยวข้อง เว้นแต่ว่าจะมีการสนับสนุน R (หรือภาษา / ซอฟต์แวร์อื่น ๆ ) อย่างล้นหลามฉันต้องการยึด Python สำหรับงานนี้ นอกจากนี้ฉันกำลังทำงานในสภาพแวดล้อม Windows ในขณะนี้ …

2
ฝึกอบรม RNN ด้วยตัวอย่างความยาวต่างกันใน Keras
ฉันพยายามเริ่มเรียนรู้เกี่ยวกับ RNNs และฉันใช้ Keras ฉันเข้าใจหลักฐานพื้นฐานของเลเยอร์วานิลลา RNN และ LSTM แต่ฉันมีปัญหาในการเข้าใจประเด็นทางเทคนิคบางประการสำหรับการฝึกอบรม ในเอกสาร kerasมันบอกว่าการป้อนข้อมูลไปยังชั้น RNN (batch_size, timesteps, input_dim)ต้องมีรูปร่าง นี่แสดงให้เห็นว่าตัวอย่างการฝึกอบรมทั้งหมดมีความยาวตามลำดับที่timestepsแน่นอน แต่นี่ไม่ใช่เรื่องปกติโดยเฉพาะใช่ไหม? ฉันอาจต้องการให้ RNN ทำงานกับประโยคที่มีความยาวต่างกัน เมื่อฉันฝึกมันในคลังข้อมูลบางอย่างฉันจะให้อาหารมันเป็นชุดของประโยคความยาวที่แตกต่างกันทั้งหมด ฉันคิดว่าสิ่งที่ชัดเจนที่ต้องทำคือค้นหาความยาวสูงสุดของลำดับใด ๆ ในชุดฝึกอบรมและ zero pad มัน แต่นั่นหมายความว่าฉันไม่สามารถคาดการณ์เวลาทดสอบที่มีความยาวอินพุทมากกว่านั้นได้หรือไม่? นี่เป็นคำถามเกี่ยวกับการใช้งานของ Keras โดยเฉพาะฉันคิดว่า แต่ฉันก็ถามว่าคนทั่วไปจะทำอย่างไรเมื่อต้องเผชิญกับปัญหาแบบนี้
60 python  keras  rnn  training 

9
รถไฟ / ทดสอบ / การตรวจสอบการตั้งค่าการแยกใน Sklearn
ฉันจะแยกเมทริกซ์ข้อมูลและเวกเตอร์เลเบลที่สอดคล้องกันเป็น X_train, X_test, X_val, y_train, y_test, y_test, y_val ด้วย Sklearn ได้อย่างไร เท่าที่ฉันรู้sklearn.cross_validation.train_test_splitมีเพียงความสามารถในการแยกออกเป็นสองไม่ใช่ในสาม ...

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