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

scikit-learn เป็นไลบรารีการเรียนรู้ของเครื่องสำหรับ Python ที่มีเครื่องมือที่เรียบง่ายและมีประสิทธิภาพสำหรับการวิเคราะห์ข้อมูลและการขุดข้อมูลโดยเน้นที่การเรียนรู้ของเครื่อง ทุกคนสามารถเข้าถึงได้และนำกลับมาใช้ใหม่ได้ในบริบทต่างๆ สร้างขึ้นจาก NumPy และ SciPy โครงการนี้เป็นโอเพ่นซอร์สและใช้งานได้ในเชิงพาณิชย์ (ใบอนุญาต BSD)

20
การเข้ารหัสเลเบลในหลายคอลัมน์ใน scikit-Learn
ฉันกำลังพยายามใช้ scikit-Learn LabelEncoderเพื่อเข้ารหัส pandas DataFrameของสตริงฉลาก เนื่องจาก dataframe มีหลายคอลัมน์ (50+) ฉันต้องการหลีกเลี่ยงการสร้างLabelEncoderวัตถุสำหรับแต่ละคอลัมน์ ฉันต้องการมีLabelEncoderวัตถุขนาดใหญ่เพียงชิ้นเดียวที่ทำงานในคอลัมน์ข้อมูลทั้งหมดของฉัน การขว้างทั้งหมดDataFrameเป็นLabelEncoderข้อผิดพลาดด้านล่าง โปรดจำไว้ว่าฉันกำลังใช้ข้อมูลจำลองที่นี่ ในความเป็นจริงฉันกำลังจัดการกับข้อมูลของสตริงที่มีป้ายกำกับประมาณ 50 คอลัมน์ดังนั้นต้องการโซลูชันที่ไม่อ้างอิงคอลัมน์ใด ๆ ตามชื่อ import pandas from sklearn import preprocessing df = pandas.DataFrame({ 'pets': ['cat', 'dog', 'cat', 'monkey', 'dog', 'dog'], 'owner': ['Champ', 'Ron', 'Brick', 'Champ', 'Veronica', 'Ron'], 'location': ['San_Diego', 'New_York', 'New_York', 'San_Diego', 'San_Diego', 'New_York'] }) le …

12
วิธีการทำให้ปกติอาร์เรย์ใน NumPy?
ฉันต้องการมีบรรทัดฐานของอาร์เรย์ NumPy หนึ่งชุด โดยเฉพาะอย่างยิ่งฉันกำลังมองหารุ่นที่เทียบเท่าของฟังก์ชั่นนี้ def normalize(v): norm = np.linalg.norm(v) if norm == 0: return v return v / norm มีอะไรแบบนั้นในskearnหรือnumpyเปล่า? ฟังก์ชันนี้ทำงานในสถานการณ์ที่vเป็น 0 เวกเตอร์

6
บันทึกลักษณนามไปยังดิสก์ใน scikit-Learn
ฉันจะบันทึกลักษณนาม Naive Bayes ที่ผ่านการฝึกอบรมไปยังดิสก์และใช้เพื่อทำนายข้อมูลได้อย่างไร ฉันมีโปรแกรมตัวอย่างต่อไปนี้จากเว็บไซต์ scikit-Learn: from sklearn import datasets iris = datasets.load_iris() from sklearn.naive_bayes import GaussianNB gnb = GaussianNB() y_pred = gnb.fit(iris.data, iris.target).predict(iris.data) print "Number of mislabeled points : %d" % (iris.target != y_pred).sum()

15
ImportError: ไม่มีโมดูลชื่อ sklearn.cross_validation
ฉันใช้ python 2.7 ใน Ubuntu 14.04 ฉันติดตั้ง scikit-learn, numpy และ matplotlib ด้วยคำสั่งเหล่านี้: sudo apt-get install build-essential python-dev python-numpy \ python-numpy-dev python-scipy libatlas-dev g++ python-matplotlib \ ipython แต่เมื่อฉันนำเข้าแพ็คเกจเหล่านี้: from sklearn.cross_validation import train_test_split มันส่งกลับข้อผิดพลาดนี้ให้ฉัน: ImportError: No module named sklearn.cross_validation ฉันต้องทำอะไร?


