- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 scikit-learn 使用 SVM 构建一些预测模型。我有一个包含大约 5000 个示例和大约 700 个特征的数据集。我在我的训练集上使用 18x17 网格搜索进行 5 折交叉验证,然后使用我的测试集的最佳参数。运行时间比我预期的要长很多,我注意到以下几点:
1) 一些单独的 SVM 训练迭代似乎只需要一分钟,而其他的可能需要长达 15 分钟。这是预期的不同数据和参数(C 和 gamma,我使用的是 rbf
内核)吗?
2) 我正在尝试在 Windows 上使用 64 位 python 来利用额外的内存,但是我的所有 python 进程在我的任务管理器中似乎都以 1 gig 的最高速度运行,我不知道这是否有任何影响处理运行时。
3) 我之前使用的是 32 位,并且在大约相同的数据集上运行,我记得(虽然我没有保存结果)它要快得多。我为 64 位窗口使用了 scikit-learn 的第三方构建,所以我不知道在 32 位 python 上尝试这个是否更好? (来源 http://www.lfd.uci.edu/~gohlke/pythonlibs/)
任何关于如何减少运行时间的建议都将不胜感激。我想减少网格搜索的搜索空间会有所帮助,但由于我什至不确定最佳参数的范围,我希望尽可能大。如果还有更快的 SVM 实现,请告诉我,我可能会尝试一下。
附录:我回去尝试再次运行 32 位版本。由于某种原因,它要快得多。花了大约 3 个小时才到达 64 位版本在 16 小时内到达的位置。为什么会有这样的差异?
câu trả lời hay nhất
1) 这是意料之中的:较小的 gamma 和较小的正则化将选择更多的支持向量,因此模型将更复杂且拟合时间更长。
2) 有一个 cache_size
参数将传递给底层 libsvm 库。但是,根据您的数据,libsvm 可能会也可能不会使用所有可用缓存。
3) 不知道。如果您在两个平台上运行更多定时实验,请在项目邮件列表中报告您的发现。这可能值得进一步调查。
首先检查您是否对特征进行了归一化(例如,如果您的数据是密集的 numpy 数组,则通过方差移除均值和尺度特征)。对于稀疏数据,只需缩放特征(或者对文本数据使用 TF-IDF 转换)。查看preprocessing section的文档。
然后您应该从一个粗略的网格(具有较大的对数步长)开始,比如说一个 3x3 网格,然后通过在该区域重新运行 3x3 网格来关注有趣的区域。一般来说,C x gamma SVM 参数网格是 quite smooth .
关于python - SVM 实现,scikit 学习减少运行时间,最快的 svm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9163407/
Nếu tôi huấn luyện một SVM trên tập huấn luyện lớn và biến lớp là Đúng hoặc Sai, liệu một vài giá trị True so với số lượng giá trị Sai trong tập huấn luyện có ảnh hưởng đến mô hình/kết quả được huấn luyện không? Họ có nên bằng nhau? Nếu tập huấn luyện của tôi là T
Giả sử vectơ đặc trưng của tôi là (x1, x2, ...xn) Có ai có thể cho tôi mã để huấn luyện SVM một lớp bằng libSVM không? Tôi nên sử dụng xác thực chéo để tìm hiểu các thông số như thế nào. Câu trả lời hay nhất Điều này có thể giúp bạn label=ones(Num
Tôi xin lỗi trước vì tính mới của câu hỏi này, nhưng tôi bị mắc kẹt. Tôi đang cố gắng giải quyết vấn đề này, tôi có thể làm được phần i)-1v) nhưng tôi bị kẹt ở v. Tôi biết để tính lề y, bạn có thể y=2/||W|| và tôi biết rằng W là pháp tuyến của siêu phẳng, chỉ cần
Tôi có cấu hình R sau: Hệ điều hành: LinuxR phiên bản 3.0.1 (2013-05-16)rmr2 phiên bản 2.2.1rhdfs phiên bản 1.0.6hadoop phiên bản 1.2.0 Cách sử dụng với gói rmr2
Tôi muốn thử các phần nhúng khác nhau, chẳng hạn như Word2Vec, ELMo và BERT, nhưng tôi hơi bối rối không biết nên sử dụng phần nhúng từ hay phần nhúng câu và tại sao. Tôi sử dụng các phần nhúng làm đầu vào tính năng cho bộ phân loại SVM. Cảm ơn. Câu trả lời tốt nhất là cả hai phương pháp đều có thể chứng minh
Hầu hết tất cả các ví dụ đều dựa trên các con số. Trong tài liệu văn bản tôi có chữ thay vì số. Vậy bạn có thể cho tôi biết một ví dụ đơn giản về cách sử dụng các thuật toán này để phân loại tài liệu văn bản không? Tôi không cần một ví dụ về mã, chỉ cần mã giả logic sẽ giúp ích rất nhiều Câu trả lời hay nhất Một cách tiếp cận phổ biến là
đóng cửa. Câu hỏi này không tuân thủ các nguyên tắc của Stack Overflow. Hiện tại nó không chấp nhận câu trả lời. Chúng tôi không cho phép các câu hỏi tìm kiếm đề xuất về sách, công cụ, thư viện phần mềm, v.v. Bạn có thể chỉnh sửa câu hỏi của mình để trả lời bằng sự kiện và trích dẫn. Đóng cửa 3 năm trước.
Tôi hiện đang trong giai đoạn thảo luận về dự án nhận dạng giọng nói và tôi đang sử dụng trích xuất tính năng MFCC, nhưng các tính năng MFCC được trả về từ hàm là một ma trận, chẳng hạn như ma trận tính năng (20,38) cho mỗi tệp giọng nói ( wav). Nhưng làm cách nào tôi có thể chuyển tính năng này sang bộ phân loại SVM. vì
Xin vui lòng, tôi thích sử dụng SIFT DESCRIPTOR và SVM để phân loại một bộ hình ảnh thành 4 loại. Bây giờ, bằng cách sử dụng trình trích xuất SIFT, tôi có các kích thước điểm chính khác nhau, ví dụ img1 có 100 điểm chính và img2 có 55 điểm chính
Tôi có một bộ hình ảnh. Tôi muốn tìm hiểu máy vectơ hỗ trợ một lớp (OC-SVM) để mô hình hóa phân phối của một lớp cụ thể (dương) vì tôi không có đủ ví dụ để biểu diễn các lớp khác (âm). Sự hiểu biết của tôi về OC-SVM là nó cố gắng tách dữ liệu khỏi nguồn, nói cách khác là nó cố gắng học một siêu cầu
Tôi đang sử dụng scikit-learn để xây dựng một số mô hình dự đoán bằng SVM. Tôi có một tập dữ liệu với khoảng 5000 ví dụ và khoảng 700 tính năng. Tôi đang sử dụng tìm kiếm lưới 18x17 để xác thực chéo 5 lần trên tập huấn luyện của mình,
Đây là một câu hỏi được hỏi trong kỳ thi của tôi. Tôi đã đưa ra câu trả lời sau và điểm của tôi là 0 điểm. Giáo sư thậm chí còn không đồng ý cung cấp bất kỳ tín chỉ một phần nào hoặc cho tôi biết câu trả lời của tôi có sai sót gì. Có ai có thể giúp tôi tìm ra điều gì sai với câu trả lời của tôi không? Đây là câu trả lời tôi đã đưa ra trong bài kiểm tra. Nhược điểm là: 1)
Sự khác biệt giữa tune.svm() và best.svm() là gì. Khi điều chỉnh các tham số của kernel svm, không phải lúc nào chúng ta cũng muốn chọn những giá trị tốt nhất cho mô hình của mình. Xin hãy tha thứ cho tôi vì tôi chưa quen với R và học máy. Tôi nhận thấy rằng khi điều chỉnh svm
Tôi cố gắng sử dụng OpenCV2.3 để triển khai hệ thống phát hiện người dựa trên SVM và HOG. Nhưng tôi bị mắc kẹt. Tôi đã hiểu được điều này: Tôi có thể tính toán các giá trị HOG từ cơ sở dữ liệu hình ảnh, sau đó tôi sử dụng LIBSVM để tính toán các vectơ SVM, vì vậy tôi lấy ví dụ
Có phát triển mới nào xung quanh SVM (Máy vectơ hỗ trợ) trong Mahout (Học với Hadoop) bằng Hadoop không? Gần đây việc triển khai SVM đã được thêm vào Mahout. Tôi dự định sử dụng SVM. Ai đó đã cố gắng
Tôi sử dụng sklearn.svm.SVC để xây dựng bộ phân loại vectơ hỗ trợ như bên dưới. nhập numpy dưới dạng np từ sklearn.svm nhập SVC svc=SVC(proba
Tôi muốn xem liệu mô hình có hội tụ với xác thực chéo của tôi hay không. Làm cách nào tôi có thể tăng hoặc giảm kỷ nguyên trong sklearn.svm.SVC? Hiện tại: SVM_Model = SVC(gamma='auto') SVM_Model.fit(X_t
Làm cách nào chúng ta có thể cải thiện độ thưa bằng cách sử dụng trọng số 1 chỉ tiêu trong hàm chi phí so với sử dụng trọng số 2 chỉ tiêu trong cùng hàm chi phí của SVM. Đối với 1 chỉ tiêu: hàm chi phí - giảm thiểu ||w||_1 Đối với 2 chỉ tiêu: hàm chi phí - giảm thiểu
Thực ra tôi không phải là một lập trình viên C++ có kinh nghiệm, tôi là một lập trình viên C# và như bạn biết điều đó tạo nên sự khác biệt lớn, đối với trải nghiệm học máy của tôi, tôi chỉ sử dụng matlab nên nếu tôi có một số lỗi, vui lòng bỏ qua các lỗi về khái niệm. Tôi đang cố gắng
Tôi đang cố gắng sử dụng chức năng tải SVM trong OpenCV để tải tệp .xml và sau đó sử dụng chức năng dự đoán để phân loại biển báo giao thông. Lỗi được đưa ra khi đạt được việc thực thi chức năng dự đoán: Ngoại lệ chưa được xử lý ở 0x000
Tôi là một lập trình viên xuất sắc, rất giỏi!