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

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

3
มวลแปลงคอลัมน์เด็ดขาดใน Pandas (ไม่ใช่การเข้ารหัสแบบร้อนแรง)
ฉันมี dataframe นุ่นกับคอลัมน์เด็ดขาดมากมายซึ่งฉันกำลังวางแผนที่จะใช้ในต้นไม้การตัดสินใจกับ scikit- เรียนรู้ ฉันต้องการแปลงให้เป็นค่าตัวเลข ฉันสามารถทำได้ด้วย LabelEncoder จาก scikit-learn ปัญหาคือมีจำนวนมากเกินไปและฉันไม่ต้องการแปลงด้วยตนเอง อะไรจะเป็นวิธีที่ง่ายในการทำให้กระบวนการนี้เป็นแบบอัตโนมัติ

1
จะกำหนดเมตริกประสิทธิภาพที่กำหนดเองใน Keras ได้อย่างไร
ฉันพยายามกำหนด fuction เมตริกที่กำหนดเอง (คะแนน F1) ใน Keras (Tensorflow แบ็กเอนด์) ตามต่อไปนี้: def f1_score(tags, predicted): tags = set(tags) predicted = set(predicted) tp = len(tags & predicted) fp = len(predicted) - tp fn = len(tags) - tp if tp>0: precision=float(tp)/(tp+fp) recall=float(tp)/(tp+fn) return 2*((precision*recall)/(precision+recall)) else: return 0 จนถึงตอนนี้ดีมาก แต่เมื่อฉันพยายามใช้มันในการรวบรวมแบบจำลอง: model1.compile(loss="binary_crossentropy", optimizer=Adam(), metrics=[f1_score]) มันให้ข้อผิดพลาด: TypeError …

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

3
Tensorflow การปรับฟังก์ชั่นต้นทุนสำหรับข้อมูลที่ไม่สมดุล
ฉันมีปัญหาการจำแนกข้อมูลที่มีความไม่สมดุลสูง ฉันได้อ่านแล้วการสุ่มตัวอย่างเกินจริงและการเปลี่ยนแปลงค่าใช้จ่ายสำหรับผลลัพธ์ที่เป็นหมวดหมู่ที่ต่ำกว่าจะนำไปสู่การปรับที่ดีขึ้น ก่อนที่สิ่งนี้จะทำเสร็จแล้วก็จะแบ่งออกเป็นแต่ละกลุ่มส่วนใหญ่เทนเซอร์กระแส (และได้รับความแม่นยำมากกว่า 90% ไม่มีความหมายเท่าที่เป็น) ฉันสังเกตว่าบันทึกของค่าผกผันของแต่ละกลุ่มทำให้ตัวคูณที่ดีที่สุดที่ฉันได้ลอง มีการจัดการมาตรฐานมากขึ้นสำหรับฟังก์ชันต้นทุนหรือไม่ สิ่งนี้ถูกนำไปใช้อย่างถูกต้องหรือไม่? from collections import Counter counts = Counter(category_train) weightsArray =[] for i in range(n_classes): weightsArray.append(math.log(category_train.shape[0]/max(counts[i],1))+1) class_weight = tf.constant(weightsArray) weighted_logits = tf.mul(pred, class_weight) cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(weighted_logits, y)) optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)

