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

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


4
จำเป็นหรือไม่ที่จะต้องทำให้ข้อมูลของคุณเป็นมาตรฐานก่อนการทำคลัสเตอร์
จำเป็นหรือไม่ที่จะต้องทำให้ข้อมูลของคุณเป็นมาตรฐานก่อนคลัสเตอร์ ในตัวอย่างจากscikit learnเกี่ยวกับ DBSCAN ที่นี่พวกเขาทำสิ่งนี้ในบรรทัด: X = StandardScaler().fit_transform(X) แต่ฉันไม่เข้าใจว่าทำไมจึงมีความจำเป็น ท้ายที่สุดการจัดกลุ่มไม่ถือว่าเป็นการกระจายข้อมูลโดยเฉพาะ - มันเป็นวิธีการเรียนรู้ที่ไม่มีผู้ดูแลดังนั้นวัตถุประสงค์ของมันก็คือการสำรวจข้อมูล ทำไมจึงจำเป็นต้องแปลงข้อมูล?

3
K- หมายถึงพฤติกรรมที่ไม่ต่อเนื่องกันเลือก K ด้วยวิธี Elbow, BIC, อธิบายความแปรปรวนและภาพเงา
ฉันพยายามจัดกลุ่มเวกเตอร์บางส่วนด้วย 90 ฟีเจอร์ด้วย K-mean เนื่องจากอัลกอริทึมนี้ถามจำนวนกลุ่มฉันจึงต้องการตรวจสอบตัวเลือกของฉันกับคณิตศาสตร์ที่ดี ฉันคาดว่าจะมี 8-10 กลุ่ม คุณสมบัติดังกล่าวได้รับการปรับอัตราส่วนคะแนน Z อธิบายวิธีและความแปรปรวนของข้อศอก from scipy.spatial.distance import cdist, pdist from sklearn.cluster import KMeans K = range(1,50) KM = [KMeans(n_clusters=k).fit(dt_trans) for k in K] centroids = [k.cluster_centers_ for k in KM] D_k = [cdist(dt_trans, cent, 'euclidean') for cent in centroids] cIdx = [np.argmin(D,axis=1) for …

7
วัตถุประสงค์ของการแสดงข้อมูลมิติสูงหรือไม่
มีเทคนิคมากมายสำหรับการแสดงชุดข้อมูลมิติสูงเช่น T-SNE, isomap, PCA, PCA ภายใต้การดูแล ฯลฯ และเราผ่านการเคลื่อนไหวของการฉายข้อมูลลงในพื้นที่ 2D หรือ 3D ดังนั้นเราจึงมี "ภาพสวย" " บางส่วนของวิธีการเหล่านี้ฝัง (การเรียนรู้ต่าง ๆ นานา) อธิบายไว้ที่นี่ แต่นี่คือ "ภาพสวย" ที่มีความหมายจริงหรือ มีข้อมูลเชิงลึกที่เป็นไปได้ที่ใครบางคนสามารถคว้าโดยพยายามมองภาพพื้นที่ฝังตัวนี้ ฉันถามเพราะการฉายภาพลงไปในพื้นที่ฝังตัวนี้มักไม่มีความหมาย ตัวอย่างเช่นหากคุณฉายข้อมูลของคุณลงไปยังองค์ประกอบหลักที่สร้างโดย PCA ส่วนประกอบหลักเหล่านั้น (eiganvectors) จะไม่สอดคล้องกับคุณลักษณะในชุดข้อมูล พวกเขากำลังพื้นที่คุณสมบัติของตัวเอง ในทำนองเดียวกัน t-SNE จะฉายข้อมูลของคุณลงในช่องว่างซึ่งรายการอยู่ใกล้กันถ้าพวกมันลดความแตกต่างของ KL บางส่วน นี่ไม่ใช่พื้นที่ฟีเจอร์ดั้งเดิมอีกต่อไป (แก้ไขให้ฉันถ้าฉันผิด แต่ฉันไม่คิดว่าจะมีความพยายามอย่างมากจากชุมชน ML ในการใช้ t-SNE เพื่อช่วยในการจัดหมวดหมู่ซึ่งเป็นปัญหาที่แตกต่างจากการสร้างภาพข้อมูล) ฉันแค่สับสนมากว่าทำไมผู้คนถึงทำเรื่องใหญ่ ๆ เกี่ยวกับการสร้างภาพข้อมูลเหล่านี้

5
ฉันจะเปรียบเทียบคอลัมน์ในเฟรมข้อมูลอื่นได้อย่างไร
ฉันต้องการเปรียบเทียบหนึ่งคอลัมน์ของ df กับ df อื่น ๆ คอลัมน์คือชื่อและนามสกุล ฉันต้องการตรวจสอบว่าบุคคลในเฟรมข้อมูลหนึ่งอยู่ในอีกเฟรมหนึ่งหรือไม่
23 pandas  dataframe 

6
คุณสมบัติการเข้ารหัสเช่นเดือนและชั่วโมงเป็นหมวดหมู่หรือตัวเลข?
มันจะดีกว่าที่จะเข้ารหัสคุณสมบัติเช่นเดือนและชั่วโมงเป็นปัจจัยหรือตัวเลขในรูปแบบการเรียนรู้ของเครื่อง? ในอีกด้านหนึ่งฉันรู้สึกว่าการเข้ารหัสตัวเลขอาจสมเหตุสมผลเนื่องจากเวลาเป็นกระบวนการที่ก้าวหน้าไปข้างหน้า (เดือนที่ห้าตามด้วยเดือนที่หก) แต่ในทางกลับกันฉันคิดว่าการเข้ารหัส categorial อาจสมเหตุสมผลมากกว่าเนื่องจากลักษณะวงจร ของปีและวัน (เดือนที่ 12 ตามด้วยเดือนแรก) มีวิธีแก้ไขปัญหาทั่วไปหรือแบบแผนสำหรับสิ่งนี้หรือไม่?

4
XGBoost จัดการกับความหลากหลายด้วยตัวเองหรือไม่?
ขณะนี้ฉันกำลังใช้ XGBoost กับชุดข้อมูลที่มีคุณสมบัติ 21 รายการ (เลือกจากรายการของคุณสมบัติ 150 รายการ) จากนั้นจึงใช้รหัสร้อนเพื่อรับคุณสมบัติ ~ 98 ไม่กี่ของคุณสมบัติเหล่านี้ 98 จะค่อนข้างซ้ำซ้อนตัวอย่างเช่น: ตัวแปร (คุณลักษณะ) กยังปรากฏเป็นและ{A}AAABABA\frac{B}{A}CACA\frac{C}{A} คำถามของฉันคือ: ต้นไม้ตัดสินใจที่ได้รับการส่งเสริมจะจัดการกับความสัมพันธ์แบบหลายทางได้อย่างไร( ถ้า? ) การมีอยู่ของความหลากสีจะส่งผลกระทบต่อการทำนายอย่างไรถ้ามันไม่ได้ถูกจัดการ? จากสิ่งที่ฉันเข้าใจรูปแบบคือการเรียนรู้มากกว่าหนึ่งต้นและการทำนายขั้นสุดท้ายขึ้นอยู่กับบางสิ่งบางอย่างเช่น "ผลรวมถ่วงน้ำหนัก" ของการทำนายรายบุคคล ดังนั้นหากสิ่งนี้ถูกต้องต้นไม้การตัดสินใจที่ถูกกระตุ้นควรจะสามารถจัดการการพึ่งพาระหว่างตัวแปรได้ นอกจากนี้ในบันทึกที่เกี่ยวข้อง - วัตถุที่มีความสำคัญของตัวแปรใน XGBoost ทำงานอย่างไร

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

2
อะไรคือความร่วมมือในการเรียนรู้เสริม?
เห็นได้ชัดว่าในการเรียนรู้การเสริมแรงวิธี temporal-different (TD) เป็นวิธีการบูตสแตรป ในทางกลับกันวิธีมอนติคาร์โลไม่ใช่วิธีการบูตสแตรป bootstrapping ใน RL คืออะไร วิธี bootstrapping ใน RL คืออะไร?

3
การเข้ารหัสตำแหน่งในรุ่นหม้อแปลงคืออะไร?
ฉันใหม่กับ ML และนี่เป็นคำถามแรกของฉันที่นี่ดังนั้นขออภัยถ้าคำถามของฉันโง่ ฉันกำลังพยายามอ่านและทำความเข้าใจกับกระดาษความสนใจคือสิ่งที่คุณต้องการและในนั้นมีรูปภาพ: ฉันไม่รู้ว่าการเข้ารหัสตำแหน่งคืออะไร โดยการฟังวิดีโอ youtube บางรายการฉันพบว่ามันเป็นการฝังทั้งความหมายและตำแหน่งของคำในนั้นและมีบางสิ่งที่เกี่ยวข้องกับหรือsin(x)sin(x)sin(x)cos(x)cos(x)cos(x) แต่ฉันไม่เข้าใจว่ามันคืออะไรและมันทำอย่างนั้น ดังนั้นฉันมาที่นี่เพื่อขอความช่วยเหลือ ขอบคุณล่วงหน้า.

3
การเข้ารหัสตัวแปรหมวดหมู่โดยใช้การประมาณความน่าจะเป็น
ฉันพยายามที่จะเข้าใจว่าฉันสามารถเข้ารหัสตัวแปรเด็ดขาดได้อย่างไรโดยใช้การประมาณความน่าจะเป็น แต่ก็ประสบความสำเร็จเพียงเล็กน้อย ข้อเสนอแนะใด ๆ ที่จะได้รับการชื่นชมอย่างมาก.

6
แบ่งปันสมุดบันทึก Jupyter ภายในทีม
ฉันต้องการตั้งค่าเซิร์ฟเวอร์ที่สามารถรองรับทีมงานด้านข้อมูลได้ด้วยวิธีต่อไปนี้: เป็นจุดศูนย์กลางสำหรับการจัดเก็บ, การกำหนดเวอร์ชัน, การแบ่งปันและความเป็นไปได้นอกจากนี้ยังใช้งานโน้ตบุ๊ค Jupyter คุณสมบัติบางอย่างที่ต้องการ: ผู้ใช้ที่แตกต่างกันสามารถเข้าถึงเซิร์ฟเวอร์และเปิดและดำเนินการโน้ตบุ๊กที่จัดเก็บโดยพวกเขาหรือโดยสมาชิกในทีมอื่น ๆ คำถามที่น่าสนใจที่นี่คือสิ่งที่จะเป็นพฤติกรรมถ้าผู้ใช้ X ดำเนินการเซลล์ในสมุดบันทึกที่เขียนโดยผู้ใช้ Y. ฉันคิดว่าไม่ควรเปลี่ยนสมุดบันทึก: โซลูชันควรโฮสต์เอง ควรจัดเก็บสมุดบันทึกไว้บนเซิร์ฟเวอร์หรือบนไดรฟ์ของ Google หรือในอินสแตนซ์ของเจ้าของเองที่เป็นเจ้าของเอง (โบนัส) สมุดบันทึกจะอยู่ภายใต้การควบคุมเวอร์ชันของ git (git อาจเป็นโฮสต์ของตัวเองไม่สามารถผูกมัดกับ GitHub หรืออะไรทำนองนั้น) ผมมองเข้าไปJupyterHubและBinder ก่อนหน้านี้ฉันไม่เข้าใจวิธีการอนุญาตให้ผู้ใช้ข้ามเข้าถึง หลังดูเหมือนว่าจะสนับสนุน GitHub เป็นที่เก็บข้อมูลของโน้ตบุ๊คเท่านั้น คุณมีประสบการณ์กับวิธีแก้ปัญหาอย่างใดอย่างหนึ่งหรือไม่?

3
การแปลงคุณสมบัติของข้อมูลอินพุต
ฉันอ่านเกี่ยวกับวิธีแก้ปัญหาตัวต่อOTTO Kaggleนี้และวิธีแก้ปัญหาอันดับแรกดูเหมือนว่าจะใช้การแปลงหลายอย่างสำหรับข้อมูลอินพุต X เช่น Log (X + 1), sqrt (X + 3/8) เป็นต้นมี คำแนะนำทั่วไปเกี่ยวกับเวลาที่จะใช้การแปลงชนิดกับตัวแยกประเภทต่างๆ? ฉันเข้าใจแนวคิดเกี่ยวกับการทำให้ค่าเฉลี่ยและ var-normal-normalization อย่างไรก็ตามสำหรับการแปลงข้างต้นฉันเดาว่า Log และ Sqrt จะใช้ในการบีบอัดช่วงไดนามิกของข้อมูล และการเลื่อนแกน x เป็นเพียงการป้อนข้อมูลอีกครั้ง อย่างไรก็ตามผู้เขียนเลือกที่จะใช้วิธีการต่าง ๆ ของการทำให้เป็นมาตรฐานสำหรับอินพุต X เดียวกันเมื่อป้อนเข้าสู่ตัวแยกประเภทที่แตกต่างกัน ความคิดใด ๆ

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

3
อะไรคืออินพุตที่ดีกว่าสำหรับ Word2Vec
นี่เป็นเหมือนคำถาม NLP ทั่วไป การป้อนข้อมูลที่เหมาะสมในการฝึกอบรมการฝังคำคืออะไร Word2Vec ประโยคทั้งหมดที่เป็นของบทความควรเป็นเอกสารแยกต่างหากในคลังข้อมูลหรือไม่? หรือแต่ละบทความควรเป็นเอกสารในคลังข้อมูลดังกล่าว? นี่เป็นเพียงตัวอย่างการใช้ python และ gensim คอร์ปัสแยกตามประโยค: SentenceCorpus = [["first", "sentence", "of", "the", "first", "article."], ["second", "sentence", "of", "the", "first", "article."], ["first", "sentence", "of", "the", "second", "article."], ["second", "sentence", "of", "the", "second", "article."]] คอร์ปัสแยกตามบทความ: ArticleCorpus = [["first", "sentence", "of", "the", "first", "article.", "second", "sentence", "of", …

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