10
มีฟังก์ชั่นห้องสมุดสำหรับรูทหมายความว่าข้อผิดพลาดแบบสี่เหลี่ยม (RMSE) ในไพ ธ อนหรือไม่?
ฉันรู้ว่าฉันสามารถใช้รูทค่าเฉลี่ยของข้อผิดพลาดกำลังสองได้ดังนี้: def rmse(predictions, targets): return np.sqrt(((predictions - targets) ** 2).mean()) สิ่งที่ฉันกำลังมองหาถ้าฟังก์ชั่น rmse นี้ถูกนำไปใช้ในห้องสมุดแห่งหนึ่งบางทีอาจจะเป็นในแบบ scipy หรือ scikit-Learn?

21
วิธีการแยกกฎการตัดสินใจจากต้นไม้ตัดสินใจเรียนรู้?
ฉันสามารถแยกกฎการตัดสินใจพื้นฐาน (หรือ 'เส้นทางการตัดสินใจ') จากต้นไม้ที่ผ่านการฝึกอบรมในต้นไม้การตัดสินใจเป็นรายการที่เป็นข้อความได้หรือไม่? สิ่งที่ต้องการ: if A>0.4 then if B<0.2 then if C>0.8 then class='X' ขอบคุณสำหรับความช่วยเหลือของคุณ.

6
วิธีการแบ่งข้อมูลออกเป็น 3 ชุด (การฝึกอบรมการตรวจสอบความถูกต้องและการทดสอบ)?
ฉันมีดาต้าเฟรมแพนด้าและฉันต้องการแบ่งเป็น 3 ชุดแยกกัน ฉันรู้ว่าการใช้train_test_splitจากsklearn.cross_validationหนึ่งสามารถแบ่งข้อมูลออกเป็นสองชุด (ฝึกและทดสอบ) อย่างไรก็ตามฉันไม่พบวิธีแก้ปัญหาเกี่ยวกับการแบ่งข้อมูลออกเป็นสามชุด โดยเฉพาะอย่างยิ่งฉันต้องการมีดัชนีของข้อมูลต้นฉบับ ฉันรู้ว่าวิธีแก้ปัญหาคือต้องใช้train_test_splitสองครั้งและปรับดัชนี แต่มีวิธีมาตรฐาน / ในตัวมากกว่าในการแบ่งข้อมูลออกเป็น 3 ชุดแทนที่จะเป็น 2 หรือไม่?