2
การเรียนรู้เชิงลึกด้วย Spectrograms เพื่อการจดจำเสียง
ฉันกำลังดูความเป็นไปได้ที่จะจำแนกเสียง (เช่นเสียงของสัตว์) โดยใช้สเปคตรัม ความคิดคือการใช้เครือข่ายประสาทเทียมแบบลึกเพื่อจำแนกส่วนในสเปคโทรแกรมและส่งออกฉลากระดับหนึ่ง (หรือหลาย) นี่ไม่ใช่แนวคิดใหม่ (ดูตัวอย่างการจำแนกเสียงของวาฬหรือการจดจำสไตล์เพลง ) ปัญหาที่ฉันเผชิญอยู่ก็คือฉันมีไฟล์เสียงที่มีความยาวต่างกันดังนั้นจึงมีขนาดต่างกัน จนถึงทุกวิธีที่ฉันเห็นใช้ตัวอย่างเสียงขนาดคงที่ แต่ฉันไม่สามารถทำได้เพราะไฟล์เสียงของฉันอาจมีความยาว 10 วินาทีหรือ 2 นาที ตัวอย่างเช่นด้วยเสียงนกในตอนเริ่มต้นและเสียงกบตอนท้าย (เอาต์พุตควรเป็น "Bird, Frog") วิธีแก้ปัญหาปัจจุบันของฉันคือการเพิ่มส่วนประกอบชั่วคราวให้กับเครือข่ายประสาท (สร้างเครือข่ายประสาทที่เกิดขึ้นอีก) แต่ฉันต้องการที่จะทำให้มันง่ายขึ้นสำหรับตอนนี้ ความคิดลิงก์บทเรียนหรือไม่?

3
ฉันจะแยกความแตกต่างระหว่างข้อมูลที่เป็นหมวดหมู่และข้อมูลที่เป็นตัวเลขได้อย่างไร
ฉันรู้จักใครที่กำลังทำงานในโครงการที่เกี่ยวข้องกับการนำเข้าแฟ้มข้อมูลโดยไม่คำนึงถึงคอลัมน์หรือชนิดข้อมูล ภารกิจคือการใช้ไฟล์ที่มีคอลัมน์จำนวนเท่าใดก็ได้รวมถึงชนิดข้อมูลต่างๆและสถิติสรุปผลลัพธ์ของข้อมูลตัวเลข อย่างไรก็ตามเขาไม่แน่ใจว่าจะดำเนินการกำหนดประเภทข้อมูลแบบไดนามิกสำหรับข้อมูลตามจำนวนที่แน่นอนได้อย่างไร ตัวอย่างเช่น: CITY Albuquerque Boston Chicago เห็นได้ชัดว่านี่ไม่ใช่ข้อมูลตัวเลขและจะถูกเก็บไว้เป็นข้อความ อย่างไรก็ตาม ZIP 80221 60653 25525 ไม่ชัดเจนว่าเป็นหมวดหมู่ ซอฟต์แวร์ของเขาจะกำหนดรหัสไปรษณีย์เป็นตัวเลขและสรุปสถิติผลลัพธ์ของมันซึ่งไม่สมเหตุสมผลสำหรับข้อมูลประเภทนั้น แนวคิดสองสามข้อที่เรามี: หากคอลัมน์เป็นจำนวนเต็มทั้งหมดให้ระบุชื่อเป็นหมวดหมู่ เห็นได้ชัดว่าใช้งานไม่ได้ แต่เป็นความคิด หากคอลัมน์มีค่าที่ไม่ซ้ำกันน้อยกว่าnค่าและเป็นตัวเลขให้กำหนดป้ายกำกับให้เป็นหมวดหมู่ นี่อาจเข้าใกล้ แต่ก็ยังอาจมีปัญหาเกี่ยวกับข้อมูลที่เป็นตัวเลข ปรับปรุงรายการข้อมูลตัวเลขทั่วไปที่ควรจัดหมวดหมู่และเปรียบเทียบส่วนหัวคอลัมน์กับรายการนี้เพื่อจับคู่ ตัวอย่างเช่นทุกอย่างที่มี "ZIP" ในนั้นจะเป็นหมวดหมู่ ลำไส้ของฉันบอกฉันว่าไม่มีวิธีที่จะกำหนดข้อมูลตัวเลขอย่างถูกต้องเป็นหมวดหมู่หรือตัวเลข แต่หวังว่าจะได้รับคำแนะนำ ข้อมูลเชิงลึกใด ๆ ที่คุณได้รับการชื่นชมอย่างมาก

