text:
RRegrs: an R package for computer-aided model selection with multiple regression models
Georgia Tsiliki1,
Cristian R. Munteanu2,3,
Jose A. Seoane4,
Carlos Fernandez-Lozano2,
Haralambos Sarimveis1 &
Egon L. Willighagen3
Journal of Cheminformatics volume 7, Article number: 46 (2015) Cite this article
Predictive regression models can be created with many different modelling approaches. Choices need to be made for data set splitting, cross-validation methods, specific regression parameters and best model criteria, as they all affect the accuracy and efficiency of the produced predictive models, and therefore, raising model reproducibility and comparison issues. Cheminformatics and bioinformatics are extensively using predictive modelling and exhibit a need for standardization of these methodologies in order to assist model selection and speed up the process of predictive model development. A tool accessible to all users, irrespectively of their statistical knowledge, would be valuable if it tests several simple and complex regression models and validation schemes, produce unified reports, and offer the option to be integrated into more extensive studies. Additionally, such methodology should be implemented as a free programming package, in order to be continuously adapted and redistributed by others.
We propose an integrated framework for creating multiple regression models, called RRegrs. The tool offers the option of ten simple and complex regression methods combined with repeated 10-fold and leave-one-out cross-validation. Methods include Multiple Linear regression, Generalized Linear Model with Stepwise Feature Selection, Partial Least Squares regression, Lasso regression, and Support Vector Machines Recursive Feature Elimination. The new framework is an automated fully validated procedure which produces standardized reports to quickly oversee the impact of choices in modelling algorithms and assess the model and cross-validation results. The methodology was implemented as an open source R package, available at https://www.github.com/enanomapper/RRegrs, by reusing and extending on the caret package.
The universality of the new methodology is demonstrated using five standard data sets from different scientific fields. Its efficiency in cheminformatics and QSAR modelling is shown with three use cases: proteomics data for surface-modified gold nanoparticles, nano-metal oxides descriptor data, and molecular descriptors for acute aquatic toxicity data. The results show that for all data sets RRegrs reports models with equal or better performance for both training and test sets than those reported in the original publications. Its good performance as well as its adaptability in terms of parameter optimization could make RRegrs a popular framework to assist the initial exploration of predictive models, and with that, the design of more comprehensive in silico screening applications.
RRegrs is a computer-aided model selection framework for R multiple regression models; this is a fully validated procedure with application to QSAR modelling
Many open-source statistical, data-mining, and machine learning software projects give access to a wide range of data processing and modelling algorithms often providing graphical user interfaces. Among them are Weka (Waikato Environment for Knowledge Analysis) [1], RapidMiner [2], Keel (Knowledge Extraction based on Evolutionary Learning) [3], Orange [4], Scikit-learn [5], C1C2 [6] and KNIME (Konstanz Information Miner) [7], effectively, providing full predictive modelling frameworks.
Additionally, web-based platforms such as OpenTox [8] and Online Chemical Modelling Environment (OCHEM) [9] focus on the development of quantitative structure-activity relationship (QSAR) models, i.e. regression or classification models that are used for the in silica assessment of physicochemical properties and biological activities of chemical compounds such as toxicity, biological potency and side effects [10–12]. Such platforms typically consist of two major subsystems: the database of experimental measurements and the modelling framework. They allow users to create their own QSAR models, predict results for new chemicals, and share them. OpenTox in particular is a platform-independent collection of components which communicate through web services, so that the user can combine data, models and validation results from multiple sources in a dependable and time-effective way. Several other tools offer virtual evaluation of chemical properties and toxicity using implemented QSAR models; for instance, Vega [13], EPI Suite [14], Toxicity Estimation Software Tool (TEST) [15], QSAR4u [16], BuildQSAR [17], OECD QSAR Toolbox [18], AZOrange [19] or Bioclipse-R [20]. However, these tools are limited to supported data sets, QSAR models or specific regressions methods.
On the other hand, the R statistical language environment [21] offers many solutions for regression modelling and also some packages providing simultaneous access to multiple methods. For example, the glmulti package conducts automated model selection and model-averaging based on the Akaike Information Criterion (AIC) or the Bayesian Information Criterion (BIC) [22], the kernlab package applies Kernel-based machine learning methods for classification, regression, clustering, novelty detection, quantile regression and dimensionality reduction, and the e1071 package includes functions for latent class analysis, short time Fourier transform, fuzzy clustering, and support vector machines. Other R packages are specializing on particular set of algorithms, for instance the R package tree focuses on producing classification and regression trees.
Of particular interest is the R package for predictive modelling called caret (Classification and Regression Training) which gathers and simplifies numerous R algorithms for the development of a wide variety of predictive models by calling and integrating more than 25 other packages [23]. Unique features of caret include data splitting, pre-processing, characterizing performance and variable importance, and parallel processing tools.
Although this package is providing useful methods for the syntactical unification of regression and classification prediction modelling approaches, the various models have different inputs and the outcomes different formats, typically depending on their parameters. This makes it hard to run all the available methods for multiple data sets, compare all the outputs, and produce a standardized results summary.
Furthermore, the complexity of the workflows complicates the reproduction of the same regression results and it may affect decisions on issues, such as how to split the original data set, how often to split the data set, which cross-validation method is to be use, which data filtering to apply before regression (correlated features removal, "not available" (NA) values elimination, etc.), which data scaling is applied (normalization, standardization, etc.), which regression methods to test, which regression parameters and seeds to use, how to summarize and compare the results for several regression models, and which criteria to use in order to choose the best regression model.
To address these limitations, the current manuscript describes a standardized framework that automates the development of a reliable and well-validated QSAR model, or set of models. The so-called RRegrs tool (R Regressions) is based on the R caret package and is focusing on regression modelling. RRegrs workflow offers a fully validated procedure capturing any variability or inconsistency in the data. A single RRegrs function call is needed to run the entire workflow and obtain the produced validated QSAR model(s) in a reproducible format in contrast to the standard, inefficient and time-consuming QSAR modelling workflow, where the modeller tries many different algorithms and even needs to further search the parameter space of each algorithm. This is a considerable advantage for users with perhaps limited statistical knowledge or limited R experience. Also reproducibility is a comparative advantage since often the same procedure needs to be applied for different data sets. RRegrs implements an easy way to explore the models' search space of linear and non-linear models with special parameters specifications and cross validation schemes. Furthermore, model outputs are easily accessible and readable, organized by methods, centralized and averaged by multiple reproducible data set splits. Summary files are also produced helping the user to easily access all methodologies results, which can then be prioritized based on various statistics. The current implementation of the RRegrs package contains ten different regression algorithms and supports parallel processing, if prompted. RRegrs function calls can be integrated into complex desktop and web tools for QSAR. RRegrs package is available as an open repository at https://www.github.com/enanomapper/RRegrs. The current release is available from ZENODO with the doi:10.5281/zenodo.21946.
RRegrs is an R package for computer-aided model selection, designed and implemented as a collection of regression tools available from the caret package. RRegrs uses the R package testthat for testing [24]. It does not apply full unit testing, but several RRegrs parameter combinations are tested, which are run during the build process. RRegrs can be used to find the best regression model for any numerical data set using some or all of ten linear and non-linear regression models: Multiple Linear regression (LM), Generalized Linear Model with Stepwise Feature Selection (GLM) [25], Partial Least Squares Regression (PLS) [26], Lasso regression (LASSO) [27], Elastic Net regression (ENET) [28], Support vector machine using radial functions (SVRM) [29], Neural Networks regression (NN) [30], Random Forest (RF) [31], Random Forest Recursive Feature Elimination (RF-RFE) [32] and Support Vector Machines Recursive Feature Elimination (SVM-RFE) [33]. Using the above methods, we explore the model space and compare outputs to decide on the optimal model, given the data. We are setting the regression method parameters with grid functions which have been carefully chosen to optimize different models, and particularly this is done for PLS, SVRM, SVM-RFE, NN, RF, RF-RFE, ENET. Specifically for SVRM, SVM-RFE the user could also specify custom parameters.
The main scope of the presented tool is to be able to run a large number of regression methods from the caret package using only one function call, to use standardized cross-validation (CV) scheme for all the methods, to obtain standardized outputs, to generate result summary tables and comparison plots for the regression methods and to store for each method detailed statistics and fitting plots. RRegrs integrates results of individual models and decides on the best model given the data set and the user specified parameters, unlike caret. Therefore, RRegrs permits users, irrespective of their programming or statistics experience, to predict any type of numerical output using multiple regression methods. In addition, advanced users could integrate RRegrs in other applications or software packages. For example, in cheminformatics RRegrs can be used to generate predictive models using molecular descriptors calculated with the rcdk package, using functions offered by the Chemistry Development Kit [34].
RRegrs function wraps up all the above mentioned procedures within just one call. The following steps are included (see Fig. 1): load parameters and data set, remove the NA values, remove near zero variance features, scale the data set, remove correlated features, split data set into training and test sets, run the selected regression methods using the selected cross-validation method(s), summarize the statistics for all methods and splittings, average for each method and cross-validation type for all splittings, apply the best model of each method and split on the test sets, apply Y-randomization on the best model, and assess the Applicability Domain. For each model, a CV scheme is introduced with two options: 10-fold repeated CV and Leave-One-Out (LOO) CV. The more time-consuming regression methods (RF, SVM-RFE, RF-RFE) are using only repeated cross-validation (other validation methods could be very slow for these complex functions), whereas for computationally demanding methods RRegrs offers parallel processing for a defined number of CPU cores. Detailed output files for all regression methods are produced, plots for individual model statistics, as well as summary statistics and comparison plots between methods, resulting in a significant number of CSV, PDF, PNG outputs files. Additionally, several summary files are created. A CSV output file is created with all the basic statistics (17 values) for each method, data splitting and CV type. Based on the above, averaged statistics are calculated for each regression method and across all data splits, which are the values needed to decide on the final best model performance. The best model is further validated with Y-randomization runs (100 by default).
RRegrs methodology flowchart. Outline of the steps performed by the RRegrs function
For each regression method, caret package utilities are employed. For example, RRegrs uses the trainControl and train functions to set the training conditions (10 repetitions; RMSE used as metrics to choose the model) and train the model, respectively. For each method, RRegrs is generating the same list of 17 statistics values: regression name, split number, cross-validation type, number of model features, names of model features, training adjusted R-squared (adj.R2), training root mean squared error (RMSECV/LOO), training \({\text{R}}_{{{\text{CV}}/{\text{LOO}}}}^{2}\), training standardized RMSE, test adjusted R2, test RMSE (RMSEtest), test R2 (\({\text{R}}_{\text{test}}^{2}\)), test correlation, and corresponding values for both sets. If the user requests detailed output (the default flag is set to True), several files are generated such as a CSV file with statistics about each regression model listing the following information: regression method, splitting number, cross-validation type, training set summary, test set summary, fitting summary, list of predictors, training/test predictors, a full list of statistics as defined above, feature importance, residuals of the fitted model, assessment of applicability domain/leverage analysis such as mean of hat values, hat values with warnings, leverage threshold, list of points with leverage greater than threshold, Cook's distances, Cook's distance cutoff, points influence. Particularly, for each data splitting and CV method, the following plots are produced: observed versus predicted values for training/test sets, feature importance, fitted versus residuals for the fitted model, leverage statistics for fitted model, Cook's distance for fitted model, and six standard fitting plots including Cook's distance cutoff.
Moreover, RRegrs offers an exhaustive validation framework by introducing multiple random data splittings. For each algorithm and data split, the model is produced based on training and validation sets. We are reporting both CV and external validation statistics, however, the test set is used to select the final best model, i.e. the best performing amongst the optimal models produced by different algorithms (both linear and non-linear). Decision is made on the averaged statistics across data splits to remove any bias towards the structure of the test set. The best regression model is selected based on the following criterion: from the best averaged \({\text{R}}_{\text{test}}^{2}\) (+/−0.05), the model with minimum RMSEtest is the final one. Alternatively, the test adjusted R2 can be used to select the best model. For the best model, an additional CSV file is generated providing detailed statistics as well as PDF plots for important statistics.
As mentioned above, parallel processing is employed during training steps by enabling caret's parallel design, and it is activated by either using caret's TrainControl "allowParallel" option, or in the case of RFE methods also within the model selection (iterating with a parallel foreach through the cross validation model selection for each feature size) using RFEControl "allowParallel" option. Libraries doMC (Linux/Mac) and doSNOW (Windows) provide foreach parallel adaptor.
The uses of RRegrs reported here are aimed at finding QSAR models for cheminformatics and nanotoxicology for the eNanoMapper European FP7 project. RRegrs was first tested with five standard data sets from UC Irvine Machine Learning Repository [35], followed by a demonstration the efficiency of RRegrs in cheminformatics and bioinformatics areas, using three publicly available data sets, as presented in the following sections.
RRegrs models for standard data sets
To benchmark RRegrs we first used five standard regression data sets from the UC Irvine machine learning repository [35]: the housing [36], computer hardware, wine quality [37], automobile [38], and Parkinsons telemonitoring [39] data sets. Based on these data sets we demonstrate the RRegrs methodology capabilities in different scientific fields. The number of cases and features of these data sets are described in the Methods section.
The housing data set is the most used standard data set for complex regression methods: combination of regression estimators as genetic algorithm-based selective neural network ensemble [40], distributed multivariate regression using wavelet-based collective data mining [41], application of the Bayesian evidence framework to support vector regression (SVR) [42], Principal Components approach that combines regression estimates [43], regression on feature projections (RFP) method [44], subset-based least squares subspace regression in reproducing Kernel Hilbert space (RKHS) [45], Smola and Scholkopf's sequential minimal optimization (SMO) algorithm for SVM regression [46], etc.
Tables 1 and 2 present two statistic values for these standard data sets: \({\text{R}}_{\text{test}}^{2}\) and RMSEtest values, averaged by 10 different data set splits, using 10-fold repeated CV and 10 Y-randomization. The results show that advanced methods such as RF-RFE and RF give the highest R2 values. In the case of the Housing data set, PLS provides a very low \({\text{R}}_{\text{test}}^{2}\) of 0.266 compared with the RF-RFE/RF that shows 0.875/0.874 (\({\text{R}}_{\text{test}}^{2}\) for LM is 0.707). Because of its slightly lower RMSEtest value compared to RF-RFE (less than 0.001), RRegrs suggests RF as the best model. Figure 2 shows the differences for \({\text{R}}_{\text{test}}^{2}\) and RMSECV on the training set (data split 1) and Fig. 3 presents the comparison for resampling on the training set (data split 1). In order to observe the quality of the regression models, Fig. 4 presents the observed versus predicted values in the test set for the best models for five data sets (10-fold repeated CV). The applicability domain section of RRegrs plotted the leverage for the Housing best fitted model (RF) as in Fig. 5.
Table 1 Test averaged R2 values for five standard data sets
Table 2 Test averaged RMSE values for five standard data sets
Models' differences on the Housing training set (data split 1). We show the average performance value (dot) with two-sided confidence limits as computed by Student t test with Bonferroni multiplicity correction. Results are shown for RMSE and R2 statistics and all pairwise model comparisons
Models' comparison of resampling results for Housing training set (data split 1). Univariate visualization of the resampling distributions of RMSE and R2 statistics, for the various RRegrs models
Test Yobs—Ypred for the five standard data sets best models (10-fold cross-validation). Plots for the observed versus the predicted values and the best model found for each of the five data sets
Leverage for Housing best fitted model. Histogram showing the Hat values for the RF fitted model. The red dashed line indicates the leverage threshold value (\(\frac{{3{\text{m}}}}{\text{n}}\), where m are the number of model parameters and n the number of observations)
The best model for the Computer Hardware data set was obtained with the RF method (\({\text{R}}_{\text{test}}^{2}\) of 0.907) and the worst one using PLS (\({\text{R}}_{\text{test}}^{2}\) of 0.740). The LM method has \({\text{R}}_{\text{test}}^{2}\) of 0.822. Models for the Red Wine data set do not produce good values for \({\text{R}}_{\text{test}}^{2}\) (>0.501) due to the non-continuous values of the output variable. When RRegrs is applied to the Automobile data set, \({\text{R}}_{\text{test}}^{2}\) values vary from about 0.915 for RF/RF-RFE to 0.714 for SVM-RFE (\({\text{R}}_{\text{test}}^{2}\) for LM is 0.824).
If the RRegrs call uses all available CPU cores for the complex methods, one dataset split, one Y-randomizations, and all the regression methods, the following execution times (in seconds) are obtained for the Boston standard dataset (see Table 3). The computer was an Windows 8.1 64bit with i7-4790 CPU (3.60 GHz, 4 cores, 8 logical cores), 16G RAM. The total execution time was 5.43 min (325.64 s).
Table 3 RRegrs execution time (in seconds) for one split of Boston House dataset
Use case 1: RRegrs application on protein corona data
Recent studies have shown that the presence of serum proteins in vitro cell culture systems form a protein adsorption layer (a.k.a. the 'protein corona') on the surface of nanoparticles (NPs). This corona is reported to affect the nanoparticle-cell interactions as well as change the cell response [47, 48], and defines the NP's 'biological identity' [49]. It thus encodes information about the interface formed between the NP core and the cell surface within a physiological environment.
This section presents results for proteomics data recently published that characterizes the serum protein corona 'fingerprint' formed around a library of 105 distinct surface-modified gold NPs [49]. The authors used LC–MS/MS to identify 129 serum proteins which were considered suitable for relative quantification. The relative abundances for each of these proteins on the corona of a nanoparticle formulation defines the serum protein 'fingerprint' for that formulation. The authors presented a multivariate regression model that uses the protein corona fingerprint to predict cell association for the gold NPs and found a model predicted cell association with a \({\text{R}}_{\text{LOO}}^{2}\) of 0.81. Specifically, they applied a PLS regression model along with an internal iterative filtering procedure using the Variable Importance to the Projection (VIP) score and jackknife resampling.
Here we present results on the initial set of 129 × 84 proteins to gold NPs data (21 neutral NPs were excluded from analysis as in Walkey et al. [49]), and also on a set of 76 × 84 proteins to gold NPs data. These 76 proteins are selected in [49] with VIP ≥ 0.6 threshold. RRegrs was applied with 10 random splits of the data (75 % train and 25 % test) along with 10 Y-randomization runs for the best model. Table 4 shows the best model selected by RRegrs, its number of features, the adj.R2 and the R2 and RMSE values for the train and test sets, averaged over 10 random splits of the data. Table 5 shows the best model found in all data splits, i.e. we compare all methodologies and data splits to find the best R test 2 . Data are normalized and filtered using the RRegrs near zero variance and correlation filters, for that reason the 129 proteins are filtered to be 99 and the 76 proteins data set are reduced to 60 features.
Table 4 RRegrs averaged statistics reported for the three use cases, under the 10-fold repeated CVscheme
Table 5 RRegrs best model statistics reported for the three use cases. Both LOO and CV values are considered
For the data set with 129 proteins, the best model is an SVRM model with \({\text{R}}_{\text{test}}^{2}\) = 0.631. CV results on the training set can be seen in Fig. 6, where we can observe that the LM and GLM models are not suitable for the protein corona data, whereas the remaining methodologies perform similarly. It can be observed in Table 5 that the highest value reported was \({\text{R}}_{\text{test}}^{2}\) = 0.844 for individual split nine of the data set.
Models' differences for protein corona training set (data split 5). Differences for R2 and RMSE values among the applied models are presented. The average performance with two-sided confidence limits are plotted as derived by the Student t-test with Bonferroni multiplicity correction. We can observe that LM and GLM models are not fitting the data very well (large RMSE values)
When we study the set with 76 proteins, we find that the best model is an SVRM model with averaged \({\text{R}}_{\text{test}}^{2}\) = 0.728, whereas the best individual split value is \({\text{R}}_{\text{test}}^{2}\) = 0.89. CV results on the training set are shown in Fig. 7. The corresponding RRegrs results for the PLS model are \({\text{R}}_{\text{test}}^{2}\) = 0.7 (averaged over 10 data splits), whereas the highest values are reported for individual split five \({\text{R}}_{\text{test}}^{2}\) = 0.885 (for repeated CV) and \({\text{R}}_{\text{test}}^{2}\) = 0.873 (for LOO). Although the last number cannot be directly compared to \({\text{R}}_{\text{LOO}}^{2}\) = 0.81 reported by the authors, it gives an indication of how our PLS implementation performs for the specific data set.
Models' differences for protein corona optimal training set (data split 5). Differences for R2 and RMSE values among the applied models are presented for the trimmed corona data set (76 proteins). The average performance with two-sided confidence limits are plotted as derived by the Student t-test with Bonferroni multiplicity correction
Use case 2: RRegrs application on metal oxides data set
The authors of [50] combined experimental and theoretical measurements to develop a nano-QSAR model that describes the toxicity of eighteen nano-metal oxides (MeOx) to the human keratinocyte (HaCaT) cell line, which is a common in vitro model for keratinocyte response during toxic dermal exposure. The study was aimed at exposing and explaining the differences in modes of toxic action of metal oxide nanoparticles between the eukaryotic system and the prokaryotic system (E. coli).
They calculated 32 parameters that quantitatively describe the variability of the nanoparticles' structure, called nano-descriptors, which included quantum-mechanical descriptors derived from quantum-chemical calculations, and image descriptors derived from transmission electron microscopy (TEM) images. Some of the descriptors included are: particle size and size distribution, agglomeration state, particle shape, crystal structure, chemical composition, surface area, surface chemistry, surface charge, electronic properties (reactivity, conductivity, interaction energies, etc.), and porosity. Additionally, the LC50 was calculated from experimental data for all MeOx NPs. This is the concentration that caused a 50 % reduction of the cells after 24 h exposure, whereas the −log(LC50) values were used in modelling, as the dependent variable t be predicted.
The authors applied a Genetic Algorithm (GA) to independently select the most efficient combination of the molecular descriptors which were then analyzed using multiple linear regression. They found that two descriptors were sufficient to predict NPs toxicity with high statistical significance, namely \(\Delta {\text{H}}_{\text{c}}^{\text{f}}\) descriptor, which is the enthalpy of formation of metal oxide nanocluster representing a fragment of the surface and, χc descriptor, which is the Mulliken's electronegativity of the cluster. The reported values are: R2 = 0.93 (RMSE = 0.12), \({\text{R}}_{\text{LOO}}^{2}\) = 0.86 (RMSELOO = 0.16), \({\text{R}}_{\text{test}}^{2}\) = 0.83 (RMSEtest = 0.13). Note that R2, here and in other cases, refers to the coefficient of determination for fitting the model to the training data.
Ten random splits of the data were performed (75 % train and 25 % test) along with ten Y-randomization runs for the best model. Tables 4 and 5 show RRegrs results for the initial set of 32 parameters to the eighteen MeOx's, averaged or non-averaged values across the ten data splits, respectively. Because of the restricted number of samples and descriptors RRegrs was applied without filtering options, whereas data were normalized, as in [50]. The best model was selected between those that perform feature selection, i.e. GLM, LASSO, SVM-RFE, RF-RFE, ENET. As can be seen from the tables, the best performance model and the best averaged model is ENET in this case, keeping on average 8.8 variables from the data including the two important variables (∆Hc, χc) selected in the original publication. The ENET averaged statistics for 10 splits of the data are \({\text{R}}_{\text{test}}^{2}\) = 0.746, \({\text{R}}_{\text{CV}}^{2}\) = 0.933, which are very similar to the values reported by the authors. The best individual split value is equal to \({\text{R}}_{\text{test}}^{2}\) = 0.998 for ENET model with eight variables including the final two suggested by the authors (LOO at the eighth split of the data). The boxplots in Fig. 8 show the resampling values of RMSECV and \({\text{R}}_{\text{CV}}^{2}\) values in the training set for split eight, where only methodologies with the same resampling scheme are included in the graph. Figure 8 also includes the fit of the selected model ENET for the same data split.
Results on MeOx data set (data split 8). For the three selected methodologies we show the resampling distributions for the RMSE and R2 statistics. On the right hand-side, we show the observed versus the predicted values for the ENET model in the training set
Use case 3: RRegrs application on aquatic toxicity data set
The authors of [51] developed a QSAR model based on 546 organic molecules, to predict acute aquatic toxicity towards Daphnia magna, which is the organism preferred for short-term aquatic toxicity testing according to REACH [52]. Ad hoc-designed workflows were used for data curation and filtering, as well as for the extraction of LC50 data, which in this case is defined to be the concentration that causes death in 50 % of test Daphnia magna over a test duration of 48 h. For modelling purposes the −log(LC50) values were considered as the dependent variable to be predicted. Other experimental data on aquatic toxicity were retrieved from three databases and available scientific publications, as well as one-dimensional (1-D) and2-D molecular descriptors implemented with DRAGON software [51], resulting in a total of 2, 187 molecular descriptors.
A modified k-Nearest Neighbour (kNN) strategy coupled with GA algorithms was used to select the relevant molecular descriptors. The final data set comprised of 546 organic molecules and a set of 201 descriptors. The GA-kNN strategy was implemented with a threshold on the average Mahalanobis distance from the k nearest neighbours, so that only molecules satisfying the threshold criterion were predicted. Particularly, predictions for molecules with an average distance greater than 1.26 from their three neighbours, were considered to be outside of the applicability domain. The training molecules exceeding the threshold did not contribute to the model's statistics, but were not removed from the data set. The final model showed good performance when the average distance threshold was applied, namely \({\text{R}}_{\text{CV}}^{2}\) = \({\text{R}}_{\text{test}}^{2}\) = 0.78 (5-fold CV), R2 = 0.72. The model selected eight molecular descriptors that encoded information about lipophilicity, the formation of H-bonds, polar surface area, polarisability, nucleophilicity and electrophilicity. When no distance threshold is applied, the corresponding values are: R2 = 0.60, \({\text{R}}_{\text{CV}}^{2}\) = 0.61, \({\text{R}}_{\text{test}}^{2}\) = 0.43.
Tables 4 and 5 show the results for the final set of eight descriptors for 546 organic molecules: the averaged values across data splits and the best model statistics for all data splits are presented. RRegrs is applied using normalization and filtering options. Ten random splits of the data were performed (75 % train and 25 % test) along with ten Y-randomization runs for the best model. As can be seen from the tables the best performance model and the best averaged model is SVRM in this case, keeping all 8 descriptors in the data. The SVRM averaged statistics for ten splits of the data are \({\text{R}}_{\text{CV}}^{2}\) = 0.556 (10-fold CV), \({\text{R}}_{\text{test}}^{2}\) = 0.537, which are close to the ones reported by the authors when the distance threshold is not applied. The adjusted R2 = 0.7, exceeding the 0.6 value reported without the distance threshold application, and still approaching the 0.78 value when the distance threshold was applied. The best individual split value is reported to be \({\text{R}}_{\text{test}}^{2}\) = 0.657 for SVRM model with eight variables (LOO at the second split of the data). Figure 9 shows the differences between the various models in terms of \({\text{R}}_{\text{CV}}^{2}\) and RMSECV values in the training set of the second data split, i.e. the train data where the highest \({\text{R}}_{\text{test}}^{2}\) was observed. We can observe that the PLS model differs from all others, having the worst performance, whilst LM, GLM, LASSO, and ENET models have very similar performances.
Models' differences for toxicity training set (data split 2). Differences for R2 and RMSE values among the applied models are presented. The average performance with two-sided confidence limits are plotted as derived by the Student t-test with Bonferroni multiplicity correction. We can observe small differences for LM, LASSO, ENET models, whereas the performance of the best model, SVRM, appears to be close to that of RF and NN models
This paper introduces RRegrs as a new computer-aided model selection framework using a single R function call. The aim of RRegrs is to automatically obtain the best regression model given the data set, and the set of all ten regression models available, after an extensive search of the model space. A fully validated procedure is suggested where data are split in training and test sets, ten times by default, capturing any variability or inconsistency in the data. The best model is then found across different data splits and cross-validation schemes, based on the averaged data splits statistics. RRegrs produces easily accessible summary files that provide an overview of model details and allows methodology comparisons using the same statistics, enabling QSAR model selection. These direct comparisons are built on top of the caret package, and in that respect provide a useful flexibility for all users. However, use of this package does not require advanced knowledge of R, while, on the other hand, experienced R users can easily modify and extend the package with additional algorithms of choice. The single function call makes it easy to integrate into larger QSAR and in silico molecular screening studies. The new tool was tested with five standard data sets from several domains and three use cases originating from cheminformatics and nanotoxicity, showing good performance in all cases. RRegrs is open source and available from https://www.github.com/enanomapper/RRegrs (doi:10.5281/zenodo.21946).
Regression methods in RRegrs
The RRegrs tool is using ten different linear and non-linear regression models briefly described in this section, to explore the model space. The most basic model in this package is the LM model [33]. Variable selection could improve the result of prediction in regression models. For that reason we have included a generalized linear model, denoted by GLM, which selects variables that minimize the AIC score. LASSO and ENET are also penalizing the number of variables via an embedded minimization process [27, 28].
Apart from the standard regression methodologies included in RRegrs, other methods that focus on specific characteristics of the data are included. PLS uses linear projections of input and output sets, which is a useful strategy when many of the inputs are correlated. PLS coefficient optimization algorithm improves previous regression coefficient algorithms because the search path is directed to high variance and high correlations paths [26]. The SVMR algorithm attempts to find the hyperplane that separates the positive and negative samples, practically allowing a non-linear solution to a regression problem by transforming the data to a hyperdimensional feature space using the kernel functions [53, 54]. SVMR in RRegrs uses the radial function or Gaussian function. RRegrs package also allows the use of a support vector regression model where the w2 (the square of SVM hyperplane weight vector) measures the importance of each feature [29].
RRegrs includes two additional learning algorithms, namely NN and ensemble RF. NN is usually defined as a network of a large number of connected neurons (simple processors), which produce good results with imprecise and complicated data [30]. RF is a bagging method constructing decision trees based on the random subspace method [31].
Finally, we have included two of the best performing methodologies with extra feature selection characteristics. Particularly, because the SVM and RF methods can be time-consuming, we have considered their implementation with random feature elimination (RFE), a feature selection method also introduced in caret where less important features are sequentially removed from the model until optimal performance is reached [32]. The two methods are here labeled as RF-RFE and SVM-RFE. Further details for the functions' main parameters are available in the online tutorial of the RRegrs package.
Two CV schemes are employed within RRegrs, namely 10-fold repeated CV and LOO CV. In the case of repeated CV, we run ten repeats of 10-fold CV for all models except SVM-RFE (3-folds, one repeat) and RF-RFE (5-folds, one repeat), which are particularly time-consuming methods. The procedure followed by caret and also introduced in RRegrs tool, randomly splits the data in K distinct blocks of roughly equal size (K = 10, 3, 5 depending on the method). Each block of data is left out sequentially, and a model is fit to the remaining of the data; this model is used to predict the held out block. The process is repeated where for each repetition a random proportion of the data are used to train the model (default value is 0.75) while the remainder is used for testing the models. Average performance across the number of repeats are reported: \({\text{R}}_{\text{test}}^{2}\), RMSEtest,, \({\text{R}}_{\text{CV}}^{2}\), \({\text{R}}_{\text{LOO}}^{2}\), RM SEC V, RM SELOO. The best model is selected based on the averaged R test 2 value; if multiple models only differ by ≤0.005 from the best \({\text{R}}_{\text{test}}^{2}\)value, the model with the lowest RMSEtest statistic is selected.
In order to further validate RRegrs test results, Y-randomization is applied to the best model found. For the last data split and the best model found, RRegrs performs Y-randomization for the 10-fold repeated CV scheme, and compares \({\text{R}}_{\text{test}}^{2}\) values to the best model corresponding value.
RRegrs tested data sets
RRegrs has been used to find the best regression models for eight data sets: three from nano- and cheminformatics (use cases), and five standard data sets from different fields. The standard data sets have been downloaded from UC Irvine machine learning repository [35]: housing [36], computer hardware, wine quality [37], automobile [38] and Parkinsons telemonitoring [39] data sets. The non-numeric columns have been eliminated, whereas the first column is the dependent variable (output of the model). The number of initial features/cases are the following: 13/506 for Housing data set, 6/209 for Computer Hardware data set, 11/1, 599 for Red Wine Quality data set, 14/195 for Automobile data set, and 19/5, 875 for Parkinson telemonitoring data set. The use case data sets were derived from their original publications; the initial number of features and cases are the following: the protein corona data set [49] has 129 features and 84 cases, the metal oxide data set [50] has 32 features and 18 cases and the toxicity data set [51] contains 8 features, and 546 cases.
RRegrs call in R
The main function of RRegrs (also called RRegrs) permits the call of the entire RRegrs methodology in a single line. All details about functions' main parameters are given in the R package documentation. All these parameters have default values. The default values imply a default location for the output files, execution of all modelling steps (removal of NA, and near zero variance features, and of correlated features), normalization of the data set, ten splits, ten Y-randomization steps, and running of all ten regression methods. The user can alter any step or parameter of the RRegrs methodology.
The following examples show simple calls of the RRegrs() function using a specific dataset file entitled "MyDataSet.csv" that it should be provided by the user:
The output variable RRegrsResults is a complex object which contains the object of the fitted models and the main statistics for each regression model. Details about each function are presented into the tutorial of the RRegrs package.
The following example could be used to test the RRegrs package using a dataset file from RRegrs GitHub URL:
Availability and requirements
Project name: RRegrs
Project home page: RRegrs
Operating system(s): Platform-independent
Programming language: R programming language
Other requirements: R 3.1.0 or higher
License: NewBSD or MIT
Any restrictions to use by non-academics: none other than those defined by the license
RRegrs:
R regressions (package)
QSAR:
quantitative structure-activity relationship
R2 :
R-squared
RMSE:
root-mean-square error
AIC:
akaike information criterion
LM:
linear multi-regression
GLM:
generalized linear model with stepwise feature selection
PLS:
partial least squares regression
LASSO:
Lasso regression
ENET:
elastic net regression
SVRM:
support vector machine using radial functions
neural networks regression
random forest
RF-RFE:
random forest recursive feature elimination
SVM-RFE:
support vector machines recursive feature elimination
CSV:
comma-separated values file format
portable document format of files
PNG:
portable network graphics file format
NP:
Hall M, Frank E, Holmes G, Pfahringer B, Reutemann P, Witten IH (2009) The WEKA data mining software: an update. SIGKDD Explor. Newsl 11(1):10–18
Hofmann M, Klinkenberg R (2013) RapidMiner: Data mining use cases and business analytics applications. Chapman and Hall, CRC Press, Boca Raton
Alcal´a-Fdez J, S´anchez L, Garc´ıa S, del Jesu´s MJ, Ventura S, Garrell J, Otero J, Romero C, Bacardit J, Rivas VM et al (2009) KEEL: a software tool to assess evolutionary algorithms for data mining problems. Soft Comput 13(3):307–318
Demšar J, Zupan B, Leban G, Curk T (2004) Orange: From experimental machine learning to interactive data mining. Springer, Berlin Heidelberg
Pedregosa F, Varoquaux G, Gramfort A, Michel V, Thirion B, Grisel O, Blondel M, Prettenhofer P, Weiss R, Dubourg V et al (2011) Scikit-learn: machine learning in python. J Mach Learn Res 12:2825–2830
Eklund M, Spjuth O, Wikberg JE (2008) The c1c2: a framework for simultaneous model selection and assessment. BMC Bioinform 9(1):360
Berthold MR, Cebron N, Dill F, Gabriel TR, Kotter T, Meinl T, Ohl P, Sieb C, Thiel K, Wiswedel B (2008) KNIME: the Konstanz information miner. Springer, Berlin, Heidelberg
Hardy B, Douglas N, Helma C, Rautenberg M, Jeliazkova N, Jeliazkov V, Nikolova I, Benigni R, Tcheremenskaia O, Kramer S et al (2010) Collaborative development of predictive toxicology applications. J Cheminform 2(1):1–29
Sushko I, Novotarskyi S, Körner R, Pandey AK, Rupp M, Teetz W, Brandmaier S, Abdelaziz A, Prokopenko VV, Tanchuk VY et al (2011) Online chemical modeling environment (OCHEM): web platform for data storage, model development and publishing of chemical information. J Comp Aided Mol Design 25(6):533–554
Cases M, Briggs K, Steger-Hartmann T, Pognan F, Marc P, Kleinöder T, Schwab CH, Pastor M, Wichard J, Sanz F (2014) The eTOX data-sharing project to advance in silico drug-induced toxicity prediction. Int J Mol Sci 15(11):21136–21154
Ekins S (2014) Progress in computational toxicology. J Pharmacol Toxicol Methods 69(2):115–140
Cherkasov A, Muratov EN, Fourches D, Varnek A, Baskin II, Cronin M, Dearden J, Gramatica P, Martin YC, Todeschini R, Consonni V, Kuzmin VE, Cramer R, Benigni R, Yang C, Rathman J, Terfloth L, Gasteiger J, Richard A, Tropsha A (2014) QSAR modeling: where have you been? where are you going to? J Med Chem 57(12):4977–5010
Fjodorova N, Vracko M, Novic M, Roncaglioni A, Benfenati E (2010) New public QSAR model for carcinogenicity. Chem Cent J 4(Suppl 1):3
US Environmental Protection Agency (2012) EPI Suite software. http://www.epa.gov/oppt/exposure/pubs/episuitedl.htm
US Environmental Protection Agency (2012) Toxicity estimation software tool (TEST). http://www.epa.gov/nrmrl/std/qsar/qsar.html#TEST
National Academy of Sciences of Ukraine (2012) QSAR4u. http://www.qsar4u.com/
de Oliveira DB, Gaudio AC (2000) Buildqsar: A new computer program for qsar analysis. Quant Struct Act Relat 19(6):599–601
OECD (2011) OECD QSAR Toolbox. http://www.oecd.org/chemicalsafety/risk-assessment/theoecdqsartoolbox.htm
Stålring JC, Carlsson L, Almeida P, Boyer S (2011) AZOrange-High performance open source machine learning for QSAR modeling in a graphical programming environment. J Cheminform 3:28
Spjuth O, Georgiev V, Carlsson L, Alvarsson J, Berg A, Willighagen E, Wikberg JES, Eklund M (2013) Bioclipse-R: Integrating management and visualization of life science data with statistical analysis. Bioinformatics 29(2):286–9
Team RC et al (2011) R: A language and environment for statistical computing. The R Foundation for Statistical Computing, Vienna, Austria. ISBN 3-900051-07-0. http://www.R-project.org/
Venables WN, Ripley BD (2002) Modern Applied Statistics with S, 4th edn. Springer, New York
Kuhn M (2008) Building predictive models in R using the caret package. J Stat Softw 28(5):1–26
Wickham H (2011) testthat: get started with testing. R J 3:5–10
Hocking RR (1976) The Analysis And Selection Of Variables In Linear Regression. Biometrics 32(1):1–49
Wold S, Ruhe A, Wold H, Dunn W III (1984) The collinearity problem in linear regression. The partial least squares (PLS) approach to generalized inverses. SIAM J Sci Stat Comput 5(3):735–743
Tibshirani R (1994) Regression selection and shrinkage via the lasso. J R Stat Soc Ser B Stat Methodol 58:267–288
Zou H, Hastie T (2005) Regularization and variable selection via the elastic net. J R Stat Soc Ser B Stat Methodol 67:301–320
Guyon I, Weston J, Barnhill S, Vapnik V (2002) Gene selection for cancer classification using support vector machines. Mach Learn 46(1–3):389–422
Bishop CM (1995) Neural networks for pattern recognition. Oxford University Press Inc, New York
Breiman L (2001) Random forests. Mach Learn 45(1):5–32
Saeys Y, Inza I, Larrñaaga P (2007) A review of feature selection techniques in bioinformatics. Bioinformatics 23(19):2507–2517
Dobson AJ, Barnett AG (2008) An introduction to generalized linear models. Chapman and Hall, CRC Press, Boca Raton
Guha R (2007) Chemical informatics functionality in R. J Stat Softw 18(5):1–16
Bache K, Lichman M (2013) UCI machine learning repository. http://www.archive.ics.uci.edu/ml
Harrison D, Rubinfeld DL (1978) Hedonic housing prices and the demand for clean air. J Environ Econ Manage 5(1):81–102
Cortez P, Cerdeira A, Almeida F, Matos T, Reis J (2009) Modeling wine preferences by data mining from physicochemical properties. Decis Support Syst 47(4):547–553
Kibler D, Aha DW, Albert MK (1989) Instance-based prediction of real-valued attributes. Comput Intell 5(2):51–57
Tsanas A, Little MA, McSharry PE, Ramig LO (2010) Accurate telemonitoring of parkinsons disease progression by noninvasive speech tests. Biomed Eng IEEE Trans 57(4):884–893
Zhou Z-H, Wu J-X, Tang W, Chen Z (2001) Combining regression estimators: GA-based selective neural network ensemble. Int J Comput Intell Appl 1:341
Hershberger DE, Kargupta H (2001) Distributed multivariate regression using wavelet-based collective data mining. J Parallel Distrib Comput 61:372
Law MHC, Kwok JT (2001) Applying the bayesian evidence framework to υ-support vector regression. In: ECML, pp 312
Merz CJ, Pazzani MJ (1999) A principal components approach to combining regression estimates. Mach Learn 36:9
Guvenir HA, Uysal I (2000) Regression on feature projections. Knowl Based Syst 13(4):207–214
Hoegaerts L, Suykens JAK, Vandewalle J, De Moor B (2005) Subset based least squares subspace regression in RKHS. Neurocomputing 63:293–323
Shevade SK, Keerthi SS, Bhattacharyya C, Murthy KRK (2000) Improvements to the smo algorithm for svm regression. Neural Netw IEEE Trans 11(5):1188–1193
Ge C, Du J, Zhao L, Wang L, Liu Y, Li D, Yang Y, Zhou R, Zhao Y, Chai Z et al (2011) Binding of blood proteins to carbon nanotubes reduces cytotoxicity. Proc Natl Acad Sci 108(41):16968–16973
Lesniak A, Fenaroli F, Monopoli MP, Aberg C, Dawson KA, Salvati A (2012) Effects of the presence or absence of a protein corona on silica nanoparticle uptake and impact on cells. ACS Nano 6(7):5845–5857
Walkey CD, Olsen JB, Song F, Liu R, Guo H, Olsen DWH, Cohen Y, Emili A, Chan WCW (2014) Protein corona fingerprinting predicts the cellular interaction of gold and silver nanoparticles. ACS Nano 8(3):2439–2455
Gajewicz A, Schaeublin N, Rasulev B, Hussain S, Leszczynska D, Puzyn T, Leszczynski J (2015) Towards understanding mechanisms governing cytotoxicity of metal oxides nanoparticles: Hints from nano-QSAR studies. Nanotoxicology 9(3):313–325
Cassotti M, Ballabio D, Consonni V, Mauri A, Tetko I, Todeschini R (2014) Prediction of acute aquatic toxicity toward daphnia magna by using the ga-knn method. Altern Lab Anim ATLA 42(1):31–41
Lahl U, Gundert-Remy U (2008) The use of (Q)SAR methods in the context of REACH. Toxicol Mech Methods 18(2–3):149–158
Brereton RG, Lloyd GR (2010) Support vector machines for classification and regression. Analyst 135(2):230–267
Smola AJ, Schölkopf B (2004) A tutorial on support vector regression. Stat Comput 14(3):199–222
GT and CRM equally contributed in the conceptual framework, implementation of the framework and writing the paper, supplementary information, and R manual files. JAS and CFL contributed in implementing ENET, RF, SVMRFE, RFRFE methods, writing the corresponding supporting information, and R manual files. HS and ELW contributed in the conceptual framework and writing of the paper. ELW built and maintains the RRegrs R package. All authors read and approved the final manuscript.
The eNanoMapper project is funded by the European Union's Seventh Framework Programme for research, technological development and demonstration (FP7-NMP-2013-SMALL-7) under grant agreement no 604134. The authors acknowledge the support by the Galician Network of Drugs R+D REGID (Xunta de Galicia R2014/025) and by "Collaborative Project on Medical Informatics (CIMED)" P I 13/00280 funded by the Carlos III Health Institute from the Spanish National plan for Scientific and Technical Research and Innovation 2013–2016 and the European Regional Development Funds (FEDER).
School of Chemical Engineering, National Technical University of Athens, 9 Heroon Polytechneiou Street, Zografou Campus, 15780, Athens, Greece
Georgia Tsiliki
& Haralambos Sarimveis
Computer Science Faculty, University of A Coruna, Campus Elviña, s/n, 15071, A Coruña, Spain
Cristian R. Munteanu
& Carlos Fernandez-Lozano
Department of Bioinformatics-BiGCaT, NUTRIM, Maastricht University, P.O. Box 616, UNS50 Box 19, 6200 MD, Maastricht, The Netherlands
& Egon L. Willighagen
Stanford Cancer Institute, Stanford University, C.J.Huang Building, 780 Welch Road, Palo Alto, CA, 94304, USA
Jose A. Seoane
Search for Georgia Tsiliki in:
Search for Cristian R. Munteanu in:
Search for Jose A. Seoane in:
Search for Carlos Fernandez-Lozano in:
Search for Haralambos Sarimveis in:
Search for Egon L. Willighagen in:
Correspondence to Georgia Tsiliki.
Georgia Tsiliki and Cristian R. Munteanu contributed equally to this work
Tsiliki, G., Munteanu, C.R., Seoane, J.A. et al. RRegrs: an R package for computer-aided model selection with multiple regression models. J Cheminform 7, 46 (2015) doi:10.1186/s13321-015-0094-2
Multiple regression
Caret-based tool