10
RuntimeWarning: การเปลี่ยนแปลงขนาดของ numpy.dtype อาจบ่งบอกถึงความเข้ากันไม่ได้ของไบนารี
ฉันมีข้อผิดพลาดนี้สำหรับการพยายามโหลดรุ่น SVM ที่บันทึกไว้ ฉันได้ลองถอนการติดตั้ง sklearn, NumPy และ SciPy แล้วติดตั้งเวอร์ชั่นล่าสุดอีกครั้งรวมกันอีกครั้ง (โดยใช้ pip) ฉันยังคงได้รับข้อผิดพลาดนี้ ทำไม? In [1]: import sklearn; print sklearn.__version__ 0.18.1 In [3]: import numpy; print numpy.__version__ 1.11.2 In [5]: import scipy; print scipy.__version__ 0.18.1 In [7]: import pandas; print pandas.__version__ 0.19.1 In [10]: clf = joblib.load('model/trained_model.pkl') --------------------------------------------------------------------------- RuntimeWarning Traceback (most …

6
สถานะสุ่ม (ตัวเลขสุ่มหลอก) ใน Scikit เรียนรู้
ฉันต้องการใช้อัลกอริทึมการเรียนรู้ของเครื่องใน Scikit เรียนรู้ แต่ฉันไม่เข้าใจว่าพารามิเตอร์นี้random_stateทำอะไร? เหตุใดฉันจึงควรใช้ ฉันยังไม่เข้าใจว่าตัวเลขสุ่มหลอกคืออะไร

6
คอลัมน์ดาต้าเฟรมแพนด้าปรับขนาดด้วย sklearn
ฉันมีดาต้าเฟรมแพนด้าที่มีคอลัมน์ประเภทผสมและฉันต้องการใช้ min_max_scaler ของ sklearn กับบางคอลัมน์ ตามหลักการแล้วฉันต้องการทำการเปลี่ยนแปลงเหล่านี้ในสถานที่ แต่ยังไม่ได้หาวิธีที่จะทำ ฉันได้เขียนโค้ดต่อไปนี้ที่ใช้งานได้: import pandas as pd import numpy as np from sklearn import preprocessing scaler = preprocessing.MinMaxScaler() dfTest = pd.DataFrame({'A':[14.00,90.20,90.95,96.27,91.21],'B':[103.02,107.26,110.35,114.23,114.68], 'C':['big','small','big','small','small']}) min_max_scaler = preprocessing.MinMaxScaler() def scaleColumns(df, cols_to_scale): for col in cols_to_scale: df[col] = pd.DataFrame(min_max_scaler.fit_transform(pd.DataFrame(dfTest[col])),columns=[col]) return df dfTest A B C 0 14.00 103.02 big …

13
ข้อผิดพลาดของ sklearn ValueError: อินพุตมี NaN อินฟินิตี้หรือค่าใหญ่เกินไปสำหรับ dtype ('float64')
ฉันใช้ sklearn และมีปัญหากับการเผยแพร่ความสัมพันธ์ ฉันได้สร้างเมทริกซ์อินพุตและได้รับข้อผิดพลาดต่อไปนี้ ValueError: Input contains NaN, infinity or a value too large for dtype('float64'). ฉันได้วิ่ง np.isnan(mat.any()) #and gets False np.isfinite(mat.all()) #and gets True ฉันลองใช้ mat[np.isfinite(mat) == True] = 0 เพื่อลบค่าอนันต์ แต่ก็ไม่ได้ผลเช่นกัน ฉันจะทำอย่างไรเพื่อกำจัดค่าอนันต์ในเมทริกซ์ของฉันเพื่อให้ฉันสามารถใช้อัลกอริทึมการแพร่กระจายความสัมพันธ์ได้ ฉันใช้งูใหญ่และงูหลาม 2.7.9

3
เหตุใดการเข้ารหัสแบบ Hot หนึ่งจึงช่วยเพิ่มประสิทธิภาพการเรียนรู้ของเครื่อง
ฉันสังเกตเห็นว่าเมื่อใช้การเข้ารหัส One Hot กับชุดข้อมูลเฉพาะ (เมทริกซ์) และใช้เป็นข้อมูลการฝึกอบรมสำหรับอัลกอริทึมการเรียนรู้จะให้ผลลัพธ์ที่ดีกว่าอย่างมากเมื่อเทียบกับการใช้เมทริกซ์ดั้งเดิมเป็นข้อมูลการฝึกอบรม ประสิทธิภาพที่เพิ่มขึ้นนี้เกิดขึ้นได้อย่างไร?

6
feature_importances ใน RandomForestClassifier ถูกกำหนดอย่างไร
ฉันมีงานการจัดหมวดหมู่โดยมีอนุกรมเวลาเป็นข้อมูลป้อนข้อมูลโดยที่แต่ละแอตทริบิวต์ (n = 23) แสดงถึงช่วงเวลาที่เฉพาะเจาะจง นอกจากผลการจำแนกแบบสัมบูรณ์แล้วฉันต้องการทราบว่าคุณลักษณะ / วันที่ใดที่มีส่วนทำให้ผลลัพธ์มีขนาดเท่าใด ดังนั้นฉันแค่ใช้feature_importances_ซึ่งเหมาะกับฉัน อย่างไรก็ตามฉันต้องการทราบว่าพวกเขาคำนวณอย่างไรและใช้การวัด / อัลกอริทึมใด ขออภัยไม่พบเอกสารใด ๆ เกี่ยวกับหัวข้อนี้

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