3
ต้องการความช่วยเหลือในการทำความเข้าใจข้อเสนอจุดแยกโดยประมาณของ xgboost
พื้นหลัง: ในxgboost ย้ำพยายามเพื่อให้พอดีกับต้นไม้ฉเสื้อมากกว่าทุกnตัวอย่างซึ่งช่วยลดการดังต่อไปนี้วัตถุประสงค์:tttftftf_tnnn ∑i=1n[gift(xi)+12hif2t(xi)]∑i=1n[gift(xi)+12hift2(xi)]\sum_{i=1}^n[g_if_t(x_i) + \frac{1}{2}h_if_t^2(x_i)] ที่เป็นลำดับแรกและอนุพันธ์ลำดับที่สองในช่วงก่อนหน้านี้ประมาณค่าที่ดีที่สุดของเราY (จากการย้ำT - 1 ):gi,higi,hig_i, h_iy^y^\hat{y}t−1t−1t-1 gi=dy^l(yi,y^)gi=dy^l(yi,y^)g_i=d_{\hat{y}}l(y_i, \hat{y}) hi=d2y^l(yi,y^)hi=dy^2l(yi,y^)h_i=d^2_{\hat{y}}l(y_i, \hat{y}) และคือฟังก์ชันการสูญเสียของเราlll คำถาม (ในที่สุด): เมื่อมีการสร้างและเมื่อพิจารณาจากคุณลักษณะเฉพาะkในการแยกเฉพาะที่พวกเขาใช้การแก้ปัญหาต่อไปนี้ในการประเมินผู้สมัครเพียงบางส่วนแยก: พวกเขาจัดเรียงตัวอย่างทั้งหมดของพวกเขาโดยx k , ข้ามรายการที่เรียงลำดับและผลรวมของพวกเขาสองอนุพันธ์ชั่วโมงฉัน พวกเขาคิดว่าเป็นผู้สมัครที่แยกเฉพาะเมื่อรวมการเปลี่ยนแปลงมากกว่าε ทำไมเป็นแบบนั้น ???ftftf_tkkkxkxkx_khihih_iϵϵ\epsilon คำอธิบายที่พวกเขาให้ฉัน: พวกเขาอ้างว่าเราสามารถเขียนสมการก่อนหน้าได้เช่น: ∑i=1n12hi[ft(xi)−gi/hi]2+constant∑i=1n12hi[ft(xi)−gi/hi]2+constant\sum_{i=1}^n\frac{1}{2}h_i[f_t(x_i) - g_i/h_i]^2 + constant และฉันล้มเหลวในการติดตามพีชคณิต - คุณสามารถแสดงให้เห็นว่าทำไมมันเท่ากัน? แล้วพวกเขาก็อ้างว่า "นี่คือการสูญเสียน้ำหนักกำลังสองที่แน่นอนด้วยฉลากและน้ำหนักh i " - คำแถลงที่ฉันเห็นด้วย แต่ฉันไม่เข้าใจว่ามันเกี่ยวข้องกับอัลกอริธึมการสมัครแยกที่พวกเขาใช้อยู่อย่างไร ..gi/higi/higi/hihihih_i ขอขอบคุณและขออภัยถ้ามันยาวเกินไปสำหรับฟอรัมนี้
12 xgboost  gbm 

1
การเลือกคุณสมบัติโดยใช้คุณสมบัตินำเข้าในป่าสุ่มพร้อม scikit-Learn
ฉันมีพล็อต importances คุณลักษณะในป่าสุ่มที่มี scikit เพื่อปรับปรุงการทำนายโดยใช้ฟอเรสต์แบบสุ่มฉันจะใช้ข้อมูลพล็อตเพื่อลบคุณลักษณะได้อย่างไร ฉันจะทราบได้อย่างไรว่าฟีเจอร์นั้นไม่มีประโยชน์หรือลดประสิทธิภาพการสุ่มฟอเรสต์โดยใช้ข้อมูลการลงจุดอย่างไร พล็อตจะขึ้นอยู่กับคุณลักษณะfeature_importances_และฉันใช้ตัวจําแนsklearn.ensemble.RandomForestClassifierก ฉันรู้ว่ามีอยู่เทคนิคอื่น ๆ สำหรับการเลือกคุณลักษณะfeature_importances_แต่ในคำถามนี้ผมต้องการที่จะมุ่งเน้นไปที่วิธีการใช้คุณลักษณะ ตัวอย่างของการแปลงความสำคัญของคุณลักษณะดังกล่าว:

