Có công cụ nào cho kỹ thuật tính năng không?


29

Cụ thể những gì tôi đang tìm kiếm là các công cụ với một số chức năng, đặc trưng cho kỹ thuật tính năng. Tôi muốn có thể dễ dàng làm mịn, trực quan hóa, lấp đầy các khoảng trống, v.v ... Một cái gì đó tương tự như MS Excel, nhưng có R là ngôn ngữ cơ bản thay vì VB.

Câu trả lời:


21

Câu hỏi rất thú vị (+1). Mặc dù tôi không biết về bất kỳ công cụ phần mềm nào hiện đang cung cấp chức năng toàn diện cho kỹ thuật tính năng , nhưng chắc chắn có rất nhiều tùy chọn trong vấn đề đó. Hiện nay, theo như tôi biết, tính năng kỹ thuật vẫn còn phần lớn là mất thời gianthủ công quá trình (ví dụ, xem bài viết trên blog này ). Nói về miền chủ đề kỹ thuật tính năng, bài viết xuất sắc này của Jason Brownlee cung cấp một cái nhìn tổng quan khá toàn diện về chủ đề này.

Ben Lorica, Nhà khoa học dữ liệu trưởng và Giám đốc chiến lược nội dung dữ liệu tại O'Reilly Media Inc., đã viết một bài viết rất hay , mô tả các phương pháp, phương pháp, công cụ và khởi nghiệp hiện đại (kể từ tháng 6 năm 2014) lĩnh vực tự động hóa (hoặc, như ông nói, hợp lý hóa ) tính năng kỹ thuật.

Tôi đã xem qua một số phần khởi động mà Ben đã tham khảo và một sản phẩm của Skytree thực sự trông khá ấn tượng, đặc biệt là liên quan đến chủ đề của câu hỏi này. Phải nói rằng, một số tuyên bố của họ nghe có vẻ đáng ngờ đối với tôi (ví dụ: "Skytree tăng tốc phương pháp học máy lên tới 150 lần so với các tùy chọn nguồn mở" ). Tiếp tục nói về khoa học dữ liệu thương mại và các dịch vụ học máy, tôi phải đề cập đến các giải pháp của Microsoft, đặc biệt là Azure Machine Learning Studio của họ . Sản phẩm dựa trên web này khá mạnh mẽ và thanh lịch và cung cấp một số tính năng kỹ thuật tính năng (FEF). Để biết ví dụ về một số FEF đơn giản, hãy xem video hay này .

Quay trở lại câu hỏi, tôi nghĩ rằng cách tiếp cận đơn giản nhất mà người ta có thể áp dụng để tự động hóa kỹ thuật tính năng là sử dụng các IDE tương ứng . Vì bạn (tôi cũng vậy) quan tâm đến ngôn ngữ R như là một phụ trợ khoa học dữ liệu, tôi sẽ đề nghị kiểm tra, ngoài RStudio, một IDE nguồn mở tương tự khác, được gọi là RKWard . Một trong những lợi thế của RKWard so với RStudio là nó hỗ trợ viết các plugin cho IDE, do đó, cho phép các nhà khoa học dữ liệu tự động hóa kỹ thuật tính năng và hợp lý hóa phân tích dữ liệu dựa trên R của họ.

Cuối cùng, ở phía bên kia của các giải pháp kỹ thuật tính năng, chúng ta có thể tìm thấy một số dự án nghiên cứu . Hai điều đáng chú ý nhất dường như là dự án Columbus của Đại học Stanford , được mô tả chi tiết trong bài nghiên cứu tương ứngBrainwash , được mô tả trong bài viết này .


5

Featuretools là một thư viện python được phát hành gần đây cho kỹ thuật tính năng tự động. Nó dựa trên một thuật toán có tên Deep Feature Synt tổng hợp được phát triển vào năm 2015 MIT và đã thử nghiệm trên các cuộc thi khoa học dữ liệu công cộng trên Kaggle.

Đây là cách nó phù hợp với quy trình khoa học dữ liệu phổ biến.

nhập mô tả hình ảnh ở đây

Mục đích của thư viện là không chỉ giúp các chuyên gia xây dựng các mô hình học máy tốt hơn nhanh hơn mà còn làm cho quá trình khoa học dữ liệu bớt đáng sợ đối với những người cố gắng học. Nếu bạn có dữ liệu hướng sự kiện hoặc quan hệ, tôi khuyên bạn nên kiểm tra nó!

Tuyên bố miễn trừ trách nhiệm: Tôi là một trong những nhà phát triển của dự án.


2

Kỹ thuật tính năng là trung tâm của Machine Learning và khá tốn công và thời gian. Đã có nhiều nỗ lực khác nhau trong việc tự động hóa kỹ thuật tính năng với hy vọng đưa con người ra khỏi vòng lặp. Một triển khai cụ thể thực hiện điều này cho các vấn đề phân loại là tự động sklearn . Nó sử dụng một thủ tục tối ưu hóa được gọi là SMAC dưới mui xe để chọn bộ biến đổi và thuật toán thích hợp (và các tham số thuật toán).

