- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Python 中阅读了有关 Pipelines 和 GridSearchCV 的以下示例:
http://www.davidsbatista.net/blog/2017/04/01/document_classification/
逻辑回归:
pipeline = Pipeline([
('tfidf', TfidfVectorizer(stop_words=stop_words)),
('clf', OneVsRestClassifier(LogisticRegression(solver='sag')),
])
parameters = {
'tfidf__max_df': (0.25, 0.5, 0.75),
'tfidf__ngram_range': [(1, 1), (1, 2), (1, 3)],
"clf__estimator__C": [0.01, 0.1, 1],
"clf__estimator__class_weight": ['balanced', None],
}
pipeline = Pipeline([
('tfidf', TfidfVectorizer(stop_words=stop_words)),
('clf', OneVsRestClassifier(LinearSVC()),
])
parameters = {
'tfidf__max_df': (0.25, 0.5, 0.75),
'tfidf__ngram_range': [(1, 1), (1, 2), (1, 3)],
"clf__estimator__C": [0.01, 0.1, 1],
"clf__estimator__class_weight": ['balanced', None],
}
1 Câu trả lời
这是优化任何分类器和每个分类器的任何参数设置的简单方法。
创建适用于任何估算器的切换器类
from sklearn.base import BaseEstimator
class ClfSwitcher(BaseEstimator):
def __init__(
self,
estimator = SGDClassifier(),
):
"""
A Custom BaseEstimator that can switch between classifiers.
:param estimator: sklearn object - The classifier
"""
self.estimator = estimator
def fit(self, X, y=None, **kwargs):
self.estimator.fit(X, y)
return self
def predict(self, X, y=None):
return self.estimator.predict(X)
def predict_proba(self, X):
return self.estimator.predict_proba(X)
def score(self, X, y):
return self.estimator.score(X, y)
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.linear_model import SGDClassifier
from sklearn.pipeline import Pipeline
from sklearn.model_selection import GridSearchCV
pipeline = Pipeline([
('tfidf', TfidfVectorizer()),
('clf', ClfSwitcher()),
])
parameters = [
{
'clf__estimator': [SGDClassifier()], # SVM if hinge loss / logreg if log loss
'tfidf__max_df': (0.25, 0.5, 0.75, 1.0),
'tfidf__stop_words': ['english', None],
'clf__estimator__penalty': ('l2', 'elasticnet', 'l1'),
'clf__estimator__max_iter': [50, 80],
'clf__estimator__tol': [1e-4],
'clf__estimator__loss': ['hinge', 'log', 'modified_huber'],
},
{
'clf__estimator': [MultinomialNB()],
'tfidf__max_df': (0.25, 0.5, 0.75, 1.0),
'tfidf__stop_words': [None],
'clf__estimator__alpha': (1e-2, 1e-3, 1e-1),
},
]
gscv = GridSearchCV(pipeline, parameters, cv=5, n_jobs=12, return_train_score=False, verbose=3)
gscv.fit(train_data, train_labels)
clf__estimator__loss
clf__estimator__loss
被解释为
loss
任何参数
estimator
是,其中
estimator = SGDClassifier()
在最上面的例子中,它本身就是
clf
的参数这是一个
ClfSwitcher
目的。
关于python - 管道:多个分类器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50285973/
Tôi đang sử dụng đường dẫn Tài sản để quản lý các tài sản giao diện người dùng của ứng dụng Grails 3.0 của mình. Tuy nhiên, bản đồ nguồn cho các tệp CoffeeScript có vẻ như chưa được tạo. Có cách nào để kích hoạt nó không? Bản build.gradle của tôi
Tôi có một quy trình mà tôi muốn: cung cấp một số tài nguyên, chạy một số thử nghiệm, hủy bỏ tài nguyên. Tôi muốn tác vụ phân tích ở bước 3 được chạy bất kể thử nghiệm ở bước 2 có thành công hay không. Theo như tôi biết runAfter chỉ chạy một tác vụ nếu tác vụ trước đó thành công
Nếu tôi chạy lệnh sau: Measure-Command -Expression {gci -Path C:\ -Recurse -ea SilentlyContinue | where Extension
Tôi biết rằng pipe là một ký tự đặc biệt và tôi cần sử dụng: Scanner input = new Scanner(System.in); String line = input.next
Tôi lại gặp vấn đề tương tự, tôi đã có cách xử lý mặc định nhưng nó cứ làm tôi khó chịu. Có cách nào tốt hơn không? Về cơ bản, tôi có một đường ống chạy, thực hiện một số thao tác trong đường ống và muốn trả về một cặp khóa/giá trị từ bên trong đường ống. Tôi muốn toàn bộ đường ống trả về một giá trị duy nhất có kiểu ps
Tôi có ba môi trường: dev, hml và qa. Trong đường ống của tôi, tùy thuộc vào nhánh, giai đoạn có điều kiện để kiểm tra xem nó có chạy hay không: - giai đoạn: Project_Deploy_DEV điều kiện: eq(biến
Tôi đang chạy Jenkins phiên bản 2.82 và muốn sử dụng tính năng Pipeline khi tạo một công việc mới. Nhưng tôi không thấy điều này được liệt kê là một tùy chọn. Tôi chỉ có thể chuyển đổi giữa các dự án freestyle, dự án maven, dự án bên ngoài và nhiều cấu hình.
Trong khi thực hiện một số quan sát về một vấn đề trước đó (haskell-data-hashset-from-unordered-container-performance-for-large-sets), tôi tình cờ gặp phải một điều kỳ lạ
Tôi đang tìm hiểu cách sử dụng lệnh pipes để truyền đầu ra chuẩn làm đối số cho các lệnh khác. Ví dụ, hãy xem xét tình huống này: ls | grep Hello Cấu trúc của grep tuân theo mẫu này: grep SearchTerm PathOfFi
Có cách nào để không bị lỗi với bước đường ống khai báo mà thay vào đó sẽ hiển thị cảnh báo không? Hiện tại tôi đang khắc phục bằng cách thêm || exit 0 vào cuối dòng lệnh sh để lệnh này luôn thoát bình thường. Ví dụ hiện tại: sh 'vendor/bin/phpcs
Chúng tôi đang di chuyển từ thiết lập Jenkins cũ sang máy chủ mới, trong đó tất cả các kế hoạch đều là đường ống jenkinsfile khai báo... tuy nhiên, khi sử dụng đường ống, chúng tôi không thể xóa thủ công không gian làm việc nữa. Làm thế nào để thiết lập Jenkins để cho phép dọn dẹp thủ công theo yêu cầu?
Tôi đã đọc ví dụ sau về Pipelines và GridSearchCV trong Python: http://www.davidsbatista.net/blog/2017/04/01/docume
Tôi có một tập lệnh đường ống như thế này: node('linux'){ stage('Setup'){ echo "Build Stage" } stage('Build'){ echo
Tôi đang sử dụng bitbucket pipelines để đào tạo Đây là bitbucket-pipelines.yml của tôi: image: php:7.2.9 pipelines: default:
Tôi đang viết một chương trình trong đó tập tin đầu vào được chia thành nhiều tập tin (phương pháp chia sẻ bí mật của Shamir). Đây là cách tôi hình dung về đường ống: Nguồn: Conduit đọc từ đầu vào bằng Conduit.Binary.sourceFile:
Tôi đã tạo một đường ống có một giai đoạn chỉ được thực hiện trên nhánh phát triển. Giai đoạn này cũng yêu cầu sự tham gia của người dùng. Tại sao nó bị kẹt ở phần nhập dữ liệu của người dùng ở các bước này mặc dù tôi đang ở một nhánh khác? Khi tôi cung cấp thông tin, chúng sẽ được bỏ qua một cách chính xác. sân khấu ('Deplo
Tôi đang cố gắng học hàm pipe (%>%). Khi cố gắng chuyển đổi từ dòng mã này sang dòng mã khác thì không được. ---- Mã R -- phiên bản gốc----- set.seed(1014) replicate(6,sample(1:8))
Trong Jenkins Pipeline, làm thế nào để sao chép các thành phần từ bản dựng trước sang bản dựng hiện tại? Tôi muốn thực hiện việc này ngay cả khi bản dựng trước đó không thành công. Câu trả lời tốt nhất là Stuart Rowe, cũng trong Pipeline Authoring Si
Tôi đang cố gắng sử dụng phương pháp tiếp cận đường ống Jenkins để thực hiện các công việc đã xác định. Đây là một ví dụ đơn giản: build('jenkins-test-project-build', param1 : 'some-
Khi tôi loại trừ các đối tượng thông qua lệnh pipe sử dụng bộ lọc where, nó không cung cấp cho tôi kết quả đầu ra chính xác. PS C:\Users\Administrator> $proall = Get-ADComputer -filter *
Tôi là một lập trình viên xuất sắc, rất giỏi!