2
อนุกรมเวลาแบบไม่สม่ำเสมอ
ฉันมีตัวแปรต่อเนื่องสุ่มตัวอย่างในช่วงเวลาหนึ่งปีในช่วงเวลาที่ผิดปกติ บางวันมีมากกว่าหนึ่งการสังเกตต่อชั่วโมงในขณะที่ช่วงเวลาอื่นไม่มีอะไรเป็นวัน สิ่งนี้ทำให้ยากต่อการตรวจสอบรูปแบบในอนุกรมเวลาเนื่องจากบางเดือน (ตัวอย่างเช่นเดือนตุลาคม) มีการสุ่มตัวอย่างสูงในขณะที่คนอื่นไม่ได้ คำถามของฉันคืออะไรจะเป็นวิธีที่ดีที่สุดในการสร้างแบบจำลองเวลานี้ ฉันเชื่อว่าเทคนิคการวิเคราะห์อนุกรมเวลาส่วนใหญ่ (เช่น ARMA) ต้องการความถี่คงที่ ฉันสามารถรวมข้อมูลเพื่อให้มีตัวอย่างคงที่หรือเลือกชุดย่อยของข้อมูลที่มีรายละเอียดมาก ด้วยตัวเลือกทั้งสองฉันจะพลาดข้อมูลบางส่วนจากชุดข้อมูลดั้งเดิมที่สามารถเปิดเผยรูปแบบที่แตกต่าง แทนที่จะย่อยสลายซีรีส์ในรอบฉันสามารถป้อนข้อมูลโมเดลด้วยชุดข้อมูลทั้งหมดและคาดว่าจะรับรูปแบบ ตัวอย่างเช่นฉันแปลงชั่วโมงวันทำงานและเดือนเป็นตัวแปรเด็ดขาดและลองการถดถอยหลายครั้งด้วยผลลัพธ์ที่ดี (R2 = 0.71) ฉันมีความคิดว่าเทคนิคการเรียนรู้ด้วยเครื่องจักรเช่น ANN สามารถเลือกรูปแบบเหล่านี้ได้จากอนุกรมเวลาที่ไม่สม่ำเสมอ แต่ฉันสงสัยว่ามีใครลองดูบ้างและสามารถให้คำแนะนำเกี่ยวกับวิธีที่ดีที่สุดในการแสดงรูปแบบเวลาในเครือข่ายประสาท

3
ความช่วยเหลือเกี่ยวกับ NER ใน NLTK
ฉันทำงานใน NLTK มาระยะหนึ่งแล้วโดยใช้ Python ปัญหาที่ฉันพบคือพวกเขาไม่มีความช่วยเหลือในการฝึกอบรม NER ใน NLTK ด้วยข้อมูลที่กำหนดเองของฉัน พวกเขาใช้ MaxEnt และฝึกฝนบน ACE corpus ฉันค้นหาบนเว็บเป็นจำนวนมาก แต่ไม่พบวิธีที่สามารถใช้ในการฝึกอบรม NER ของ NLTK ได้ หากทุกคนสามารถให้ลิงก์ / บทความ / บล็อกอื่น ๆ ให้ฉันซึ่งสามารถนำฉันไปยังรูปแบบชุดข้อมูลการฝึกอบรมที่ใช้ในการฝึกอบรม NER ของ NLTK เพื่อให้ฉันสามารถเตรียมชุดข้อมูลของฉันในรูปแบบเฉพาะนั้น และถ้าฉันถูกนำไปยังลิงก์ / บทความ / บล็อก ฯลฯ ซึ่งสามารถช่วยฉันได้ NER ของ TRAIN NLTK สำหรับข้อมูลของฉันเอง นี่คือคำถามที่ค้นหากันอย่างกว้างขวางและตอบน้อยที่สุด อาจเป็นประโยชน์สำหรับใครบางคนในอนาคตที่ทำงานกับ NER

