Цепные преобразования в трубопроводе Scikit

Когда надгробный камень слит с данными в уплотнении, данные будут удалены с диска. Когда это происходит, зависит от скорости добавления новых данных и стратегии уплотнения. Надгробные камни не очищаются до тех пор, пока gc_grace_seconds не предотвратит восстановление данных (убедитесь, что ремонт завершен в течение этого периода времени).

Если вы много переопределяете или удаляете данные и не согласны с большим количеством устаревших данных на диске вы, вероятно, должны использовать LeveledCompactionStrategy вместо этого (я бы порекомендовал всегда использовать LCS при использовании ssds). Это может потребовать long время для того, чтобы самые большие sstables были уплотнены при использовании STCS. STCS больше подходит для постоянного добавления данных (например, журналов или событий). Если записи истекают с течением времени, и вы сильно полагаетесь на TTL, вы, вероятно, захотите использовать стратегию с временным окном.

1
задан ai_learning 20 January 2019 в 08:11
поделиться

1 ответ

Вы должны применять FunctionTransformer последовательно. Попробуйте это!

def create_pipeline(df):
    all_but_recency = ['monetary', 'frequency1','frequency2']

    # Preprocess
    # Preprocess
    preprocessor1 = ColumnTransformer([('log', FunctionTransformer(np.log), all_but_recency)],'passthrough')
    preprocessor2 = ColumnTransformer([('standardize', preprocessing.StandardScaler(), all_but_recency)],'passthrough' )


    # Pipeline
    estimators = [('preprocess1', preprocessor1),('standardize', preprocessor2)]
    pipe = Pipeline(steps=estimators)

    print(pipe.set_params().fit_transform(df).shape)

рабочий пример

from sklearn.datasets import load_iris
import pandas as pd
import numpy as np
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import Normalizer
from sklearn.preprocessing import FunctionTransformer
from sklearn.pipeline import Pipeline
from sklearn import preprocessing

iris = load_iris()
X, y = iris.data, iris.target
df= pd.DataFrame(X,columns = iris.feature_names)

all_but_one = [0,1,2]

# Preprocess
preprocessor1 = ColumnTransformer([('log', FunctionTransformer(np.log), all_but_one)],'passthrough')
preprocessor2 = ColumnTransformer([('standardize', preprocessing.StandardScaler(), all_but_one)],'passthrough' )

# Pipeline
estimators = [('preprocess1', preprocessor1),('scalling', preprocessor2)]
pipe = Pipeline(steps=estimators,)

pipe.fit_transform(df)
0
ответ дан ai_learning 20 January 2019 в 08:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: