本文整理汇总了Python中sklearn.pipeline.FeatureUnion方法的典型用法代码示例。如果您正苦于以下问题:Python pipeline.FeatureUnion方法的具体用法?Python pipeline.FeatureUnion怎么用?Python pipeline.FeatureUnion使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sklearn.pipeline
的用法示例。
在下文中一共展示了pipeline.FeatureUnion方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main
# 需要导入模块: from sklearn import pipeline [as 别名]
# 或者: from sklearn.pipeline import FeatureUnion [as 别名]
def main():
raw_data = load_iris()
data = pd.DataFrame(raw_data["data"], columns=raw_data["feature_names"])
pipeline = FeatureUnion([
("1", make_pipeline(
FunctionTransformer(lambda X: X.loc[:, ["sepal length (cm)"]]),
# other transformations
)),
("2", make_pipeline(
FunctionTransformer(lambda X: X.loc[:, ["sepal width (cm)"]]),
# other transformations
))
])
X = pipeline.fit_transform(data)
print(X["sepal length (cm)"].mean())
print(X["sepal width (cm)"].mean())
示例2: main
# 需要导入模块: from sklearn import pipeline [as 别名]
# 或者: from sklearn.pipeline import FeatureUnion [as 别名]
def main():
raw_data = load_iris()
data = pd.DataFrame(raw_data["data"], columns=raw_data["feature_names"])
data.loc[:, "class"] = raw_data["target"]
pipeline = FeatureUnion([
("1", make_pipeline(
PandasTransform(lambda X: X.loc[:, ["sepal length (cm)"]]),
# other transformations
)),
("2", make_pipeline(
PandasTransform(lambda X: X.loc[:, ["sepal width (cm)"]]),
# other transformations
))
])
X = pipeline.fit_transform(data)
print(X["sepal length (cm)"].mean())
print(X["sepal width (cm)"].mean())
示例3: create_union_model
# 需要导入模块: from sklearn import pipeline [as 别名]
# 或者: from sklearn.pipeline import FeatureUnion [as 别名]
def create_union_model(params=None):
def preprocessor(tweet):
tweet = tweet.lower()
for k in emo_repl_order:
tweet = tweet.replace(k, emo_repl[k])
for r, repl in re_repl.iteritems():
tweet = re.sub(r, repl, tweet)
return tweet.replace("-", " ").replace("_", " ")
tfidf_ngrams = TfidfVectorizer(preprocessor=preprocessor,
analyzer="word")
ling_stats = LinguisticVectorizer()
all_features = FeatureUnion(
[('ling', ling_stats), ('tfidf', tfidf_ngrams)])
#all_features = FeatureUnion([('tfidf', tfidf_ngrams)])
#all_features = FeatureUnion([('ling', ling_stats)])
clf = MultinomialNB()
pipeline = Pipeline([('all', all_features), ('clf', clf)])
if params:
pipeline.set_params(**params)
return pipeline
开发者ID:PacktPublishing,项目名称:Building-Machine-Learning-Systems-With-Python-Second-Edition,代码行数:27,代码来源:04_sent.py
示例4: _apply_extractor
# 需要导入模块: from sklearn import pipeline [as 别名]
# 或者: from sklearn.pipeline import FeatureUnion [as 别名]
def _apply_extractor(extractor, X, return_as_df):
"""Utility function to apply features extractor to ndarray X.
Parameters
----------
extractor : Instance of :class:`~sklearn.pipeline.FeatureUnion` or
:class:`~sklearn.pipeline.Pipeline`.
X : ndarray, shape (n_channels, n_times)
return_as_df : bool
Returns
-------
X : ndarray, shape (n_features,)
feature_names : list of str | None
Not None, only if ``return_as_df`` is True.
"""
X = extractor.fit_transform(X)
feature_names = None
if return_as_df:
feature_names = extractor.get_feature_names()
return X, feature_names
示例5: __add__
# 需要导入模块: from sklearn import pipeline [as 别名]
# 或者: from sklearn.pipeline import FeatureUnion [as 别名]
def __add__(self, other):
"""
Returns:
:py:class:`ibex.sklearn.pipeline.FeatureUnion`
"""
if isinstance(self, FeatureUnion):
self_features = [e[1] for e in self.transformer_list]
else:
self_features = [self]
if isinstance(other, FeatureUnion):
other_features = [e[1] for e in other.transformer_list]
else:
other_features = [other]
combined = self_features + other_features
return FeatureUnion(_make_pipeline_steps(combined))
示例6: get_model
# 需要导入模块: from sklearn import pipeline [as 别名]
# 或者: from sklearn.pipeline import FeatureUnion [as 别名]
def get_model(with_pipeline=False):
"""Get a multi-layer perceptron model.
Optionally, put it in a pipeline that scales the data.
"""
model = NeuralNetClassifier(MLPClassifier)
if with_pipeline:
model = Pipeline([
('scale', FeatureUnion([
('minmax', MinMaxScaler()),
('normalize', Normalizer()),
])),
('select', SelectKBest(k=N_FEATURES)), # keep input size constant
('net', model),
])
return model
示例7: build_vectorization_pipeline
# 需要导入模块: from sklearn import pipeline [as 别名]
# 或者: from sklearn.pipeline import FeatureUnion [as 别名]
def build_vectorization_pipeline(self) -> Tuple[List[Tuple[str, Any]], Callable[[], List[str]]]:
vect_numerator = vectorizers.NumberVectorizer()
vect_denominator = vectorizers.NumberVectorizer()
def get_feature_names_(vect_numerator, vect_denominator):
def res():
return ['numerator_' + str(c) for c in vect_numerator.get_feature_names()] \
+ ['denominator_' + str(c) for c in vect_denominator.get_feature_names()]
return res
return [
('vect', FeatureUnion(transformer_list=[
('numerator', Pipeline([
('selector', vectorizers.DictItemSelector(item='numerator')),
('vect', vect_numerator),
])),
('denominator', Pipeline([
('selector', vectorizers.DictItemSelector(item='denominator')),
('vect', vect_denominator),
]))
]))
], get_feature_names_(vect_numerator, vect_denominator)
示例8: fit
# 需要导入模块: from sklearn import pipeline [as 别名]
# 或者: from sklearn.pipeline import FeatureUnion [as 别名]
def fit(self, X, y=None):
"""Fit all transformers using X.
Parameters
----------
X : iterable or array-like, depending on transformers
Input data, used to fit transformers.
y : array-like, shape (n_samples, ...), optional
Targets for supervised learning.
Returns
-------
self : FeatureUnion
This estimator
"""
self.transformer_list = list(self.transformer_list)
self._validate_transformers()
with Pool(self.n_jobs) as pool:
transformers = pool.starmap(_fit_one_transformer,
((trans, X[trans.steps[0][1].columns], y) for _, trans, _ in self._iter()))
self._update_transformer_list(transformers)
return self
示例9: test_import_from_sklearn_pipeline_feature_union
# 需要导入模块: from sklearn import pipeline [as 别名]
# 或者: from sklearn.pipeline import FeatureUnion [as 别名]
def test_import_from_sklearn_pipeline_feature_union(self):
from sklearn.pipeline import FeatureUnion
from sklearn.decomposition import PCA
from sklearn.kernel_approximation import Nystroem
from sklearn.neighbors import KNeighborsClassifier
from sklearn.pipeline import make_pipeline
union = FeatureUnion([("pca", PCA(n_components=1)), ("nys", Nystroem(n_components=2, random_state=42))])
sklearn_pipeline = make_pipeline(union, KNeighborsClassifier())
lale_pipeline = import_from_sklearn_pipeline(sklearn_pipeline)
self.assertEqual(len(lale_pipeline.edges()), 3)
from lale.lib.sklearn.pca import PCAImpl
from lale.lib.sklearn.nystroem import NystroemImpl
from lale.lib.lale.concat_features import ConcatFeaturesImpl
from lale.lib.sklearn.k_neighbors_classifier import KNeighborsClassifierImpl
self.assertEqual(lale_pipeline.edges()[0][0]._impl_class(), PCAImpl)
self.assertEqual(lale_pipeline.edges()[0][1]._impl_class(), ConcatFeaturesImpl)
self.assertEqual(lale_pipeline.edges()[1][0]._impl_class(), NystroemImpl)
self.assertEqual(lale_pipeline.edges()[1][1]._impl_class(), ConcatFeaturesImpl)
self.assertEqual(lale_pipeline.edges()[2][0]._impl_class(), ConcatFeaturesImpl)
self.assertEqual(lale_pipeline.edges()[2][1]._impl_class(), KNeighborsClassifierImpl)
self.assert_equal_predictions(sklearn_pipeline, lale_pipeline)
示例10: test_export_to_sklearn_pipeline3
# 需要导入模块: from sklearn import pipeline [as 别名]
# 或者: from sklearn.pipeline import FeatureUnion [as 别名]
def test_export_to_sklearn_pipeline3(self):
from lale.lib.lale import ConcatFeatures
from lale.lib.sklearn import PCA
from lale.lib.sklearn import KNeighborsClassifier, LogisticRegression, SVC
from sklearn.feature_selection import SelectKBest
from lale.lib.sklearn import Nystroem
from sklearn.pipeline import FeatureUnion
lale_pipeline = ((PCA() >> SelectKBest(k=2)) & (Nystroem(random_state = 42) >> SelectKBest(k=3))
& (SelectKBest(k=3))) >> ConcatFeatures() >> SelectKBest(k=2) >> LogisticRegression()
trained_lale_pipeline = lale_pipeline.fit(self.X_train, self.y_train)
sklearn_pipeline = trained_lale_pipeline.export_to_sklearn_pipeline()
self.assertIsInstance(sklearn_pipeline.named_steps['featureunion'], FeatureUnion)
self.assertIsInstance(sklearn_pipeline.named_steps['selectkbest'], SelectKBest)
from sklearn.linear_model import LogisticRegression
self.assertIsInstance(sklearn_pipeline.named_steps['logisticregression'], LogisticRegression)
self.assert_equal_predictions(sklearn_pipeline, trained_lale_pipeline)
示例11: test_multiouput_prediction
# 需要导入模块: from sklearn import pipeline [as 别名]
# 或者: from sklearn.pipeline import FeatureUnion [as 别名]
def test_multiouput_prediction(self):
# TODO: Make this a real test
steps = [
("pre_horizon", HorizonTransformer(horizon=4)),
("pre_imputer", ReversibleImputer(y_only=True)),
(
"features",
FeatureUnion(
[("ar_transformer", AutoregressiveTransformer(num_lags=3))]
),
),
("post_lag_imputer", ReversibleImputer()),
("regressor", LinearRegression()),
]
pipeline = ForecasterPipeline(steps)
l = np.linspace(0, 1, 100)
y = np.sin(2 * np.pi * 5 * l) + np.random.normal(0, 0.1, size=100)
pipeline.fit(y[:, np.newaxis], y)
pipeline.predict(y[:, np.newaxis], to_scale=True, refit=True)
示例12: test_multiouput_forecast
# 需要导入模块: from sklearn import pipeline [as 别名]
# 或者: from sklearn.pipeline import FeatureUnion [as 别名]
def test_multiouput_forecast(self):
# TODO: Make this a real test
steps = [
("pre_horizon", HorizonTransformer(horizon=4)),
("pre_imputer", ReversibleImputer(y_only=True)),
(
"features",
FeatureUnion(
[("ar_transformer", AutoregressiveTransformer(num_lags=3))]
),
),
("post_lag_imputer", ReversibleImputer()),
("regressor", LinearRegression()),
]
pipeline = ForecasterPipeline(steps)
l = np.linspace(0, 1, 100)
y = np.sin(2 * np.pi * 5 * l) + np.random.normal(0, 0.1, size=100)
pipeline.fit(y[:, np.newaxis], y)
pipeline.forecast(y[:, np.newaxis], 20)
示例13: transform
# 需要导入模块: from sklearn import pipeline [as 别名]
# 或者: from sklearn.pipeline import FeatureUnion [as 别名]
def transform(self, X):
if self.func is None:
return X
if self.signature:
input_dims, output_dims = _parse_gufunc_signature(
signature=self.signature)
else:
input_dims, output_dims = [()], [()]
# This below ensures FeatureUnion's concatenation (hstack) does not fail
# because of resulting arrays having different number of dims
if len(input_dims[0]) == 1 and len(output_dims[0]) == 0:
X = np.expand_dims(X, axis=1) # Add one extra dimension if (n)->()
elif len(input_dims[0]) == 0 and len(output_dims[0]) == 1:
X = np.squeeze(X, axis=1) # Remove singleton dimension if ()->(n)
return np.vectorize(self.func, otypes=[np.float], signature=self.signature)(
X)
示例14: test_feature_union
# 需要导入模块: from sklearn import pipeline [as 别名]
# 或者: from sklearn.pipeline import FeatureUnion [as 别名]
def test_feature_union(caplog, named_steps):
pipe_w_default_log_callback = DebugPipeline(named_steps, log_callback="default")
pipe_w_custom_log_callback = DebugPipeline(named_steps, log_callback=custom_log_callback)
pipe_union = FeatureUnion(
[
("pipe_w_default_log_callback", pipe_w_default_log_callback),
("pipe_w_custom_log_callback", pipe_w_custom_log_callback),
]
)
caplog.clear()
with caplog.at_level(logging.INFO):
pipe_union.fit(IRIS.data, IRIS.target)
assert caplog.text, f"Log should be none empty: {caplog.text}"
for pipe in [pipe_w_default_log_callback, pipe_w_custom_log_callback]:
for _, step in pipe.steps[:-1]:
assert str(step) in caplog.text, f"{step} should be in: {caplog.text}"
assert (
caplog.text.count(str(step)) == 2
), f"{step} should be once in {caplog.text}"
示例15: test_FeatureUnion_pipeline
# 需要导入模块: from sklearn import pipeline [as 别名]
# 或者: from sklearn.pipeline import FeatureUnion [as 别名]
def test_FeatureUnion_pipeline():
# pipeline with segmentation plus multiple feature extraction
steps = [
('segment', RandomIntervalSegmenter(n_intervals=3)),
('transform', FeatureUnion([
('mean', RowTransformer(
FunctionTransformer(func=np.mean, validate=False))),
('std',
RowTransformer(FunctionTransformer(func=np.std, validate=False)))
])),
('clf', DecisionTreeClassifier())
]
clf = Pipeline(steps)
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)
assert y_pred.shape[0] == y_test.shape[0]
np.testing.assert_array_equal(np.unique(y_pred), np.unique(y_test))