4
การดาวน์โหลดชุดข้อมูลขนาดใหญ่บนเว็บโดยตรงไปยัง AWS S3
ไม่มีใครรู้ว่าเป็นไปได้ที่จะนำเข้าชุดข้อมูลขนาดใหญ่ไปยัง Amazon S3 จาก URL หรือไม่? โดยทั่วไปฉันต้องการหลีกเลี่ยงการดาวน์โหลดไฟล์ขนาดใหญ่แล้วทำการอัปโหลดไฟล์ซ้ำอีกครั้งเป็น S3 ผ่านเว็บพอร์ทัล ฉันแค่ต้องการให้ URL ดาวน์โหลดไปยัง S3 และรอให้พวกเขาดาวน์โหลดไปยังระบบไฟล์ของพวกเขา ดูเหมือนจะเป็นเรื่องง่ายที่จะทำ แต่ฉันก็หาเอกสารไม่เจอ
12 dataset  aws 

2
เครื่องมือ Opensource สำหรับความช่วยเหลือในการขุดคะแนนกระดานผู้นำ
พิจารณาสตรีมที่มีtuples ซึ่ง (user, new_score)แสดงคะแนนของผู้ใช้ในเกมออนไลน์ สตรีมสามารถมีองค์ประกอบใหม่ 100-1,000 รายการต่อวินาที เกมดังกล่าวมีผู้เล่นที่ไม่ซ้ำกัน 200K ถึง 300K ฉันต้องการมีข้อความค้นหาที่ยืนอยู่เช่น: ผู้เล่นคนใดโพสต์คะแนนมากกว่า x ในหน้าต่างบานเลื่อนหนึ่งชั่วโมง ผู้เล่นคนใดที่ได้คะแนน x% ในหน้าต่างบานเลื่อนหนึ่งชั่วโมง คำถามของฉันคือเครื่องมือโอเพนซอร์สที่ฉันสามารถใช้เพื่อเริ่มต้นโครงการนี้ได้อย่างไร ฉันกำลังพิจารณาEsperในขณะนี้ หมายเหตุ: ฉันเพิ่งเสร็จสิ้นการอ่าน "Mining Data Streams" (ตอนที่ 4 ของการขุดชุดข้อมูลขนาดใหญ่ ) และฉันค่อนข้างใหม่สำหรับการขุดกระแสข้อมูล

3
จะสร้างการเติบโตของเครือข่ายโซเชียลอย่างไร?
ฉันกำลังมองหาไลบรารี / เครื่องมือเพื่อให้เห็นภาพว่าเครือข่ายสังคมเปลี่ยนแปลงอย่างไรเมื่อมีการเพิ่มโหนด / ขอบใหม่เข้าไป หนึ่งในโซลูชั่นที่มีอยู่Sonia: Animator มันช่วยให้คุณทำภาพยนตร์เช่นนี้ เอกสารของ SoNIA บอกว่ามันพังในขณะนี้และนอกเหนือจากนี้ฉันต้องการโซลูชันที่ใช้ JavaScript แทน ดังนั้นคำถามของฉันคือคุณคุ้นเคยกับเครื่องมือใด ๆ หรือคุณสามารถชี้ให้ฉันไปที่ห้องสมุดบางแห่งที่จะทำให้งานนี้ง่ายที่สุดเท่าที่จะเป็นไปได้หรือไม่? หลังจากโพสต์คำถามนี้ฉันจะขุดลงในsigma.jsดังนั้นโปรดพิจารณาห้องสมุดนี้ด้วย โดยทั่วไปข้อมูลอินพุตของฉันจะเป็นดังนี้: time_elapsed; node1; node2 1; A; B 2; A; C 3; B; C ดังนั้นที่นี่เรามีสามจุดในเวลา (1, 2, 3), สามโหนด (A, B, C) และสามขอบซึ่งแสดงถึงการปิด triadic ระหว่างสามโหนดที่พิจารณา ยิ่งกว่านั้นทุกโหนดจะมีสองคุณลักษณะ (อายุและเพศ) ดังนั้นฉันจึงต้องการที่จะสามารถเปลี่ยนรูปร่าง / สีของโหนด นอกจากนี้หลังจากเพิ่มโหนดใหม่จะเป็นการดีที่จะมี ForceAtlas2 หรืออัลกอริทึมที่คล้ายกันเพื่อปรับเค้าโครงของกราฟ

