Mercurial > repos > bgruening > sklearn_model_validation
changeset 9:c6b3efcba7bd draft
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
author | bgruening |
---|---|
date | Sat, 04 Aug 2018 12:35:35 -0400 |
parents | fd7a054ffdbd |
children | 38df89cbed19 |
files | main_macros.xml model_validation.xml test-data/feature_selection_result01 test-data/feature_selection_result08 test-data/feature_selection_result09 test-data/feature_selection_result12 test-data/pipeline01 test-data/pipeline02 test-data/pipeline03 test-data/pipeline04 test-data/pipeline05 test-data/pipeline06 test-data/pipeline07 test-data/pipeline08 test-data/searchCV01 |
diffstat | 15 files changed, 521 insertions(+), 1006 deletions(-) [+] |
line wrap: on
line diff
--- a/main_macros.xml Fri Jul 13 03:56:45 2018 -0400 +++ b/main_macros.xml Sat Aug 04 12:35:35 2018 -0400 @@ -34,24 +34,20 @@ if inputs['selected_algorithm'] == 'SelectFromModel': if not options['threshold'] or options['threshold'] == 'None': options['threshold'] = None - if 'extra_estimator' in inputs and inputs['extra_estimator']['has_estimator'] == 'no_load': - with open("inputs['extra_estimator']['fitted_estimator']", 'rb') as model_handler: - fitted_estimator = pickle.load(model_handler) - new_selector = selector(fitted_estimator, prefit=True, **options) - else: - estimator=inputs["estimator"] - if inputs["extra_estimator"]["has_estimator"]=='no': - estimator=inputs["extra_estimator"]["new_estimator"] - estimator=eval(estimator.replace('__dq__', '"').replace("__sq__","'")) - new_selector = selector(estimator, **options) + if inputs['model_inputter']['input_mode'] == 'prefitted': + model_file = inputs['model_inputter']['fitted_estimator'] + with open(model_file, 'rb') as model_handler: + fitted_estimator = pickle.load(model_handler) + new_selector = selector(fitted_estimator, prefit=True, **options) + else: + estimator_json = inputs['model_inputter']["estimator_selector"] + estimator = get_estimator(estimator_json) + new_selector = selector(estimator, **options) elif inputs['selected_algorithm'] in ['RFE', 'RFECV']: if 'scoring' in options and (not options['scoring'] or options['scoring'] == 'None'): options['scoring'] = None - estimator=inputs["estimator"] - if inputs["extra_estimator"]["has_estimator"]=='no': - estimator=inputs["extra_estimator"]["new_estimator"] - estimator=eval(estimator.replace('__dq__', '"').replace("__sq__","'")) + estimator=get_estimator(inputs["estimator_selector"]) new_selector = selector(estimator, **options) elif inputs['selected_algorithm'] == "VarianceThreshold": @@ -104,11 +100,101 @@ return X, y </token> + <token name="@GET_SEARCH_PARAMS_FUNCTION@"> +def get_search_params(params_builder): + search_params = {} + + def safe_eval(literal): + + FROM_SCIPY_STATS = [ 'bernoulli', 'binom', 'boltzmann', 'dlaplace', 'geom', 'hypergeom', + 'logser', 'nbinom', 'planck', 'poisson', 'randint', 'skellam', 'zipf' ] + + FROM_NUMPY_RANDOM = [ 'beta', 'binomial', 'bytes', 'chisquare', 'choice', 'dirichlet', 'division', + 'exponential', 'f', 'gamma', 'geometric', 'gumbel', 'hypergeometric', + 'laplace', 'logistic', 'lognormal', 'logseries', 'mtrand', 'multinomial', + 'multivariate_normal', 'negative_binomial', 'noncentral_chisquare', 'noncentral_f', + 'normal', 'pareto', 'permutation', 'poisson', 'power', 'rand', 'randint', + 'randn', 'random', 'random_integers', 'random_sample', 'ranf', 'rayleigh', + 'sample', 'seed', 'set_state', 'shuffle', 'standard_cauchy', 'standard_exponential', + 'standard_gamma', 'standard_normal', 'standard_t', 'triangular', 'uniform', + 'vonmises', 'wald', 'weibull', 'zipf' ] + + # File opening and other unneeded functions could be dropped + UNWANTED = ['open', 'type', 'dir', 'id', 'str', 'repr'] + + # Allowed symbol table. Add more if needed. + new_syms = { + 'np_arange': getattr(np, 'arange'), + 'ensemble_ExtraTreesClassifier': getattr(ensemble, 'ExtraTreesClassifier') + } + + syms = make_symbol_table(use_numpy=False, **new_syms) + + for method in FROM_SCIPY_STATS: + syms['scipy_stats_' + method] = getattr(scipy.stats, method) + + for func in FROM_NUMPY_RANDOM: + syms['np_random_' + func] = getattr(np.random, func) + + for key in UNWANTED: + syms.pop(key, None) + + aeval = Interpreter(symtable=syms, use_numpy=False, minimal=False, + no_if=True, no_for=True, no_while=True, no_try=True, + no_functiondef=True, no_ifexp=True, no_listcomp=False, + no_augassign=False, no_assert=True, no_delete=True, + no_raise=True, no_print=True) + + return aeval(literal) + + for p in params_builder['param_set']: + search_p = p['search_param_selector']['search_p'] + if search_p.strip() == '': + continue + param_type = p['search_param_selector']['selected_param_type'] + + lst = search_p.split(":") + assert (len(lst) == 2), "Error, make sure there is one and only one colon in search parameter input." + literal = lst[1].strip() + ev = safe_eval(literal) + if param_type == "final_estimator_p": + search_params["estimator__" + lst[0].strip()] = ev + else: + search_params["preprocessing_" + param_type[5:6] + "__" + lst[0].strip()] = ev + + return search_params + </token> + + <token name="@GET_ESTIMATOR_FUNCTION@"> +def get_estimator(estimator_json): + estimator_module = estimator_json['selected_module'] + estimator_cls = estimator_json['selected_estimator'] + + if estimator_module == "xgboost": + cls = getattr(xgboost, estimator_cls) + else: + module = getattr(sklearn, estimator_module) + cls = getattr(module, estimator_cls) + + estimator = cls() + + estimator_params = estimator_json['text_params'].strip() + if estimator_params != "": + try: + params = ast.literal_eval('{' + estimator_params + '}') + except ValueError: + sys.exit("Unsupported parameter input: `%s`" %estimator_params) + estimator.set_params(**params) + + return estimator + </token> + <xml name="python_requirements"> <requirements> <requirement type="package" version="2.7">python</requirement> <requirement type="package" version="0.19.1">scikit-learn</requirement> <requirement type="package" version="0.22.0">pandas</requirement> + <requirement type="package" version="0.72.1">xgboost</requirement> <yield /> </requirements> </xml> @@ -907,53 +993,54 @@ </expand> </xml> - <xml name="estimator_input_no_fit"> - <expand macro="feature_selection_estimator" /> - <conditional name="extra_estimator"> - <expand macro="feature_selection_extra_estimator" /> - <expand macro="feature_selection_estimator_choices" /> - </conditional> + <xml name="fs_selectfrommodel_prefitted"> + <param name="input_mode" type="select" label="Construct a new estimator from a selection list?" > + <option value="new" selected="true">Yes</option> + <option value="prefitted">No. Load a prefitted estimator</option> + </param> + <when value="new"> + <expand macro="estimator_selector_all"/> + </when> + <when value="prefitted"> + <param name="fitted_estimator" type="data" format='zip' label="Load a prefitted estimator" /> + </when> + </xml> + + <xml name="fs_selectfrommodel_no_prefitted"> + <param name="input_mode" type="select" label="Construct a new estimator from a selection list?" > + <option value="new" selected="true">Yes</option> + </param> + <when value="new"> + <expand macro="estimator_selector_all"/> + </when> </xml> <xml name="feature_selection_all"> - <conditional name="feature_selection_algorithms"> + <conditional name="fs_algorithm_selector"> <param name="selected_algorithm" type="select" label="Select a feature selection algorithm"> - <option value="SelectFromModel" selected="true">SelectFromModel - Meta-transformer for selecting features based on importance weights</option> - <option value="GenericUnivariateSelect" selected="true">GenericUnivariateSelect - Univariate feature selector with configurable strategy</option> + <option value="SelectKBest" selected="true">SelectKBest - Select features according to the k highest scores</option> + <option value="SelectFromModel">SelectFromModel - Meta-transformer for selecting features based on importance weights</option> + <option value="GenericUnivariateSelect">GenericUnivariateSelect - Univariate feature selector with configurable strategy</option> <option value="SelectPercentile">SelectPercentile - Select features according to a percentile of the highest scores</option> - <option value="SelectKBest">SelectKBest - Select features according to the k highest scores</option> <option value="SelectFpr">SelectFpr - Filter: Select the p-values below alpha based on a FPR test</option> <option value="SelectFdr">SelectFdr - Filter: Select the p-values for an estimated false discovery rate</option> <option value="SelectFwe">SelectFwe - Filter: Select the p-values corresponding to Family-wise error rate</option> <option value="RFE">RFE - Feature ranking with recursive feature elimination</option> <option value="RFECV">RFECV - Feature ranking with recursive feature elimination and cross-validated selection of the best number of features</option> <option value="VarianceThreshold">VarianceThreshold - Feature selector that removes all low-variance features</option> - <!--option value="chi2">Compute chi-squared stats between each non-negative feature and class</option--> - <!--option value="f_classif">Compute the ANOVA F-value for the provided sample</option--> - <!--option value="f_regression">Univariate linear regression tests</option--> - <!--option value="mutual_info_classif">Estimate mutual information for a discrete target variable</option--> - <!--option value="mutual_info_regression">Estimate mutual information for a continuous target variable</option--> </param> <when value="SelectFromModel"> - <expand macro="feature_selection_estimator" /> - <conditional name="extra_estimator"> - <expand macro="feature_selection_extra_estimator" > - <option value="no_load">No, I will load a prefitted estimator</option> - </expand> - <expand macro="feature_selection_estimator_choices" > - <when value="no_load"> - <param name="fitted_estimator" type="data" format='zip' label="Load a prefitted estimator" /> - </when> - </expand> + <conditional name="model_inputter"> + <yield/> </conditional> - <section name="options" title="Other Options" expanded="True"> + <section name="options" title="Advanced Options" expanded="False"> <param argument="threshold" type="text" value="" optional="true" label="threshold" help="The threshold value to use for feature selection. e.g. 'mean', 'median', '1.25*mean'." /> <param argument="norm_order" type="integer" value="1" label="norm_order" help="Order of the norm used to filter the vectors of coefficients below threshold in the case where the coef_ attribute of the estimator is of dimension 2. " /> </section> </when> <when value="GenericUnivariateSelect"> <expand macro="feature_selection_score_function" /> - <section name="options" title="Other Options" expanded="True"> + <section name="options" title="Advanced Options" expanded="False"> <param argument="mode" type="select" label="Feature selection mode"> <option value="percentile">percentile</option> <option value="k_best">k_best</option> @@ -966,53 +1053,45 @@ </when> <when value="SelectPercentile"> <expand macro="feature_selection_score_function" /> - <section name="options" title="Other Options" expanded="True"> + <section name="options" title="Advanced Options" expanded="False"> <param argument="percentile" type="integer" value="10" optional="True" label="Percent of features to keep" /> </section> </when> <when value="SelectKBest"> <expand macro="feature_selection_score_function" /> - <section name="options" title="Other Options" expanded="True"> + <section name="options" title="Advanced Options" expanded="False"> <param argument="k" type="integer" value="10" optional="True" label="Number of top features to select" help="No 'all' option is supported." /> </section> </when> <when value="SelectFpr"> <expand macro="feature_selection_score_function" /> - <section name="options" title="Other Options" expanded="True"> + <section name="options" title="Advanced Options" expanded="False"> <param argument="alpha" type="float" value="" optional="True" label="Alpha" help="The highest p-value for features to be kept."/> </section> </when> <when value="SelectFdr"> <expand macro="feature_selection_score_function" /> - <section name="options" title="Other Options" expanded="True"> + <section name="options" title="Advanced Options" expanded="False"> <param argument="alpha" type="float" value="" optional="True" label="Alpha" help="The highest uncorrected p-value for features to keep."/> </section> </when> <when value="SelectFwe"> <expand macro="feature_selection_score_function" /> - <section name="options" title="Other Options" expanded="True"> + <section name="options" title="Advanced Options" expanded="False"> <param argument="alpha" type="float" value="" optional="True" label="Alpha" help="The highest uncorrected p-value for features to keep."/> </section> </when> <when value="RFE"> - <expand macro="feature_selection_estimator" /> - <conditional name="extra_estimator"> - <expand macro="feature_selection_extra_estimator" /> - <expand macro="feature_selection_estimator_choices" /> - </conditional> - <section name="options" title="Other Options" expanded="True"> + <expand macro="estimator_selector_all"/> + <section name="options" title="Advanced Options" expanded="False"> <param argument="n_features_to_select" type="integer" value="" optional="true" label="n_features_to_select" help="The number of features to select. If None, half of the features are selected." /> <param argument="step" type="float" value="1" label="step" optional="true" help="Default = 1. " /> <param argument="verbose" type="integer" value="0" label="verbose" help="Controls verbosity of output." /> </section> </when> <when value="RFECV"> - <expand macro="feature_selection_estimator" /> - <conditional name="extra_estimator"> - <expand macro="feature_selection_extra_estimator" /> - <expand macro="feature_selection_estimator_choices" /> - </conditional> - <section name="options" title="Other Options" expanded="True"> + <expand macro="estimator_selector_all"/> + <section name="options" title="Advanced Options" expanded="False"> <param argument="step" type="float" value="1" label="step" optional="true" help="Default = 1. " /> <param argument="cv" type="integer" value="" optional="true" label="cv" help="Determines the cross-validation splitting strategy" /> <param argument="scoring" type="text" value="" optional="true" label="scoring" help="A string (see model evaluation documentation) or a scorer callable object / function with signature scorer(estimator, X, y)."/> @@ -1021,7 +1100,7 @@ </section> </when> <when value="VarianceThreshold"> - <section name="options" title="Options" expanded="True"> + <section name="options" title="Options" expanded="False"> <param argument="threshold" type="float" value="" optional="True" label="Threshold" help="Features with a training-set variance lower than this threshold will be removed."/> </section> </when> @@ -1048,36 +1127,9 @@ </param> </xml> - <xml name="feature_selection_estimator"> - <param argument="estimator" type="select" label="Select an estimator" help="The base estimator from which the transformer is built."> - <option value="svm.SVR(kernel="linear")">svm.SVR(kernel="linear")</option> - <option value="svm.SVC(kernel="linear")">svm.SVC(kernel="linear")</option> - <option value="svm.LinearSVC(penalty="l1", dual=False, tol=1e-3)">svm.LinearSVC(penalty="l1", dual=False, tol=1e-3)</option> - <option value="linear_model.LassoCV()">linear_model.LassoCV()</option> - <option value="ensemble.RandomForestRegressor(n_estimators = 1000, random_state = 42)">ensemble.RandomForestRegressor(n_estimators = 1000, random_state = 42)</option> - </param> - </xml> - - <xml name="feature_selection_extra_estimator"> - <param name="has_estimator" type="select" label="Does your estimator on the list above?"> - <option value="yes">Yes, my estimator is on the list</option> - <option value="no">No, I need make a new estimator</option> - <yield/> - </param> - </xml> - - <xml name="feature_selection_estimator_choices"> - <when value="yes"> - </when> - <when value="no"> - <param name="new_estimator" type="text" value="" label="Make a new estimator" /> - </when> - <yield/> - </xml> - - <xml name="feature_selection_methods"> - <conditional name="select_methods"> - <param name="selected_method" type="select" label="Select an operation"> + <xml name="feature_selection_output_mothods"> + <conditional name="output_method_selector"> + <param name="selected_method" type="select" label="Select an output method:"> <option value="fit_transform">fit_transform - Fit to data, then transform it</option> <option value="get_support">get_support - Get a mask, or integer index, of the features selected</option> </param> @@ -1101,10 +1153,312 @@ <param argument="scoring" type="text" value="" optional="true" label="scoring" help="A metric used to evaluate the estimator"/> </xml> - <xml name="pre_dispatch" token_type="text" token_default_value="all" token_help="Number of predispatched jobs for parallel execution"> + <xml name="pre_dispatch" token_type="hidden" token_default_value="all" token_help="Number of predispatched jobs for parallel execution"> <param argument="pre_dispatch" type="@TYPE@" value="@DEFAULT_VALUE@" optional="true" label="pre_dispatch" help="@HELP@"/> </xml> + <xml name="search_cv_estimator"> + <param name="infile_pipeline" type="data" format="zip" label="Choose the dataset containing pipeline object:"/> + <section name="search_params_builder" title="Search parameters Builder" expanded="true"> + <repeat name="param_set" min="1" max="20" title="Parameter setting for search:"> + <conditional name="search_param_selector"> + <param name="selected_param_type" type="select" label="Choose the transformation the parameter belongs to"> + <option value="final_estimator_p" selected="true">Final estimator</option> + <option value="prep_1_p">Pre-processing step #1</option> + <option value="prep_2_p">Pre-processing step #2</option> + <option value="prep_3_p">Pre-processing step #3</option> + <option value="prep_4_p">Pre-processing step #4</option> + <option value="prep_5_p">Pre-processing step #5</option> + </param> + <when value="final_estimator_p"> + <expand macro="search_param_input" /> + </when> + <when value="prep_1_p"> + <expand macro="search_param_input" label="Pre_processing component #1 parameter:" help="One parameter per box. For example: with_centering: [True, False]."/> + </when> + <when value="prep_2_p"> + <expand macro="search_param_input" label="Pre_processing component #2 parameter:" help="One parameter per box. For example: k: [3, 5, 7, 9]. See bottom for more examples"/> + </when> + <when value="prep_3_p"> + <expand macro="search_param_input" label="Pre_processing component #3 parameter:" help="One parameter per box. For example: n_components: [1, 10, 100, 1000]. See bottom for more examples"/> + </when> + <when value="prep_4_p"> + <expand macro="search_param_input" label="Pre_processing component #4 parameter:" help="One parameter per box. For example: n_components: [1, 10, 100, 1000]. See bottom for more examples"/> + </when> + <when value="prep_5_p"> + <expand macro="search_param_input" label="Pre_processing component #5 parameter:" help="One parameter per box. For example: affinity: ['euclidean', 'l1', 'l2', 'manhattan']. See bottom for more examples"/> + </when> + </conditional> + </repeat> + </section> + </xml> + + <xml name="search_param_input" token_label="Estimator parameter:" token_help="One parameter per box. For example: C: [1, 10, 100, 1000]. See bottom for more examples"> + <param name="search_p" type="text" value="" size="100" optional="true" label="@LABEL@" help="@HELP@"> + <sanitizer> + <valid initial="default"> + <add value="'"/> + <add value="""/> + <add value="["/> + <add value="]"/> + </valid> + </sanitizer> + </param> + </xml> + + <xml name="search_cv_options"> + <expand macro="scoring"/> + <expand macro="model_validation_common_options"/> + <expand macro="pre_dispatch" value="2*n_jobs" help="Controls the number of jobs that get dispatched during parallel execution"/> + <param argument="iid" type="boolean" truevalue="booltrue" falsevalue="boolfalse" checked="true" label="iid" help="If True, data is identically distributed across the folds"/> + <param argument="refit" type="boolean" truevalue="booltrue" falsevalue="boolfalse" checked="true" label="refit" help="Refit an estimator using the best found parameters on the whole dataset."/> + <!--error_score--> + <param argument="return_train_score" type="boolean" truevalue="booltrue" falsevalue="boolfalse" checked="false" label="return_train_score" help=""/> + </xml> + + <xml name="estimator_selector_all"> + <conditional name="estimator_selector"> + <param name="selected_module" type="select" label="Choose the module that contains target estimator:" > + <option value="svm" selected="true">sklearn.svm</option> + <option value="linear_model">sklearn.linear_model</option> + <option value="ensemble">sklearn.ensemble</option> + <option value="naive_bayes">sklearn.naive_bayes</option> + <option value="tree">sklearn.tree</option> + <option value="neighbors">sklearn.neighbors</option> + <option value="xgboost">xgboost</option> + <!--more--> + </param> + <when value="svm"> + <param name="selected_estimator" type="select" label="Choose estimator class:"> + <option value="LinearSVC" selected="true">LinearSVC</option> + <option value="LinearSVR">LinearSVR</option> + <option value="NuSVC">NuSVC</option> + <option value="NuSVR">NuSVR</option> + <option value="OneClassSVM">OneClassSVM</option> + <option value="SVC">SVC</option> + <option value="SVR">SVR</option> + </param> + <expand macro="estimator_params_text"/> + </when> + <when value="linear_model"> + <param name="selected_estimator" type="select" label="Choose estimator class:"> + <option value="ARDRegression" selected="true">ARDRegression</option> + <option value="BayesianRidge">BayesianRidge</option> + <option value="ElasticNet">ElasticNet</option> + <option value="ElasticNetCV">ElasticNetCV</option> + <option value="HuberRegressor">HuberRegressor</option> + <option value="Lars">Lars</option> + <option value="LarsCV">LarsCV</option> + <option value="Lasso">Lasso</option> + <option value="LassoCV">LassoCV</option> + <option value="LassoLars">LassoLars</option> + <option value="LassoLarsCV">LassoLarsCV</option> + <option value="LassoLarsIC">LassoLarsIC</option> + <option value="LinearRegression">LinearRegression</option> + <option value="LogisticRegression">LogisticRegression</option> + <option value="LogisticRegressionCV">LogisticRegressionCV</option> + <option value="MultiTaskLasso">MultiTaskLasso</option> + <option value="MultiTaskElasticNet">MultiTaskElasticNet</option> + <option value="MultiTaskLassoCV">MultiTaskLassoCV</option> + <option value="MultiTaskElasticNetCV">MultiTaskElasticNetCV</option> + <option value="OrthogonalMatchingPursuit">OrthogonalMatchingPursuit</option> + <option value="OrthogonalMatchingPursuitCV">OrthogonalMatchingPursuitCV</option> + <option value="PassiveAggressiveClassifier">PassiveAggressiveClassifier</option> + <option value="PassiveAggressiveRegressor">PassiveAggressiveRegressor</option> + <option value="Perceptron">Perceptron</option> + <option value="RANSACRegressor">RANSACRegressor</option> + <option value="Ridge">Ridge</option> + <option value="RidgeClassifier">RidgeClassifier</option> + <option value="RidgeClassifierCV">RidgeClassifierCV</option> + <option value="RidgeCV">RidgeCV</option> + <option value="SGDClassifier">SGDClassifier</option> + <option value="SGDRegressor">SGDRegressor</option> + <option value="TheilSenRegressor">TheilSenRegressor</option> + </param> + <expand macro="estimator_params_text"/> + </when> + <when value="ensemble"> + <param name="selected_estimator" type="select" label="Choose estimator class:"> + <option value="AdaBoostClassifier" selected="true">AdaBoostClassifier</option> + <option value="AdaBoostRegressor">AdaBoostRegressor</option> + <option value="BaggingClassifier">BaggingClassifier</option> + <option value="BaggingRegressor">BaggingRegressor</option> + <option value="ExtraTreesClassifier">ExtraTreesClassifier</option> + <option value="ExtraTreesRegressor">ExtraTreesRegressor</option> + <option value="GradientBoostingClassifier">GradientBoostingClassifier</option> + <option value="GradientBoostingRegressor">GradientBoostingRegressor</option> + <option value="IsolationForest">IsolationForest</option> + <option value="RandomForestClassifier">RandomForestClassifier</option> + <option value="RandomForestRegressor">RandomForestRegressor</option> + <option value="RandomTreesEmbedding">RandomTreesEmbedding</option> + <option value="VotingClassifier">VotingClassifier</option> + </param> + <expand macro="estimator_params_text"/> + </when> + <when value="naive_bayes"> + <param name="selected_estimator" type="select" label="Choose estimator class:"> + <option value="BernoulliNB" selected="true">BernoulliNB</option> + <option value="GaussianNB">GaussianNB</option> + <option value="MultinomialNB">MultinomialNB</option> + </param> + <expand macro="estimator_params_text"/> + </when> + <when value="tree"> + <param name="selected_estimator" type="select" label="Choose estimator class:"> + <option value="DecisionTreeClassifier" selected="true">DecisionTreeClassifier</option> + <option value="DecisionTreeRegressor">DecisionTreeRegressor</option> + <option value="ExtraTreeClassifier">ExtraTreeClassifier</option> + <option value="ExtraTreeRegressor">ExtraTreeRegressor</option> + </param> + <expand macro="estimator_params_text"/> + </when> + <when value="neighbors"> + <param name="selected_estimator" type="select" label="Choose estimator class:"> + <option value="BallTree" selected="true">BallTree</option> + <option value="DistanceMetric">DistanceMetric</option> + <option value="KDTree">KDTree</option> + <option value="KernelDensity">KernelDensity</option> + <option value="KNeighborsClassifier">KNeighborsClassifier</option> + <option value="KNeighborsRegressor">KNeighborsRegressor</option> + <option value="LocalOutlierFactor">LocalOutlierFactor</option> + <option value="RadiusNeighborsClassifier">RadiusNeighborsClassifier</option> + <option value="RadiusNeighborsRegressor">RadiusNeighborsRegressor</option> + <option value="NearestCentroid">NearestCentroid</option> + <option value="NearestNeighbors">NearestNeighbors</option> + </param> + <expand macro="estimator_params_text"/> + </when> + <when value="xgboost"> + <param name="selected_estimator" type="select" label="Choose estimator class:"> + <option value="XGBRegressor" selected="true">XGBRegressor</option> + <option value="XGBClassifier">XGBClassifier</option> + </param> + <expand macro="estimator_params_text"/> + </when> + </conditional> + </xml> + + <xml name="estimator_params_text" token_label="Type in estimator parameters:" + token_help="Parameters in dictionary without braces ('{}'), e.g., 'C': 1, 'kernel': 'linear'. No double quotes. Leave this box blank for default estimator."> + <param name="text_params" type="text" value="" size="50" optional="true" label="@LABEL@" help="@HELP@"> + <sanitizer> + <valid initial="default"> + <add value="'"/> + </valid> + </sanitizer> + </param> + </xml> + + <xml name="kernel_approximation_all"> + <conditional name="kernel_approximation_selector"> + <param name="select_algorithm" type="select" label="Choose a kernel approximation algorithm:"> + <option value="Nystroem" selected="true">Nystroem</option> + <option value="RBFSampler">RBFSampler</option> + <option value="AdditiveChi2Sampler">AdditiveChi2Sampler</option> + <option value="SkewedChi2Sampler">SkewedChi2Sampler</option> + </param> + <when value="Nystroem"> + <expand macro="estimator_params_text" label="Type in kernel approximater parameters:" + help="Parameters in dictionary without braces ('{}'), e.g., 'n_components': 100, 'kernel': 'rbf'. No double quotes. Leave this box blank for class default."/> + </when> + <when value="RBFSampler"> + <expand macro="estimator_params_text" label="Type in kernel approximater parameters:" + help="Parameters in dictionary without braces ('{}'), e.g., 'n_components': 100, 'gamma': 1.0. No double quotes. Leave this box blank for class default."/> + </when> + <when value="AdditiveChi2Sampler"> + <expand macro="estimator_params_text" label="Type in kernel approximater parameters:" + help="Parameters in dictionary without braces ('{}'), e.g., 'sample_steps': 2, 'sample_interval': None. No double quotes. Leave this box blank for class default."/> + </when> + <when value="SkewedChi2Sampler"> + <expand macro="estimator_params_text" label="Type in kernel approximater parameters:" + help="Parameters in dictionary without braces ('{}'), e.g., 'n_components': 100, 'skewedness': 1.0. No double quotes. Leave this box blank for class default."/> + </when> + </conditional> + </xml> + + <xml name="matrix_decomposition_all"> + <conditional name="matrix_decomposition_selector"> + <param name="select_algorithm" type="select" label="Choose a matrix decomposition algorithm:"> + <option value="DictionaryLearning" selected="true">DictionaryLearning</option> + <option value="FactorAnalysis">FactorAnalysis</option> + <option value="FastICA">FastICA</option> + <option value="IncrementalPCA">IncrementalPCA</option> + <option value="KernelPCA">KernelPCA</option> + <option value="LatentDirichletAllocation">LatentDirichletAllocation</option> + <option value="MiniBatchDictionaryLearning">MiniBatchDictionaryLearning</option> + <option value="MiniBatchSparsePCA">MiniBatchSparsePCA</option> + <option value="NMF">NMF</option> + <option value="PCA">PCA</option> + <option value="SparsePCA">SparsePCA</option> + <option value="SparseCoder">SparseCoder</option> + <option value="TruncatedSVD">TruncatedSVD</option> + </param> + <when value="DictionaryLearning"> + <expand macro="estimator_params_text" label="Type in maxtrix decomposition parameters:" + help="Parameters in dictionary without braces ('{}'), e.g., 'n_components': None, 'alpha': 1.0. No double quotes. Leave this box blank for class default."/> + </when> + <when value="FactorAnalysis"> + <expand macro="estimator_params_text" label="Type in maxtrix decomposition parameters:" + help="Parameters in dictionary without braces ('{}'), e.g., 'n_components': 100, 'random_state': 42. No double quotes. Leave this box blank for class default."/> + </when> + <when value="FastICA"> + <expand macro="estimator_params_text" label="Type in maxtrix decomposition parameters:" + help="Parameters in dictionary without braces ('{}'), e.g., 'n_components': 100, 'random_state': 42. No double quotes. Leave this box blank for class default."/> + </when> + <when value="IncrementalPCA"> + <expand macro="estimator_params_text" label="Type in maxtrix decomposition parameters:" + help="Parameters in dictionary without braces ('{}'), e.g., 'n_components': 100, 'whiten': False. No double quotes. Leave this box blank for class default."/> + </when> + <when value="KernelPCA"> + <expand macro="estimator_params_text" label="Type in maxtrix decomposition parameters:" + help="Parameters in dictionary without braces ('{}'), e.g., 'n_components': 100, 'random_state': 42. No double quotes. Leave this box blank for class default."/> + </when> + <when value="LatentDirichletAllocation"> + <expand macro="estimator_params_text" label="Type in maxtrix decomposition parameters:" + help="Parameters in dictionary without braces ('{}'), e.g., 'n_components': 100, 'random_state': 42. No double quotes. Leave this box blank for class default."/> + </when> + <when value="MiniBatchDictionaryLearning"> + <expand macro="estimator_params_text" label="Type in maxtrix decomposition parameters:" + help="Parameters in dictionary without braces ('{}'), e.g., 'n_components': 100, 'random_state': 42. No double quotes. Leave this box blank for class default."/> + </when> + <when value="MiniBatchSparsePCA"> + <expand macro="estimator_params_text" label="Type in maxtrix decomposition parameters:" + help="Parameters in dictionary without braces ('{}'), e.g., 'n_components': 100, 'random_state': 42. No double quotes. Leave this box blank for class default."/> + </when> + <when value="NMF"> + <expand macro="estimator_params_text" label="Type in maxtrix decomposition parameters:" + help="Parameters in dictionary without braces ('{}'), e.g., 'n_components': 100, 'init': 'random'. No double quotes. Leave this box blank for class default."/> + </when> + <when value="PCA"> + <expand macro="estimator_params_text" label="Type in maxtrix decomposition parameters:" + help="Parameters in dictionary without braces ('{}'), e.g., 'n_components': 100, 'random_state': 42. No double quotes. Leave this box blank for class default."/> + </when> + <when value="SparsePCA"> + <expand macro="estimator_params_text" label="Type in maxtrix decomposition parameters:" + help="Parameters in dictionary without braces ('{}'), e.g., 'n_components': 100, 'random_state': 42. No double quotes. Leave this box blank for class default."/> + </when> + <when value="SparseCoder"> + <expand macro="estimator_params_text" label="Type in maxtrix decomposition parameters:" + help="Parameters in dictionary without braces ('{}'), e.g., 'transform_algorithm': 'omp', 'transform_alpha': 1.0. No double quotes. Leave this box blank for class default."/> + </when> + <when value="TruncatedSVD"> + <expand macro="estimator_params_text" label="Type in maxtrix decomposition parameters:" + help="Parameters in dictionary without braces ('{}'), e.g., 'n_components': 2, 'algorithm': 'randomized'. No double quotes. Leave this box blank for default estimator."/> + </when> + </conditional> + </xml> + + <xml name="FeatureAgglomeration"> + <conditional name="FeatureAgglomeration_selector"> + <param name="select_algorithm" type="select" label="Choose the algorithm:"> + <option value="FeatureAgglomeration" selected="true">FeatureAgglomeration</option> + </param> + <when value="FeatureAgglomeration"> + <expand macro="estimator_params_text" label="Type in parameters:" + help="Parameters in dictionary without braces ('{}'), e.g., 'n_clusters': 2, 'affinity': 'euclidean'. No double quotes. Leave this box blank for class default."/> + </when> + </conditional> + </xml> <!-- Outputs --> <xml name="output"> @@ -1118,7 +1472,6 @@ </outputs> </xml> - <!--Citations--> <xml name="eden_citation"> <citations>
--- a/model_validation.xml Fri Jul 13 03:56:45 2018 -0400 +++ b/model_validation.xml Sat Aug 04 12:35:35 2018 -0400 @@ -21,13 +21,14 @@ import ast import pickle import numpy as np -import sklearn.model_selection -from sklearn import svm, linear_model, ensemble, preprocessing +import sklearn.feature_selection +from sklearn import preprocessing, model_selection, svm, linear_model, ensemble, naive_bayes, tree, neighbors from sklearn.pipeline import Pipeline @COLUMNS_FUNCTION@ +@GET_ESTIMATOR_FUNCTION@ +@FEATURE_SELECTOR_FUNCTION@ -@FEATURE_SELECTOR_FUNCTION@ input_json_path = sys.argv[1] with open(input_json_path, "r") as param_handler: @@ -85,14 +86,12 @@ ## Set up feature selector and add to pipeline steps. if params['feature_selection']['do_feature_selection'] == 'Yes': - feature_selector = feature_selector(params['feature_selection']['feature_selection_algorithms']) + feature_selector = feature_selector(params['feature_selection']['fs_algorithm_selector']) pipeline_steps.append( ('feature_selector', feature_selector) ) ## Set up estimator and add to pipeline. -estimator=params["model_validation_functions"]["estimator"] -if params["model_validation_functions"]["extra_estimator"]["has_estimator"] == 'no': - estimator = params["model_validation_functions"]["extra_estimator"]["new_estimator"] -estimator = eval(estimator.replace('__dq__', '"').replace("__sq__","'")) +estimator_json = params["model_validation_functions"]['estimator_selector'] +estimator = get_estimator(estimator_json) pipeline_steps.append( ('estimator', estimator) ) @@ -101,7 +100,7 @@ ## Set up validator, run pipeline through validator and return results. validator = params["model_validation_functions"]["selected_function"] -validator = getattr(sklearn.model_selection, validator) +validator = getattr(model_selection, validator) selected_function = params["model_validation_functions"]["selected_function"] rval_type = params["model_validation_functions"].get("return_type", None) @@ -123,24 +122,11 @@ options['param_range'] = eval(options['param_range']) train_scores, test_scores = validator(pipeline, X, y, **options) rval = eval(rval_type) -elif selected_function == 'GridSearchCV': - param_grid = params["model_validation_functions"]["param_grid"].replace("__sq__","'")\ - .replace('__dq__','"').replace("__oc__", "{").replace("__cc__", "}")\ - .replace("__ob__", "[").replace("__cb__", "]") - param_grid = ast.literal_eval(param_grid) - grid = validator(pipeline, param_grid, **options) - grid.fit(X, y) - rval = getattr(grid, rval_type) - if rval_type in ["best_estimator_", "best_score_", "best_index_"]: - rval = [rval] else: rval = validator(pipeline, X, y, **options) rval = pandas.DataFrame(rval) -if rval_type and rval_type == "cv_results_": - rval.to_csv(path_or_buf="$outfile", sep='\t', header=True, index=False) -else: - rval.to_csv(path_or_buf="$outfile", sep='\t', header=False, index=False) +rval.to_csv(path_or_buf="$outfile", sep='\t', header=False, index=False) ]]> </configfile> @@ -166,12 +152,13 @@ </param> <when value="No"/> <when value="Yes"> - <expand macro="feature_selection_all"/> + <expand macro="feature_selection_all"> + <expand macro="fs_selectfrommodel_no_prefitted"/> + </expand> </when> </conditional> <conditional name="model_validation_functions"> <param name="selected_function" type="select" label="Select a model validation function"> - <option value="GridSearchCV">GridSearchCV - Exhaustive search over specified parameter values for an estimator </option> <option value="cross_validate">cross_validate - Evaluate metric(s) by cross-validation and also record fit/score times</option> <option value="cross_val_predict">cross_val_predict - Generate cross-validated estimates for each input data point</option> <option value="cross_val_score">cross_val_score - Evaluate a score by cross-validation</option> @@ -179,28 +166,8 @@ <option value="permutation_test_score">permutation_test_score - Evaluate the significance of a cross-validated score with permutations</option> <option value="validation_curve">validation_curve - Validation curve</option> </param> - <when value="GridSearchCV"> - <expand macro="estimator_input_no_fit" /> - <param argument="param_grid" type="text" value="[{'feature_selector__k': [3, 5, 7, 9], 'estimator__C': [1, 10, 100, 1000]}]" label="param_grid" help="Dictionary with parameters names (string) as keys and lists of parameter settings to try as values, or a list of such dictionaries, in which case the grids spanned by each dictionary in the list are explored"/> - <section name="options" title="Other Options" expanded="false"> - <expand macro="scoring"/> - <expand macro="model_validation_common_options"/> - <expand macro="pre_dispatch" value="2*n_jobs" help="Controls the number of jobs that get dispatched during parallel execution"/> - <param argument="iid" type="boolean" truevalue="booltrue" falsevalue="boolfalse" checked="true" label="iid" help="Data is identically distributed?"/> - <param argument="refit" type="boolean" truevalue="booltrue" falsevalue="boolfalse" checked="true" label="refit" help="Refit an estimator using the best found parameters on the whole dataset."/> - <!--error_score--> - <param argument="return_train_score" type="boolean" truevalue="booltrue" falsevalue="boolfalse" checked="false" label="return_train_score" help=""/> - </section> - <param name="return_type" type="select" label="Select a return type"> - <option value="cv_results_" selected="true">cv_results_</option> - <option value="best_estimator_">best_estimator_</option> - <option value="best_score_">best_score_</option> - <option value="best_params_">best_params_</option> - <option value="best_index_">best_index_</option> - </param> - </when> <when value="cross_validate"> - <expand macro="estimator_input_no_fit" /> + <expand macro="estimator_selector_all" /> <section name="options" title="Other Options" expanded="false"> <!--groups--> <expand macro="model_validation_common_options"/> @@ -216,7 +183,7 @@ </param> </when> <when value="cross_val_predict"> - <expand macro="estimator_input_no_fit" /> + <expand macro="estimator_selector_all" /> <section name="options" title="Other Options" expanded="false"> <!--groups--> <expand macro="model_validation_common_options" /> @@ -229,7 +196,7 @@ </section> </when> <when value="cross_val_score"> - <expand macro="estimator_input_no_fit" /> + <expand macro="estimator_selector_all" /> <section name="options" title="Other Options" expanded="false"> <!--groups--> <expand macro="model_validation_common_options"/> @@ -239,7 +206,7 @@ </section> </when> <when value="learning_curve"> - <expand macro="estimator_input_no_fit" /> + <expand macro="estimator_selector_all" /> <section name="options" title="Other Options" expanded="false"> <!--groups--> <expand macro="model_validation_common_options"/> @@ -257,7 +224,7 @@ </param> </when> <when value="permutation_test_score"> - <expand macro="estimator_input_no_fit" /> + <expand macro="estimator_selector_all" /> <section name="options" title="Other Options" expanded="false"> <!--groups--> <expand macro="model_validation_common_options"/> @@ -272,7 +239,7 @@ </param> </when> <when value="validation_curve"> - <expand macro="estimator_input_no_fit" /> + <expand macro="estimator_selector_all" /> <section name="options" title="Other Options" expanded="false"> <param name="param_name" type="text" value="gamma" label="param_name" help="Name of the parameter that will be varied"/> <param name="param_range" type="text" value="np.logspace(-6, -1, 5)" label="param_range" help="The values of the parameter that will be evaluated."/> @@ -295,8 +262,8 @@ <tests> <test> <param name="selected_function" value="cross_validate"/> - <param name="estimator" value="linear_model.LassoCV()"/> - <param name="has_estimator" value="yes"/> + <param name="selected_module" value="linear_model"/> + <param name="selected_estimator" value="LassoCV"/> <param name="infile1" value="regression_train.tabular" ftype="tabular"/> <param name="col1" value="1,2,3,4,5"/> <param name="infile2" value="regression_train.tabular" ftype="tabular"/> @@ -305,8 +272,8 @@ </test> <test> <param name="selected_function" value="cross_val_predict"/> - <param name="estimator" value="linear_model.LassoCV()"/> - <param name="has_estimator" value="yes"/> + <param name="selected_module" value="linear_model"/> + <param name="selected_estimator" value="LassoCV"/> <param name="infile1" value="regression_train.tabular" ftype="tabular"/> <param name="col1" value="1,2,3,4,5"/> <param name="infile2" value="regression_train.tabular" ftype="tabular"/> @@ -315,8 +282,8 @@ </test> <test> <param name="selected_function" value="cross_val_score"/> - <param name="estimator" value="linear_model.LassoCV()"/> - <param name="has_estimator" value="yes"/> + <param name="selected_module" value="linear_model"/> + <param name="selected_estimator" value="LassoCV"/> <param name="infile1" value="regression_train.tabular" ftype="tabular"/> <param name="col1" value="1,2,3,4,5"/> <param name="infile2" value="regression_train.tabular" ftype="tabular"/> @@ -325,8 +292,8 @@ </test> <test> <param name="selected_function" value="learning_curve"/> - <param name="estimator" value="linear_model.LassoCV()"/> - <param name="has_estimator" value="yes"/> + <param name="selected_module" value="linear_model"/> + <param name="selected_estimator" value="LassoCV"/> <param name="infile1" value="regression_X.tabular" ftype="tabular"/> <param name="header1" value="true" /> <param name="col1" value="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17"/> @@ -337,8 +304,8 @@ </test> <test> <param name="selected_function" value="permutation_test_score"/> - <param name="estimator" value="linear_model.LassoCV()"/> - <param name="has_estimator" value="yes"/> + <param name="selected_module" value="linear_model"/> + <param name="selected_estimator" value="LassoCV"/> <param name="infile1" value="regression_train.tabular" ftype="tabular"/> <param name="col1" value="1,2,3,4,5"/> <param name="infile2" value="regression_train.tabular" ftype="tabular"/> @@ -347,8 +314,9 @@ </test> <test> <param name="selected_function" value="validation_curve"/> - <param name="estimator" value="svm.SVC(kernel="linear")"/> - <param name="has_estimator" value="yes"/> + <param name="selected_module" value="svm"/> + <param name="selected_estimator" value="SVC"/> + <param name="text_params" value="'kernel': 'linear'"/> <param name="infile1" value="regression_X.tabular" ftype="tabular"/> <param name="header1" value="true" /> <param name="selected_column_selector_option" value="all_columns"/> @@ -358,79 +326,15 @@ <param name="return_type" value="test_scores"/> <output name="outfile" file="mv_result06.tabular"/> </test> - <test> - <param name="do_feature_selection" value="Yes"/> - <param name="selected_algorithm" value="SelectKBest"/> - <param name="score_func" value="chi2"/> - <param name="selected_function" value="GridSearchCV"/> - <param name="estimator" value="svm.SVR(kernel="linear")"/> - <param name="has_estimator" value="yes"/> - <param name="param_grid" value="[{'feature_selector__k': [3, 7], 'estimator__C': [1, 100]}]"/> - <param name="return_type" value="best_score_"/> - <param name="infile1" value="regression_X.tabular" ftype="tabular"/> - <param name="header1" value="true" /> - <param name="selected_column_selector_option" value="all_columns"/> - <param name="infile2" value="regression_y.tabular" ftype="tabular"/> - <param name="header2" value="true" /> - <param name="selected_column_selector_option2" value="all_columns"/> - <output name="outfile" > - <assert_contents> - <has_line line="0.7824428015300172" /> - </assert_contents> - </output> - </test> - <test> - <param name="do_pre_processing" value="Yes"/> - <param name="selected_pre_processor" value="RobustScaler"/> - <param name="do_feature_selection" value="Yes"/> - <param name="selected_algorithm" value="SelectKBest"/> - <param name="score_func" value="f_classif"/> - <param name="selected_function" value="GridSearchCV"/> - <param name="estimator" value="svm.SVR(kernel="linear")"/> - <param name="has_estimator" value="yes"/> - <param name="param_grid" value="[{'feature_selector__k': [3, 5, 7, 9], 'estimator__C': [1, 10, 100, 1000]}]"/> - <param name="return_type" value="best_score_"/> - <param name="infile1" value="regression_X.tabular" ftype="tabular"/> - <param name="header1" value="true" /> - <param name="selected_column_selector_option" value="all_columns"/> - <param name="infile2" value="regression_y.tabular" ftype="tabular"/> - <param name="header2" value="true" /> - <param name="selected_column_selector_option2" value="all_columns"/> - <output name="outfile" > - <assert_contents> - <has_line line="0.7938837807353147" /> - </assert_contents> - </output> - </test> - <test> - <param name="do_pre_processing" value="Yes"/> - <param name="selected_pre_processor" value="RobustScaler"/> - <param name="selected_function" value="GridSearchCV"/> - <param name="estimator" value="svm.SVR(kernel="linear")"/> - <param name="has_estimator" value="yes"/> - <param name="param_grid" value="[{'estimator__C': [1, 10, 100, 1000]}]"/> - <param name="return_type" value="best_score_"/> - <param name="infile1" value="regression_X.tabular" ftype="tabular"/> - <param name="header1" value="true" /> - <param name="selected_column_selector_option" value="all_columns"/> - <param name="infile2" value="regression_y.tabular" ftype="tabular"/> - <param name="header2" value="true" /> - <param name="selected_column_selector_option2" value="all_columns"/> - <output name="outfile" > - <assert_contents> - <has_line line="0.7904476204861263" /> - </assert_contents> - </output> - </test> </tests> <help> <![CDATA[ **What it does** This tool includes model validation functions to evaluate estimator performance in the cross-validation approach. This tool is based on sklearn.model_selection package. -For information about classification metric functions and their parameter settings please refer to `Scikit-learn classification metrics`_. +For information about model validation functions and their parameter settings please refer to `Scikit-learn model_selection`_. -.. _`Scikit-learn classification metrics`: http://scikit-learn.org/stable/modules/model_evaluation.html#classification-metrics +.. _`Scikit-learn model_selection`: http://scikit-learn.org/stable/modules/classes.html#module-sklearn.model_selection ]]> </help> <expand macro="sklearn_citation"/>
--- a/test-data/feature_selection_result01 Fri Jul 13 03:56:45 2018 -0400 +++ b/test-data/feature_selection_result01 Sat Aug 04 12:35:35 2018 -0400 @@ -1,262 +1,11 @@ -temp_1 average -69.0 69.7 -59.0 58.1 -88.0 77.3 -65.0 64.7 -50.0 47.5 -51.0 48.2 -52.0 48.6 -78.0 76.7 -35.0 45.2 -40.0 46.1 -47.0 45.3 -72.0 76.3 -76.0 74.4 -39.0 45.3 -78.0 72.2 -71.0 67.3 -48.0 47.7 -72.0 77.0 -57.0 54.7 -40.0 45.1 -54.0 47.6 -58.0 53.2 -68.0 58.6 -65.0 55.3 -47.0 48.8 -44.0 45.6 -64.0 67.1 -62.0 57.1 -66.0 65.7 -70.0 71.8 -57.0 54.2 -50.0 50.5 -55.0 51.8 -55.0 49.5 -42.0 45.2 -65.0 60.1 -63.0 65.6 -48.0 47.3 -42.0 46.3 -51.0 46.2 -64.0 68.0 -75.0 74.6 -52.0 46.7 -67.0 68.6 -68.0 68.7 -54.0 55.0 -62.0 56.8 -76.0 76.1 -73.0 73.1 -52.0 50.3 -70.0 73.9 -77.0 77.4 -60.0 56.6 -52.0 53.3 -79.0 75.0 -76.0 57.2 -66.0 66.5 -57.0 61.8 -66.0 57.4 -61.0 58.4 -55.0 53.1 -48.0 48.1 -49.0 49.2 -65.0 66.7 -60.0 62.5 -56.0 53.0 -59.0 57.4 -44.0 45.7 -82.0 63.2 -64.0 67.0 -43.0 45.5 -64.0 55.7 -63.0 52.7 -70.0 70.6 -71.0 52.4 -76.0 73.5 -68.0 62.1 -39.0 45.3 -71.0 70.7 -69.0 71.7 -74.0 71.5 -81.0 64.1 -51.0 49.3 -45.0 46.8 -87.0 76.8 -71.0 73.8 -55.0 60.3 -80.0 76.9 -67.0 69.0 -61.0 61.4 -46.0 46.6 -39.0 45.1 -67.0 68.3 -52.0 47.8 -67.0 69.8 -75.0 71.2 -68.0 73.3 -92.0 68.2 -67.0 72.8 -44.0 45.8 -61.0 61.0 -65.0 53.4 -68.0 73.0 -87.0 62.1 -117.0 54.8 -80.0 76.4 -57.0 51.0 -67.0 63.6 -58.0 54.0 -65.0 56.2 -52.0 48.6 -59.0 55.3 -57.0 53.9 -81.0 59.2 -75.0 77.1 -76.0 77.4 -57.0 64.8 -69.0 74.2 -77.0 66.8 -55.0 49.9 -49.0 46.8 -54.0 52.7 -55.0 51.2 -56.0 55.6 -68.0 74.6 -54.0 53.4 -67.0 69.0 -49.0 46.9 -49.0 49.1 -56.0 48.5 -73.0 71.0 -66.0 66.4 -69.0 66.5 -82.0 64.5 -90.0 76.7 -51.0 50.7 -77.0 57.1 -60.0 61.4 -74.0 72.8 -85.0 77.2 -68.0 62.8 -56.0 49.5 -71.0 56.2 -62.0 59.5 -83.0 77.3 -64.0 65.4 -56.0 48.4 -41.0 45.1 -65.0 66.2 -65.0 53.7 -40.0 46.0 -45.0 45.6 -52.0 48.4 -63.0 51.7 -52.0 47.6 -60.0 57.9 -81.0 75.7 -75.0 75.8 -59.0 51.4 -73.0 77.1 -75.0 77.3 -60.0 58.5 -75.0 71.3 -59.0 57.6 -53.0 49.1 -79.0 77.2 -57.0 52.1 -75.0 67.6 -71.0 69.4 -53.0 50.2 -46.0 48.8 -81.0 76.9 -49.0 48.9 -57.0 48.4 -60.0 58.8 -67.0 73.7 -61.0 64.1 -66.0 69.5 -64.0 51.9 -66.0 65.7 -64.0 52.2 -71.0 65.2 -75.0 63.8 -48.0 46.4 -53.0 52.5 -49.0 47.1 -85.0 68.5 -62.0 49.4 -50.0 47.0 -58.0 55.9 -72.0 77.2 -55.0 50.7 -74.0 72.3 -85.0 77.3 -73.0 77.3 -52.0 47.4 -67.0 67.6 -45.0 45.1 -46.0 47.2 -66.0 60.6 -71.0 77.0 -70.0 69.3 -58.0 49.9 -72.0 77.1 -74.0 75.4 -65.0 64.5 -77.0 58.8 -59.0 50.9 -45.0 45.7 -53.0 50.5 -53.0 54.9 -79.0 77.3 -49.0 49.0 -63.0 62.9 -69.0 56.5 -60.0 50.8 -64.0 62.5 -79.0 71.0 -55.0 47.0 -73.0 56.0 -60.0 59.1 -67.0 70.2 -42.0 45.2 -60.0 65.0 -57.0 49.8 -35.0 45.2 -75.0 70.3 -61.0 51.1 -51.0 50.6 -71.0 71.9 -74.0 75.3 -48.0 45.4 -74.0 74.9 -76.0 70.8 -58.0 51.6 -51.0 50.4 -72.0 72.6 -76.0 67.2 -52.0 47.9 -53.0 48.2 -65.0 69.1 -58.0 58.1 -77.0 75.6 -61.0 52.9 -67.0 65.3 -54.0 49.3 -79.0 67.4 -77.0 64.3 -71.0 67.7 -58.0 57.7 -68.0 55.9 -40.0 45.4 -80.0 77.3 -74.0 62.3 -57.0 45.5 -52.0 47.8 -71.0 75.1 -49.0 53.6 -89.0 59.0 -60.0 60.2 -59.0 58.3 +0 1 +143.762620712 -1.1796457192799998 +-88.5787166225 -2.5710918402200003 +-82.8452345578 -0.168636324107 +72.4951388149 0.991068834926 +11.805182128 -0.7096855607860001 +-63.9354970901 0.9841122108220001 +126.32584079600001 0.35353444883900004 +23.0341392692 1.03188231893 +67.6714937696 -0.8214378651719999 +47.39275848810001 -0.0942409319417
--- a/test-data/feature_selection_result08 Fri Jul 13 03:56:45 2018 -0400 +++ b/test-data/feature_selection_result08 Sat Aug 04 12:35:35 2018 -0400 @@ -1,262 +1,11 @@ -day temp_2 temp_1 average forecast_noaa forecast_acc forecast_under friend -19.0 68.0 69.0 69.7 65.0 74.0 71.0 88.0 -14.0 60.0 59.0 58.1 57.0 63.0 58.0 66.0 -30.0 85.0 88.0 77.3 75.0 79.0 77.0 70.0 -15.0 82.0 65.0 64.7 63.0 69.0 64.0 58.0 -18.0 54.0 50.0 47.5 44.0 48.0 49.0 58.0 -25.0 48.0 51.0 48.2 45.0 51.0 49.0 63.0 -25.0 49.0 52.0 48.6 45.0 52.0 47.0 41.0 -20.0 73.0 78.0 76.7 75.0 78.0 77.0 66.0 -17.0 39.0 35.0 45.2 43.0 47.0 46.0 38.0 -8.0 42.0 40.0 46.1 45.0 51.0 47.0 36.0 -28.0 42.0 47.0 45.3 41.0 49.0 44.0 58.0 -17.0 76.0 72.0 76.3 76.0 78.0 77.0 88.0 -7.0 69.0 76.0 74.4 73.0 77.0 74.0 72.0 -15.0 40.0 39.0 45.3 45.0 49.0 47.0 46.0 -27.0 71.0 78.0 72.2 70.0 74.0 72.0 84.0 -31.0 64.0 71.0 67.3 63.0 72.0 68.0 85.0 -20.0 54.0 48.0 47.7 44.0 52.0 49.0 61.0 -10.0 73.0 72.0 77.0 77.0 78.0 77.0 68.0 -23.0 56.0 57.0 54.7 50.0 58.0 55.0 70.0 -24.0 45.0 40.0 45.1 44.0 47.0 46.0 39.0 -19.0 50.0 54.0 47.6 47.0 49.0 48.0 53.0 -6.0 65.0 58.0 53.2 52.0 57.0 55.0 71.0 -17.0 60.0 68.0 58.6 58.0 62.0 59.0 54.0 -29.0 60.0 65.0 55.3 55.0 59.0 55.0 65.0 -1.0 48.0 47.0 48.8 46.0 49.0 49.0 51.0 -12.0 44.0 44.0 45.6 43.0 50.0 45.0 42.0 -30.0 64.0 64.0 67.1 64.0 70.0 66.0 69.0 -23.0 59.0 62.0 57.1 57.0 58.0 59.0 67.0 -30.0 68.0 66.0 65.7 64.0 67.0 65.0 74.0 -12.0 77.0 70.0 71.8 67.0 73.0 73.0 90.0 -2.0 59.0 57.0 54.2 54.0 58.0 55.0 70.0 -17.0 55.0 50.0 50.5 46.0 51.0 50.0 57.0 -3.0 58.0 55.0 51.8 49.0 54.0 50.0 71.0 -21.0 57.0 55.0 49.5 46.0 51.0 49.0 67.0 -27.0 42.0 42.0 45.2 41.0 50.0 47.0 47.0 -24.0 64.0 65.0 60.1 57.0 61.0 60.0 41.0 -20.0 64.0 63.0 65.6 63.0 70.0 64.0 73.0 -16.0 49.0 48.0 47.3 45.0 52.0 46.0 28.0 -7.0 40.0 42.0 46.3 44.0 51.0 46.0 62.0 -7.0 44.0 51.0 46.2 45.0 49.0 46.0 38.0 -24.0 67.0 64.0 68.0 65.0 71.0 66.0 64.0 -30.0 79.0 75.0 74.6 74.0 76.0 75.0 63.0 -11.0 50.0 52.0 46.7 42.0 48.0 48.0 39.0 -9.0 85.0 67.0 68.6 66.0 73.0 69.0 80.0 -22.0 67.0 68.0 68.7 65.0 70.0 69.0 56.0 -25.0 53.0 54.0 55.0 53.0 57.0 57.0 42.0 -24.0 62.0 62.0 56.8 52.0 61.0 57.0 70.0 -16.0 77.0 76.0 76.1 76.0 78.0 75.0 61.0 -1.0 74.0 73.0 73.1 71.0 75.0 72.0 93.0 -18.0 50.0 52.0 50.3 50.0 53.0 50.0 35.0 -3.0 75.0 70.0 73.9 71.0 75.0 73.0 68.0 -2.0 73.0 77.0 77.4 75.0 80.0 79.0 62.0 -5.0 69.0 60.0 56.6 52.0 58.0 56.0 72.0 -13.0 55.0 52.0 53.3 50.0 55.0 53.0 54.0 -28.0 81.0 79.0 75.0 71.0 77.0 76.0 85.0 -9.0 77.0 76.0 57.2 53.0 61.0 57.0 74.0 -26.0 66.0 66.0 66.5 64.0 70.0 65.0 85.0 -10.0 68.0 57.0 61.8 58.0 64.0 61.0 62.0 -10.0 76.0 66.0 57.4 57.0 60.0 57.0 60.0 -19.0 60.0 61.0 58.4 58.0 60.0 57.0 41.0 -12.0 56.0 55.0 53.1 52.0 58.0 53.0 65.0 -24.0 57.0 48.0 48.1 46.0 50.0 48.0 54.0 -7.0 53.0 49.0 49.2 46.0 51.0 48.0 63.0 -27.0 66.0 65.0 66.7 64.0 67.0 68.0 73.0 -5.0 74.0 60.0 62.5 58.0 66.0 62.0 56.0 -11.0 55.0 56.0 53.0 53.0 53.0 51.0 36.0 -22.0 62.0 59.0 57.4 56.0 59.0 58.0 44.0 -11.0 36.0 44.0 45.7 41.0 46.0 47.0 35.0 -8.0 77.0 82.0 63.2 62.0 65.0 63.0 83.0 -29.0 64.0 64.0 67.0 65.0 71.0 65.0 76.0 -13.0 44.0 43.0 45.5 41.0 47.0 46.0 46.0 -30.0 56.0 64.0 55.7 51.0 57.0 56.0 57.0 -8.0 61.0 63.0 52.7 49.0 57.0 52.0 49.0 -20.0 65.0 70.0 70.6 67.0 71.0 70.0 79.0 -9.0 63.0 71.0 52.4 48.0 56.0 52.0 42.0 -3.0 76.0 76.0 73.5 69.0 76.0 75.0 85.0 -9.0 64.0 68.0 62.1 58.0 65.0 63.0 55.0 -16.0 39.0 39.0 45.3 44.0 49.0 44.0 39.0 -16.0 79.0 71.0 70.7 70.0 74.0 71.0 52.0 -25.0 68.0 69.0 71.7 68.0 73.0 73.0 89.0 -13.0 70.0 74.0 71.5 71.0 75.0 70.0 82.0 -12.0 75.0 81.0 64.1 62.0 67.0 63.0 81.0 -8.0 49.0 51.0 49.3 49.0 52.0 50.0 34.0 -12.0 52.0 45.0 46.8 44.0 50.0 45.0 61.0 -13.0 80.0 87.0 76.8 73.0 79.0 78.0 73.0 -4.0 76.0 71.0 73.8 71.0 76.0 73.0 86.0 -25.0 65.0 55.0 60.3 56.0 64.0 61.0 77.0 -12.0 76.0 80.0 76.9 72.0 79.0 77.0 81.0 -21.0 71.0 67.0 69.0 65.0 70.0 70.0 76.0 -30.0 64.0 61.0 61.4 60.0 65.0 62.0 78.0 -5.0 49.0 46.0 46.6 43.0 50.0 45.0 65.0 -19.0 35.0 39.0 45.1 42.0 46.0 45.0 51.0 -23.0 68.0 67.0 68.3 67.0 69.0 67.0 61.0 -29.0 48.0 52.0 47.8 43.0 48.0 47.0 50.0 -16.0 60.0 67.0 69.8 68.0 72.0 71.0 87.0 -14.0 74.0 75.0 71.2 67.0 75.0 73.0 77.0 -6.0 68.0 68.0 73.3 73.0 76.0 75.0 79.0 -6.0 81.0 92.0 68.2 65.0 70.0 67.0 71.0 -8.0 68.0 67.0 72.8 69.0 77.0 73.0 56.0 -3.0 45.0 44.0 45.8 43.0 46.0 47.0 56.0 -28.0 60.0 61.0 61.0 56.0 65.0 62.0 73.0 -5.0 65.0 65.0 53.4 49.0 58.0 52.0 41.0 -7.0 68.0 68.0 73.0 72.0 78.0 71.0 70.0 -3.0 77.0 87.0 62.1 62.0 66.0 64.0 69.0 -31.0 65.0 117.0 54.8 51.0 59.0 56.0 62.0 -18.0 72.0 80.0 76.4 75.0 77.0 75.0 66.0 -15.0 55.0 57.0 51.0 47.0 54.0 51.0 46.0 -10.0 63.0 67.0 63.6 61.0 66.0 64.0 68.0 -18.0 53.0 58.0 54.0 51.0 57.0 54.0 56.0 -26.0 61.0 65.0 56.2 53.0 57.0 57.0 41.0 -30.0 56.0 52.0 48.6 45.0 51.0 48.0 47.0 -27.0 57.0 59.0 55.3 52.0 58.0 55.0 39.0 -3.0 57.0 57.0 53.9 53.0 54.0 54.0 35.0 -20.0 89.0 81.0 59.2 56.0 63.0 61.0 66.0 -24.0 71.0 75.0 77.1 76.0 78.0 78.0 75.0 -31.0 88.0 76.0 77.4 76.0 78.0 79.0 95.0 -16.0 65.0 57.0 64.8 61.0 65.0 65.0 53.0 -6.0 68.0 69.0 74.2 72.0 76.0 75.0 86.0 -27.0 76.0 77.0 66.8 66.0 67.0 68.0 64.0 -16.0 58.0 55.0 49.9 47.0 54.0 51.0 55.0 -4.0 50.0 49.0 46.8 45.0 47.0 47.0 53.0 -9.0 53.0 54.0 52.7 48.0 56.0 54.0 57.0 -14.0 59.0 55.0 51.2 49.0 53.0 53.0 42.0 -29.0 51.0 56.0 55.6 53.0 59.0 54.0 45.0 -8.0 76.0 68.0 74.6 72.0 79.0 75.0 77.0 -14.0 52.0 54.0 53.4 49.0 58.0 55.0 44.0 -11.0 65.0 67.0 69.0 69.0 72.0 71.0 87.0 -13.0 45.0 49.0 46.9 45.0 51.0 46.0 33.0 -5.0 49.0 49.0 49.1 47.0 50.0 49.0 45.0 -29.0 57.0 56.0 48.5 48.0 52.0 47.0 49.0 -22.0 76.0 73.0 71.0 66.0 71.0 72.0 78.0 -25.0 65.0 66.0 66.4 65.0 67.0 66.0 60.0 -28.0 77.0 69.0 66.5 66.0 68.0 66.0 62.0 -14.0 77.0 82.0 64.5 64.0 66.0 66.0 65.0 -14.0 87.0 90.0 76.7 75.0 78.0 78.0 65.0 -23.0 51.0 51.0 50.7 49.0 53.0 51.0 43.0 -8.0 68.0 77.0 57.1 57.0 61.0 57.0 41.0 -11.0 57.0 60.0 61.4 58.0 66.0 61.0 58.0 -30.0 79.0 74.0 72.8 71.0 76.0 72.0 87.0 -26.0 80.0 85.0 77.2 73.0 79.0 76.0 74.0 -6.0 60.0 68.0 62.8 61.0 64.0 61.0 64.0 -11.0 62.0 56.0 49.5 46.0 53.0 50.0 37.0 -2.0 73.0 71.0 56.2 55.0 58.0 58.0 45.0 -16.0 60.0 62.0 59.5 57.0 60.0 59.0 40.0 -28.0 79.0 83.0 77.3 76.0 80.0 78.0 76.0 -19.0 71.0 64.0 65.4 62.0 68.0 67.0 56.0 -27.0 54.0 56.0 48.4 45.0 51.0 49.0 54.0 -25.0 40.0 41.0 45.1 42.0 49.0 44.0 31.0 -24.0 66.0 65.0 66.2 66.0 71.0 66.0 67.0 -4.0 57.0 65.0 53.7 49.0 55.0 54.0 38.0 -5.0 41.0 40.0 46.0 46.0 46.0 46.0 41.0 -1.0 45.0 45.0 45.6 43.0 50.0 44.0 29.0 -26.0 52.0 52.0 48.4 48.0 50.0 47.0 58.0 -12.0 64.0 63.0 51.7 50.0 52.0 52.0 63.0 -30.0 52.0 52.0 47.6 47.0 52.0 49.0 44.0 -13.0 58.0 60.0 57.9 55.0 62.0 56.0 77.0 -23.0 84.0 81.0 75.7 73.0 78.0 77.0 89.0 -14.0 77.0 75.0 75.8 74.0 76.0 77.0 77.0 -13.0 63.0 59.0 51.4 48.0 56.0 50.0 64.0 -9.0 72.0 73.0 77.1 77.0 80.0 79.0 94.0 -4.0 73.0 75.0 77.3 73.0 79.0 78.0 66.0 -16.0 59.0 60.0 58.5 56.0 60.0 59.0 59.0 -23.0 73.0 75.0 71.3 68.0 72.0 71.0 56.0 -11.0 66.0 59.0 57.6 56.0 60.0 58.0 40.0 -6.0 49.0 53.0 49.1 47.0 53.0 49.0 56.0 -6.0 80.0 79.0 77.2 76.0 81.0 79.0 60.0 -5.0 59.0 57.0 52.1 49.0 53.0 51.0 46.0 -2.0 79.0 75.0 67.6 64.0 71.0 67.0 77.0 -20.0 69.0 71.0 69.4 67.0 73.0 69.0 81.0 -19.0 57.0 53.0 50.2 50.0 52.0 51.0 42.0 -2.0 47.0 46.0 48.8 48.0 50.0 50.0 56.0 -22.0 82.0 81.0 76.9 72.0 77.0 76.0 70.0 -24.0 54.0 49.0 48.9 47.0 53.0 48.0 29.0 -28.0 56.0 57.0 48.4 44.0 52.0 48.0 34.0 -18.0 60.0 60.0 58.8 54.0 60.0 57.0 53.0 -4.0 70.0 67.0 73.7 72.0 77.0 75.0 64.0 -4.0 65.0 61.0 64.1 62.0 69.0 65.0 60.0 -14.0 70.0 66.0 69.5 66.0 71.0 69.0 85.0 -11.0 65.0 64.0 51.9 50.0 53.0 52.0 55.0 -21.0 63.0 66.0 65.7 62.0 67.0 65.0 49.0 -6.0 57.0 64.0 52.2 52.0 53.0 51.0 49.0 -18.0 60.0 71.0 65.2 61.0 68.0 65.0 56.0 -11.0 67.0 75.0 63.8 62.0 68.0 63.0 60.0 -9.0 45.0 48.0 46.4 46.0 50.0 45.0 47.0 -8.0 60.0 53.0 52.5 48.0 56.0 51.0 70.0 -15.0 55.0 49.0 47.1 46.0 51.0 46.0 65.0 -8.0 86.0 85.0 68.5 67.0 70.0 69.0 81.0 -10.0 57.0 62.0 49.4 48.0 50.0 49.0 30.0 -3.0 46.0 50.0 47.0 42.0 52.0 47.0 58.0 -27.0 65.0 58.0 55.9 51.0 60.0 55.0 39.0 -7.0 79.0 72.0 77.2 74.0 78.0 77.0 95.0 -16.0 57.0 55.0 50.7 50.0 51.0 49.0 34.0 -10.0 72.0 74.0 72.3 70.0 77.0 74.0 91.0 -29.0 83.0 85.0 77.3 77.0 80.0 79.0 77.0 -3.0 77.0 73.0 77.3 77.0 81.0 77.0 93.0 -1.0 52.0 52.0 47.4 44.0 48.0 49.0 39.0 -25.0 64.0 67.0 67.6 64.0 72.0 67.0 62.0 -23.0 49.0 45.0 45.1 45.0 49.0 44.0 35.0 -2.0 52.0 46.0 47.2 46.0 51.0 49.0 41.0 -13.0 62.0 66.0 60.6 60.0 62.0 60.0 57.0 -23.0 81.0 71.0 77.0 75.0 81.0 76.0 86.0 -13.0 65.0 70.0 69.3 66.0 72.0 69.0 79.0 -15.0 55.0 58.0 49.9 46.0 52.0 49.0 53.0 -8.0 72.0 72.0 77.1 76.0 78.0 77.0 65.0 -12.0 74.0 74.0 75.4 74.0 77.0 77.0 71.0 -3.0 63.0 65.0 64.5 63.0 68.0 65.0 49.0 -18.0 68.0 77.0 58.8 55.0 59.0 57.0 39.0 -25.0 60.0 59.0 50.9 49.0 51.0 49.0 35.0 -2.0 44.0 45.0 45.7 41.0 50.0 44.0 61.0 -21.0 51.0 53.0 50.5 49.0 54.0 52.0 46.0 -24.0 57.0 53.0 54.9 54.0 56.0 56.0 72.0 -27.0 85.0 79.0 77.3 73.0 78.0 79.0 79.0 -4.0 51.0 49.0 49.0 44.0 54.0 51.0 44.0 -7.0 66.0 63.0 62.9 62.0 67.0 64.0 78.0 -4.0 63.0 69.0 56.5 54.0 59.0 56.0 45.0 -24.0 51.0 60.0 50.8 47.0 53.0 50.0 46.0 -8.0 63.0 64.0 62.5 60.0 65.0 61.0 73.0 -15.0 75.0 79.0 71.0 66.0 76.0 69.0 64.0 -14.0 49.0 55.0 47.0 43.0 47.0 46.0 58.0 -1.0 68.0 73.0 56.0 54.0 59.0 55.0 41.0 -17.0 62.0 60.0 59.1 57.0 63.0 59.0 62.0 -18.0 71.0 67.0 70.2 67.0 75.0 69.0 77.0 -26.0 41.0 42.0 45.2 45.0 48.0 46.0 58.0 -17.0 57.0 60.0 65.0 62.0 65.0 65.0 55.0 -20.0 55.0 57.0 49.8 47.0 54.0 48.0 30.0 -18.0 35.0 35.0 45.2 44.0 46.0 46.0 36.0 -17.0 71.0 75.0 70.3 66.0 73.0 70.0 84.0 -26.0 59.0 61.0 51.1 48.0 56.0 53.0 65.0 -22.0 53.0 51.0 50.6 46.0 51.0 50.0 59.0 -26.0 69.0 71.0 71.9 67.0 74.0 72.0 70.0 -11.0 71.0 74.0 75.3 74.0 79.0 75.0 71.0 -30.0 48.0 48.0 45.4 44.0 46.0 44.0 42.0 -9.0 68.0 74.0 74.9 70.0 79.0 76.0 60.0 -21.0 70.0 76.0 70.8 68.0 75.0 71.0 57.0 -2.0 54.0 58.0 51.6 47.0 54.0 52.0 37.0 -20.0 53.0 51.0 50.4 48.0 55.0 51.0 43.0 -9.0 67.0 72.0 72.6 68.0 77.0 71.0 78.0 -26.0 67.0 76.0 67.2 64.0 69.0 69.0 74.0 -22.0 52.0 52.0 47.9 47.0 48.0 48.0 60.0 -27.0 52.0 53.0 48.2 48.0 49.0 49.0 53.0 -12.0 67.0 65.0 69.1 65.0 73.0 70.0 83.0 -20.0 61.0 58.0 58.1 58.0 59.0 58.0 43.0 -13.0 74.0 77.0 75.6 74.0 78.0 76.0 56.0 -7.0 58.0 61.0 52.9 51.0 56.0 51.0 35.0 -1.0 66.0 67.0 65.3 64.0 70.0 64.0 54.0 -22.0 55.0 54.0 49.3 46.0 54.0 49.0 58.0 -1.0 71.0 79.0 67.4 65.0 69.0 66.0 58.0 -13.0 81.0 77.0 64.3 63.0 67.0 66.0 67.0 -3.0 75.0 71.0 67.7 64.0 71.0 66.0 55.0 -12.0 59.0 58.0 57.7 54.0 59.0 57.0 61.0 -31.0 64.0 68.0 55.9 55.0 59.0 56.0 56.0 -14.0 43.0 40.0 45.4 45.0 48.0 45.0 49.0 -5.0 75.0 80.0 77.3 75.0 81.0 78.0 71.0 -4.0 87.0 74.0 62.3 59.0 65.0 64.0 61.0 -31.0 48.0 57.0 45.5 42.0 48.0 47.0 57.0 -21.0 48.0 52.0 47.8 43.0 51.0 46.0 57.0 -10.0 74.0 71.0 75.1 71.0 77.0 76.0 95.0 -15.0 54.0 49.0 53.6 49.0 58.0 52.0 70.0 -19.0 77.0 89.0 59.0 59.0 63.0 59.0 61.0 -14.0 66.0 60.0 60.2 56.0 64.0 60.0 78.0 -15.0 59.0 59.0 58.3 58.0 61.0 60.0 40.0 +0 1 +143.762620712 -0.330941870584 +-88.5787166225 1.08055532812 +-82.8452345578 0.272541389247 +72.4951388149 -0.26868660527800003 +11.805182128 1.0360467096600001 +-63.9354970901 -0.101485840571 +126.32584079600001 -0.35999834017899995 +23.0341392692 0.5185404651359999 +67.6714937696 -0.115688051547 +47.39275848810001 -0.7850965413680001
--- a/test-data/feature_selection_result09 Fri Jul 13 03:56:45 2018 -0400 +++ b/test-data/feature_selection_result09 Sat Aug 04 12:35:35 2018 -0400 @@ -1,262 +1,11 @@ -month day temp_2 temp_1 average forecast_noaa forecast_acc forecast_under friend week_Fri week_Mon week_Sat week_Sun week_Tues -9.0 19.0 68.0 69.0 69.7 65.0 74.0 71.0 88.0 0.0 1.0 0.0 0.0 0.0 -4.0 14.0 60.0 59.0 58.1 57.0 63.0 58.0 66.0 0.0 0.0 0.0 0.0 0.0 -7.0 30.0 85.0 88.0 77.3 75.0 79.0 77.0 70.0 0.0 0.0 1.0 0.0 0.0 -5.0 15.0 82.0 65.0 64.7 63.0 69.0 64.0 58.0 0.0 0.0 0.0 1.0 0.0 -1.0 18.0 54.0 50.0 47.5 44.0 48.0 49.0 58.0 0.0 1.0 0.0 0.0 0.0 -1.0 25.0 48.0 51.0 48.2 45.0 51.0 49.0 63.0 0.0 1.0 0.0 0.0 0.0 -11.0 25.0 49.0 52.0 48.6 45.0 52.0 47.0 41.0 1.0 0.0 0.0 0.0 0.0 -7.0 20.0 73.0 78.0 76.7 75.0 78.0 77.0 66.0 0.0 0.0 0.0 0.0 0.0 -12.0 17.0 39.0 35.0 45.2 43.0 47.0 46.0 38.0 0.0 0.0 1.0 0.0 0.0 -12.0 8.0 42.0 40.0 46.1 45.0 51.0 47.0 36.0 0.0 0.0 0.0 0.0 0.0 -12.0 28.0 42.0 47.0 45.3 41.0 49.0 44.0 58.0 0.0 0.0 0.0 0.0 0.0 -7.0 17.0 76.0 72.0 76.3 76.0 78.0 77.0 88.0 0.0 0.0 0.0 1.0 0.0 -7.0 7.0 69.0 76.0 74.4 73.0 77.0 74.0 72.0 0.0 0.0 0.0 0.0 0.0 -12.0 15.0 40.0 39.0 45.3 45.0 49.0 47.0 46.0 0.0 0.0 0.0 0.0 0.0 -6.0 27.0 71.0 78.0 72.2 70.0 74.0 72.0 84.0 0.0 1.0 0.0 0.0 0.0 -5.0 31.0 64.0 71.0 67.3 63.0 72.0 68.0 85.0 0.0 0.0 0.0 0.0 1.0 -1.0 20.0 54.0 48.0 47.7 44.0 52.0 49.0 61.0 0.0 0.0 0.0 0.0 0.0 -8.0 10.0 73.0 72.0 77.0 77.0 78.0 77.0 68.0 0.0 0.0 0.0 0.0 0.0 -3.0 23.0 56.0 57.0 54.7 50.0 58.0 55.0 70.0 0.0 0.0 0.0 0.0 0.0 -12.0 24.0 45.0 40.0 45.1 44.0 47.0 46.0 39.0 0.0 0.0 1.0 0.0 0.0 -1.0 19.0 50.0 54.0 47.6 47.0 49.0 48.0 53.0 0.0 0.0 0.0 0.0 1.0 -11.0 6.0 65.0 58.0 53.2 52.0 57.0 55.0 71.0 0.0 0.0 0.0 1.0 0.0 -4.0 17.0 60.0 68.0 58.6 58.0 62.0 59.0 54.0 0.0 0.0 0.0 1.0 0.0 -10.0 29.0 60.0 65.0 55.3 55.0 59.0 55.0 65.0 0.0 0.0 1.0 0.0 0.0 -2.0 1.0 48.0 47.0 48.8 46.0 49.0 49.0 51.0 0.0 1.0 0.0 0.0 0.0 -12.0 12.0 44.0 44.0 45.6 43.0 50.0 45.0 42.0 0.0 1.0 0.0 0.0 0.0 -5.0 30.0 64.0 64.0 67.1 64.0 70.0 66.0 69.0 0.0 1.0 0.0 0.0 0.0 -10.0 23.0 59.0 62.0 57.1 57.0 58.0 59.0 67.0 0.0 0.0 0.0 1.0 0.0 -9.0 30.0 68.0 66.0 65.7 64.0 67.0 65.0 74.0 1.0 0.0 0.0 0.0 0.0 -9.0 12.0 77.0 70.0 71.8 67.0 73.0 73.0 90.0 0.0 1.0 0.0 0.0 0.0 -11.0 2.0 59.0 57.0 54.2 54.0 58.0 55.0 70.0 0.0 0.0 0.0 0.0 0.0 -11.0 17.0 55.0 50.0 50.5 46.0 51.0 50.0 57.0 0.0 0.0 0.0 0.0 0.0 -3.0 3.0 58.0 55.0 51.8 49.0 54.0 50.0 71.0 0.0 0.0 0.0 0.0 0.0 -11.0 21.0 57.0 55.0 49.5 46.0 51.0 49.0 67.0 0.0 1.0 0.0 0.0 0.0 -12.0 27.0 42.0 42.0 45.2 41.0 50.0 47.0 47.0 0.0 0.0 0.0 0.0 1.0 -4.0 24.0 64.0 65.0 60.1 57.0 61.0 60.0 41.0 0.0 0.0 0.0 1.0 0.0 -5.0 20.0 64.0 63.0 65.6 63.0 70.0 64.0 73.0 1.0 0.0 0.0 0.0 0.0 -1.0 16.0 49.0 48.0 47.3 45.0 52.0 46.0 28.0 0.0 0.0 1.0 0.0 0.0 -12.0 7.0 40.0 42.0 46.3 44.0 51.0 46.0 62.0 0.0 0.0 0.0 0.0 0.0 -1.0 7.0 44.0 51.0 46.2 45.0 49.0 46.0 38.0 0.0 0.0 0.0 0.0 0.0 -9.0 24.0 67.0 64.0 68.0 65.0 71.0 66.0 64.0 0.0 0.0 1.0 0.0 0.0 -8.0 30.0 79.0 75.0 74.6 74.0 76.0 75.0 63.0 0.0 0.0 0.0 0.0 1.0 -1.0 11.0 50.0 52.0 46.7 42.0 48.0 48.0 39.0 0.0 1.0 0.0 0.0 0.0 -6.0 9.0 85.0 67.0 68.6 66.0 73.0 69.0 80.0 0.0 0.0 0.0 0.0 0.0 -9.0 22.0 67.0 68.0 68.7 65.0 70.0 69.0 56.0 0.0 0.0 0.0 0.0 0.0 -3.0 25.0 53.0 54.0 55.0 53.0 57.0 57.0 42.0 1.0 0.0 0.0 0.0 0.0 -10.0 24.0 62.0 62.0 56.8 52.0 61.0 57.0 70.0 0.0 1.0 0.0 0.0 0.0 -7.0 16.0 77.0 76.0 76.1 76.0 78.0 75.0 61.0 0.0 0.0 1.0 0.0 0.0 -7.0 1.0 74.0 73.0 73.1 71.0 75.0 72.0 93.0 1.0 0.0 0.0 0.0 0.0 -11.0 18.0 50.0 52.0 50.3 50.0 53.0 50.0 35.0 1.0 0.0 0.0 0.0 0.0 -9.0 3.0 75.0 70.0 73.9 71.0 75.0 73.0 68.0 0.0 0.0 1.0 0.0 0.0 -8.0 2.0 73.0 77.0 77.4 75.0 80.0 79.0 62.0 0.0 0.0 0.0 0.0 1.0 -4.0 5.0 69.0 60.0 56.6 52.0 58.0 56.0 72.0 0.0 0.0 0.0 0.0 1.0 -3.0 13.0 55.0 52.0 53.3 50.0 55.0 53.0 54.0 0.0 0.0 0.0 1.0 0.0 -8.0 28.0 81.0 79.0 75.0 71.0 77.0 76.0 85.0 0.0 0.0 0.0 1.0 0.0 -4.0 9.0 77.0 76.0 57.2 53.0 61.0 57.0 74.0 0.0 0.0 1.0 0.0 0.0 -5.0 26.0 66.0 66.0 66.5 64.0 70.0 65.0 85.0 0.0 0.0 0.0 0.0 0.0 -10.0 10.0 68.0 57.0 61.8 58.0 64.0 61.0 62.0 0.0 1.0 0.0 0.0 0.0 -4.0 10.0 76.0 66.0 57.4 57.0 60.0 57.0 60.0 0.0 0.0 0.0 1.0 0.0 -10.0 19.0 60.0 61.0 58.4 58.0 60.0 57.0 41.0 0.0 0.0 0.0 0.0 0.0 -3.0 12.0 56.0 55.0 53.1 52.0 58.0 53.0 65.0 0.0 0.0 1.0 0.0 0.0 -1.0 24.0 57.0 48.0 48.1 46.0 50.0 48.0 54.0 0.0 0.0 0.0 1.0 0.0 -2.0 7.0 53.0 49.0 49.2 46.0 51.0 48.0 63.0 0.0 0.0 0.0 1.0 0.0 -5.0 27.0 66.0 65.0 66.7 64.0 67.0 68.0 73.0 1.0 0.0 0.0 0.0 0.0 -5.0 5.0 74.0 60.0 62.5 58.0 66.0 62.0 56.0 0.0 0.0 0.0 0.0 0.0 -3.0 11.0 55.0 56.0 53.0 53.0 53.0 51.0 36.0 1.0 0.0 0.0 0.0 0.0 -10.0 22.0 62.0 59.0 57.4 56.0 59.0 58.0 44.0 0.0 0.0 1.0 0.0 0.0 -12.0 11.0 36.0 44.0 45.7 41.0 46.0 47.0 35.0 0.0 0.0 0.0 1.0 0.0 -5.0 8.0 77.0 82.0 63.2 62.0 65.0 63.0 83.0 0.0 0.0 0.0 1.0 0.0 -5.0 29.0 64.0 64.0 67.0 65.0 71.0 65.0 76.0 0.0 0.0 0.0 1.0 0.0 -12.0 13.0 44.0 43.0 45.5 41.0 47.0 46.0 46.0 0.0 0.0 0.0 0.0 1.0 -3.0 30.0 56.0 64.0 55.7 51.0 57.0 56.0 57.0 0.0 0.0 0.0 0.0 0.0 -11.0 8.0 61.0 63.0 52.7 49.0 57.0 52.0 49.0 0.0 0.0 0.0 0.0 1.0 -6.0 20.0 65.0 70.0 70.6 67.0 71.0 70.0 79.0 0.0 1.0 0.0 0.0 0.0 -11.0 9.0 63.0 71.0 52.4 48.0 56.0 52.0 42.0 0.0 0.0 0.0 0.0 0.0 -7.0 3.0 76.0 76.0 73.5 69.0 76.0 75.0 85.0 0.0 0.0 0.0 1.0 0.0 -10.0 9.0 64.0 68.0 62.1 58.0 65.0 63.0 55.0 0.0 0.0 0.0 1.0 0.0 -12.0 16.0 39.0 39.0 45.3 44.0 49.0 44.0 39.0 1.0 0.0 0.0 0.0 0.0 -9.0 16.0 79.0 71.0 70.7 70.0 74.0 71.0 52.0 1.0 0.0 0.0 0.0 0.0 -6.0 25.0 68.0 69.0 71.7 68.0 73.0 73.0 89.0 0.0 0.0 1.0 0.0 0.0 -9.0 13.0 70.0 74.0 71.5 71.0 75.0 70.0 82.0 0.0 0.0 0.0 0.0 1.0 -5.0 12.0 75.0 81.0 64.1 62.0 67.0 63.0 81.0 0.0 0.0 0.0 0.0 0.0 -2.0 8.0 49.0 51.0 49.3 49.0 52.0 50.0 34.0 0.0 1.0 0.0 0.0 0.0 -1.0 12.0 52.0 45.0 46.8 44.0 50.0 45.0 61.0 0.0 0.0 0.0 0.0 1.0 -8.0 13.0 80.0 87.0 76.8 73.0 79.0 78.0 73.0 0.0 0.0 1.0 0.0 0.0 -7.0 4.0 76.0 71.0 73.8 71.0 76.0 73.0 86.0 0.0 1.0 0.0 0.0 0.0 -4.0 25.0 65.0 55.0 60.3 56.0 64.0 61.0 77.0 0.0 1.0 0.0 0.0 0.0 -8.0 12.0 76.0 80.0 76.9 72.0 79.0 77.0 81.0 1.0 0.0 0.0 0.0 0.0 -9.0 21.0 71.0 67.0 69.0 65.0 70.0 70.0 76.0 0.0 0.0 0.0 0.0 0.0 -4.0 30.0 64.0 61.0 61.4 60.0 65.0 62.0 78.0 0.0 0.0 1.0 0.0 0.0 -12.0 5.0 49.0 46.0 46.6 43.0 50.0 45.0 65.0 0.0 1.0 0.0 0.0 0.0 -12.0 19.0 35.0 39.0 45.1 42.0 46.0 45.0 51.0 0.0 1.0 0.0 0.0 0.0 -9.0 23.0 68.0 67.0 68.3 67.0 69.0 67.0 61.0 1.0 0.0 0.0 0.0 0.0 -11.0 29.0 48.0 52.0 47.8 43.0 48.0 47.0 50.0 0.0 0.0 0.0 0.0 1.0 -6.0 16.0 60.0 67.0 69.8 68.0 72.0 71.0 87.0 0.0 0.0 0.0 0.0 0.0 -9.0 14.0 74.0 75.0 71.2 67.0 75.0 73.0 77.0 0.0 0.0 0.0 0.0 0.0 -9.0 6.0 68.0 68.0 73.3 73.0 76.0 75.0 79.0 0.0 0.0 0.0 0.0 1.0 -6.0 6.0 81.0 92.0 68.2 65.0 70.0 67.0 71.0 0.0 1.0 0.0 0.0 0.0 -9.0 8.0 68.0 67.0 72.8 69.0 77.0 73.0 56.0 0.0 0.0 0.0 0.0 0.0 -1.0 3.0 45.0 44.0 45.8 43.0 46.0 47.0 56.0 0.0 0.0 0.0 1.0 0.0 -4.0 28.0 60.0 61.0 61.0 56.0 65.0 62.0 73.0 0.0 0.0 0.0 0.0 0.0 -11.0 5.0 65.0 65.0 53.4 49.0 58.0 52.0 41.0 0.0 0.0 1.0 0.0 0.0 -9.0 7.0 68.0 68.0 73.0 72.0 78.0 71.0 70.0 0.0 0.0 0.0 0.0 0.0 -5.0 3.0 77.0 87.0 62.1 62.0 66.0 64.0 69.0 0.0 0.0 0.0 0.0 1.0 -10.0 31.0 65.0 117.0 54.8 51.0 59.0 56.0 62.0 0.0 1.0 0.0 0.0 0.0 -7.0 18.0 72.0 80.0 76.4 75.0 77.0 75.0 66.0 0.0 1.0 0.0 0.0 0.0 -11.0 15.0 55.0 57.0 51.0 47.0 54.0 51.0 46.0 0.0 0.0 0.0 0.0 1.0 -5.0 10.0 63.0 67.0 63.6 61.0 66.0 64.0 68.0 0.0 0.0 0.0 0.0 1.0 -3.0 18.0 53.0 58.0 54.0 51.0 57.0 54.0 56.0 1.0 0.0 0.0 0.0 0.0 -10.0 26.0 61.0 65.0 56.2 53.0 57.0 57.0 41.0 0.0 0.0 0.0 0.0 0.0 -1.0 30.0 56.0 52.0 48.6 45.0 51.0 48.0 47.0 0.0 0.0 1.0 0.0 0.0 -3.0 27.0 57.0 59.0 55.3 52.0 58.0 55.0 39.0 0.0 0.0 0.0 1.0 0.0 -11.0 3.0 57.0 57.0 53.9 53.0 54.0 54.0 35.0 0.0 0.0 0.0 0.0 0.0 -4.0 20.0 89.0 81.0 59.2 56.0 63.0 61.0 66.0 0.0 0.0 0.0 0.0 0.0 -7.0 24.0 71.0 75.0 77.1 76.0 78.0 78.0 75.0 0.0 0.0 0.0 1.0 0.0 -7.0 31.0 88.0 76.0 77.4 76.0 78.0 79.0 95.0 0.0 0.0 0.0 1.0 0.0 -5.0 16.0 65.0 57.0 64.8 61.0 65.0 65.0 53.0 0.0 1.0 0.0 0.0 0.0 -7.0 6.0 68.0 69.0 74.2 72.0 76.0 75.0 86.0 0.0 0.0 0.0 0.0 0.0 -9.0 27.0 76.0 77.0 66.8 66.0 67.0 68.0 64.0 0.0 0.0 0.0 0.0 1.0 -2.0 16.0 58.0 55.0 49.9 47.0 54.0 51.0 55.0 0.0 0.0 0.0 0.0 1.0 -12.0 4.0 50.0 49.0 46.8 45.0 47.0 47.0 53.0 0.0 0.0 0.0 1.0 0.0 -3.0 9.0 53.0 54.0 52.7 48.0 56.0 54.0 57.0 0.0 0.0 0.0 0.0 0.0 -11.0 14.0 59.0 55.0 51.2 49.0 53.0 53.0 42.0 0.0 1.0 0.0 0.0 0.0 -3.0 29.0 51.0 56.0 55.6 53.0 59.0 54.0 45.0 0.0 0.0 0.0 0.0 1.0 -7.0 8.0 76.0 68.0 74.6 72.0 79.0 75.0 77.0 1.0 0.0 0.0 0.0 0.0 -3.0 14.0 52.0 54.0 53.4 49.0 58.0 55.0 44.0 0.0 1.0 0.0 0.0 0.0 -6.0 11.0 65.0 67.0 69.0 69.0 72.0 71.0 87.0 0.0 0.0 1.0 0.0 0.0 -1.0 13.0 45.0 49.0 46.9 45.0 51.0 46.0 33.0 0.0 0.0 0.0 0.0 0.0 -2.0 5.0 49.0 49.0 49.1 47.0 50.0 49.0 45.0 1.0 0.0 0.0 0.0 0.0 -1.0 29.0 57.0 56.0 48.5 48.0 52.0 47.0 49.0 1.0 0.0 0.0 0.0 0.0 -6.0 22.0 76.0 73.0 71.0 66.0 71.0 72.0 78.0 0.0 0.0 0.0 0.0 0.0 -5.0 25.0 65.0 66.0 66.4 65.0 67.0 66.0 60.0 0.0 0.0 0.0 0.0 0.0 -9.0 28.0 77.0 69.0 66.5 66.0 68.0 66.0 62.0 0.0 0.0 0.0 0.0 0.0 -5.0 14.0 77.0 82.0 64.5 64.0 66.0 66.0 65.0 0.0 0.0 1.0 0.0 0.0 -8.0 14.0 87.0 90.0 76.7 75.0 78.0 78.0 65.0 0.0 0.0 0.0 1.0 0.0 -2.0 23.0 51.0 51.0 50.7 49.0 53.0 51.0 43.0 0.0 0.0 0.0 0.0 1.0 -4.0 8.0 68.0 77.0 57.1 57.0 61.0 57.0 41.0 1.0 0.0 0.0 0.0 0.0 -10.0 11.0 57.0 60.0 61.4 58.0 66.0 61.0 58.0 0.0 0.0 0.0 0.0 1.0 -6.0 30.0 79.0 74.0 72.8 71.0 76.0 72.0 87.0 0.0 0.0 0.0 0.0 0.0 -7.0 26.0 80.0 85.0 77.2 73.0 79.0 76.0 74.0 0.0 0.0 0.0 0.0 1.0 -5.0 6.0 60.0 68.0 62.8 61.0 64.0 61.0 64.0 1.0 0.0 0.0 0.0 0.0 -2.0 11.0 62.0 56.0 49.5 46.0 53.0 50.0 37.0 0.0 0.0 0.0 0.0 0.0 -4.0 2.0 73.0 71.0 56.2 55.0 58.0 58.0 45.0 0.0 0.0 1.0 0.0 0.0 -10.0 16.0 60.0 62.0 59.5 57.0 60.0 59.0 40.0 0.0 0.0 0.0 1.0 0.0 -7.0 28.0 79.0 83.0 77.3 76.0 80.0 78.0 76.0 0.0 0.0 0.0 0.0 0.0 -5.0 19.0 71.0 64.0 65.4 62.0 68.0 67.0 56.0 0.0 0.0 0.0 0.0 0.0 -1.0 27.0 54.0 56.0 48.4 45.0 51.0 49.0 54.0 0.0 0.0 0.0 0.0 0.0 -12.0 25.0 40.0 41.0 45.1 42.0 49.0 44.0 31.0 0.0 0.0 0.0 1.0 0.0 -5.0 24.0 66.0 65.0 66.2 66.0 71.0 66.0 67.0 0.0 0.0 0.0 0.0 1.0 -11.0 4.0 57.0 65.0 53.7 49.0 55.0 54.0 38.0 1.0 0.0 0.0 0.0 0.0 -1.0 5.0 41.0 40.0 46.0 46.0 46.0 46.0 41.0 0.0 0.0 0.0 0.0 1.0 -1.0 1.0 45.0 45.0 45.6 43.0 50.0 44.0 29.0 1.0 0.0 0.0 0.0 0.0 -11.0 26.0 52.0 52.0 48.4 48.0 50.0 47.0 58.0 0.0 0.0 1.0 0.0 0.0 -11.0 12.0 64.0 63.0 51.7 50.0 52.0 52.0 63.0 0.0 0.0 1.0 0.0 0.0 -11.0 30.0 52.0 52.0 47.6 47.0 52.0 49.0 44.0 0.0 0.0 0.0 0.0 0.0 -4.0 13.0 58.0 60.0 57.9 55.0 62.0 56.0 77.0 0.0 0.0 0.0 0.0 0.0 -8.0 23.0 84.0 81.0 75.7 73.0 78.0 77.0 89.0 0.0 0.0 0.0 0.0 1.0 -7.0 14.0 77.0 75.0 75.8 74.0 76.0 77.0 77.0 0.0 0.0 0.0 0.0 0.0 -11.0 13.0 63.0 59.0 51.4 48.0 56.0 50.0 64.0 0.0 0.0 0.0 1.0 0.0 -8.0 9.0 72.0 73.0 77.1 77.0 80.0 79.0 94.0 0.0 0.0 0.0 0.0 1.0 -8.0 4.0 73.0 75.0 77.3 73.0 79.0 78.0 66.0 0.0 0.0 0.0 0.0 0.0 -4.0 16.0 59.0 60.0 58.5 56.0 60.0 59.0 59.0 0.0 0.0 1.0 0.0 0.0 -6.0 23.0 73.0 75.0 71.3 68.0 72.0 71.0 56.0 0.0 0.0 0.0 0.0 0.0 -4.0 11.0 66.0 59.0 57.6 56.0 60.0 58.0 40.0 0.0 1.0 0.0 0.0 0.0 -2.0 6.0 49.0 53.0 49.1 47.0 53.0 49.0 56.0 0.0 0.0 1.0 0.0 0.0 -8.0 6.0 80.0 79.0 77.2 76.0 81.0 79.0 60.0 0.0 0.0 1.0 0.0 0.0 -3.0 5.0 59.0 57.0 52.1 49.0 53.0 51.0 46.0 0.0 0.0 1.0 0.0 0.0 -6.0 2.0 79.0 75.0 67.6 64.0 71.0 67.0 77.0 0.0 0.0 0.0 0.0 0.0 -9.0 20.0 69.0 71.0 69.4 67.0 73.0 69.0 81.0 0.0 0.0 0.0 0.0 1.0 -2.0 19.0 57.0 53.0 50.2 50.0 52.0 51.0 42.0 1.0 0.0 0.0 0.0 0.0 -2.0 2.0 47.0 46.0 48.8 48.0 50.0 50.0 56.0 0.0 0.0 0.0 0.0 1.0 -7.0 22.0 82.0 81.0 76.9 72.0 77.0 76.0 70.0 1.0 0.0 0.0 0.0 0.0 -11.0 24.0 54.0 49.0 48.9 47.0 53.0 48.0 29.0 0.0 0.0 0.0 0.0 0.0 -1.0 28.0 56.0 57.0 48.4 44.0 52.0 48.0 34.0 0.0 0.0 0.0 0.0 0.0 -10.0 18.0 60.0 60.0 58.8 54.0 60.0 57.0 53.0 0.0 0.0 0.0 0.0 1.0 -9.0 4.0 70.0 67.0 73.7 72.0 77.0 75.0 64.0 0.0 0.0 0.0 1.0 0.0 -10.0 4.0 65.0 61.0 64.1 62.0 69.0 65.0 60.0 0.0 0.0 0.0 0.0 1.0 -6.0 14.0 70.0 66.0 69.5 66.0 71.0 69.0 85.0 0.0 0.0 0.0 0.0 1.0 -11.0 11.0 65.0 64.0 51.9 50.0 53.0 52.0 55.0 1.0 0.0 0.0 0.0 0.0 -5.0 21.0 63.0 66.0 65.7 62.0 67.0 65.0 49.0 0.0 0.0 1.0 0.0 0.0 -3.0 6.0 57.0 64.0 52.2 52.0 53.0 51.0 49.0 0.0 0.0 0.0 1.0 0.0 -5.0 18.0 60.0 71.0 65.2 61.0 68.0 65.0 56.0 0.0 0.0 0.0 0.0 0.0 -5.0 11.0 67.0 75.0 63.8 62.0 68.0 63.0 60.0 0.0 0.0 0.0 0.0 0.0 -1.0 9.0 45.0 48.0 46.4 46.0 50.0 45.0 47.0 0.0 0.0 1.0 0.0 0.0 -3.0 8.0 60.0 53.0 52.5 48.0 56.0 51.0 70.0 0.0 0.0 0.0 0.0 1.0 -1.0 15.0 55.0 49.0 47.1 46.0 51.0 46.0 65.0 1.0 0.0 0.0 0.0 0.0 -6.0 8.0 86.0 85.0 68.5 67.0 70.0 69.0 81.0 0.0 0.0 0.0 0.0 0.0 -2.0 10.0 57.0 62.0 49.4 48.0 50.0 49.0 30.0 0.0 0.0 0.0 0.0 0.0 -12.0 3.0 46.0 50.0 47.0 42.0 52.0 47.0 58.0 0.0 0.0 1.0 0.0 0.0 -10.0 27.0 65.0 58.0 55.9 51.0 60.0 55.0 39.0 0.0 0.0 0.0 0.0 0.0 -8.0 7.0 79.0 72.0 77.2 74.0 78.0 77.0 95.0 0.0 0.0 0.0 1.0 0.0 -11.0 16.0 57.0 55.0 50.7 50.0 51.0 49.0 34.0 0.0 0.0 0.0 0.0 0.0 -9.0 10.0 72.0 74.0 72.3 70.0 77.0 74.0 91.0 0.0 0.0 1.0 0.0 0.0 -7.0 29.0 83.0 85.0 77.3 77.0 80.0 79.0 77.0 1.0 0.0 0.0 0.0 0.0 -8.0 3.0 77.0 73.0 77.3 77.0 81.0 77.0 93.0 0.0 0.0 0.0 0.0 0.0 -12.0 1.0 52.0 52.0 47.4 44.0 48.0 49.0 39.0 0.0 0.0 0.0 0.0 0.0 -9.0 25.0 64.0 67.0 67.6 64.0 72.0 67.0 62.0 0.0 0.0 0.0 1.0 0.0 -12.0 23.0 49.0 45.0 45.1 45.0 49.0 44.0 35.0 1.0 0.0 0.0 0.0 0.0 -12.0 2.0 52.0 46.0 47.2 46.0 51.0 49.0 41.0 1.0 0.0 0.0 0.0 0.0 -10.0 13.0 62.0 66.0 60.6 60.0 62.0 60.0 57.0 0.0 0.0 0.0 0.0 0.0 -7.0 23.0 81.0 71.0 77.0 75.0 81.0 76.0 86.0 0.0 0.0 1.0 0.0 0.0 -6.0 13.0 65.0 70.0 69.3 66.0 72.0 69.0 79.0 0.0 1.0 0.0 0.0 0.0 -2.0 15.0 55.0 58.0 49.9 46.0 52.0 49.0 53.0 0.0 1.0 0.0 0.0 0.0 -8.0 8.0 72.0 72.0 77.1 76.0 78.0 77.0 65.0 0.0 1.0 0.0 0.0 0.0 -7.0 12.0 74.0 74.0 75.4 74.0 77.0 77.0 71.0 0.0 0.0 0.0 0.0 1.0 -10.0 3.0 63.0 65.0 64.5 63.0 68.0 65.0 49.0 0.0 1.0 0.0 0.0 0.0 -4.0 18.0 68.0 77.0 58.8 55.0 59.0 57.0 39.0 0.0 1.0 0.0 0.0 0.0 -2.0 25.0 60.0 59.0 50.9 49.0 51.0 49.0 35.0 0.0 0.0 0.0 0.0 0.0 -1.0 2.0 44.0 45.0 45.7 41.0 50.0 44.0 61.0 0.0 0.0 1.0 0.0 0.0 -2.0 21.0 51.0 53.0 50.5 49.0 54.0 52.0 46.0 0.0 0.0 0.0 1.0 0.0 -3.0 24.0 57.0 53.0 54.9 54.0 56.0 56.0 72.0 0.0 0.0 0.0 0.0 0.0 -7.0 27.0 85.0 79.0 77.3 73.0 78.0 79.0 79.0 0.0 0.0 0.0 0.0 0.0 -2.0 4.0 51.0 49.0 49.0 44.0 54.0 51.0 44.0 0.0 0.0 0.0 0.0 0.0 -10.0 7.0 66.0 63.0 62.9 62.0 67.0 64.0 78.0 1.0 0.0 0.0 0.0 0.0 -4.0 4.0 63.0 69.0 56.5 54.0 59.0 56.0 45.0 0.0 1.0 0.0 0.0 0.0 -2.0 24.0 51.0 60.0 50.8 47.0 53.0 50.0 46.0 0.0 0.0 0.0 0.0 0.0 -10.0 8.0 63.0 64.0 62.5 60.0 65.0 61.0 73.0 0.0 0.0 1.0 0.0 0.0 -9.0 15.0 75.0 79.0 71.0 66.0 76.0 69.0 64.0 0.0 0.0 0.0 0.0 0.0 -1.0 14.0 49.0 55.0 47.0 43.0 47.0 46.0 58.0 0.0 0.0 0.0 0.0 0.0 -4.0 1.0 68.0 73.0 56.0 54.0 59.0 55.0 41.0 1.0 0.0 0.0 0.0 0.0 -10.0 17.0 62.0 60.0 59.1 57.0 63.0 59.0 62.0 0.0 1.0 0.0 0.0 0.0 -6.0 18.0 71.0 67.0 70.2 67.0 75.0 69.0 77.0 0.0 0.0 1.0 0.0 0.0 -12.0 26.0 41.0 42.0 45.2 45.0 48.0 46.0 58.0 0.0 1.0 0.0 0.0 0.0 -5.0 17.0 57.0 60.0 65.0 62.0 65.0 65.0 55.0 0.0 0.0 0.0 0.0 1.0 -11.0 20.0 55.0 57.0 49.8 47.0 54.0 48.0 30.0 0.0 0.0 0.0 1.0 0.0 -12.0 18.0 35.0 35.0 45.2 44.0 46.0 46.0 36.0 0.0 0.0 0.0 1.0 0.0 -9.0 17.0 71.0 75.0 70.3 66.0 73.0 70.0 84.0 0.0 0.0 1.0 0.0 0.0 -2.0 26.0 59.0 61.0 51.1 48.0 56.0 53.0 65.0 1.0 0.0 0.0 0.0 0.0 -2.0 22.0 53.0 51.0 50.6 46.0 51.0 50.0 59.0 0.0 1.0 0.0 0.0 0.0 -6.0 26.0 69.0 71.0 71.9 67.0 74.0 72.0 70.0 0.0 0.0 0.0 1.0 0.0 -7.0 11.0 71.0 74.0 75.3 74.0 79.0 75.0 71.0 0.0 1.0 0.0 0.0 0.0 -12.0 30.0 48.0 48.0 45.4 44.0 46.0 44.0 42.0 1.0 0.0 0.0 0.0 0.0 -7.0 9.0 68.0 74.0 74.9 70.0 79.0 76.0 60.0 0.0 0.0 1.0 0.0 0.0 -6.0 21.0 70.0 76.0 70.8 68.0 75.0 71.0 57.0 0.0 0.0 0.0 0.0 1.0 -3.0 2.0 54.0 58.0 51.6 47.0 54.0 52.0 37.0 0.0 0.0 0.0 0.0 0.0 -2.0 20.0 53.0 51.0 50.4 48.0 55.0 51.0 43.0 0.0 0.0 1.0 0.0 0.0 -9.0 9.0 67.0 72.0 72.6 68.0 77.0 71.0 78.0 1.0 0.0 0.0 0.0 0.0 -9.0 26.0 67.0 76.0 67.2 64.0 69.0 69.0 74.0 0.0 1.0 0.0 0.0 0.0 -1.0 22.0 52.0 52.0 47.9 47.0 48.0 48.0 60.0 1.0 0.0 0.0 0.0 0.0 -11.0 27.0 52.0 53.0 48.2 48.0 49.0 49.0 53.0 0.0 0.0 0.0 1.0 0.0 -6.0 12.0 67.0 65.0 69.1 65.0 73.0 70.0 83.0 0.0 0.0 0.0 1.0 0.0 -10.0 20.0 61.0 58.0 58.1 58.0 59.0 58.0 43.0 0.0 0.0 0.0 0.0 0.0 -7.0 13.0 74.0 77.0 75.6 74.0 78.0 76.0 56.0 0.0 0.0 0.0 0.0 0.0 -11.0 7.0 58.0 61.0 52.9 51.0 56.0 51.0 35.0 0.0 1.0 0.0 0.0 0.0 -10.0 1.0 66.0 67.0 65.3 64.0 70.0 64.0 54.0 0.0 0.0 1.0 0.0 0.0 -11.0 22.0 55.0 54.0 49.3 46.0 54.0 49.0 58.0 0.0 0.0 0.0 0.0 1.0 -6.0 1.0 71.0 79.0 67.4 65.0 69.0 66.0 58.0 0.0 0.0 0.0 0.0 0.0 -5.0 13.0 81.0 77.0 64.3 63.0 67.0 66.0 67.0 1.0 0.0 0.0 0.0 0.0 -6.0 3.0 75.0 71.0 67.7 64.0 71.0 66.0 55.0 1.0 0.0 0.0 0.0 0.0 -4.0 12.0 59.0 58.0 57.7 54.0 59.0 57.0 61.0 0.0 0.0 0.0 0.0 1.0 -3.0 31.0 64.0 68.0 55.9 55.0 59.0 56.0 56.0 0.0 0.0 0.0 0.0 0.0 -12.0 14.0 43.0 40.0 45.4 45.0 48.0 45.0 49.0 0.0 0.0 0.0 0.0 0.0 -8.0 5.0 75.0 80.0 77.3 75.0 81.0 78.0 71.0 1.0 0.0 0.0 0.0 0.0 -5.0 4.0 87.0 74.0 62.3 59.0 65.0 64.0 61.0 0.0 0.0 0.0 0.0 0.0 -12.0 31.0 48.0 57.0 45.5 42.0 48.0 47.0 57.0 0.0 0.0 1.0 0.0 0.0 -1.0 21.0 48.0 52.0 47.8 43.0 51.0 46.0 57.0 0.0 0.0 0.0 0.0 0.0 -7.0 10.0 74.0 71.0 75.1 71.0 77.0 76.0 95.0 0.0 0.0 0.0 1.0 0.0 -3.0 15.0 54.0 49.0 53.6 49.0 58.0 52.0 70.0 0.0 0.0 0.0 0.0 1.0 -4.0 19.0 77.0 89.0 59.0 59.0 63.0 59.0 61.0 0.0 0.0 0.0 0.0 1.0 -10.0 14.0 66.0 60.0 60.2 56.0 64.0 60.0 78.0 1.0 0.0 0.0 0.0 0.0 -4.0 15.0 59.0 59.0 58.3 58.0 61.0 60.0 40.0 1.0 0.0 0.0 0.0 0.0 +0 +143.762620712 +-88.5787166225 +-82.8452345578 +72.4951388149 +11.805182128 +-63.9354970901 +126.32584079600001 +23.0341392692 +67.6714937696 +47.39275848810001
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/feature_selection_result12 Sat Aug 04 12:35:35 2018 -0400 @@ -0,0 +1,11 @@ +0 1 +143.762620712 -1.1796457192799998 +-88.5787166225 -2.5710918402200003 +-82.8452345578 -0.168636324107 +72.4951388149 0.991068834926 +11.805182128 -0.7096855607860001 +-63.9354970901 0.9841122108220001 +126.32584079600001 0.35353444883900004 +23.0341392692 1.03188231893 +67.6714937696 -0.8214378651719999 +47.39275848810001 -0.0942409319417