text:
var __extends = (this && this.__extends) || (function () {
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
        return extendStatics(d, b);
    };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import { Chart } from "./chart";
import { PolarSeries } from "./series/polar/polarSeries";
import { reactive } from "../util/observable";
import { Padding } from "../util/padding";
import { BBox } from "../scene/bbox";
var PolarChart = /** @class */ (function (_super) {
    __extends(PolarChart, _super);
    function PolarChart(document) {
        if (document === void 0) { document = window.document; }
        var _this = _super.call(this, document) || this;
        _this.padding = new Padding(40);
        _this.scene.root.append(_this.legend.group);
        return _this;
    }
    Object.defineProperty(PolarChart.prototype, "seriesRoot", {
        get: function () {
            return this.scene.root;
        },
        enumerable: true,
        configurable: true
    });
    PolarChart.prototype.performLayout = function () {
        var shrinkRect = new BBox(0, 0, this.width, this.height);
        this.positionCaptions();
        this.positionLegend();
        var captionAutoPadding = this.captionAutoPadding;
        shrinkRect.y += captionAutoPadding;
        shrinkRect.height -= captionAutoPadding;
        if (this.legend.enabled && this.legend.data.length) {
            var legendAutoPadding = this.legendAutoPadding;
            shrinkRect.x += legendAutoPadding.left;
            shrinkRect.y += legendAutoPadding.top;
            shrinkRect.width -= legendAutoPadding.left + legendAutoPadding.right;
            shrinkRect.height -= legendAutoPadding.top + legendAutoPadding.bottom;
            var legendPadding = this.legend.spacing;
            switch (this.legend.position) {
                case 'right':
                    shrinkRect.width -= legendPadding;
                    break;
                case 'bottom':
                    shrinkRect.height -= legendPadding;
                    break;
                case 'left':
                    shrinkRect.x += legendPadding;
                    shrinkRect.width -= legendPadding;
                    break;
                case 'top':
                    shrinkRect.y += legendPadding;
                    shrinkRect.height -= legendPadding;
                    break;
            }
        }
        var padding = this.padding;
        shrinkRect.x += padding.left;
        shrinkRect.y += padding.top;
        shrinkRect.width -= padding.left + padding.right;
        shrinkRect.height -= padding.top + padding.bottom;
        this.seriesRect = shrinkRect;
        var centerX = shrinkRect.x + shrinkRect.width / 2;
        var centerY = shrinkRect.y + shrinkRect.height / 2;
        var radius = Math.min(shrinkRect.width, shrinkRect.height) / 2;
        this.series.forEach(function (series) {
            if (series instanceof PolarSeries) {
                series.centerX = centerX;
                series.centerY = centerY;
                series.radius = radius;
                series.update();
            }
        });
    };
    PolarChart.className = 'PolarChart';
    PolarChart.type = 'polar';
    __decorate([
        reactive('layoutChange')
    ], PolarChart.prototype, "padding", void 0);
    return PolarChart;
}(Chart));
export { PolarChart };

redpajama_set_name: RedPajamaGithub


Craig Knutson is retiring this week and the Burien City Council honored him with a unanimously approved proclamation at Monday night's (Oct. 13) session.
The retiring city attorney spent nine months as interim city manager after former City Manager Mike Martin departed for Lynden, Wash., and until new City Manager Kamuron Gurol took office in April. During that same period, four new Council members were elected and took office.
Knutson said the perception of many citizens was that the former City Council was less willing to respond to the community.
"The new Council felt there was a perception that people weren't given enough opportunity to participate, and when they did, they weren't responded to," he said in an interview recently.
The Council now permits comments at the beginning of the meeting and later, during the new business portion, people are allowed to comment before each item is debated, effectively lengthening the meetings.
"Also, the city has become much more organized and responsive immediately or as soon as we can," he said.
"We keep track of the comments of the public, as well as comment of Council members, and then staff are assigned to prepare responses," Knutson said.
As the Burien city attorney, Knutson provided legal advice and representation to the City Council, city manager and city departments. The city attorney drafts city ordinances and resolutions for Council consideration, prosecutes violations of local ordinances in King County District Court, and serves as risk manager for Burien.
He has overseen litigation the city is involved in like the First Avenue South construction case "that was just started when I became city attorney so I was responsible to make sure that the city was well represented …" That case was settled.
Another example of litigation he has monitored was the Town Square Project when the original developer was not able to continue the project. The city then switched developers.
"A lot of what I do during the day is counseling and advising city staff and city officials on the law as it related to their duties so that the city doesn't get in legal predicaments that have to resolved by litigation," he said. "Other parts of the job are drafting and reviewing legal documents like contracts, ordinances and attending City Council meetings, advising the City Council on procedural matters or on legal matters – avoiding problems that come up like what's known as the appearance of fairness doctrine and other that are unique to municipalities.
"There are a lot of aspects of the law that city attorneys need to be familiar with that are unique to cities, but then there are also a lot of legal issues and situations that cities can be faced with that are very similar with what a private attorney would be advising clients about like property matters, contract matters, personnel and employment, personal injury or property damage.
"It is actually quite varied on what a city attorney can deal with on a day-to-day basis, which is one of the reasons I enjoy it – why I have done it for so long and still find it interesting and rewarding," Knutson said.
Craig Knutson receives a proclamation at Monday night's City Council session from Mayor Lucy Krakowiak.
Homelessness problems became more noticeable about the time he became interim city manager on July 25, 2013.
"I don't think it was the economy, but people have gravitated here for other reasons," Knutson said, and agreed that one of the reasons was that the homeless have been forced out of other areas.
"I wasn't really doing two jobs, we hired the same law firm that had provided city attorney services for Burien … so we had an acting city attorney who was here in this office a couple of days a week. I was doing some city attorney work because I was overseeing what she was doing and there were some things I was able to do without having to get her involved.
"But it was challenging" being interim City Manager and still doing some of the City Attorney job, he said.
He said he learned a lot about Burien both from the former and the current City Councils, and the city staff.
He said new members have some idea about government, but they have a learning curve.
When asked what the worst part of being city attorney, Knutson cited people's often lack of understanding.
"When people don't understand the whole story … when you are dealing with citizens who aren't satisfied with what is being done either to them or for them and they think it is too much or not enough. If you sit down and really talk to people and explain to them the background and the reasons, they will feel much better – they may not agree, but at least they will understand.
"Like with this trespass ordinance, I was getting calls from people around the country, from New York and some of them I didn't know where they were from, but they weren't from Washington, I could just tell. I hadn't convinced them it was a great ordinance, but at least they had a better understanding, and that there was a lot more to it than just trying to kick people out of a building because they smell bad.
"Sometimes you deal with people that just will not listen," he said. "In government, it seems we get more than our fair share.
This is not the first time Knutson will have retired, but he says the Burien job was a continuation on the career path he started on out of law school.
His first job was in 1977 in the prosecuting attorney's office in Clallam County. He was in that office for six years until becoming city attorney for the City of Port Angeles, and retired after over 20 years. He moved to Shoreline and worked for a Snohomish County law firm for five years, often doing city attorney type of work.
"This job opened up about four and a half years ago and I decided I liked being in-house city attorney so I applied for the job," Knutson said.
He has a son who is an ER doctor in the Army who had gotten permanently stationed at Madigan Army Medical Center in Tacoma and who bought a house in Normandy Park "so things just sort of worked together and my wife and I found a house we really like in the southwest corner of Burien.
"One of the things I like about Burien is that I never lived in a place that was this diverse before. I grew up in north Seattle before it became more diverse. Port Angeles and the Olympic Peninsula doesn't have much diversity, but to me Burien is more like the real world. I am glad that I bought a house here and I plan to keep living here.


A fave past time while in Kizilcahamam: air hockey!
The boy's name was BULAT! As in 'round'.
When everyone was in Istanbul, they toured the touristic places and went on the Bosphorus cruise which I so wanted to go on ever since I came to Turkey. But I didn't get on that cruise when everyone else went! :( Because I was busy at choir practice for the finals. Since the finals would be shown live, everything had to be perfect so they had a lot of practices. From 9 am till 10 pm everyday when we were in Istanbul and because of that I missed the cruise.
But Malaysia was where home really was no matter how beautiful Turkey was. It was time to go back to my family who had been waiting for 3 weeks for my return and back to my Malaysia, the land where I was born and bred in. I'll go back to Turkey soon, hopefully. Heck, I might even marry a Turk! Haha...right.
For now, it's time to move on with life and catch up with whatever that I left behind 3 weeks ago.
6th Turkish Language Olympics: chapter closed.


text:
Q: How can I display a specific category on Front-Page Please how can I display a specific category on Front-Page page, I want to display music category on my WordPress front page at least 3post on Front-Page, I don't know how I can do this

A: That's easy, just add following code in your theme's functions.php file:
function 348118_my_home_category( $query ) {
    if ( $query->is_home() && $query->is_main_query() ) {
        $query->set( 'cat', '1234' );
    }
}
add_action( 'pre_get_posts', '348118_my_home_category' );

In the above code change 1234 with the ID of your music category.

redpajama_set_name: RedPajamaStackExchange


I don't question the expertise of cb4tb, but what concerns me more is the continuing denials for the sake of PR and how they embolden trolls to attack shipper blogs. It appears to me no one in PR has any regard for the toll it takes on shippers. IMO it is cruel and beyond manipulative to pit one section of the fandom against another. Starz PR is slimy at best IMO. The principals compliance in such a tactic bothers me no end. Call me naive IDC.
Awww…I hear what you're saying. I really do. I'm sick to death of it too. So sick that I can't even work up any enthusiasm for the new season. How sad is that!? And judging by the body language and the fact that she slipped past those fans outside of Kimmel, I think Cait hates it too. I like that you use the word 'compliance' when I've seen so many accuse her of 'conspiring'. There's a huge difference. Yes, Cait, and Sam too, are complying…with the wishes of their employer, with the small print of their contracts, with something that we aren't privy to but have to accept, like it or not, and while serial denials is a most annoying form of PR, the trolls don't need it. They've been emboldened to attack our blogs by lesser things…by Sam's forehead in Paris, by every time we laughed at Sam and his Blonde Of The Week's attempts at looking coupley…this promo is just the latest thing. In fact, the bigger the receipt the louder they rage, so based on the number of angry anons lately, I'd say they see what we see but don't dare say so. I will agree with you that Starz PR is slimy. These are some low moves. But I posted a while ago about how the studio and the stars see fandom. It's all demographics to them and you really must not take it personally. They aren't pitting one side against the other because they don't like me or you or anyone in particular in the fandom. We aren't each represented by a different coloured push pin on a corkboard in Chris Parnell's office. For some reason that makes sense to someone important, they are determined to push the fact that the two leads of this show are not a couple in real life. They are actors and she is engaged to Someone Else. The group they're targeting with this will read that or see it somewhere along their way to Episode 1 and believe it. Some, like us, won't. Some will be offended. Some will walk away. Some will continue to ship. When the dust settles, more viewers is the goal.
Try to remember too that this all took place between the time of the Australia Unplugged Tour and mid March. For all we know they aren't paying much attention to it right now. That would be a good idea, for the sake of their own sanity. Cait didn't have a giggle over breakfast with LR and Chris Parnell about the Parade article and then head off to make googley eyes at Sam at their next promo, whatever that was, then answer KDS in the "so you're engaged, have you ever lusted after a costar?" game before sitting cuddled up beside Sam at NYCC, then whip off another issue of I'm Engaged last night before pasting an order of fries over his giant shrimp, then getting up this morning to do another impromptu interview announcing her engagement and dissing the 0.1% of fans who can't be happy for her. That would be mean. These denials happened all on the same day and within a week of Sam having to fly to LA for one last red carpet date. I can almost picture Cait feeling determined, if not ecstatic, about pulling these off, knowing that he was home, Skipper's contract was coming due, and this announcement of hers was going in the files to be their cover. I agree with those who've said that they don't think going in she ever meant for it to be used as the main thrust of Season 4 promo. I bet they drank a lot of celebratory whisky that last week of March after a hellish stretch at work, and it feels like the celebrations continue. They've both been bolder and a little more rebellious ever since.
Oh, and yes…never question the expertise of @cb4tb The lady knows her marketing and has dumbed things down for me more than once.
It's like ET Canada completed its obligation of posting the engagement question but did it in a way that wasn't on their website and wasn't promoted.
And used shippers as their spin channel. I thought it was included in the tweet that I skimmed past this morning. That alone should tell you this is all a game.
Let me see if I have this straight: a portion of a months-old interview with CB, wherein the "engagement" is discussed, is posted, but no attention drawn to it and it's difficult to find; however, it's dropped into multiple shippers' in-boxes, where the predictable outrage ensues about what a liar CB is. Whose purpose does this serve? Whose agenda? Surely not CB's.
Of course it serves her purpose and that of the show. It reinforces the interests to those who ignore receipts like someone with their fingers in their ears saying lalala, I can't hear you.
I mean we're only 0.1% of the Fandom right?
Then again what she said about people who can't be happy for her fits exactly the antis, ABC and those who fear the show will be ruined by them being together.
Who are the smart people behind Caitriona's narrative? who is giving the approval to interviews where she talks about the fakengagement released AFTER 7 MONTHS against ask to cut those parts? do you know how bad she looks when she posts a pic of Sam with a french fries emoticon on his c0ck (positioned sliding her finger on his body) and hearts coming out his pocket, when she licks the same spoon that Sam previosly used and he put back in his mouth after like it's the most natural thing in the world to do and then you let release these denial engagement talk combo? do you understand that the only image you are giving is that Caitriona is cheating her fiancé with Sam? you really want to destroy her personal image? let her lose her most supportive fans?
It is particularly dangerous because if she does marry Mr. McGill, not only will she have messed up her own public persona, she will make her lovely co-star look like one of the biggest jerks around. He is not a jerk. He is a kind, loving, generous man and none of this contradicting narrative honors him or the magical performances they give together. She certainly doesn't honor herself and neither does he really.
Even if it turns out this was dictated by the studio, it is long past the time when they should have said no together.
There may be another reason this all came about. Security. I know Sam gets stalked and Caitriona gets death threats. Perhaps, they are both protecting something very precious to them.
We live in a world where the truth doesn't matter, people get killed going to temple, pipe bombs get delivered to all the leaders of the opposition political party, and the Army is sent to the border with guns they can't shoot Constitutionally to protect us against some desperate people fleeing violence. So — Sam and Cait are not really that important and the fact that so many totally rational women still care what happens to them is a miracle in itself.


Total hip replacement (2nd time). I couldn't praise the PT and OT therapists enough. The overall experience was very good.I would request their care again, because of the excellent staff. I feel fortunate to have been cared for by such a great team.
This is a great facility for rehab. I have been very happy with the care from the staff. Its also very clean and located in a great spot.
Very responsive staff. I was so happy to see the new leadership. Our agency had excellent results working with him at a neighboring facility in Petaluma.
Great facility. I enjoy visiting. It is always clean and the residents and staff are happy.
This is such a great facility. Every time I come here I'm reminded why this is the place I chose to care for my family member.
Legal Business Name Petaluma C C Inc.
Petaluma Post-Acute Rehabilitation was reviewed by Medicare to have a rating of 5 out of 5 stars.
Medicare determines the expected staffing time per resident per day depending on level of care the residents of Petaluma Post-Acute Rehabilitation require. It is important to compare the reported time to expected time for a single facility instead of comparing the amount of time per resident of two facilities. Learn why.


Enjoy the ocean, sunsets and city views from the oversized balcony of this pristine 4br/3ba southern side,15th floor ocean view, penthouse. Beautifully furnished in the latest trends. Situated in The Mar Vista Grande, a four diamond luxury property.
ocean-view condominiums amidst opulent and generous floor plans, plus the most desirable amenities on the beach. In addition, the lush and tropical landscaping, coupled with the private beach access establish "The Mar Vista Grande" as the unparalleled, luxury property, positioned along the North end of the Grand Strand.
the indoor or outdoor pool areas, or wandering the miles of majestic, white beaches accompanying the Atlantic Ocean.
Now available for vacation rental this fabulous, fully furnished, professionally decorated 4 BR/3BA, ocean view, penthouse featuring 9 foot ceilings, a wetbar, wine chiller and ice maker area, upgraded cabinetry, stainless appliances upgraded granite and the largest balcony in the building. The ocean-view master suite has balcony access, with ocean and city views, a private bath with double sinks, granite counter tops, walk-in ceramic tiled shower with seat and whirlpool tub. Dining in? Enjoy the ocean views from the fully equipped kitchen featuring stainless steel appliances, wood cabinetry, a breakfast bar with upgraded granite tops and additional seating. Relax in the professionally decorated living and dining areas featuring ocean, sunset and city views. This elegant unit is equipped with flat screen TV's in all rooms, cable and complemetary wireless and local phone service. This south, west end location offers fantastic ocean breezes on the oversized balcony. The building amenities include temperature controlled, enclosed, hallways, a fifth floor state-of-the-art fitness center, indoor and outdoor pool areas with hot tubs, a kiddies pool, lazy river plus a private beach access. The Mar Vista Grande is located one traffic light from Main St. and the Highway 31 connector. Minutes from restaurant row, outlet shopping, world renown golf, water sports, and all of the area attractions including Barefoot Landing.
This property has 2 King(s), 2 Queen(s), 2 Full(s).


Abstract. This paper deals with optimal singular stochastic control problem for systems governed by nonlinear stochastic differential equations (SDEs for short) with Lipschitz coefficients, where the control variable has two components, the first being absolutely continuous and the second singular. We apply Ekeland's variational principle to establish necessary conditions for near-optimality. Filippov approach and stable convergence of probability measure are applied to prove our maximum principle.


text:
Rasmus und der Vagabund ist ein schwedischer Film von Olle Hellbom aus dem Jahr 1981. Er ist eine Verfilmung des Kinderbuches Rasmus und der Landstreicher von Astrid Lindgren.

Handlung
Der achtjährige Waisenjunge Rasmus läuft aus dem Waisenhaus davon, er will sich selbst Eltern suchen. Am nächsten Morgen begegnet er dem Landstreicher Oskar, mit dem er sich sehr gut versteht und mit dem er durch die Lande zieht. Sie erleben gemeinsam einige Abenteuer. Oskar gerät in den Verdacht, einen Raubüberfall begangen zu haben. Es gelingt ihm und Rasmus aber, die wahren Täter zu überführen. Oskar entpuppt sich schließlich als verheirateter Kleinbauer, der lediglich während des Sommers auf die Walz geht. Rasmus bekommt die Chance, von einem reichen Bauern adoptiert zu werden, entscheidet sich aber dann doch dafür, bei Oskar und dessen Frau Martina zu bleiben.

Kritiken

Weblinks

Einzelnachweise

Filmtitel 1981
Schwedischer Film
Obdachlosigkeit im Film
Kinderfilm
Abenteuerfilm
Astrid-Lindgren-Verfilmung

redpajama_set_name: RedPajamaWikipedia


The Dropzone Powerfan is an awesome free fall device that will give you the thrill of a lifetime. With a throughput of 60 users/hour or more, the R.O.I. is extremely fast and it's operation is simple and safe.


Why use church bulletins with a tear-off stub?
Our Blank, Printable Church Bulletins (with a tear-off stub) are fantastic for many special occasions. From church bulletins to concert programs, promotional flyers and school plays, our blank templates are ready to meet the need. And the best part is that you can print them as you need them in the quantity you want. No waiting on a commercial printer. No minimums on how many you need to print. Just design your bulletin using our blank templates and print away!
Design and print your own church bulletins with your message, your way.
With score to assist with folding.
Without score for use with automatic folders.
Choose from the different color offerings we have below. Request blank church bulletin samples so you can try before you buy.


How many rooms does your housekeeper clean?
Hired housekeepers only. Not how many rooms do you clean!
Once again we are having a lively discussion about how many rooms one housekeeper should be responsible to clean in a four hour shift.
Please weigh in. I'm considering joining muirford in retirement if I have to have this discussion one more time.
I pray she continues. It would be sooooo great.
So did you daughter get another job? Hope this person works out.
It is a very long traumatic story. Suffice it to say we have many grey hairs from her and a broken heart. She is MIA at the moment. Again. It never worked out helping here.
Oh I am sorry to hear that. Hope things get better. Has been rough for you I know.
My daughter has an app that allows you to count your steps, she just came to me and said "I am doing more steps helping you than when I go for a walk to GET steps!"
Someone just called and said the 'same' job at a cheap motel in town required 25 rooms AND all the laundry.
I think the person may have misunderstood how many people would be doing the rooms.
I have a wonderful friend who comes on Sunday and cleans four rooms, three with tubs, in four hours. Three of the rooms are sizable but there is not a lot of "stuff" she has to clean around.
sorry. it's been too long for me to answer ... i'd have to pull up the old threads to see. i remember loving the days with all fluffs - and then freaking when all eight rooms would check out at once and i'd be scrambling to clean them!
haha. i remember rushing to do the flips and then flopping down in the check-in area, wondering if i had time to 'freshen myself up' only to find that i'd never done the breakfast dishes. i don't know if i could do that today!
if i recall, i'd be pulling sheets and towels out of rooms all at once, dumping trash, opening windows and then circling back to do bathrooms.
We have 9 rooms - 4 are regular size queens, 2 are large rooms with king beds and steam showers with glass doors and 3 are huge rooms with in-room jacuzzis, separate large bath and king bed. We have one housekeeper who works 3 or 4 days, 6-8 hours each day. In the busy season, we have someone on 6-8 hours everyday but Tuesday. Our housekeepers are trained for a couple days with my husband and from that point forward they are out there doing their work - we don't do it for them or hold their hand. Of course, we're here to answer questions or deal with issues that arise and until we can trust their work we check every room when they are done.
Upon arrival at 10am, they help clear the dining room of dishes and take to the kitchen. If they don't have a busy day, then they do all of the dishes in our commercial dishwasher and clean the kitchen counters. If they have a busy day, then we do the dishes and they head out with their list of rooms. We find that it takes them about 15 minutes to touchup a room (make bed, empty trash/recycle, vacuum if carpet is messy). For those rooms with jacuzzi, it takes longer if the tub needs to be filled and rinsed. The small queen rooms take them about 30 minutes to do a full clean - strip and make bed, clean bathroom, setup towels/amenities, dust TV and nightstands and vacuum. We have a vacuum on all 3 floors. The king steam shower rooms take about 45 minutes as they have to clean the shower doors in addition to above. The jacuzzi rooms take about an hour - when they first go in they fill the tub and run the system clean through it while stripping bed, etc. It runs for about 10 minutes and then is dumped, the tub cleaned and rinsed thoroughly. They get this done in about an hour. But again, they are trained to have two things going at once - the tub is cleaning while the bed is being stripped and remade. Unless there was something beyond the ordinary in a guest room, they handle it including getting out stains from our Comphy sheets.
When they strip the first two rooms, they put those sheets into the laundry to get them going. When they are back down in the laundry room with the sheets from another 2 rooms, they can switch them over and start a new load. Unless they were switching over all rooms, they can get the rooms touched up and flipped, some laundry going, vacuum the entryway, great room and dining room and reset the dining room for the next morning. They are paid well and get all tips.
This week we were closed until today. So she had Sunday off for Easter and on Monday she cleaned rooms from the weekend and did laundry. Yesterday morning she finished laundry and then removed furniture from two rooms and deep cleaned the carpets. She'll put those rooms back together again tomorrow after she touches up the one room for tonight. When we are slow, we give her projects to give her at least 24 hours a week. Next week she'll be outside with me if it's warm weeding.
I have no problem sitting in my office reading the forum, paying bills, finding new recipes or doing whatever while she is in the Lodge working. That's her job. And if my kids are at school and I feel like watching my favorite cooking program, then I'm off to my bedroom to have an hour to myself. My day starts at 6:30 (3 1/2 hours before hers) and since we do checkins up to 9pm, my day doesn't stop until long after she's gone home.
I would ask your husband to think about all of those hotels out there - the general manager doesn't do rooms, the housekeepers do while the GM is busy building the brand, working with the marketing folks, etc. to make money which is our job. Hope the detail isn't too much, but I wanted to really answer your question on what we expect from our housekeepers.
Bingo! That's what I expect an employee to do. Not dh. He expects the one person to clean 4 rooms in 4 hours with NO other responsibilities. NONE.
Four small rooms. Nothing fancy. Showers in each room but one.
I'm dragging just cleaning 2 days/week.
Job listing has been posted. We'll see what we get tomorrow.
I think when you have been running an inn for x number of years it surely would be nice to leave some of the manual labor to someone else. Just sayin'...it wears you down pretty quickly. "We own our own inn" hurray and we get to clean up your crap and vomit or whatever. Not the most glamorous job in the world, is it.
I am of this mindset, if I can bloody well do the clean up then a hired person can bloody well do the same. I shouldn't have to do it. THIS is what many don't realize when they are aspiring.It really is not muffins and lemonade.
At some point I want to be the owner.
sitting down working is more valuable - my time is best spent doing blog articles, direct marketing and so on - earns us 100 times the money id save by having a chamber maid.
I think the original question is not the real question.
That's how I see it. We clean rooms ourselves from Nov to May. Then 2 days/week the rest of the year.
Facilitating is a good word. We set the employee up, take care of the blood, vomit, extraneous stains, etc, they make beds and clean bathrooms, tidy up and vacuum, run the dust cloth around.
I finally just told dh to tell the employee whatever he wants and give me my marching orders as to what he expects me to clean and then leave me out of any employee issues because we so badly disagree on this.
Oh, and I also cannot tell the employee when they mess up because he's afraid they'll quit so I have to fix whatever they did wrong and shut up about it.
I hate having to hire people!
"Facillitate them"! Wow... We had dinner last night with one of DH's old business friends. Their firm no longer does "performance reviews", they now are focusing on the employees "goals" and "mentor" them in their job to accomplish them! No wonder no one works anymore! YIKES!
Facilitate just means providing them with the tools to do the job and guidance to do it right and well. It's not a bad thing!
Actually facilitate means "to make easier". While I don't want to make things "harder" I expect people to be able to do their job without my doing the hard part or the icky parts they don't want to do.
It's the way I meant it. It's my job to make their job easier, not to do their job. If the housekeeper has to search for supplies or is not trained properly or isn't told what we expect or the sheets aren't labeled as to size then the job is harder.
We do the slop work because it takes a lot longer and it needs special supplies and we want the housekeeper moving along not spending 3 hours to get mascara out of the carpet. Or clean the disaster off the floor and walls after a guest gets food poisoning.
It's all about timing. And it's facilitating getting the job done to have a swat team do the grunt work.
You are right (I had to look it up!). So maybe not the right word. Maddie seems to understand what I meant, though -- as a manager, it is my job to make sure that my workers have the tools and supplies, and the guidance and direction, that they need to do their jobs. This is not about making it easier, it is about getting the job done efficiently.
The part about work above their pay grade, I was referring to repairing broken plumbing and stuff like that. The cleaners need to keep cleaning, but they need to let us know about the issues like this, so that we can deal with them.
Even DH gets it that when I am sitting at the computer I am NOT always playing Words, that I am working most of the time.
Because I am not scrubbing a toilet does not mean I am not working - not by a long shot! I have 2 things I farm out merrily (1) laundry and (2) chamber maid - If I take 2 more bookings due to my marketing in a week I have paid my chamber maid - and I certainly do more than that in a week!
Exactly! And even DH, as holed up from the realities of life that he is, has seen that what I do that sometimes seems so "why did you do that?" has either brought us business or some benefit down the road we did not even contemplate - AND there was no thought of "pay back" when it was done.
Usually its 45 minutes for a change 30 mins for a service.
I thought that as well for many years. My DW finally sat me down and said "Listen Up, we did not hire a cleaner so we can work harder!" I could not fight her on that comment. Yes, we can do it all, but we can't do it all!
Ok, hotel cleaners do a room every 15 min. I do not see how they can clean a room in 15 min and actually clean it. An hour per room is what we like to clean. If you hustle you can do it in 45 min. We have 7 rooms and not very often all are checkouts and checkins in the same day. If we do, we help him clean. Our checkout is at 11 and check in is at 4. Most of the time we have a early departure and we can start cleaning around 10, so 5 or six rooms is double.
I have an interviewee coming at 11am.
I had another not show up.
Another share a sob story.
Another email on her way and say she is pregnant and the dr told her not to work.
So the answer at this point in time is ZERO.
I did 6 a shift as a college kid. I don't think I always finished in 4 hours.
6 is doable and 4 hours might be an easy day, more for a full turnover day.
Generally, I run ahead, strip all the rooms, bring all the new linens to the room. I think, doing that, a college kid can get thru 7 rooms in 4 hours. Break included.
I think the average should be about an hour per room. This is not deep cleaning..but standard switching rooms over. Maybe a little leeway for a newbie but once they get the hang of it...an hour should be plenty of time.
So a teenager should take an hour to make a bed and clean a bathroom? Uh oh. I don't have 7 hours for someone to clean.
This is the problem. One housekeeper will clean 4 rooms while I clean 3 + answer the phone + talk to guests + do all the laundry + clean the common rooms + weed the gardens. And we're both done at 1 pm but I, the employer, have done 3x the work.
I don't get any time down with that plan!
We allot 20 minutes for a refresh and 40 minutes for a complete strip. That's 2 rooms/hour on a regular day. That leaves time for messy rooms (we handle all cleaning issues like carpet stains and bedding stains and all of that stuff that slows down the process) and folding sheets.
DH believes the housekeeper should clean 4 rooms and we should do the rest. I cry BS!
Your cleaner should be doing most if not all the cleaning and laundry. You hired your cleaner so you can do other things that only you can do. It sounds to me like you are running circles around your cleaner.
It's not me, it's DH. He thinks it sets a bad example if the boss sits while the employee works. In 10 years I have not convinced him he's incorrect about that.
That kind of surprises me, considering he's a military man. Can you frame it to him in terms of hierarchy, chain-of-command, generals vs foot soldiers to help him see a more effective perspective?
No can do. He is not a hierarchist. Equality is his middle name.
Working does not involve sitting down.
we have a friend who is currently between jobs and we are seriously considering paying her to sit in in the afternoons so we can have a nap!