3
การสืบค้นในฐานข้อมูลขนาดใหญ่ส่งคืนอย่างไรโดยมีความหน่วงแฝงเล็กน้อย
ตัวอย่างเช่นเมื่อค้นหาบางสิ่งใน Google ผลลัพธ์จะส่งคืนทันที ฉันเข้าใจว่า Google เรียงลำดับและจัดทำดัชนีหน้าเว็บด้วยอัลกอริธึมเป็นต้น แต่ฉันคิดว่ามันเป็นไปไม่ได้ที่ผลลัพธ์ของการสืบค้นที่เป็นไปได้ทุกครั้งที่จะจัดทำดัชนี (และผลลัพธ์เป็นแบบส่วนบุคคล ยิ่งกว่านั้นเวลาแฝงของฮาร์ดแวร์ในฮาร์ดแวร์ของ Google จะไม่ใหญ่โตใช่ไหม แม้ว่าข้อมูลใน Google ทั้งหมดจะถูกเก็บไว้ใน TB / s SSD ฉันคิดว่าเวลาในการตอบสนองของฮาร์ดแวร์มีขนาดใหญ่มากเนื่องจากได้รับข้อมูลจำนวนมากในการประมวลผล MapReduce ช่วยแก้ปัญหานี้หรือไม่? แก้ไข: ตกลงดังนั้นฉันเข้าใจว่าการค้นหายอดนิยมสามารถถูกเก็บไว้ในหน่วยความจำ แต่การค้นหาที่ไม่เป็นที่นิยม แม้แต่การค้นหาที่คลุมเครือที่สุดที่ฉันได้ทำฉันไม่คิดว่าการค้นหานั้นจะมีขนาดใหญ่กว่า 5 วินาที เป็นไปได้อย่างไร?
12 bigdata  google  search 

2
เรียนรู้อย่างลึกซึ้งสำหรับภารกิจที่ไม่ใช่ภาพ non-NLP ใช่ไหม
จนถึงขณะนี้มีแอพพลิเคชั่นที่น่าสนใจมากมายสำหรับการเรียนรู้อย่างลึกซึ้งในการมองเห็นคอมพิวเตอร์หรือการประมวลผลภาษาธรรมชาติ มันเป็นอย่างไรในสาขาแบบดั้งเดิมอื่น ๆ อีกมากมาย? ตัวอย่างเช่นฉันมีตัวแปรทางสังคมและประชากรดั้งเดิมบวกกับการวัดในห้องปฏิบัติการจำนวนมากและต้องการทำนายโรคบางชนิด นี่จะเป็นแอปพลิเคชั่นการเรียนรู้ที่ลึกหรือไม่ถ้าฉันมีข้อสังเกตมากมาย ฉันจะสร้างเครือข่ายที่นี่ได้อย่างไรฉันคิดว่าเลเยอร์แฟนซีทั้งหมด (convolutional ฯลฯ ) ไม่จำเป็นจริงๆ! ทำให้ลึกลงไปไหม ในชุดข้อมูลเฉพาะของฉันฉันลองใช้กลไกการเรียนรู้ของเครื่องทั่วไปเช่นฟอเรสต์แบบสุ่ม gbm และอื่น ๆ พร้อมกับผลลัพธ์ที่หลากหลายเกี่ยวกับความแม่นยำ ฉันมีประสบการณ์การเรียนรู้อย่าง จำกัด ด้วยการจดจำภาพ

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