Lưu ý rằng Trifacta cung cấp một công cụ thực sự dễ sử dụng để chuyển đổi dữ liệu. Nó có GUI trực quan cao cho phép thiết lập các bản đồ kỹ thuật chuyển đổi / tính năng. Ngoài ra còn có một phiên bản dùng thử miễn phí có thể được sử dụng cho các vấn đề có kích thước hợp lý.


2

Scikit-learn gần đây đã phát hành các máy biến áp mới giải quyết nhiều khía cạnh của kỹ thuật tính năng. Ví dụ:

  1. Bạn có thể thực hiện nhiều kỹ thuật cắt bỏ dữ liệu bị thiếu với SimpleImputer( http://scikit-learn.org/ sóng / mô-đun / generic / sklearn.impute.SimpleImputer.html ), bao gồm cả việc loại bỏ giá trị trung bình và tùy ý trong cả hai biến số và phân loại .

  2. Bạn có thể thực hiện việc cắt bỏ đa biến bằng cách sử dụng một số công cụ ước tính, như Bayes, rừng ngẫu nhiên và các công cụ khác (tương đương với MICE của R, Amelia và MissForest) với IterativeImputer( https://scikit-learn.org/ sóng / modules / generic / sklearn.impute.IterativeImputer .html # sklearn.impute.IterativeImputer )

  3. Bạn có thể thực hiện một loại mã hóa nóng với OneHotEncoder()từ Scikit-learn

  4. Bạn có thể mã hóa các biến phân loại theo số với LabelEncoder.

  5. Bạn có thể thực hiện chuyển đổi biến Yeo-Johnson với PowerTransformer( http://scikit-learn.org/urdy/modules/generated/sklearn.pre Processing.PowerTransformer.html )

  6. Bạn có thể phân biệt đối xử với KBinsDiscretiser( https://scikit-learn.org/urdy/auto_examples/pre Processing / pl_d_dretretization.html )

Có khả năng các máy biến áp kỹ thuật tính năng khác trong Scikit-learn và các nhà phát triển cập nhật thư viện khá thường xuyên.

Thay thế cho thư viện Scikit-learn nổi tiếng, có một thư viện mã nguồn mở mới được phát hành gần đây có tên là Feature -engine . Với công cụ tính năng bạn có thể:

  1. Làm trung bình, trung bình, tùy ý, kết thúc đuôi và cắt ngang ngẫu nhiên trong các biến số và phân loại
  2. Thực hiện nhiều loại mã hóa phân loại khác nhau, bao gồm một loại mã hóa nóng, số nguyên, thứ tự, trung bình và trọng số của bằng chứng.
  3. Thực hiện các biến đổi khác nhau bao gồm log, đối ứng, exp và hộp cox
  4. Nhiều loại khác nhau bao gồm tần số bằng nhau, khoảng cách bằng nhau và dựa trên cây
  5. Xử lý ngoại lệ.

Thêm chi tiết trong repo github và tài liệu ( https://feature-engine.readthedocs.io/en/latest/ )

Tuyên bố miễn trừ trách nhiệm: Tôi đã tạo công cụ tính năng và biến nó thành nguồn mở.

Một gói python mã nguồn mở khác cho phép các loại mã hóa biến phân loại khác nhau: https://contrib.scikit-learn.org/c sortical-encoding /

Cuối cùng, Công cụ tính năng là một thư viện mã nguồn mở tốt cho dữ liệu giao dịch.


1

Bạn nên xem xét việc kiểm tra nền tảng Azure Machine Learning . Nó là trực tuyến và bạn có thể sử dụng nó với một tài khoản miễn phí.

Azure ML cung cấp cho bạn quy trình làm việc bằng cách sử dụng các mô-đun trong giao diện người dùng đồ họa. Nhiều trong số chúng có liên quan đến Data Munging và bạn có thể dễ dàng làm sạch dữ liệu của mình. Nếu có một cái gì đó mà bạn không thể làm trong GUI, thì bạn chỉ cần thêm một mô-đun cho phép bạn chạy tập lệnh R hoặc Python tùy chỉnh để thao tác dữ liệu của bạn.

Phần thú vị của nó là bạn có thể dễ dàng hình dung dữ liệu của mình bất cứ lúc nào và kiểm tra các số liệu thống kê đơn giản như dataframe.describe()của R.


1

Amazon Machine Learning là một công cụ mà tôi sử dụng cho kỹ thuật tính năng một số lần.

Vì các dịch vụ AWS của Amazon đã thể hiện rất nhiều hứa hẹn và tiêu chuẩn, tôi chắc chắn sẽ tin tưởng vào Amazon ML, với triển vọng và hứa hẹn sẽ giúp công việc của các nhà khoa học dữ liệu trở nên đơn giản hơn. Nhưng đến bây giờ, nó vẫn còn nhỏ.

Nhưng, như bạn đã yêu cầu một công cụ cho kỹ thuật tính năng, vì vậy đây là một trong số đó.

Một số Câu hỏi thường gặp về / để sử dụng Amazon ML.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.