├── .gitignore
├── README.md
├── test
├── test.py
└── rfImputer_demo.ipynb
└── module
└── rfImputer.py
/.gitignore:
--------------------------------------------------------------------------------
1 | *.pyc
2 | .ipynb_checkpoints/
3 | *.csv
4 | *.dat
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # rfImputer
2 | An automatic random forest missing value imputer
3 |
4 | Loosely following the algorith described in [Stekhoven and Bühlmann (2011)](http://bioinformatics.oxfordjournals.org/content/28/1/112.short).
5 |
--------------------------------------------------------------------------------
/test/test.py:
--------------------------------------------------------------------------------
1 | import pandas as pd
2 | import sys
3 | sys.path.insert(1, '../')
4 | from rfImputer import rfImputer
5 | import numpy as np
6 | from pprint import pprint
7 | cols = ['Proof_cut', 'Viscosity', 'Caliper', 'Ink_temperature', 'Humifity',
8 | 'Roughness', 'Blade_pressure', 'Varnish_pct', 'Press_speed', 'Ink_pct',
9 | 'Solvent_pct', 'Esa_voltage', 'ESA_amperage', 'Wax', 'Hardener',
10 | 'Roller_durometer', 'Density', 'Anode_ratio', 'Chrome_content', 'bands']
11 | df = pd.read_csv('bands.csv')
12 | df.columns = cols
13 |
14 | df.replace('?', 'NaN', inplace = True)
15 | df.replace('band', '1', inplace = True)
16 | df.replace('noband', '0', inplace = True)
17 |
18 | for col in df:
19 | if col == 'bands':
20 | continue
21 | df[col] = df[col].astype(float)
22 |
23 | # Generate fake data
24 | # n = 100
25 | # df = pd.DataFrame(index = np.arange(0, n))
26 | # df['cont_3'] = np.random.randn(n)
27 | # df['cont_4'] = np.random.randn(n)
28 | # df['cat_1'] = pd.Categorical(np.random.randint(0, 2, n))
29 | # df['cat_2'] = pd.Categorical(np.random.randint(0, 2, n))
30 | # df['cat_3'] = pd.Categorical(np.random.randint(0, 2, n))
31 | # df['cat_4'] = pd.Categorical(np.random.randint(0, 2, n))
32 | # df['cont_1'] = np.random.randn(n) + 0.5 * df['cat_2'] + df['cat_3']
33 | # df['cont_2'] = np.random.randn(n) + 0.5 * df['cont_1'] + df['cat_1']
34 |
35 | #Fill in some more missing data
36 | # n = df.shape[0]
37 | # for col in df.columns:
38 | # n_missing = np.random.randint(low = 0, high = n/4, size = 1)[0]
39 | # missing_idx = np.random.choice(n, n_missing, replace = False)
40 | # df[col].iloc[missing_idx] = np.nan
41 |
42 | imp_df = rfImputer(df)
43 |
44 | imp_df.impute('random_forest', {'n_estimators': 100, 'n_jobs': 1})
45 | print "IMPUTED"
46 |
47 | out = imp_df.imputed_df()
48 |
49 | print out.head()
50 |
51 |
--------------------------------------------------------------------------------
/module/rfImputer.py:
--------------------------------------------------------------------------------
1 | # Take a dataset and impute values for each variable using a random
2 | # forest with all other variables as predictors
3 |
4 | from sklearn.ensemble import RandomForestClassifier
5 | from sklearn.ensemble import RandomForestRegressor
6 | from sklearn.preprocessing import Imputer
7 | import pandas as pd
8 | import numpy as np
9 | import copy
10 |
11 | class rfImputer(object):
12 |
13 | """Random Forest Imputer Class
14 |
15 | Attributes:
16 | -----------
17 |
18 | data (pandas.DataFrame): The original data.
19 |
20 | missing (dict): Dictionary of lists of indices of missing values by column.
21 |
22 | prop_missing (dict): Proportion of missing values per column.
23 |
24 | imputed_values (dict): Dictionary of lists of imputed values. Only available
25 | after `impute()` method has been applied to instance.
26 |
27 | imputation_scores (dict): Out-of-bag accuracy scores of the random forest
28 | model for each variable. Only available after the `impute()` method
29 | with `imputation_method = 'random_forest'` has been applied to instance.
30 |
31 | incl_impute (list): Column names of variables to include in imputation.
32 | Can be set by user (see `__init__()`)
33 |
34 | incl_predict (list): Column names of variables to include as predictors
35 | in the random forest models (see `__init__()`).
36 |
37 | col_types (dict): The data type of each column (regression or classification)
38 | which indicates if `RandomForestClassifier` or `RandomForestRegressor` is
39 | used for imputation of respective variable.
40 |
41 |
42 | __init(self, data, **kwargs)__
43 |
44 |
45 | Args:
46 | ----------
47 |
48 | data (pandas.DataFrame): Original data. See README for format.
49 |
50 | incl_impute (list)[optional]: Column names of variables to include in
51 | imputation. Only if `excl_impute` is not specified. I neither is given
52 | all columns in the data frame are imputed.
53 |
54 | excl_impute (list)[optional]: Column names of variables to exclude from
55 | imputation. All other columns are used. Only if `incl_impute` is not
56 | specified. I neither is given all columns in the data frame are imputed.
57 |
58 | incl_predict (list)[optional]: Column names of variables to use as predictors
59 | in imputation model. Only if `excl_predict` is not specified. I
60 | neither is given all columns in the data frame are imputed.
61 |
62 | excl_predict (list)[optional]: Column names of variables not to use as
63 | predictors in imputation model. Only if `incl_predict` is not specified.
64 | If neither is given all columns in the data frame are imputed.
65 |
66 | is_classification (list)[optional]: Columns that are classification tasks.
67 | All columns that are not specified in `is_classification` or
68 | `is_regression` are automatically detected. The detection is not well
69 | implemented yet.
70 |
71 | is_regression (list)[optional]: Columns that are regression. Columns that are classification tasks.
72 | All columns that are not specified in `is_classification` or
73 | `is_regression` are automatically detected. The detection is not well
74 | implemented yet.
75 | """
76 |
77 | def __init__(self, data, **kwargs):
78 | self.data = data
79 | self.missing = self.find_missing()
80 | self.prop_missing = self.prop_missing()
81 | self.imputed_values = {}
82 | self.imputation_scores = {}
83 |
84 | # Columns in which values should be imputed
85 | if 'incl_impute' in kwargs:
86 | self.incl_impute = kwargs['incl_impute']
87 | elif 'excl_impute' in kwargs:
88 | self.incl_impute = [c for c in data.columns if c not in kwargs['excl_impute']]
89 | else:
90 | self.incl_impute = data.columns
91 |
92 | # Columns that should be used as predictors for the imputation
93 | if 'incl_predict' in kwargs:
94 | self.incl_predict = kwargs['incl_predict']
95 | elif 'excl_predict' in kwargs:
96 | self.incl_predict = [c for c in data.columns if c not in kwargs['excl_predict']]
97 | elif 'incl_predict' in kwargs and 'excl_predict' in kwargs:
98 | raise ValueError("Specify either excl_predict or incl_predict")
99 | else:
100 | self.incl_predict = data.columns
101 |
102 | ## Column types
103 |
104 | # Manually specified column types
105 | try:
106 | self.is_classification = kwargs['is_classification']
107 | except KeyError:
108 | self.is_classification = []
109 | try:
110 | self.is_regression = kwargs['is_regression']
111 | except KeyError:
112 | self.is_regression = []
113 |
114 | # Detect unspecified column types
115 | self.col_types = self.assign_dtypes()
116 |
117 |
118 | def detect_dtype(self, x):
119 | """
120 | Detect if variable requires classification or regression.
121 |
122 | Args:
123 | ----------
124 | x (pandas.Series): Column of data frame to detect type for
125 |
126 |
127 | Returns:
128 | ----------
129 | str: Either 'classification' or 'regression'
130 |
131 | Needs to be improved
132 | """
133 |
134 | if x.dtype == 'float':
135 | if len(x.unique()) < 4:
136 | out = 'classification'
137 | else:
138 | out = 'regression'
139 | elif x.dtype == 'object':
140 | out = 'classification'
141 | elif x.dtype == 'int64':
142 | if len(x.unique()) < 4:
143 | out = 'classification'
144 | else:
145 | out = 'regression'
146 | else:
147 | msg = 'Unrecognized data type: %s' %x.dtype
148 | raise ValueError(msg)
149 |
150 | return out
151 |
152 | def assign_dtypes(self):
153 | """
154 | Assign prespecified and detect non specified column types
155 | """
156 | dtypes = {}
157 | for var in self.data.columns:
158 | if var in self.is_classification:
159 | dtypes[var] = 'classification'
160 | elif var in self.is_regression:
161 | dtypes[var] = 'regression'
162 | else:
163 | dtypes[var] = self.detect_dtype(self.data[var])
164 |
165 | return dtypes
166 |
167 | def find_missing(self):
168 | """
169 | Find the indices of missing data in the original data frame
170 |
171 | Args:
172 | ---------
173 |
174 | Returns:
175 | ----------
176 | dict: 'var_name': [missing indices]
177 |
178 | """
179 | missing = {}
180 | for var in self.data.columns:
181 | col = self.data[var]
182 | missing[var] = col.index[col.isnull()]
183 |
184 | return missing
185 |
186 | def prop_missing(self):
187 | """
188 | Calculate the proportion of missing values for each column in the original
189 | data
190 |
191 | Args:
192 | ---------
193 |
194 | Returns:
195 | ---------
196 |
197 | dict: 'var_name': float
198 | """
199 | out = {}
200 | n = self.data.shape[0]
201 | for var in self.data.columns:
202 | out[var] = float(len(self.missing[var])) / float(n)
203 | return out
204 |
205 |
206 | def mean_mode_impute(self, var):
207 |
208 | """
209 | Impute mean for continuous and mode for categorical and binary data
210 |
211 | Args:
212 | ---------
213 | var (str): Column name of variable in original data
214 |
215 | Returns:
216 | ---------
217 | np.array: Repeating mean or mode of `var`
218 | """
219 |
220 | if self.col_types[var] == 'regression':
221 | statistic = self.data[var].mean()
222 | elif self.col_types[var] == 'classification':
223 | statistic = self.data[var].mode()[0]
224 | else:
225 | raise ValueError('Unknown data type')
226 |
227 | out = np.repeat(statistic, repeats = len(self.missing[var]))
228 | return out
229 |
230 |
231 | def rf_impute(self, impute_var, data_imputed, rf_params):
232 | """
233 | Fit random forest and get predictions for missing values
234 |
235 | Args:
236 | ----------
237 |
238 | impute_var (str): Column name of variable to be imputed
239 |
240 | data_imputed (pandas.DataFrame): A complete imputed DataFrame from the
241 | previous iteration
242 |
243 | rf_params (dict): Parameters for `RandomForestClassifier/Regressor`. Keys
244 | must be named arguments from the respective `sklearn` method
245 |
246 |
247 | Returns:
248 | ----------
249 | Sets `scores` and `imputed_values`
250 | float: Accuracy score from `RandomForestClassifier/Regressor`
251 | np.array: Imputations from out of bag predictions
252 |
253 | """
254 |
255 | y = data_imputed[impute_var]
256 | include = [x for x in self.incl_predict if x != impute_var]
257 | X = data_imputed[include]
258 |
259 | if self.col_types[impute_var] == 'classification':
260 | rf = RandomForestClassifier(oob_score = True, **rf_params)
261 | rf.fit(y = y, X = X)
262 | oob_predictions = np.argmax(rf.oob_decision_function_, axis = 1)
263 | oob_imputation = oob_predictions[self.missing[impute_var]]
264 |
265 | else:
266 | rf = RandomForestRegressor(oob_score = True, **rf_params)
267 | rf.fit(y = y, X = X)
268 | oob_imputation = rf.oob_prediction_[self.missing[impute_var]]
269 |
270 | self.imputation_scores[impute_var] = rf.oob_score_
271 | self.imputed_values[impute_var] = oob_imputation
272 |
273 |
274 | def get_divergence(self, imputed_old):
275 | """
276 | Calculate divergence to imputations from previous iteration
277 |
278 | Args:
279 | ---------
280 | imputed_old (dict): Imputated values from previous iteration.
281 |
282 | Returns:
283 | ---------
284 | float: divergence of categorical variables
285 | float: divergence of continuous variable
286 | """
287 |
288 | # Calcualte continuous divergence
289 | div_cat = 0
290 | norm_cat = 0
291 | div_cont = 0
292 | norm_cont = 0
293 | for var in self.imputed_values:
294 | if self.col_types[var] == 'regression':
295 | div = imputed_old[var] - self.imputed_values[var]
296 | div_cont += div.dot(div)
297 | norm_cont += self.imputed_values[var].dot(self.imputed_values[var])
298 | elif self.col_types[var] == 'classification':
299 | div = [1 if old != new
300 | else 0
301 | for old, new in zip(imputed_old[var], self.imputed_values[var])]
302 | div_cat += sum(div)
303 | norm_cat += len(div)
304 | else:
305 | raise ValueError("Unrecognized variable type")
306 |
307 |
308 | if norm_cat == 0:
309 | cat_out = 0
310 | else:
311 | cat_out = div_cat / norm_cat
312 | if norm_cont == 0:
313 | cont_out = 0
314 | else:
315 | cont_out = div_cont / norm_cont
316 |
317 | return cat_out, cont_out
318 |
319 |
320 | def impute(self, imputation_type, rf_params = None):
321 | """
322 | Impute data for `rfImputer` object
323 |
324 | Imputed either mean/mode or predictions from random fores model. Iteratively
325 | fits random forest models until predictions for missing data converge.
326 |
327 | Args:
328 | ----------
329 | imputation_type (str): `simple` for mean/mode imputation or 'random_forest'
330 | for random forest imputation.
331 |
332 | rf_params (dict): Parameters for sklearn methods. Must stick to naming
333 | conventions.
334 |
335 | Returns:
336 | ----------
337 | Sets `imputed_values`
338 |
339 | """
340 |
341 | if imputation_type == 'simple':
342 | for var in self.incl_impute:
343 | self.imputed_values[var] = self.mean_mode_impute(var)
344 |
345 | elif imputation_type == 'random_forest':
346 |
347 | print "-" * 50
348 | print "Starting Random Forest Imputation"
349 | print "-" * 50
350 |
351 | # Do a simple mean/mode imputation first
352 |
353 | for var in self.data.columns:
354 | self.imputed_values[var] = self.mean_mode_impute(var)
355 |
356 | # Rf Imputation Loop
357 | div_cat = float('inf')
358 | div_cont = float('inf')
359 | stop = False
360 | i = 0
361 | while not stop:
362 |
363 | i += 1
364 | print "Iteration %d:" %i
365 | print "."* 10
366 | # Store results from previous iteration
367 | imputations_old = copy.copy(self.imputed_values)
368 | div_cat_old = div_cat
369 | div_cont_old = div_cont
370 |
371 | # Make predictor matrix, using the imputed values
372 | data_imputed = self.imputed_df(output = False)
373 |
374 | for var in self.incl_impute:
375 | self.rf_impute(var, data_imputed, rf_params)
376 |
377 | div_cat, div_cont = self.get_divergence(imputations_old)
378 |
379 | print "Categorical divergence: %f" %div_cat
380 | print "Continuous divergence: %f" %div_cont
381 |
382 | # Check if stopping criterion is met
383 | if div_cat >= div_cat_old and div_cont >= div_cont_old:
384 | stop = True
385 |
386 | else:
387 | msg = 'Unrecognized imputation type: %s' %imputation_type
388 | raise ValueError(msg)
389 |
390 |
391 |
392 | def imputed_df(self, output = True):
393 | '''
394 | Fills the missing values in the input data frame with the values stored
395 | in imputed_values and returns a new data frame (copy).
396 |
397 | Args:
398 | ---------
399 | output (bool): If `False` internal method fills all missing values. If
400 | `True` only the missing values for columns in `incl_impute` are filled.
401 |
402 | Returns:
403 | ----------
404 | pandas.DataFrame: Filled dataframe
405 |
406 | '''
407 | if len(self.imputed_values) == 0:
408 | raise ValueError('No imputed values available. Call impute() first')
409 |
410 | out_df = self.data.copy()
411 | if not output:
412 | iterator = self.data.columns
413 | else:
414 | iterator = self.incl_impute
415 |
416 | # for var in iterator:
417 | # for idx, imp in zip(self.missing[var], self.imputed_values[var]):
418 | # out_df[var].iloc[idx] = imp
419 | for var in iterator:
420 | out_df.loc[self.missing[var],var] = self.imputed_values[var]
421 | return out_df
422 |
--------------------------------------------------------------------------------
/test/rfImputer_demo.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "code",
5 | "execution_count": 46,
6 | "metadata": {
7 | "collapsed": false
8 | },
9 | "outputs": [],
10 | "source": [
11 | "import pandas as pd\n",
12 | "import sys\n",
13 | "sys.path.insert(1, '../')\n",
14 | "from rfImputer import rfImputer\n",
15 | "from sklearn.preprocessing import Imputer\n",
16 | "from pprint import pprint\n",
17 | "\n",
18 | "cols = ['Proof_cut', 'Viscosity', 'Caliper', 'Ink_temperature', 'Humifity',\n",
19 | " 'Roughness', 'Blade_pressure', 'Varnish_pct', 'Press_speed', 'Ink_pct',\n",
20 | " 'Solvent_pct', 'Esa_voltage', 'ESA_amperage', 'Wax', 'Hardener',\n",
21 | " 'Roller_durometer', 'Density', 'Anode_ratio', 'Chrome_content', 'bands']\n",
22 | "df = pd.read_csv('bands.csv')\n",
23 | "df.columns = cols\n",
24 | "\n",
25 | "df.replace('?', 'NaN', inplace = True)\n",
26 | "df.replace('band', '1', inplace = True)\n",
27 | "df.replace('noband', '0', inplace = True)\n",
28 | "\n",
29 | "for col in df:\n",
30 | " if col == 'bands':\n",
31 | " continue\n",
32 | " df[col] = df[col].astype(float)"
33 | ]
34 | },
35 | {
36 | "cell_type": "code",
37 | "execution_count": null,
38 | "metadata": {
39 | "collapsed": false,
40 | "scrolled": true
41 | },
42 | "outputs": [],
43 | "source": [
44 | "df"
45 | ]
46 | },
47 | {
48 | "cell_type": "code",
49 | "execution_count": 39,
50 | "metadata": {
51 | "collapsed": false,
52 | "scrolled": true
53 | },
54 | "outputs": [
55 | {
56 | "data": {
57 | "text/html": [
58 | "
\n",
59 | "
\n",
60 | " \n",
61 | " \n",
62 | " | \n",
63 | " 0 | \n",
64 | " 1 | \n",
65 | " 2 | \n",
66 | " 3 | \n",
67 | " 4 | \n",
68 | " 5 | \n",
69 | " 6 | \n",
70 | " 7 | \n",
71 | " 8 | \n",
72 | " 9 | \n",
73 | " 10 | \n",
74 | " 11 | \n",
75 | " 12 | \n",
76 | " 13 | \n",
77 | " 14 | \n",
78 | " 15 | \n",
79 | " 16 | \n",
80 | " 17 | \n",
81 | " 18 | \n",
82 | " 19 | \n",
83 | "
\n",
84 | " \n",
85 | " \n",
86 | " \n",
87 | " | 0 | \n",
88 | " 55.000000 | \n",
89 | " 46 | \n",
90 | " 0.300 | \n",
91 | " 15.0 | \n",
92 | " 80 | \n",
93 | " 0.750000 | \n",
94 | " 20.000000 | \n",
95 | " 6.6 | \n",
96 | " 1900 | \n",
97 | " 54.9 | \n",
98 | " 38.5 | \n",
99 | " 0.0 | \n",
100 | " 0 | \n",
101 | " 2.5 | \n",
102 | " 0.7 | \n",
103 | " 34 | \n",
104 | " 40 | \n",
105 | " 105.00 | \n",
106 | " 100 | \n",
107 | " 0 | \n",
108 | "
\n",
109 | " \n",
110 | " | 1 | \n",
111 | " 62.000000 | \n",
112 | " 40 | \n",
113 | " 0.433 | \n",
114 | " 16.0 | \n",
115 | " 80 | \n",
116 | " 0.724238 | \n",
117 | " 30.000000 | \n",
118 | " 6.5 | \n",
119 | " 1850 | \n",
120 | " 53.8 | \n",
121 | " 39.8 | \n",
122 | " 0.0 | \n",
123 | " 0 | \n",
124 | " 2.8 | \n",
125 | " 0.9 | \n",
126 | " 40 | \n",
127 | " 40 | \n",
128 | " 103.87 | \n",
129 | " 100 | \n",
130 | " 0 | \n",
131 | "
\n",
132 | " \n",
133 | " | 2 | \n",
134 | " 52.000000 | \n",
135 | " 40 | \n",
136 | " 0.300 | \n",
137 | " 16.0 | \n",
138 | " 75 | \n",
139 | " 0.312000 | \n",
140 | " 30.000000 | \n",
141 | " 5.6 | \n",
142 | " 1467 | \n",
143 | " 55.6 | \n",
144 | " 38.8 | \n",
145 | " 0.0 | \n",
146 | " 0 | \n",
147 | " 2.5 | \n",
148 | " 1.3 | \n",
149 | " 40 | \n",
150 | " 40 | \n",
151 | " 108.06 | \n",
152 | " 100 | \n",
153 | " 0 | \n",
154 | "
\n",
155 | " \n",
156 | " | 3 | \n",
157 | " 50.000000 | \n",
158 | " 46 | \n",
159 | " 0.300 | \n",
160 | " 17.0 | \n",
161 | " 80 | \n",
162 | " 0.750000 | \n",
163 | " 30.000000 | \n",
164 | " 0.0 | \n",
165 | " 2100 | \n",
166 | " 57.5 | \n",
167 | " 42.5 | \n",
168 | " 5.0 | \n",
169 | " 0 | \n",
170 | " 2.3 | \n",
171 | " 0.6 | \n",
172 | " 35 | \n",
173 | " 40 | \n",
174 | " 106.67 | \n",
175 | " 100 | \n",
176 | " 0 | \n",
177 | "
\n",
178 | " \n",
179 | " | 4 | \n",
180 | " 50.000000 | \n",
181 | " 40 | \n",
182 | " 0.267 | \n",
183 | " 16.8 | \n",
184 | " 76 | \n",
185 | " 0.438000 | \n",
186 | " 28.000000 | \n",
187 | " 8.6 | \n",
188 | " 1467 | \n",
189 | " 53.8 | \n",
190 | " 37.6 | \n",
191 | " 5.0 | \n",
192 | " 0 | \n",
193 | " 2.5 | \n",
194 | " 0.8 | \n",
195 | " 40 | \n",
196 | " 40 | \n",
197 | " 103.87 | \n",
198 | " 100 | \n",
199 | " 0 | \n",
200 | "
\n",
201 | " \n",
202 | " | 5 | \n",
203 | " 50.000000 | \n",
204 | " 46 | \n",
205 | " 0.300 | \n",
206 | " 16.5 | \n",
207 | " 75 | \n",
208 | " 0.750000 | \n",
209 | " 30.000000 | \n",
210 | " 0.0 | \n",
211 | " 2600 | \n",
212 | " 62.5 | \n",
213 | " 37.5 | \n",
214 | " 6.0 | \n",
215 | " 0 | \n",
216 | " 2.5 | \n",
217 | " 0.6 | \n",
218 | " 30 | \n",
219 | " 40 | \n",
220 | " 106.67 | \n",
221 | " 100 | \n",
222 | " 0 | \n",
223 | "
\n",
224 | " \n",
225 | " | 6 | \n",
226 | " 50.000000 | \n",
227 | " 46 | \n",
228 | " 0.200 | \n",
229 | " 16.5 | \n",
230 | " 75 | \n",
231 | " 0.750000 | \n",
232 | " 28.000000 | \n",
233 | " 0.0 | \n",
234 | " 2600 | \n",
235 | " 62.5 | \n",
236 | " 37.5 | \n",
237 | " 6.0 | \n",
238 | " 0 | \n",
239 | " 2.5 | \n",
240 | " 1.1 | \n",
241 | " 30 | \n",
242 | " 40 | \n",
243 | " 106.67 | \n",
244 | " 100 | \n",
245 | " 0 | \n",
246 | "
\n",
247 | " \n",
248 | " | 7 | \n",
249 | " 50.000000 | \n",
250 | " 45 | \n",
251 | " 0.367 | \n",
252 | " 12.0 | \n",
253 | " 70 | \n",
254 | " 0.750000 | \n",
255 | " 60.000000 | \n",
256 | " 0.0 | \n",
257 | " 1650 | \n",
258 | " 60.2 | \n",
259 | " 39.8 | \n",
260 | " 1.5 | \n",
261 | " 0 | \n",
262 | " 3.0 | \n",
263 | " 1.0 | \n",
264 | " 40 | \n",
265 | " 40 | \n",
266 | " 103.22 | \n",
267 | " 100 | \n",
268 | " 1 | \n",
269 | "
\n",
270 | " \n",
271 | " | 8 | \n",
272 | " 65.000000 | \n",
273 | " 43 | \n",
274 | " 0.333 | \n",
275 | " 16.0 | \n",
276 | " 75 | \n",
277 | " 1.000000 | \n",
278 | " 32.000000 | \n",
279 | " 22.7 | \n",
280 | " 1750 | \n",
281 | " 45.5 | \n",
282 | " 31.8 | \n",
283 | " 0.0 | \n",
284 | " 0 | \n",
285 | " 3.0 | \n",
286 | " 1.0 | \n",
287 | " 38 | \n",
288 | " 40 | \n",
289 | " 106.66 | \n",
290 | " 100 | \n",
291 | " 0 | \n",
292 | "
\n",
293 | " \n",
294 | " | 9 | \n",
295 | " 65.000000 | \n",
296 | " 43 | \n",
297 | " 0.200 | \n",
298 | " 16.0 | \n",
299 | " 68 | \n",
300 | " 0.750000 | \n",
301 | " 30.000000 | \n",
302 | " 15.5 | \n",
303 | " 1750 | \n",
304 | " 48.5 | \n",
305 | " 35.9 | \n",
306 | " 0.0 | \n",
307 | " 0 | \n",
308 | " 3.0 | \n",
309 | " 1.0 | \n",
310 | " 38 | \n",
311 | " 40 | \n",
312 | " 106.60 | \n",
313 | " 100 | \n",
314 | " 0 | \n",
315 | "
\n",
316 | " \n",
317 | " | 10 | \n",
318 | " 50.000000 | \n",
319 | " 50 | \n",
320 | " 0.367 | \n",
321 | " 14.0 | \n",
322 | " 80 | \n",
323 | " 0.750000 | \n",
324 | " 40.000000 | \n",
325 | " 10.5 | \n",
326 | " 1700 | \n",
327 | " 52.6 | \n",
328 | " 36.8 | \n",
329 | " 0.0 | \n",
330 | " 0 | \n",
331 | " 2.5 | \n",
332 | " 1.0 | \n",
333 | " 38 | \n",
334 | " 40 | \n",
335 | " 105.00 | \n",
336 | " 100 | \n",
337 | " 1 | \n",
338 | "
\n",
339 | " \n",
340 | " | 11 | \n",
341 | " 50.000000 | \n",
342 | " 50 | \n",
343 | " 0.300 | \n",
344 | " 15.0 | \n",
345 | " 70 | \n",
346 | " 1.000000 | \n",
347 | " 30.000000 | \n",
348 | " 10.0 | \n",
349 | " 1600 | \n",
350 | " 50.0 | \n",
351 | " 40.0 | \n",
352 | " 0.0 | \n",
353 | " 0 | \n",
354 | " 2.8 | \n",
355 | " 1.0 | \n",
356 | " 38 | \n",
357 | " 40 | \n",
358 | " 106.66 | \n",
359 | " 100 | \n",
360 | " 1 | \n",
361 | "
\n",
362 | " \n",
363 | " | 12 | \n",
364 | " 40.000000 | \n",
365 | " 45 | \n",
366 | " 0.300 | \n",
367 | " 14.5 | \n",
368 | " 70 | \n",
369 | " 0.625000 | \n",
370 | " 25.000000 | \n",
371 | " 0.0 | \n",
372 | " 1500 | \n",
373 | " 59.5 | \n",
374 | " 40.5 | \n",
375 | " 0.0 | \n",
376 | " 0 | \n",
377 | " 2.0 | \n",
378 | " 1.0 | \n",
379 | " 40 | \n",
380 | " 40 | \n",
381 | " 100.00 | \n",
382 | " 100 | \n",
383 | " 1 | \n",
384 | "
\n",
385 | " \n",
386 | " | 13 | \n",
387 | " 50.000000 | \n",
388 | " 43 | \n",
389 | " 0.267 | \n",
390 | " 16.0 | \n",
391 | " 75 | \n",
392 | " 1.000000 | \n",
393 | " 20.000000 | \n",
394 | " 15.8 | \n",
395 | " 1600 | \n",
396 | " 49.5 | \n",
397 | " 34.7 | \n",
398 | " 0.0 | \n",
399 | " 0 | \n",
400 | " 2.5 | \n",
401 | " 1.0 | \n",
402 | " 38 | \n",
403 | " 40 | \n",
404 | " 103.22 | \n",
405 | " 100 | \n",
406 | " 0 | \n",
407 | "
\n",
408 | " \n",
409 | " | 14 | \n",
410 | " 45.015496 | \n",
411 | " 45 | \n",
412 | " 0.233 | \n",
413 | " 15.0 | \n",
414 | " 87 | \n",
415 | " 1.000000 | \n",
416 | " 30.930526 | \n",
417 | " 0.0 | \n",
418 | " 1400 | \n",
419 | " 62.5 | \n",
420 | " 37.5 | \n",
421 | " 0.0 | \n",
422 | " 0 | \n",
423 | " 2.5 | \n",
424 | " 1.0 | \n",
425 | " 40 | \n",
426 | " 40 | \n",
427 | " 103.22 | \n",
428 | " 100 | \n",
429 | " 1 | \n",
430 | "
\n",
431 | " \n",
432 | " | 15 | \n",
433 | " 30.000000 | \n",
434 | " 45 | \n",
435 | " 0.200 | \n",
436 | " 14.0 | \n",
437 | " 65 | \n",
438 | " 0.724238 | \n",
439 | " 30.930526 | \n",
440 | " 0.0 | \n",
441 | " 1600 | \n",
442 | " 62.5 | \n",
443 | " 37.5 | \n",
444 | " 0.0 | \n",
445 | " 0 | \n",
446 | " 2.5 | \n",
447 | " 0.8 | \n",
448 | " 33 | \n",
449 | " 40 | \n",
450 | " 100.00 | \n",
451 | " 100 | \n",
452 | " 0 | \n",
453 | "
\n",
454 | " \n",
455 | " | 16 | \n",
456 | " 30.000000 | \n",
457 | " 45 | \n",
458 | " 0.200 | \n",
459 | " 15.5 | \n",
460 | " 65 | \n",
461 | " 0.724238 | \n",
462 | " 30.930526 | \n",
463 | " 5.9 | \n",
464 | " 1600 | \n",
465 | " 58.8 | \n",
466 | " 35.3 | \n",
467 | " 0.0 | \n",
468 | " 0 | \n",
469 | " 2.5 | \n",
470 | " 1.8 | \n",
471 | " 33 | \n",
472 | " 40 | \n",
473 | " 100.00 | \n",
474 | " 100 | \n",
475 | " 0 | \n",
476 | "
\n",
477 | " \n",
478 | " | 17 | \n",
479 | " 60.000000 | \n",
480 | " 38 | \n",
481 | " 0.267 | \n",
482 | " 16.4 | \n",
483 | " 64 | \n",
484 | " 0.750000 | \n",
485 | " 30.930526 | \n",
486 | " 11.0 | \n",
487 | " 1400 | \n",
488 | " 54.9 | \n",
489 | " 34.1 | \n",
490 | " 0.0 | \n",
491 | " 0 | \n",
492 | " 2.5 | \n",
493 | " 1.0 | \n",
494 | " 32 | \n",
495 | " 40 | \n",
496 | " 103.22 | \n",
497 | " 100 | \n",
498 | " 0 | \n",
499 | "
\n",
500 | " \n",
501 | " | 18 | \n",
502 | " 60.000000 | \n",
503 | " 38 | \n",
504 | " 0.333 | \n",
505 | " 16.5 | \n",
506 | " 66 | \n",
507 | " 0.750000 | \n",
508 | " 30.930526 | \n",
509 | " 6.7 | \n",
510 | " 1400 | \n",
511 | " 56.2 | \n",
512 | " 37.1 | \n",
513 | " 0.0 | \n",
514 | " 0 | \n",
515 | " 1.1 | \n",
516 | " 1.4 | \n",
517 | " 32 | \n",
518 | " 40 | \n",
519 | " 103.22 | \n",
520 | " 100 | \n",
521 | " 0 | \n",
522 | "
\n",
523 | " \n",
524 | " | 19 | \n",
525 | " 50.000000 | \n",
526 | " 45 | \n",
527 | " 0.233 | \n",
528 | " 16.0 | \n",
529 | " 70 | \n",
530 | " 0.812000 | \n",
531 | " 30.000000 | \n",
532 | " 0.0 | \n",
533 | " 2400 | \n",
534 | " 58.8 | \n",
535 | " 41.2 | \n",
536 | " 0.0 | \n",
537 | " 0 | \n",
538 | " 1.7 | \n",
539 | " 1.0 | \n",
540 | " 30 | \n",
541 | " 40 | \n",
542 | " 107.40 | \n",
543 | " 100 | \n",
544 | " 0 | \n",
545 | "
\n",
546 | " \n",
547 | "
\n",
548 | "
"
549 | ],
550 | "text/plain": [
551 | " 0 1 2 3 4 5 6 7 8 9 \\\n",
552 | "0 55.000000 46 0.300 15.0 80 0.750000 20.000000 6.6 1900 54.9 \n",
553 | "1 62.000000 40 0.433 16.0 80 0.724238 30.000000 6.5 1850 53.8 \n",
554 | "2 52.000000 40 0.300 16.0 75 0.312000 30.000000 5.6 1467 55.6 \n",
555 | "3 50.000000 46 0.300 17.0 80 0.750000 30.000000 0.0 2100 57.5 \n",
556 | "4 50.000000 40 0.267 16.8 76 0.438000 28.000000 8.6 1467 53.8 \n",
557 | "5 50.000000 46 0.300 16.5 75 0.750000 30.000000 0.0 2600 62.5 \n",
558 | "6 50.000000 46 0.200 16.5 75 0.750000 28.000000 0.0 2600 62.5 \n",
559 | "7 50.000000 45 0.367 12.0 70 0.750000 60.000000 0.0 1650 60.2 \n",
560 | "8 65.000000 43 0.333 16.0 75 1.000000 32.000000 22.7 1750 45.5 \n",
561 | "9 65.000000 43 0.200 16.0 68 0.750000 30.000000 15.5 1750 48.5 \n",
562 | "10 50.000000 50 0.367 14.0 80 0.750000 40.000000 10.5 1700 52.6 \n",
563 | "11 50.000000 50 0.300 15.0 70 1.000000 30.000000 10.0 1600 50.0 \n",
564 | "12 40.000000 45 0.300 14.5 70 0.625000 25.000000 0.0 1500 59.5 \n",
565 | "13 50.000000 43 0.267 16.0 75 1.000000 20.000000 15.8 1600 49.5 \n",
566 | "14 45.015496 45 0.233 15.0 87 1.000000 30.930526 0.0 1400 62.5 \n",
567 | "15 30.000000 45 0.200 14.0 65 0.724238 30.930526 0.0 1600 62.5 \n",
568 | "16 30.000000 45 0.200 15.5 65 0.724238 30.930526 5.9 1600 58.8 \n",
569 | "17 60.000000 38 0.267 16.4 64 0.750000 30.930526 11.0 1400 54.9 \n",
570 | "18 60.000000 38 0.333 16.5 66 0.750000 30.930526 6.7 1400 56.2 \n",
571 | "19 50.000000 45 0.233 16.0 70 0.812000 30.000000 0.0 2400 58.8 \n",
572 | "\n",
573 | " 10 11 12 13 14 15 16 17 18 19 \n",
574 | "0 38.5 0.0 0 2.5 0.7 34 40 105.00 100 0 \n",
575 | "1 39.8 0.0 0 2.8 0.9 40 40 103.87 100 0 \n",
576 | "2 38.8 0.0 0 2.5 1.3 40 40 108.06 100 0 \n",
577 | "3 42.5 5.0 0 2.3 0.6 35 40 106.67 100 0 \n",
578 | "4 37.6 5.0 0 2.5 0.8 40 40 103.87 100 0 \n",
579 | "5 37.5 6.0 0 2.5 0.6 30 40 106.67 100 0 \n",
580 | "6 37.5 6.0 0 2.5 1.1 30 40 106.67 100 0 \n",
581 | "7 39.8 1.5 0 3.0 1.0 40 40 103.22 100 1 \n",
582 | "8 31.8 0.0 0 3.0 1.0 38 40 106.66 100 0 \n",
583 | "9 35.9 0.0 0 3.0 1.0 38 40 106.60 100 0 \n",
584 | "10 36.8 0.0 0 2.5 1.0 38 40 105.00 100 1 \n",
585 | "11 40.0 0.0 0 2.8 1.0 38 40 106.66 100 1 \n",
586 | "12 40.5 0.0 0 2.0 1.0 40 40 100.00 100 1 \n",
587 | "13 34.7 0.0 0 2.5 1.0 38 40 103.22 100 0 \n",
588 | "14 37.5 0.0 0 2.5 1.0 40 40 103.22 100 1 \n",
589 | "15 37.5 0.0 0 2.5 0.8 33 40 100.00 100 0 \n",
590 | "16 35.3 0.0 0 2.5 1.8 33 40 100.00 100 0 \n",
591 | "17 34.1 0.0 0 2.5 1.0 32 40 103.22 100 0 \n",
592 | "18 37.1 0.0 0 1.1 1.4 32 40 103.22 100 0 \n",
593 | "19 41.2 0.0 0 1.7 1.0 30 40 107.40 100 0 "
594 | ]
595 | },
596 | "execution_count": 39,
597 | "metadata": {},
598 | "output_type": "execute_result"
599 | }
600 | ],
601 | "source": [
602 | "imputer = Imputer(missing_values = 'NaN', strategy = 'mean', copy = False)\n",
603 | "imputer.fit(df)\n",
604 | "df_new = imputer.transform(df)\n",
605 | "pd.DataFrame(df_new).head(20)"
606 | ]
607 | },
608 | {
609 | "cell_type": "code",
610 | "execution_count": 40,
611 | "metadata": {
612 | "collapsed": true
613 | },
614 | "outputs": [],
615 | "source": [
616 | "# Instantiate Imputer with data\n",
617 | "imp_df = rfImputer(df, is_classification = ['Density', 'Chrome_content'],\n",
618 | " is_regression = ['Anode_ratio'],\n",
619 | " excl_impute = ['Caliper', 'Ink_pct'], # or incl_impute = \n",
620 | " incl_predict = ['Press_speed', 'Solvent_pct', 'Chrome_content']) # or excl_predict = "
621 | ]
622 | },
623 | {
624 | "cell_type": "code",
625 | "execution_count": 41,
626 | "metadata": {
627 | "collapsed": false
628 | },
629 | "outputs": [
630 | {
631 | "data": {
632 | "text/plain": [
633 | "{'Anode_ratio': 'regression',\n",
634 | " 'Blade_pressure': 'regression',\n",
635 | " 'Caliper': 'regression',\n",
636 | " 'Chrome_content': 'classification',\n",
637 | " 'Density': 'classification',\n",
638 | " 'ESA_amperage': 'regression',\n",
639 | " 'Esa_voltage': 'regression',\n",
640 | " 'Hardener': 'regression',\n",
641 | " 'Humifity': 'regression',\n",
642 | " 'Ink_pct': 'regression',\n",
643 | " 'Ink_temperature': 'regression',\n",
644 | " 'Press_speed': 'regression',\n",
645 | " 'Proof_cut': 'regression',\n",
646 | " 'Roller_durometer': 'regression',\n",
647 | " 'Roughness': 'regression',\n",
648 | " 'Solvent_pct': 'regression',\n",
649 | " 'Varnish_pct': 'regression',\n",
650 | " 'Viscosity': 'regression',\n",
651 | " 'Wax': 'regression',\n",
652 | " 'bands': 'classification'}"
653 | ]
654 | },
655 | "execution_count": 41,
656 | "metadata": {},
657 | "output_type": "execute_result"
658 | }
659 | ],
660 | "source": [
661 | "imp_df.col_types"
662 | ]
663 | },
664 | {
665 | "cell_type": "code",
666 | "execution_count": 42,
667 | "metadata": {
668 | "collapsed": false
669 | },
670 | "outputs": [
671 | {
672 | "data": {
673 | "text/plain": [
674 | "['Proof_cut',\n",
675 | " 'Viscosity',\n",
676 | " 'Ink_temperature',\n",
677 | " 'Humifity',\n",
678 | " 'Roughness',\n",
679 | " 'Blade_pressure',\n",
680 | " 'Varnish_pct',\n",
681 | " 'Press_speed',\n",
682 | " 'Solvent_pct',\n",
683 | " 'Esa_voltage',\n",
684 | " 'ESA_amperage',\n",
685 | " 'Wax',\n",
686 | " 'Hardener',\n",
687 | " 'Roller_durometer',\n",
688 | " 'Density',\n",
689 | " 'Anode_ratio',\n",
690 | " 'Chrome_content',\n",
691 | " 'bands']"
692 | ]
693 | },
694 | "execution_count": 42,
695 | "metadata": {},
696 | "output_type": "execute_result"
697 | }
698 | ],
699 | "source": [
700 | "imp_df.incl_impute"
701 | ]
702 | },
703 | {
704 | "cell_type": "code",
705 | "execution_count": 43,
706 | "metadata": {
707 | "collapsed": false
708 | },
709 | "outputs": [
710 | {
711 | "data": {
712 | "text/plain": [
713 | "['Press_speed', 'Solvent_pct', 'Chrome_content']"
714 | ]
715 | },
716 | "execution_count": 43,
717 | "metadata": {},
718 | "output_type": "execute_result"
719 | }
720 | ],
721 | "source": [
722 | "imp_df.incl_predict"
723 | ]
724 | },
725 | {
726 | "cell_type": "code",
727 | "execution_count": 44,
728 | "metadata": {
729 | "collapsed": true
730 | },
731 | "outputs": [],
732 | "source": [
733 | "imp_df = rfImputer(df)"
734 | ]
735 | },
736 | {
737 | "cell_type": "code",
738 | "execution_count": 47,
739 | "metadata": {
740 | "collapsed": false
741 | },
742 | "outputs": [
743 | {
744 | "name": "stdout",
745 | "output_type": "stream",
746 | "text": [
747 | "{'Anode_ratio': 0.013011152416356878,\n",
748 | " 'Blade_pressure': 0.1171003717472119,\n",
749 | " 'Caliper': 0.05018587360594796,\n",
750 | " 'Chrome_content': 0.0055762081784386614,\n",
751 | " 'Density': 0.013011152416356878,\n",
752 | " 'ESA_amperage': 0.10037174721189591,\n",
753 | " 'Esa_voltage': 0.10408921933085502,\n",
754 | " 'Hardener': 0.013011152416356878,\n",
755 | " 'Humifity': 0.0018587360594795538,\n",
756 | " 'Ink_pct': 0.10223048327137546,\n",
757 | " 'Ink_temperature': 0.0037174721189591076,\n",
758 | " 'Press_speed': 0.01858736059479554,\n",
759 | " 'Proof_cut': 0.10037174721189591,\n",
760 | " 'Roller_durometer': 0.10037174721189591,\n",
761 | " 'Roughness': 0.055762081784386616,\n",
762 | " 'Solvent_pct': 0.10223048327137546,\n",
763 | " 'Varnish_pct': 0.10223048327137546,\n",
764 | " 'Viscosity': 0.00929368029739777,\n",
765 | " 'Wax': 0.011152416356877323,\n",
766 | " 'bands': 0.0}\n",
767 | "{}\n",
768 | "{}\n"
769 | ]
770 | }
771 | ],
772 | "source": [
773 | "# Print basic attributes\n",
774 | "pprint(imp_df.prop_missing)\n",
775 | "print imp_df.imputed_values\n",
776 | "print imp_df.imputation_scores"
777 | ]
778 | },
779 | {
780 | "cell_type": "code",
781 | "execution_count": 48,
782 | "metadata": {
783 | "collapsed": false
784 | },
785 | "outputs": [
786 | {
787 | "data": {
788 | "text/html": [
789 | "\n",
790 | "
\n",
791 | " \n",
792 | " \n",
793 | " | \n",
794 | " Proof_cut | \n",
795 | " Viscosity | \n",
796 | " Caliper | \n",
797 | " Ink_temperature | \n",
798 | " Humifity | \n",
799 | " Roughness | \n",
800 | " Blade_pressure | \n",
801 | " Varnish_pct | \n",
802 | " Press_speed | \n",
803 | " Ink_pct | \n",
804 | " Solvent_pct | \n",
805 | " Esa_voltage | \n",
806 | " ESA_amperage | \n",
807 | " Wax | \n",
808 | " Hardener | \n",
809 | " Roller_durometer | \n",
810 | " Density | \n",
811 | " Anode_ratio | \n",
812 | " Chrome_content | \n",
813 | " bands | \n",
814 | "
\n",
815 | " \n",
816 | " \n",
817 | " \n",
818 | " | 0 | \n",
819 | " 55.000000 | \n",
820 | " 46 | \n",
821 | " 0.300 | \n",
822 | " 15.0 | \n",
823 | " 80 | \n",
824 | " 0.750000 | \n",
825 | " 20.000000 | \n",
826 | " 6.6 | \n",
827 | " 1900 | \n",
828 | " 54.9 | \n",
829 | " 38.5 | \n",
830 | " 0.0 | \n",
831 | " 0 | \n",
832 | " 2.5 | \n",
833 | " 0.7 | \n",
834 | " 34 | \n",
835 | " 40 | \n",
836 | " 105.00 | \n",
837 | " 100 | \n",
838 | " 0 | \n",
839 | "
\n",
840 | " \n",
841 | " | 1 | \n",
842 | " 62.000000 | \n",
843 | " 40 | \n",
844 | " 0.433 | \n",
845 | " 16.0 | \n",
846 | " 80 | \n",
847 | " 0.724238 | \n",
848 | " 30.000000 | \n",
849 | " 6.5 | \n",
850 | " 1850 | \n",
851 | " 53.8 | \n",
852 | " 39.8 | \n",
853 | " 0.0 | \n",
854 | " 0 | \n",
855 | " 2.8 | \n",
856 | " 0.9 | \n",
857 | " 40 | \n",
858 | " 40 | \n",
859 | " 103.87 | \n",
860 | " 100 | \n",
861 | " 0 | \n",
862 | "
\n",
863 | " \n",
864 | " | 2 | \n",
865 | " 52.000000 | \n",
866 | " 40 | \n",
867 | " 0.300 | \n",
868 | " 16.0 | \n",
869 | " 75 | \n",
870 | " 0.312000 | \n",
871 | " 30.000000 | \n",
872 | " 5.6 | \n",
873 | " 1467 | \n",
874 | " 55.6 | \n",
875 | " 38.8 | \n",
876 | " 0.0 | \n",
877 | " 0 | \n",
878 | " 2.5 | \n",
879 | " 1.3 | \n",
880 | " 40 | \n",
881 | " 40 | \n",
882 | " 108.06 | \n",
883 | " 100 | \n",
884 | " 0 | \n",
885 | "
\n",
886 | " \n",
887 | " | 3 | \n",
888 | " 50.000000 | \n",
889 | " 46 | \n",
890 | " 0.300 | \n",
891 | " 17.0 | \n",
892 | " 80 | \n",
893 | " 0.750000 | \n",
894 | " 30.000000 | \n",
895 | " 0.0 | \n",
896 | " 2100 | \n",
897 | " 57.5 | \n",
898 | " 42.5 | \n",
899 | " 5.0 | \n",
900 | " 0 | \n",
901 | " 2.3 | \n",
902 | " 0.6 | \n",
903 | " 35 | \n",
904 | " 40 | \n",
905 | " 106.67 | \n",
906 | " 100 | \n",
907 | " 0 | \n",
908 | "
\n",
909 | " \n",
910 | " | 4 | \n",
911 | " 50.000000 | \n",
912 | " 40 | \n",
913 | " 0.267 | \n",
914 | " 16.8 | \n",
915 | " 76 | \n",
916 | " 0.438000 | \n",
917 | " 28.000000 | \n",
918 | " 8.6 | \n",
919 | " 1467 | \n",
920 | " 53.8 | \n",
921 | " 37.6 | \n",
922 | " 5.0 | \n",
923 | " 0 | \n",
924 | " 2.5 | \n",
925 | " 0.8 | \n",
926 | " 40 | \n",
927 | " 40 | \n",
928 | " 103.87 | \n",
929 | " 100 | \n",
930 | " 0 | \n",
931 | "
\n",
932 | " \n",
933 | " | 5 | \n",
934 | " 50.000000 | \n",
935 | " 46 | \n",
936 | " 0.300 | \n",
937 | " 16.5 | \n",
938 | " 75 | \n",
939 | " 0.750000 | \n",
940 | " 30.000000 | \n",
941 | " 0.0 | \n",
942 | " 2600 | \n",
943 | " 62.5 | \n",
944 | " 37.5 | \n",
945 | " 6.0 | \n",
946 | " 0 | \n",
947 | " 2.5 | \n",
948 | " 0.6 | \n",
949 | " 30 | \n",
950 | " 40 | \n",
951 | " 106.67 | \n",
952 | " 100 | \n",
953 | " 0 | \n",
954 | "
\n",
955 | " \n",
956 | " | 6 | \n",
957 | " 50.000000 | \n",
958 | " 46 | \n",
959 | " 0.200 | \n",
960 | " 16.5 | \n",
961 | " 75 | \n",
962 | " 0.750000 | \n",
963 | " 28.000000 | \n",
964 | " 0.0 | \n",
965 | " 2600 | \n",
966 | " 62.5 | \n",
967 | " 37.5 | \n",
968 | " 6.0 | \n",
969 | " 0 | \n",
970 | " 2.5 | \n",
971 | " 1.1 | \n",
972 | " 30 | \n",
973 | " 40 | \n",
974 | " 106.67 | \n",
975 | " 100 | \n",
976 | " 0 | \n",
977 | "
\n",
978 | " \n",
979 | " | 7 | \n",
980 | " 50.000000 | \n",
981 | " 45 | \n",
982 | " 0.367 | \n",
983 | " 12.0 | \n",
984 | " 70 | \n",
985 | " 0.750000 | \n",
986 | " 60.000000 | \n",
987 | " 0.0 | \n",
988 | " 1650 | \n",
989 | " 60.2 | \n",
990 | " 39.8 | \n",
991 | " 1.5 | \n",
992 | " 0 | \n",
993 | " 3.0 | \n",
994 | " 1.0 | \n",
995 | " 40 | \n",
996 | " 40 | \n",
997 | " 103.22 | \n",
998 | " 100 | \n",
999 | " 1 | \n",
1000 | "
\n",
1001 | " \n",
1002 | " | 8 | \n",
1003 | " 65.000000 | \n",
1004 | " 43 | \n",
1005 | " 0.333 | \n",
1006 | " 16.0 | \n",
1007 | " 75 | \n",
1008 | " 1.000000 | \n",
1009 | " 32.000000 | \n",
1010 | " 22.7 | \n",
1011 | " 1750 | \n",
1012 | " 45.5 | \n",
1013 | " 31.8 | \n",
1014 | " 0.0 | \n",
1015 | " 0 | \n",
1016 | " 3.0 | \n",
1017 | " 1.0 | \n",
1018 | " 38 | \n",
1019 | " 40 | \n",
1020 | " 106.66 | \n",
1021 | " 100 | \n",
1022 | " 0 | \n",
1023 | "
\n",
1024 | " \n",
1025 | " | 9 | \n",
1026 | " 65.000000 | \n",
1027 | " 43 | \n",
1028 | " 0.200 | \n",
1029 | " 16.0 | \n",
1030 | " 68 | \n",
1031 | " 0.750000 | \n",
1032 | " 30.000000 | \n",
1033 | " 15.5 | \n",
1034 | " 1750 | \n",
1035 | " 48.5 | \n",
1036 | " 35.9 | \n",
1037 | " 0.0 | \n",
1038 | " 0 | \n",
1039 | " 3.0 | \n",
1040 | " 1.0 | \n",
1041 | " 38 | \n",
1042 | " 40 | \n",
1043 | " 106.60 | \n",
1044 | " 100 | \n",
1045 | " 0 | \n",
1046 | "
\n",
1047 | " \n",
1048 | " | 10 | \n",
1049 | " 50.000000 | \n",
1050 | " 50 | \n",
1051 | " 0.367 | \n",
1052 | " 14.0 | \n",
1053 | " 80 | \n",
1054 | " 0.750000 | \n",
1055 | " 40.000000 | \n",
1056 | " 10.5 | \n",
1057 | " 1700 | \n",
1058 | " 52.6 | \n",
1059 | " 36.8 | \n",
1060 | " 0.0 | \n",
1061 | " 0 | \n",
1062 | " 2.5 | \n",
1063 | " 1.0 | \n",
1064 | " 38 | \n",
1065 | " 40 | \n",
1066 | " 105.00 | \n",
1067 | " 100 | \n",
1068 | " 1 | \n",
1069 | "
\n",
1070 | " \n",
1071 | " | 11 | \n",
1072 | " 50.000000 | \n",
1073 | " 50 | \n",
1074 | " 0.300 | \n",
1075 | " 15.0 | \n",
1076 | " 70 | \n",
1077 | " 1.000000 | \n",
1078 | " 30.000000 | \n",
1079 | " 10.0 | \n",
1080 | " 1600 | \n",
1081 | " 50.0 | \n",
1082 | " 40.0 | \n",
1083 | " 0.0 | \n",
1084 | " 0 | \n",
1085 | " 2.8 | \n",
1086 | " 1.0 | \n",
1087 | " 38 | \n",
1088 | " 40 | \n",
1089 | " 106.66 | \n",
1090 | " 100 | \n",
1091 | " 1 | \n",
1092 | "
\n",
1093 | " \n",
1094 | " | 12 | \n",
1095 | " 40.000000 | \n",
1096 | " 45 | \n",
1097 | " 0.300 | \n",
1098 | " 14.5 | \n",
1099 | " 70 | \n",
1100 | " 0.625000 | \n",
1101 | " 25.000000 | \n",
1102 | " 0.0 | \n",
1103 | " 1500 | \n",
1104 | " 59.5 | \n",
1105 | " 40.5 | \n",
1106 | " 0.0 | \n",
1107 | " 0 | \n",
1108 | " 2.0 | \n",
1109 | " 1.0 | \n",
1110 | " 40 | \n",
1111 | " 40 | \n",
1112 | " 100.00 | \n",
1113 | " 100 | \n",
1114 | " 1 | \n",
1115 | "
\n",
1116 | " \n",
1117 | " | 13 | \n",
1118 | " 50.000000 | \n",
1119 | " 43 | \n",
1120 | " 0.267 | \n",
1121 | " 16.0 | \n",
1122 | " 75 | \n",
1123 | " 1.000000 | \n",
1124 | " 20.000000 | \n",
1125 | " 15.8 | \n",
1126 | " 1600 | \n",
1127 | " 49.5 | \n",
1128 | " 34.7 | \n",
1129 | " 0.0 | \n",
1130 | " 0 | \n",
1131 | " 2.5 | \n",
1132 | " 1.0 | \n",
1133 | " 38 | \n",
1134 | " 40 | \n",
1135 | " 103.22 | \n",
1136 | " 100 | \n",
1137 | " 0 | \n",
1138 | "
\n",
1139 | " \n",
1140 | " | 14 | \n",
1141 | " 45.015496 | \n",
1142 | " 45 | \n",
1143 | " 0.233 | \n",
1144 | " 15.0 | \n",
1145 | " 87 | \n",
1146 | " 1.000000 | \n",
1147 | " 30.930526 | \n",
1148 | " 0.0 | \n",
1149 | " 1400 | \n",
1150 | " 62.5 | \n",
1151 | " 37.5 | \n",
1152 | " 0.0 | \n",
1153 | " 0 | \n",
1154 | " 2.5 | \n",
1155 | " 1.0 | \n",
1156 | " 40 | \n",
1157 | " 40 | \n",
1158 | " 103.22 | \n",
1159 | " 100 | \n",
1160 | " 1 | \n",
1161 | "
\n",
1162 | " \n",
1163 | " | 15 | \n",
1164 | " 30.000000 | \n",
1165 | " 45 | \n",
1166 | " 0.200 | \n",
1167 | " 14.0 | \n",
1168 | " 65 | \n",
1169 | " 0.724238 | \n",
1170 | " 30.930526 | \n",
1171 | " 0.0 | \n",
1172 | " 1600 | \n",
1173 | " 62.5 | \n",
1174 | " 37.5 | \n",
1175 | " 0.0 | \n",
1176 | " 0 | \n",
1177 | " 2.5 | \n",
1178 | " 0.8 | \n",
1179 | " 33 | \n",
1180 | " 40 | \n",
1181 | " 100.00 | \n",
1182 | " 100 | \n",
1183 | " 0 | \n",
1184 | "
\n",
1185 | " \n",
1186 | " | 16 | \n",
1187 | " 30.000000 | \n",
1188 | " 45 | \n",
1189 | " 0.200 | \n",
1190 | " 15.5 | \n",
1191 | " 65 | \n",
1192 | " 0.724238 | \n",
1193 | " 30.930526 | \n",
1194 | " 5.9 | \n",
1195 | " 1600 | \n",
1196 | " 58.8 | \n",
1197 | " 35.3 | \n",
1198 | " 0.0 | \n",
1199 | " 0 | \n",
1200 | " 2.5 | \n",
1201 | " 1.8 | \n",
1202 | " 33 | \n",
1203 | " 40 | \n",
1204 | " 100.00 | \n",
1205 | " 100 | \n",
1206 | " 0 | \n",
1207 | "
\n",
1208 | " \n",
1209 | " | 17 | \n",
1210 | " 60.000000 | \n",
1211 | " 38 | \n",
1212 | " 0.267 | \n",
1213 | " 16.4 | \n",
1214 | " 64 | \n",
1215 | " 0.750000 | \n",
1216 | " 30.930526 | \n",
1217 | " 11.0 | \n",
1218 | " 1400 | \n",
1219 | " 54.9 | \n",
1220 | " 34.1 | \n",
1221 | " 0.0 | \n",
1222 | " 0 | \n",
1223 | " 2.5 | \n",
1224 | " 1.0 | \n",
1225 | " 32 | \n",
1226 | " 40 | \n",
1227 | " 103.22 | \n",
1228 | " 100 | \n",
1229 | " 0 | \n",
1230 | "
\n",
1231 | " \n",
1232 | " | 18 | \n",
1233 | " 60.000000 | \n",
1234 | " 38 | \n",
1235 | " 0.333 | \n",
1236 | " 16.5 | \n",
1237 | " 66 | \n",
1238 | " 0.750000 | \n",
1239 | " 30.930526 | \n",
1240 | " 6.7 | \n",
1241 | " 1400 | \n",
1242 | " 56.2 | \n",
1243 | " 37.1 | \n",
1244 | " 0.0 | \n",
1245 | " 0 | \n",
1246 | " 1.1 | \n",
1247 | " 1.4 | \n",
1248 | " 32 | \n",
1249 | " 40 | \n",
1250 | " 103.22 | \n",
1251 | " 100 | \n",
1252 | " 0 | \n",
1253 | "
\n",
1254 | " \n",
1255 | " | 19 | \n",
1256 | " 50.000000 | \n",
1257 | " 45 | \n",
1258 | " 0.233 | \n",
1259 | " 16.0 | \n",
1260 | " 70 | \n",
1261 | " 0.812000 | \n",
1262 | " 30.000000 | \n",
1263 | " 0.0 | \n",
1264 | " 2400 | \n",
1265 | " 58.8 | \n",
1266 | " 41.2 | \n",
1267 | " 0.0 | \n",
1268 | " 0 | \n",
1269 | " 1.7 | \n",
1270 | " 1.0 | \n",
1271 | " 30 | \n",
1272 | " 40 | \n",
1273 | " 107.40 | \n",
1274 | " 100 | \n",
1275 | " 0 | \n",
1276 | "
\n",
1277 | " \n",
1278 | "
\n",
1279 | "
"
1280 | ],
1281 | "text/plain": [
1282 | " Proof_cut Viscosity Caliper Ink_temperature Humifity Roughness \\\n",
1283 | "0 55.000000 46 0.300 15.0 80 0.750000 \n",
1284 | "1 62.000000 40 0.433 16.0 80 0.724238 \n",
1285 | "2 52.000000 40 0.300 16.0 75 0.312000 \n",
1286 | "3 50.000000 46 0.300 17.0 80 0.750000 \n",
1287 | "4 50.000000 40 0.267 16.8 76 0.438000 \n",
1288 | "5 50.000000 46 0.300 16.5 75 0.750000 \n",
1289 | "6 50.000000 46 0.200 16.5 75 0.750000 \n",
1290 | "7 50.000000 45 0.367 12.0 70 0.750000 \n",
1291 | "8 65.000000 43 0.333 16.0 75 1.000000 \n",
1292 | "9 65.000000 43 0.200 16.0 68 0.750000 \n",
1293 | "10 50.000000 50 0.367 14.0 80 0.750000 \n",
1294 | "11 50.000000 50 0.300 15.0 70 1.000000 \n",
1295 | "12 40.000000 45 0.300 14.5 70 0.625000 \n",
1296 | "13 50.000000 43 0.267 16.0 75 1.000000 \n",
1297 | "14 45.015496 45 0.233 15.0 87 1.000000 \n",
1298 | "15 30.000000 45 0.200 14.0 65 0.724238 \n",
1299 | "16 30.000000 45 0.200 15.5 65 0.724238 \n",
1300 | "17 60.000000 38 0.267 16.4 64 0.750000 \n",
1301 | "18 60.000000 38 0.333 16.5 66 0.750000 \n",
1302 | "19 50.000000 45 0.233 16.0 70 0.812000 \n",
1303 | "\n",
1304 | " Blade_pressure Varnish_pct Press_speed Ink_pct Solvent_pct \\\n",
1305 | "0 20.000000 6.6 1900 54.9 38.5 \n",
1306 | "1 30.000000 6.5 1850 53.8 39.8 \n",
1307 | "2 30.000000 5.6 1467 55.6 38.8 \n",
1308 | "3 30.000000 0.0 2100 57.5 42.5 \n",
1309 | "4 28.000000 8.6 1467 53.8 37.6 \n",
1310 | "5 30.000000 0.0 2600 62.5 37.5 \n",
1311 | "6 28.000000 0.0 2600 62.5 37.5 \n",
1312 | "7 60.000000 0.0 1650 60.2 39.8 \n",
1313 | "8 32.000000 22.7 1750 45.5 31.8 \n",
1314 | "9 30.000000 15.5 1750 48.5 35.9 \n",
1315 | "10 40.000000 10.5 1700 52.6 36.8 \n",
1316 | "11 30.000000 10.0 1600 50.0 40.0 \n",
1317 | "12 25.000000 0.0 1500 59.5 40.5 \n",
1318 | "13 20.000000 15.8 1600 49.5 34.7 \n",
1319 | "14 30.930526 0.0 1400 62.5 37.5 \n",
1320 | "15 30.930526 0.0 1600 62.5 37.5 \n",
1321 | "16 30.930526 5.9 1600 58.8 35.3 \n",
1322 | "17 30.930526 11.0 1400 54.9 34.1 \n",
1323 | "18 30.930526 6.7 1400 56.2 37.1 \n",
1324 | "19 30.000000 0.0 2400 58.8 41.2 \n",
1325 | "\n",
1326 | " Esa_voltage ESA_amperage Wax Hardener Roller_durometer Density \\\n",
1327 | "0 0.0 0 2.5 0.7 34 40 \n",
1328 | "1 0.0 0 2.8 0.9 40 40 \n",
1329 | "2 0.0 0 2.5 1.3 40 40 \n",
1330 | "3 5.0 0 2.3 0.6 35 40 \n",
1331 | "4 5.0 0 2.5 0.8 40 40 \n",
1332 | "5 6.0 0 2.5 0.6 30 40 \n",
1333 | "6 6.0 0 2.5 1.1 30 40 \n",
1334 | "7 1.5 0 3.0 1.0 40 40 \n",
1335 | "8 0.0 0 3.0 1.0 38 40 \n",
1336 | "9 0.0 0 3.0 1.0 38 40 \n",
1337 | "10 0.0 0 2.5 1.0 38 40 \n",
1338 | "11 0.0 0 2.8 1.0 38 40 \n",
1339 | "12 0.0 0 2.0 1.0 40 40 \n",
1340 | "13 0.0 0 2.5 1.0 38 40 \n",
1341 | "14 0.0 0 2.5 1.0 40 40 \n",
1342 | "15 0.0 0 2.5 0.8 33 40 \n",
1343 | "16 0.0 0 2.5 1.8 33 40 \n",
1344 | "17 0.0 0 2.5 1.0 32 40 \n",
1345 | "18 0.0 0 1.1 1.4 32 40 \n",
1346 | "19 0.0 0 1.7 1.0 30 40 \n",
1347 | "\n",
1348 | " Anode_ratio Chrome_content bands \n",
1349 | "0 105.00 100 0 \n",
1350 | "1 103.87 100 0 \n",
1351 | "2 108.06 100 0 \n",
1352 | "3 106.67 100 0 \n",
1353 | "4 103.87 100 0 \n",
1354 | "5 106.67 100 0 \n",
1355 | "6 106.67 100 0 \n",
1356 | "7 103.22 100 1 \n",
1357 | "8 106.66 100 0 \n",
1358 | "9 106.60 100 0 \n",
1359 | "10 105.00 100 1 \n",
1360 | "11 106.66 100 1 \n",
1361 | "12 100.00 100 1 \n",
1362 | "13 103.22 100 0 \n",
1363 | "14 103.22 100 1 \n",
1364 | "15 100.00 100 0 \n",
1365 | "16 100.00 100 0 \n",
1366 | "17 103.22 100 0 \n",
1367 | "18 103.22 100 0 \n",
1368 | "19 107.40 100 0 "
1369 | ]
1370 | },
1371 | "execution_count": 48,
1372 | "metadata": {},
1373 | "output_type": "execute_result"
1374 | }
1375 | ],
1376 | "source": [
1377 | "# Mean mode impute\n",
1378 | "imp_df.impute('simple')\n",
1379 | "imp_df.imputed_df().head(20)"
1380 | ]
1381 | },
1382 | {
1383 | "cell_type": "code",
1384 | "execution_count": 49,
1385 | "metadata": {
1386 | "collapsed": false
1387 | },
1388 | "outputs": [
1389 | {
1390 | "name": "stdout",
1391 | "output_type": "stream",
1392 | "text": [
1393 | "--------------------------------------------------\n",
1394 | "Starting Random Forest Imputation\n",
1395 | "--------------------------------------------------\n",
1396 | "Iteration 1:\n",
1397 | "..........\n",
1398 | "Categorical divergence: 0.000000\n",
1399 | "Continuous divergence: 0.011534\n",
1400 | "Iteration 2:\n",
1401 | "..........\n",
1402 | "Categorical divergence: 0.000000\n",
1403 | "Continuous divergence: 0.002721\n",
1404 | "Iteration 3:\n",
1405 | "..........\n",
1406 | "Categorical divergence: 0.000000\n",
1407 | "Continuous divergence: 0.002200\n",
1408 | "Iteration 4:\n",
1409 | "..........\n",
1410 | "Categorical divergence: 0.000000\n",
1411 | "Continuous divergence: 0.002740\n"
1412 | ]
1413 | },
1414 | {
1415 | "data": {
1416 | "text/html": [
1417 | "\n",
1418 | "
\n",
1419 | " \n",
1420 | " \n",
1421 | " | \n",
1422 | " Proof_cut | \n",
1423 | " Viscosity | \n",
1424 | " Caliper | \n",
1425 | " Ink_temperature | \n",
1426 | " Humifity | \n",
1427 | " Roughness | \n",
1428 | " Blade_pressure | \n",
1429 | " Varnish_pct | \n",
1430 | " Press_speed | \n",
1431 | " Ink_pct | \n",
1432 | " Solvent_pct | \n",
1433 | " Esa_voltage | \n",
1434 | " ESA_amperage | \n",
1435 | " Wax | \n",
1436 | " Hardener | \n",
1437 | " Roller_durometer | \n",
1438 | " Density | \n",
1439 | " Anode_ratio | \n",
1440 | " Chrome_content | \n",
1441 | " bands | \n",
1442 | "
\n",
1443 | " \n",
1444 | " \n",
1445 | " \n",
1446 | " | 0 | \n",
1447 | " 55.000000 | \n",
1448 | " 46.000000 | \n",
1449 | " 0.300000 | \n",
1450 | " 15.00 | \n",
1451 | " 80 | \n",
1452 | " 0.750000 | \n",
1453 | " 20.000000 | \n",
1454 | " 6.600000 | \n",
1455 | " 1900 | \n",
1456 | " 54.900000 | \n",
1457 | " 38.500000 | \n",
1458 | " 0.000000 | \n",
1459 | " 0.000000 | \n",
1460 | " 2.50 | \n",
1461 | " 0.700000 | \n",
1462 | " 34.000000 | \n",
1463 | " 40 | \n",
1464 | " 105.000 | \n",
1465 | " 100.000 | \n",
1466 | " 0 | \n",
1467 | "
\n",
1468 | " \n",
1469 | " | 1 | \n",
1470 | " 62.000000 | \n",
1471 | " 40.000000 | \n",
1472 | " 0.433000 | \n",
1473 | " 16.00 | \n",
1474 | " 80 | \n",
1475 | " 0.570250 | \n",
1476 | " 30.000000 | \n",
1477 | " 6.500000 | \n",
1478 | " 1850 | \n",
1479 | " 53.800000 | \n",
1480 | " 39.800000 | \n",
1481 | " 0.000000 | \n",
1482 | " 0.000000 | \n",
1483 | " 2.80 | \n",
1484 | " 0.900000 | \n",
1485 | " 40.000000 | \n",
1486 | " 40 | \n",
1487 | " 103.870 | \n",
1488 | " 100.000 | \n",
1489 | " 0 | \n",
1490 | "
\n",
1491 | " \n",
1492 | " | 2 | \n",
1493 | " 52.000000 | \n",
1494 | " 40.000000 | \n",
1495 | " 0.300000 | \n",
1496 | " 16.00 | \n",
1497 | " 75 | \n",
1498 | " 0.312000 | \n",
1499 | " 30.000000 | \n",
1500 | " 5.600000 | \n",
1501 | " 1467 | \n",
1502 | " 55.600000 | \n",
1503 | " 38.800000 | \n",
1504 | " 0.000000 | \n",
1505 | " 0.000000 | \n",
1506 | " 2.50 | \n",
1507 | " 1.300000 | \n",
1508 | " 40.000000 | \n",
1509 | " 40 | \n",
1510 | " 108.060 | \n",
1511 | " 100.000 | \n",
1512 | " 0 | \n",
1513 | "
\n",
1514 | " \n",
1515 | " | 3 | \n",
1516 | " 50.000000 | \n",
1517 | " 46.000000 | \n",
1518 | " 0.300000 | \n",
1519 | " 17.00 | \n",
1520 | " 80 | \n",
1521 | " 0.750000 | \n",
1522 | " 30.000000 | \n",
1523 | " 0.000000 | \n",
1524 | " 2100 | \n",
1525 | " 57.500000 | \n",
1526 | " 42.500000 | \n",
1527 | " 5.000000 | \n",
1528 | " 0.000000 | \n",
1529 | " 2.30 | \n",
1530 | " 0.600000 | \n",
1531 | " 35.000000 | \n",
1532 | " 40 | \n",
1533 | " 106.670 | \n",
1534 | " 100.000 | \n",
1535 | " 0 | \n",
1536 | "
\n",
1537 | " \n",
1538 | " | 4 | \n",
1539 | " 50.000000 | \n",
1540 | " 40.000000 | \n",
1541 | " 0.267000 | \n",
1542 | " 16.80 | \n",
1543 | " 76 | \n",
1544 | " 0.438000 | \n",
1545 | " 28.000000 | \n",
1546 | " 8.600000 | \n",
1547 | " 1467 | \n",
1548 | " 53.800000 | \n",
1549 | " 37.600000 | \n",
1550 | " 5.000000 | \n",
1551 | " 0.000000 | \n",
1552 | " 2.50 | \n",
1553 | " 0.800000 | \n",
1554 | " 40.000000 | \n",
1555 | " 40 | \n",
1556 | " 103.870 | \n",
1557 | " 100.000 | \n",
1558 | " 0 | \n",
1559 | "
\n",
1560 | " \n",
1561 | " | 5 | \n",
1562 | " 50.000000 | \n",
1563 | " 46.000000 | \n",
1564 | " 0.300000 | \n",
1565 | " 16.50 | \n",
1566 | " 75 | \n",
1567 | " 0.750000 | \n",
1568 | " 30.000000 | \n",
1569 | " 0.000000 | \n",
1570 | " 2600 | \n",
1571 | " 62.500000 | \n",
1572 | " 37.500000 | \n",
1573 | " 6.000000 | \n",
1574 | " 0.000000 | \n",
1575 | " 2.50 | \n",
1576 | " 0.600000 | \n",
1577 | " 30.000000 | \n",
1578 | " 40 | \n",
1579 | " 106.670 | \n",
1580 | " 100.000 | \n",
1581 | " 0 | \n",
1582 | "
\n",
1583 | " \n",
1584 | " | 6 | \n",
1585 | " 50.000000 | \n",
1586 | " 46.000000 | \n",
1587 | " 0.200000 | \n",
1588 | " 16.50 | \n",
1589 | " 75 | \n",
1590 | " 0.750000 | \n",
1591 | " 28.000000 | \n",
1592 | " 0.000000 | \n",
1593 | " 2600 | \n",
1594 | " 62.500000 | \n",
1595 | " 37.500000 | \n",
1596 | " 6.000000 | \n",
1597 | " 0.000000 | \n",
1598 | " 2.50 | \n",
1599 | " 1.100000 | \n",
1600 | " 30.000000 | \n",
1601 | " 40 | \n",
1602 | " 106.670 | \n",
1603 | " 100.000 | \n",
1604 | " 0 | \n",
1605 | "
\n",
1606 | " \n",
1607 | " | 7 | \n",
1608 | " 50.000000 | \n",
1609 | " 45.000000 | \n",
1610 | " 0.367000 | \n",
1611 | " 12.00 | \n",
1612 | " 70 | \n",
1613 | " 0.750000 | \n",
1614 | " 60.000000 | \n",
1615 | " 0.000000 | \n",
1616 | " 1650 | \n",
1617 | " 60.200000 | \n",
1618 | " 39.800000 | \n",
1619 | " 1.500000 | \n",
1620 | " 0.000000 | \n",
1621 | " 3.00 | \n",
1622 | " 1.000000 | \n",
1623 | " 40.000000 | \n",
1624 | " 40 | \n",
1625 | " 103.220 | \n",
1626 | " 100.000 | \n",
1627 | " 1 | \n",
1628 | "
\n",
1629 | " \n",
1630 | " | 8 | \n",
1631 | " 65.000000 | \n",
1632 | " 43.000000 | \n",
1633 | " 0.333000 | \n",
1634 | " 16.00 | \n",
1635 | " 75 | \n",
1636 | " 1.000000 | \n",
1637 | " 32.000000 | \n",
1638 | " 22.700000 | \n",
1639 | " 1750 | \n",
1640 | " 45.500000 | \n",
1641 | " 31.800000 | \n",
1642 | " 0.000000 | \n",
1643 | " 0.000000 | \n",
1644 | " 3.00 | \n",
1645 | " 1.000000 | \n",
1646 | " 38.000000 | \n",
1647 | " 40 | \n",
1648 | " 106.660 | \n",
1649 | " 100.000 | \n",
1650 | " 0 | \n",
1651 | "
\n",
1652 | " \n",
1653 | " | 9 | \n",
1654 | " 65.000000 | \n",
1655 | " 43.000000 | \n",
1656 | " 0.200000 | \n",
1657 | " 16.00 | \n",
1658 | " 68 | \n",
1659 | " 0.750000 | \n",
1660 | " 30.000000 | \n",
1661 | " 15.500000 | \n",
1662 | " 1750 | \n",
1663 | " 48.500000 | \n",
1664 | " 35.900000 | \n",
1665 | " 0.000000 | \n",
1666 | " 0.000000 | \n",
1667 | " 3.00 | \n",
1668 | " 1.000000 | \n",
1669 | " 38.000000 | \n",
1670 | " 40 | \n",
1671 | " 106.600 | \n",
1672 | " 100.000 | \n",
1673 | " 0 | \n",
1674 | "
\n",
1675 | " \n",
1676 | " | 10 | \n",
1677 | " 50.000000 | \n",
1678 | " 50.000000 | \n",
1679 | " 0.367000 | \n",
1680 | " 14.00 | \n",
1681 | " 80 | \n",
1682 | " 0.750000 | \n",
1683 | " 40.000000 | \n",
1684 | " 10.500000 | \n",
1685 | " 1700 | \n",
1686 | " 52.600000 | \n",
1687 | " 36.800000 | \n",
1688 | " 0.000000 | \n",
1689 | " 0.000000 | \n",
1690 | " 2.50 | \n",
1691 | " 1.000000 | \n",
1692 | " 38.000000 | \n",
1693 | " 40 | \n",
1694 | " 105.000 | \n",
1695 | " 100.000 | \n",
1696 | " 1 | \n",
1697 | "
\n",
1698 | " \n",
1699 | " | 11 | \n",
1700 | " 50.000000 | \n",
1701 | " 50.000000 | \n",
1702 | " 0.300000 | \n",
1703 | " 15.00 | \n",
1704 | " 70 | \n",
1705 | " 1.000000 | \n",
1706 | " 30.000000 | \n",
1707 | " 10.000000 | \n",
1708 | " 1600 | \n",
1709 | " 50.000000 | \n",
1710 | " 40.000000 | \n",
1711 | " 0.000000 | \n",
1712 | " 0.000000 | \n",
1713 | " 2.80 | \n",
1714 | " 1.000000 | \n",
1715 | " 38.000000 | \n",
1716 | " 40 | \n",
1717 | " 106.660 | \n",
1718 | " 100.000 | \n",
1719 | " 1 | \n",
1720 | "
\n",
1721 | " \n",
1722 | " | 12 | \n",
1723 | " 40.000000 | \n",
1724 | " 45.000000 | \n",
1725 | " 0.300000 | \n",
1726 | " 14.50 | \n",
1727 | " 70 | \n",
1728 | " 0.625000 | \n",
1729 | " 25.000000 | \n",
1730 | " 0.000000 | \n",
1731 | " 1500 | \n",
1732 | " 59.500000 | \n",
1733 | " 40.500000 | \n",
1734 | " 0.000000 | \n",
1735 | " 0.000000 | \n",
1736 | " 2.00 | \n",
1737 | " 1.000000 | \n",
1738 | " 40.000000 | \n",
1739 | " 40 | \n",
1740 | " 100.000 | \n",
1741 | " 100.000 | \n",
1742 | " 1 | \n",
1743 | "
\n",
1744 | " \n",
1745 | " | 13 | \n",
1746 | " 50.000000 | \n",
1747 | " 43.000000 | \n",
1748 | " 0.267000 | \n",
1749 | " 16.00 | \n",
1750 | " 75 | \n",
1751 | " 1.000000 | \n",
1752 | " 20.000000 | \n",
1753 | " 15.800000 | \n",
1754 | " 1600 | \n",
1755 | " 49.500000 | \n",
1756 | " 34.700000 | \n",
1757 | " 0.000000 | \n",
1758 | " 0.000000 | \n",
1759 | " 2.50 | \n",
1760 | " 1.000000 | \n",
1761 | " 38.000000 | \n",
1762 | " 40 | \n",
1763 | " 103.220 | \n",
1764 | " 100.000 | \n",
1765 | " 0 | \n",
1766 | "
\n",
1767 | " \n",
1768 | " | 14 | \n",
1769 | " 42.071429 | \n",
1770 | " 45.000000 | \n",
1771 | " 0.233000 | \n",
1772 | " 15.00 | \n",
1773 | " 87 | \n",
1774 | " 1.000000 | \n",
1775 | " 29.075645 | \n",
1776 | " 0.000000 | \n",
1777 | " 1400 | \n",
1778 | " 62.500000 | \n",
1779 | " 37.500000 | \n",
1780 | " 0.000000 | \n",
1781 | " 0.000000 | \n",
1782 | " 2.50 | \n",
1783 | " 1.000000 | \n",
1784 | " 40.000000 | \n",
1785 | " 40 | \n",
1786 | " 103.220 | \n",
1787 | " 100.000 | \n",
1788 | " 1 | \n",
1789 | "
\n",
1790 | " \n",
1791 | " | 15 | \n",
1792 | " 30.000000 | \n",
1793 | " 45.000000 | \n",
1794 | " 0.200000 | \n",
1795 | " 14.00 | \n",
1796 | " 65 | \n",
1797 | " 0.770844 | \n",
1798 | " 36.700282 | \n",
1799 | " 0.000000 | \n",
1800 | " 1600 | \n",
1801 | " 62.500000 | \n",
1802 | " 37.500000 | \n",
1803 | " 0.000000 | \n",
1804 | " 0.000000 | \n",
1805 | " 2.50 | \n",
1806 | " 0.800000 | \n",
1807 | " 33.000000 | \n",
1808 | " 40 | \n",
1809 | " 100.000 | \n",
1810 | " 100.000 | \n",
1811 | " 0 | \n",
1812 | "
\n",
1813 | " \n",
1814 | " | 16 | \n",
1815 | " 30.000000 | \n",
1816 | " 45.000000 | \n",
1817 | " 0.200000 | \n",
1818 | " 15.50 | \n",
1819 | " 65 | \n",
1820 | " 0.834662 | \n",
1821 | " 32.636215 | \n",
1822 | " 5.900000 | \n",
1823 | " 1600 | \n",
1824 | " 58.800000 | \n",
1825 | " 35.300000 | \n",
1826 | " 0.000000 | \n",
1827 | " 0.000000 | \n",
1828 | " 2.50 | \n",
1829 | " 1.800000 | \n",
1830 | " 33.000000 | \n",
1831 | " 40 | \n",
1832 | " 100.000 | \n",
1833 | " 100.000 | \n",
1834 | " 0 | \n",
1835 | "
\n",
1836 | " \n",
1837 | " | 17 | \n",
1838 | " 60.000000 | \n",
1839 | " 38.000000 | \n",
1840 | " 0.267000 | \n",
1841 | " 16.40 | \n",
1842 | " 64 | \n",
1843 | " 0.750000 | \n",
1844 | " 28.109982 | \n",
1845 | " 11.000000 | \n",
1846 | " 1400 | \n",
1847 | " 54.900000 | \n",
1848 | " 34.100000 | \n",
1849 | " 0.000000 | \n",
1850 | " 0.000000 | \n",
1851 | " 2.50 | \n",
1852 | " 1.000000 | \n",
1853 | " 32.000000 | \n",
1854 | " 40 | \n",
1855 | " 103.220 | \n",
1856 | " 100.000 | \n",
1857 | " 0 | \n",
1858 | "
\n",
1859 | " \n",
1860 | " | 18 | \n",
1861 | " 60.000000 | \n",
1862 | " 38.000000 | \n",
1863 | " 0.333000 | \n",
1864 | " 16.50 | \n",
1865 | " 66 | \n",
1866 | " 0.750000 | \n",
1867 | " 34.185481 | \n",
1868 | " 6.700000 | \n",
1869 | " 1400 | \n",
1870 | " 56.200000 | \n",
1871 | " 37.100000 | \n",
1872 | " 0.000000 | \n",
1873 | " 0.000000 | \n",
1874 | " 1.10 | \n",
1875 | " 1.400000 | \n",
1876 | " 32.000000 | \n",
1877 | " 40 | \n",
1878 | " 103.220 | \n",
1879 | " 100.000 | \n",
1880 | " 0 | \n",
1881 | "
\n",
1882 | " \n",
1883 | " | 19 | \n",
1884 | " 50.000000 | \n",
1885 | " 45.000000 | \n",
1886 | " 0.233000 | \n",
1887 | " 16.00 | \n",
1888 | " 70 | \n",
1889 | " 0.812000 | \n",
1890 | " 30.000000 | \n",
1891 | " 0.000000 | \n",
1892 | " 2400 | \n",
1893 | " 58.800000 | \n",
1894 | " 41.200000 | \n",
1895 | " 0.000000 | \n",
1896 | " 0.000000 | \n",
1897 | " 1.70 | \n",
1898 | " 1.000000 | \n",
1899 | " 30.000000 | \n",
1900 | " 40 | \n",
1901 | " 107.400 | \n",
1902 | " 100.000 | \n",
1903 | " 0 | \n",
1904 | "
\n",
1905 | " \n",
1906 | " | 20 | \n",
1907 | " 40.000000 | \n",
1908 | " 45.000000 | \n",
1909 | " 0.200000 | \n",
1910 | " 15.00 | \n",
1911 | " 76 | \n",
1912 | " 0.812000 | \n",
1913 | " 30.000000 | \n",
1914 | " 0.000000 | \n",
1915 | " 2400 | \n",
1916 | " 62.500000 | \n",
1917 | " 37.500000 | \n",
1918 | " 0.000000 | \n",
1919 | " 0.000000 | \n",
1920 | " 1.00 | \n",
1921 | " 1.000000 | \n",
1922 | " 30.000000 | \n",
1923 | " 40 | \n",
1924 | " 107.400 | \n",
1925 | " 100.000 | \n",
1926 | " 0 | \n",
1927 | "
\n",
1928 | " \n",
1929 | " | 21 | \n",
1930 | " 30.000000 | \n",
1931 | " 43.000000 | \n",
1932 | " 0.200000 | \n",
1933 | " 16.30 | \n",
1934 | " 70 | \n",
1935 | " 0.812000 | \n",
1936 | " 25.000000 | \n",
1937 | " 1.200000 | \n",
1938 | " 2200 | \n",
1939 | " 58.100000 | \n",
1940 | " 40.700000 | \n",
1941 | " 4.000000 | \n",
1942 | " 0.000000 | \n",
1943 | " 2.00 | \n",
1944 | " 1.000000 | \n",
1945 | " 30.000000 | \n",
1946 | " 40 | \n",
1947 | " 96.875 | \n",
1948 | " 100.000 | \n",
1949 | " 0 | \n",
1950 | "
\n",
1951 | " \n",
1952 | " | 22 | \n",
1953 | " 40.000000 | \n",
1954 | " 41.000000 | \n",
1955 | " 0.200000 | \n",
1956 | " 15.80 | \n",
1957 | " 72 | \n",
1958 | " 1.000000 | \n",
1959 | " 30.000000 | \n",
1960 | " 0.000000 | \n",
1961 | " 2000 | \n",
1962 | " 62.500000 | \n",
1963 | " 37.500000 | \n",
1964 | " 0.000000 | \n",
1965 | " 0.000000 | \n",
1966 | " 2.50 | \n",
1967 | " 1.000000 | \n",
1968 | " 30.000000 | \n",
1969 | " 40 | \n",
1970 | " 107.400 | \n",
1971 | " 100.000 | \n",
1972 | " 1 | \n",
1973 | "
\n",
1974 | " \n",
1975 | " | 23 | \n",
1976 | " 40.000000 | \n",
1977 | " 42.000000 | \n",
1978 | " 0.200000 | \n",
1979 | " 14.50 | \n",
1980 | " 74 | \n",
1981 | " 1.000000 | \n",
1982 | " 25.000000 | \n",
1983 | " 8.000000 | \n",
1984 | " 2100 | \n",
1985 | " 57.500000 | \n",
1986 | " 34.500000 | \n",
1987 | " 0.000000 | \n",
1988 | " 0.000000 | \n",
1989 | " 2.30 | \n",
1990 | " 0.700000 | \n",
1991 | " 35.000000 | \n",
1992 | " 40 | \n",
1993 | " 107.400 | \n",
1994 | " 100.000 | \n",
1995 | " 1 | \n",
1996 | "
\n",
1997 | " \n",
1998 | " | 24 | \n",
1999 | " 45.000000 | \n",
2000 | " 42.000000 | \n",
2001 | " 0.200000 | \n",
2002 | " 14.00 | \n",
2003 | " 70 | \n",
2004 | " 1.000000 | \n",
2005 | " 20.000000 | \n",
2006 | " 8.000000 | \n",
2007 | " 1850 | \n",
2008 | " 57.500000 | \n",
2009 | " 34.500000 | \n",
2010 | " 0.000000 | \n",
2011 | " 0.000000 | \n",
2012 | " 2.00 | \n",
2013 | " 0.700000 | \n",
2014 | " 35.000000 | \n",
2015 | " 40 | \n",
2016 | " 107.400 | \n",
2017 | " 100.000 | \n",
2018 | " 1 | \n",
2019 | "
\n",
2020 | " \n",
2021 | " | 25 | \n",
2022 | " 50.000000 | \n",
2023 | " 45.000000 | \n",
2024 | " 0.300000 | \n",
2025 | " 15.00 | \n",
2026 | " 76 | \n",
2027 | " 1.000000 | \n",
2028 | " 30.000000 | \n",
2029 | " 8.000000 | \n",
2030 | " 2150 | \n",
2031 | " 57.500000 | \n",
2032 | " 34.500000 | \n",
2033 | " 0.000000 | \n",
2034 | " 0.000000 | \n",
2035 | " 2.50 | \n",
2036 | " 1.000000 | \n",
2037 | " 35.000000 | \n",
2038 | " 40 | \n",
2039 | " 107.400 | \n",
2040 | " 100.000 | \n",
2041 | " 0 | \n",
2042 | "
\n",
2043 | " \n",
2044 | " | 26 | \n",
2045 | " 50.000000 | \n",
2046 | " 45.000000 | \n",
2047 | " 0.300000 | \n",
2048 | " 15.20 | \n",
2049 | " 72 | \n",
2050 | " 1.000000 | \n",
2051 | " 25.000000 | \n",
2052 | " 5.900000 | \n",
2053 | " 2150 | \n",
2054 | " 58.800000 | \n",
2055 | " 35.300000 | \n",
2056 | " 0.000000 | \n",
2057 | " 0.000000 | \n",
2058 | " 2.50 | \n",
2059 | " 1.000000 | \n",
2060 | " 35.000000 | \n",
2061 | " 40 | \n",
2062 | " 107.400 | \n",
2063 | " 100.000 | \n",
2064 | " 0 | \n",
2065 | "
\n",
2066 | " \n",
2067 | " | 27 | \n",
2068 | " 35.000000 | \n",
2069 | " 42.000000 | \n",
2070 | " 0.220168 | \n",
2071 | " 15.00 | \n",
2072 | " 75 | \n",
2073 | " 0.750000 | \n",
2074 | " 30.000000 | \n",
2075 | " 0.000000 | \n",
2076 | " 2100 | \n",
2077 | " 58.800000 | \n",
2078 | " 41.200000 | \n",
2079 | " 0.000000 | \n",
2080 | " 0.000000 | \n",
2081 | " 2.00 | \n",
2082 | " 0.800000 | \n",
2083 | " 30.000000 | \n",
2084 | " 40 | \n",
2085 | " 107.400 | \n",
2086 | " 100.000 | \n",
2087 | " 1 | \n",
2088 | "
\n",
2089 | " \n",
2090 | " | 28 | \n",
2091 | " 30.000000 | \n",
2092 | " 45.000000 | \n",
2093 | " 0.233000 | \n",
2094 | " 17.00 | \n",
2095 | " 70 | \n",
2096 | " 0.750000 | \n",
2097 | " 35.000000 | \n",
2098 | " 0.000000 | \n",
2099 | " 2200 | \n",
2100 | " 58.800000 | \n",
2101 | " 41.200000 | \n",
2102 | " 0.000000 | \n",
2103 | " 0.000000 | \n",
2104 | " 2.50 | \n",
2105 | " 1.000000 | \n",
2106 | " 33.000000 | \n",
2107 | " 40 | \n",
2108 | " 106.450 | \n",
2109 | " 100.000 | \n",
2110 | " 1 | \n",
2111 | "
\n",
2112 | " \n",
2113 | " | 29 | \n",
2114 | " 37.500000 | \n",
2115 | " 44.000000 | \n",
2116 | " 0.200000 | \n",
2117 | " 16.00 | \n",
2118 | " 90 | \n",
2119 | " 0.750000 | \n",
2120 | " 28.000000 | \n",
2121 | " 20.000000 | \n",
2122 | " 2050 | \n",
2123 | " 45.000000 | \n",
2124 | " 35.000000 | \n",
2125 | " 0.000000 | \n",
2126 | " 0.000000 | \n",
2127 | " 2.40 | \n",
2128 | " 0.800000 | \n",
2129 | " 35.000000 | \n",
2130 | " 40 | \n",
2131 | " 107.400 | \n",
2132 | " 100.000 | \n",
2133 | " 0 | \n",
2134 | "
\n",
2135 | " \n",
2136 | " | ... | \n",
2137 | " ... | \n",
2138 | " ... | \n",
2139 | " ... | \n",
2140 | " ... | \n",
2141 | " ... | \n",
2142 | " ... | \n",
2143 | " ... | \n",
2144 | " ... | \n",
2145 | " ... | \n",
2146 | " ... | \n",
2147 | " ... | \n",
2148 | " ... | \n",
2149 | " ... | \n",
2150 | " ... | \n",
2151 | " ... | \n",
2152 | " ... | \n",
2153 | " ... | \n",
2154 | " ... | \n",
2155 | " ... | \n",
2156 | " ... | \n",
2157 | "
\n",
2158 | " \n",
2159 | " | 508 | \n",
2160 | " 52.969778 | \n",
2161 | " 56.000000 | \n",
2162 | " 0.367000 | \n",
2163 | " 15.10 | \n",
2164 | " 78 | \n",
2165 | " 0.500000 | \n",
2166 | " 29.000000 | \n",
2167 | " 5.697472 | \n",
2168 | " 1320 | \n",
2169 | " 55.684980 | \n",
2170 | " 38.713045 | \n",
2171 | " 1.274774 | \n",
2172 | " 0.019492 | \n",
2173 | " 2.50 | \n",
2174 | " 1.297941 | \n",
2175 | " 36.008094 | \n",
2176 | " 40 | \n",
2177 | " 96.900 | \n",
2178 | " 100.000 | \n",
2179 | " 1 | \n",
2180 | "
\n",
2181 | " \n",
2182 | " | 509 | \n",
2183 | " 44.598539 | \n",
2184 | " 47.000000 | \n",
2185 | " 0.200000 | \n",
2186 | " 15.00 | \n",
2187 | " 85 | \n",
2188 | " 0.500000 | \n",
2189 | " 24.000000 | \n",
2190 | " 5.726097 | \n",
2191 | " 1470 | \n",
2192 | " 55.650578 | \n",
2193 | " 38.568891 | \n",
2194 | " 1.783853 | \n",
2195 | " 0.033412 | \n",
2196 | " 1.80 | \n",
2197 | " 1.700000 | \n",
2198 | " 33.209189 | \n",
2199 | " 40 | \n",
2200 | " 96.900 | \n",
2201 | " 100.000 | \n",
2202 | " 1 | \n",
2203 | "
\n",
2204 | " \n",
2205 | " | 510 | \n",
2206 | " 47.081897 | \n",
2207 | " 55.000000 | \n",
2208 | " 0.367000 | \n",
2209 | " 15.50 | \n",
2210 | " 76 | \n",
2211 | " 0.750000 | \n",
2212 | " 30.000000 | \n",
2213 | " 5.740208 | \n",
2214 | " 1750 | \n",
2215 | " 55.664983 | \n",
2216 | " 38.674870 | \n",
2217 | " 1.486391 | \n",
2218 | " 0.013306 | \n",
2219 | " 2.50 | \n",
2220 | " 1.200000 | \n",
2221 | " 34.810744 | \n",
2222 | " 40 | \n",
2223 | " 96.900 | \n",
2224 | " 100.000 | \n",
2225 | " 1 | \n",
2226 | "
\n",
2227 | " \n",
2228 | " | 511 | \n",
2229 | " 46.368297 | \n",
2230 | " 53.000000 | \n",
2231 | " 0.300000 | \n",
2232 | " 14.20 | \n",
2233 | " 72 | \n",
2234 | " 1.000000 | \n",
2235 | " 28.000000 | \n",
2236 | " 5.752856 | \n",
2237 | " 1600 | \n",
2238 | " 55.649036 | \n",
2239 | " 38.575393 | \n",
2240 | " 1.166275 | \n",
2241 | " 0.029035 | \n",
2242 | " 2.70 | \n",
2243 | " 1.500000 | \n",
2244 | " 37.796955 | \n",
2245 | " 40 | \n",
2246 | " 106.100 | \n",
2247 | " 100.000 | \n",
2248 | " 1 | \n",
2249 | "
\n",
2250 | " \n",
2251 | " | 512 | \n",
2252 | " 43.814945 | \n",
2253 | " 39.000000 | \n",
2254 | " 0.300000 | \n",
2255 | " 15.10 | \n",
2256 | " 71 | \n",
2257 | " 0.625000 | \n",
2258 | " 30.000000 | \n",
2259 | " 5.759928 | \n",
2260 | " 1700 | \n",
2261 | " 55.648001 | \n",
2262 | " 38.570943 | \n",
2263 | " 1.314042 | \n",
2264 | " 0.035755 | \n",
2265 | " 2.50 | \n",
2266 | " 1.500000 | \n",
2267 | " 36.821588 | \n",
2268 | " 40 | \n",
2269 | " 106.100 | \n",
2270 | " 100.000 | \n",
2271 | " 1 | \n",
2272 | "
\n",
2273 | " \n",
2274 | " | 513 | \n",
2275 | " 47.164010 | \n",
2276 | " 46.000000 | \n",
2277 | " 0.300000 | \n",
2278 | " 17.00 | \n",
2279 | " 80 | \n",
2280 | " 0.250000 | \n",
2281 | " 25.000000 | \n",
2282 | " 5.193293 | \n",
2283 | " 1700 | \n",
2284 | " 55.644200 | \n",
2285 | " 39.467991 | \n",
2286 | " 2.159362 | \n",
2287 | " 0.014811 | \n",
2288 | " 2.50 | \n",
2289 | " 1.500000 | \n",
2290 | " 35.559200 | \n",
2291 | " 30 | \n",
2292 | " 117.700 | \n",
2293 | " 95.000 | \n",
2294 | " 1 | \n",
2295 | "
\n",
2296 | " \n",
2297 | " | 514 | \n",
2298 | " 46.314632 | \n",
2299 | " 35.000000 | \n",
2300 | " 0.300000 | \n",
2301 | " 16.20 | \n",
2302 | " 88 | \n",
2303 | " 0.500000 | \n",
2304 | " 28.000000 | \n",
2305 | " 6.801493 | \n",
2306 | " 1750 | \n",
2307 | " 54.578052 | \n",
2308 | " 38.105582 | \n",
2309 | " 1.518858 | \n",
2310 | " 0.024491 | \n",
2311 | " 2.30 | \n",
2312 | " 1.000000 | \n",
2313 | " 35.393599 | \n",
2314 | " 40 | \n",
2315 | " 106.000 | \n",
2316 | " 100.000 | \n",
2317 | " 1 | \n",
2318 | "
\n",
2319 | " \n",
2320 | " | 515 | \n",
2321 | " 47.781535 | \n",
2322 | " 40.000000 | \n",
2323 | " 0.333000 | \n",
2324 | " 14.50 | \n",
2325 | " 70 | \n",
2326 | " 0.750000 | \n",
2327 | " 60.000000 | \n",
2328 | " 4.678137 | \n",
2329 | " 1250 | \n",
2330 | " 55.356081 | \n",
2331 | " 39.101730 | \n",
2332 | " 1.694074 | \n",
2333 | " 0.304823 | \n",
2334 | " 2.00 | \n",
2335 | " 1.500000 | \n",
2336 | " 38.542304 | \n",
2337 | " 40 | \n",
2338 | " 112.500 | \n",
2339 | " 100.000 | \n",
2340 | " 1 | \n",
2341 | "
\n",
2342 | " \n",
2343 | " | 516 | \n",
2344 | " 43.984222 | \n",
2345 | " 39.000000 | \n",
2346 | " 0.300000 | \n",
2347 | " 16.00 | \n",
2348 | " 72 | \n",
2349 | " 0.750000 | \n",
2350 | " 50.000000 | \n",
2351 | " 5.713143 | \n",
2352 | " 1350 | \n",
2353 | " 55.654684 | \n",
2354 | " 38.650257 | \n",
2355 | " 1.809465 | \n",
2356 | " 0.043307 | \n",
2357 | " 2.50 | \n",
2358 | " 2.200000 | \n",
2359 | " 34.555786 | \n",
2360 | " 40 | \n",
2361 | " 106.600 | \n",
2362 | " 95.000 | \n",
2363 | " 1 | \n",
2364 | "
\n",
2365 | " \n",
2366 | " | 517 | \n",
2367 | " 47.394983 | \n",
2368 | " 40.000000 | \n",
2369 | " 0.300000 | \n",
2370 | " 16.50 | \n",
2371 | " 84 | \n",
2372 | " 0.625000 | \n",
2373 | " 26.000000 | \n",
2374 | " 5.800816 | \n",
2375 | " 1565 | \n",
2376 | " 55.648168 | \n",
2377 | " 38.590815 | \n",
2378 | " 1.668830 | \n",
2379 | " 0.036503 | \n",
2380 | " 2.50 | \n",
2381 | " 1.000000 | \n",
2382 | " 36.213413 | \n",
2383 | " 40 | \n",
2384 | " 106.600 | \n",
2385 | " 95.000 | \n",
2386 | " 1 | \n",
2387 | "
\n",
2388 | " \n",
2389 | " | 518 | \n",
2390 | " 42.010231 | \n",
2391 | " 44.000000 | \n",
2392 | " 0.200000 | \n",
2393 | " 16.22 | \n",
2394 | " 74 | \n",
2395 | " 0.750000 | \n",
2396 | " 30.000000 | \n",
2397 | " 5.678111 | \n",
2398 | " 2200 | \n",
2399 | " 55.643954 | \n",
2400 | " 38.568989 | \n",
2401 | " 2.030262 | \n",
2402 | " 0.026739 | \n",
2403 | " 2.80 | \n",
2404 | " 0.800000 | \n",
2405 | " 32.840508 | \n",
2406 | " 40 | \n",
2407 | " 106.600 | \n",
2408 | " 95.000 | \n",
2409 | " 1 | \n",
2410 | "
\n",
2411 | " \n",
2412 | " | 519 | \n",
2413 | " 47.410165 | \n",
2414 | " 47.000000 | \n",
2415 | " 0.233000 | \n",
2416 | " 16.50 | \n",
2417 | " 86 | \n",
2418 | " 0.250000 | \n",
2419 | " 30.993024 | \n",
2420 | " 5.718131 | \n",
2421 | " 1750 | \n",
2422 | " 55.659590 | \n",
2423 | " 38.579452 | \n",
2424 | " 1.611327 | \n",
2425 | " 0.037472 | \n",
2426 | " 2.10 | \n",
2427 | " 2.100000 | \n",
2428 | " 34.251112 | \n",
2429 | " 40 | \n",
2430 | " 109.600 | \n",
2431 | " 95.000 | \n",
2432 | " 1 | \n",
2433 | "
\n",
2434 | " \n",
2435 | " | 520 | \n",
2436 | " 44.861151 | \n",
2437 | " 52.000000 | \n",
2438 | " 0.200000 | \n",
2439 | " 16.00 | \n",
2440 | " 75 | \n",
2441 | " 0.312000 | \n",
2442 | " 25.000000 | \n",
2443 | " 5.772960 | \n",
2444 | " 1500 | \n",
2445 | " 55.655067 | \n",
2446 | " 38.581793 | \n",
2447 | " 1.732421 | \n",
2448 | " 0.046879 | \n",
2449 | " 2.50 | \n",
2450 | " 0.600000 | \n",
2451 | " 35.702393 | \n",
2452 | " 40 | \n",
2453 | " 109.100 | \n",
2454 | " 100.000 | \n",
2455 | " 1 | \n",
2456 | "
\n",
2457 | " \n",
2458 | " | 521 | \n",
2459 | " 46.524123 | \n",
2460 | " 56.801242 | \n",
2461 | " 0.300000 | \n",
2462 | " 15.00 | \n",
2463 | " 80 | \n",
2464 | " 0.500000 | \n",
2465 | " 30.000000 | \n",
2466 | " 5.719617 | \n",
2467 | " 2020 | \n",
2468 | " 55.638723 | \n",
2469 | " 38.578615 | \n",
2470 | " 1.873219 | \n",
2471 | " 0.034069 | \n",
2472 | " 2.90 | \n",
2473 | " 0.500000 | \n",
2474 | " 34.775970 | \n",
2475 | " 40 | \n",
2476 | " 110.300 | \n",
2477 | " 100.000 | \n",
2478 | " 1 | \n",
2479 | "
\n",
2480 | " \n",
2481 | " | 522 | \n",
2482 | " 47.977551 | \n",
2483 | " 54.000000 | \n",
2484 | " 0.300000 | \n",
2485 | " 16.50 | \n",
2486 | " 88 | \n",
2487 | " 0.750000 | \n",
2488 | " 25.000000 | \n",
2489 | " 5.712416 | \n",
2490 | " 1850 | \n",
2491 | " 55.647744 | \n",
2492 | " 38.606364 | \n",
2493 | " 1.848249 | \n",
2494 | " 0.029254 | \n",
2495 | " 3.00 | \n",
2496 | " 2.000000 | \n",
2497 | " 34.382930 | \n",
2498 | " 40 | \n",
2499 | " 107.140 | \n",
2500 | " 95.000 | \n",
2501 | " 1 | \n",
2502 | "
\n",
2503 | " \n",
2504 | " | 523 | \n",
2505 | " 49.486199 | \n",
2506 | " 56.000000 | \n",
2507 | " 0.300000 | \n",
2508 | " 14.00 | \n",
2509 | " 91 | \n",
2510 | " 1.125000 | \n",
2511 | " 27.000000 | \n",
2512 | " 5.690665 | \n",
2513 | " 1650 | \n",
2514 | " 55.615313 | \n",
2515 | " 38.701198 | \n",
2516 | " 0.796137 | \n",
2517 | " 0.026858 | \n",
2518 | " 3.00 | \n",
2519 | " 1.500000 | \n",
2520 | " 37.062472 | \n",
2521 | " 40 | \n",
2522 | " 100.000 | \n",
2523 | " 95.000 | \n",
2524 | " 1 | \n",
2525 | "
\n",
2526 | " \n",
2527 | " | 524 | \n",
2528 | " 44.286729 | \n",
2529 | " 50.000000 | \n",
2530 | " 0.200000 | \n",
2531 | " 16.50 | \n",
2532 | " 74 | \n",
2533 | " 0.625000 | \n",
2534 | " 34.000000 | \n",
2535 | " 5.767727 | \n",
2536 | " 1750 | \n",
2537 | " 55.648950 | \n",
2538 | " 38.569232 | \n",
2539 | " 1.676035 | \n",
2540 | " 0.035098 | \n",
2541 | " 2.60 | \n",
2542 | " 1.000000 | \n",
2543 | " 35.685359 | \n",
2544 | " 40 | \n",
2545 | " 103.125 | \n",
2546 | " 95.000 | \n",
2547 | " 1 | \n",
2548 | "
\n",
2549 | " \n",
2550 | " | 525 | \n",
2551 | " 42.463968 | \n",
2552 | " 56.000000 | \n",
2553 | " 0.200000 | \n",
2554 | " 17.00 | \n",
2555 | " 75 | \n",
2556 | " 0.750000 | \n",
2557 | " 25.000000 | \n",
2558 | " 5.771243 | \n",
2559 | " 1600 | \n",
2560 | " 55.648382 | \n",
2561 | " 38.570793 | \n",
2562 | " 1.577016 | \n",
2563 | " 0.039675 | \n",
2564 | " 2.00 | \n",
2565 | " 1.000000 | \n",
2566 | " 34.570304 | \n",
2567 | " 40 | \n",
2568 | " 103.125 | \n",
2569 | " 95.000 | \n",
2570 | " 1 | \n",
2571 | "
\n",
2572 | " \n",
2573 | " | 526 | \n",
2574 | " 46.829907 | \n",
2575 | " 55.000000 | \n",
2576 | " 0.200000 | \n",
2577 | " 17.00 | \n",
2578 | " 95 | \n",
2579 | " 0.625000 | \n",
2580 | " 27.000000 | \n",
2581 | " 5.728362 | \n",
2582 | " 1600 | \n",
2583 | " 56.843750 | \n",
2584 | " 40.940000 | \n",
2585 | " 1.540975 | \n",
2586 | " 0.032573 | \n",
2587 | " 2.50 | \n",
2588 | " 1.000000 | \n",
2589 | " 36.173583 | \n",
2590 | " 40 | \n",
2591 | " 106.250 | \n",
2592 | " 100.000 | \n",
2593 | " 1 | \n",
2594 | "
\n",
2595 | " \n",
2596 | " | 527 | \n",
2597 | " 43.569148 | \n",
2598 | " 54.000000 | \n",
2599 | " 0.267000 | \n",
2600 | " 15.50 | \n",
2601 | " 80 | \n",
2602 | " 0.750000 | \n",
2603 | " 40.000000 | \n",
2604 | " 5.773501 | \n",
2605 | " 2000 | \n",
2606 | " 55.653232 | \n",
2607 | " 38.588915 | \n",
2608 | " 2.561592 | \n",
2609 | " 0.014358 | \n",
2610 | " 1.80 | \n",
2611 | " 1.300000 | \n",
2612 | " 33.601579 | \n",
2613 | " 40 | \n",
2614 | " 107.140 | \n",
2615 | " 99.375 | \n",
2616 | " 1 | \n",
2617 | "
\n",
2618 | " \n",
2619 | " | 528 | \n",
2620 | " 41.551866 | \n",
2621 | " 54.000000 | \n",
2622 | " 0.277160 | \n",
2623 | " 15.50 | \n",
2624 | " 78 | \n",
2625 | " 0.812000 | \n",
2626 | " 30.000000 | \n",
2627 | " 5.745646 | \n",
2628 | " 2100 | \n",
2629 | " 55.655220 | \n",
2630 | " 38.649378 | \n",
2631 | " 2.144978 | \n",
2632 | " 0.005603 | \n",
2633 | " 1.20 | \n",
2634 | " 1.000000 | \n",
2635 | " 31.699908 | \n",
2636 | " 40 | \n",
2637 | " 97.050 | \n",
2638 | " 100.000 | \n",
2639 | " 1 | \n",
2640 | "
\n",
2641 | " \n",
2642 | " | 529 | \n",
2643 | " 42.760088 | \n",
2644 | " 53.000000 | \n",
2645 | " 0.283870 | \n",
2646 | " 17.00 | \n",
2647 | " 73 | \n",
2648 | " 0.750000 | \n",
2649 | " 35.000000 | \n",
2650 | " 5.768393 | \n",
2651 | " 2100 | \n",
2652 | " 55.649227 | \n",
2653 | " 38.579400 | \n",
2654 | " 1.771354 | \n",
2655 | " 0.011481 | \n",
2656 | " 2.60 | \n",
2657 | " 1.300000 | \n",
2658 | " 32.309152 | \n",
2659 | " 40 | \n",
2660 | " 113.300 | \n",
2661 | " 100.000 | \n",
2662 | " 1 | \n",
2663 | "
\n",
2664 | " \n",
2665 | " | 530 | \n",
2666 | " 40.531818 | \n",
2667 | " 54.505741 | \n",
2668 | " 0.280196 | \n",
2669 | " 16.00 | \n",
2670 | " 83 | \n",
2671 | " 0.662784 | \n",
2672 | " 28.000000 | \n",
2673 | " 5.761677 | \n",
2674 | " 2400 | \n",
2675 | " 55.649625 | \n",
2676 | " 38.707885 | \n",
2677 | " 1.681334 | \n",
2678 | " 0.018196 | \n",
2679 | " 2.50 | \n",
2680 | " 1.000000 | \n",
2681 | " 31.174148 | \n",
2682 | " 40 | \n",
2683 | " 112.500 | \n",
2684 | " 100.000 | \n",
2685 | " 1 | \n",
2686 | "
\n",
2687 | " \n",
2688 | " | 531 | \n",
2689 | " 40.218885 | \n",
2690 | " 60.000000 | \n",
2691 | " 0.265929 | \n",
2692 | " 14.90 | \n",
2693 | " 76 | \n",
2694 | " 1.000000 | \n",
2695 | " 30.000000 | \n",
2696 | " 5.756629 | \n",
2697 | " 2500 | \n",
2698 | " 55.644404 | \n",
2699 | " 38.707282 | \n",
2700 | " 2.551302 | \n",
2701 | " 0.017455 | \n",
2702 | " 0.50 | \n",
2703 | " 0.500000 | \n",
2704 | " 31.972358 | \n",
2705 | " 40 | \n",
2706 | " 112.500 | \n",
2707 | " 100.000 | \n",
2708 | " 1 | \n",
2709 | "
\n",
2710 | " \n",
2711 | " | 532 | \n",
2712 | " 44.040705 | \n",
2713 | " 56.000000 | \n",
2714 | " 0.300000 | \n",
2715 | " 18.30 | \n",
2716 | " 80 | \n",
2717 | " 1.000000 | \n",
2718 | " 32.000000 | \n",
2719 | " 5.769684 | \n",
2720 | " 1900 | \n",
2721 | " 55.647597 | \n",
2722 | " 38.567872 | \n",
2723 | " 2.022449 | \n",
2724 | " 0.019418 | \n",
2725 | " 1.97 | \n",
2726 | " 1.126316 | \n",
2727 | " 35.193635 | \n",
2728 | " 40 | \n",
2729 | " 110.000 | \n",
2730 | " 100.000 | \n",
2731 | " 1 | \n",
2732 | "
\n",
2733 | " \n",
2734 | " | 533 | \n",
2735 | " 44.785182 | \n",
2736 | " 52.000000 | \n",
2737 | " 0.268966 | \n",
2738 | " 18.00 | \n",
2739 | " 82 | \n",
2740 | " 1.000000 | \n",
2741 | " 25.000000 | \n",
2742 | " 5.763255 | \n",
2743 | " 1880 | \n",
2744 | " 55.647120 | \n",
2745 | " 38.570866 | \n",
2746 | " 3.016026 | \n",
2747 | " 0.007783 | \n",
2748 | " 1.00 | \n",
2749 | " 1.000000 | \n",
2750 | " 33.617790 | \n",
2751 | " 40 | \n",
2752 | " 112.500 | \n",
2753 | " 100.000 | \n",
2754 | " 1 | \n",
2755 | "
\n",
2756 | " \n",
2757 | " | 534 | \n",
2758 | " 44.037024 | \n",
2759 | " 50.650000 | \n",
2760 | " 0.200000 | \n",
2761 | " 16.10 | \n",
2762 | " 76 | \n",
2763 | " 0.500000 | \n",
2764 | " 34.000000 | \n",
2765 | " 5.748637 | \n",
2766 | " 2100 | \n",
2767 | " 55.669444 | \n",
2768 | " 38.581040 | \n",
2769 | " 2.843609 | \n",
2770 | " 0.068838 | \n",
2771 | " 0.00 | \n",
2772 | " 0.000000 | \n",
2773 | " 32.997040 | \n",
2774 | " 40 | \n",
2775 | " 110.000 | \n",
2776 | " 100.000 | \n",
2777 | " 1 | \n",
2778 | "
\n",
2779 | " \n",
2780 | " | 535 | \n",
2781 | " 43.008764 | \n",
2782 | " 49.000000 | \n",
2783 | " 0.300000 | \n",
2784 | " 16.50 | \n",
2785 | " 70 | \n",
2786 | " 1.000000 | \n",
2787 | " 34.000000 | \n",
2788 | " 5.757562 | \n",
2789 | " 1903 | \n",
2790 | " 55.647646 | \n",
2791 | " 38.634071 | \n",
2792 | " 2.120525 | \n",
2793 | " 0.033921 | \n",
2794 | " 2.70 | \n",
2795 | " 2.800000 | \n",
2796 | " 33.184724 | \n",
2797 | " 40 | \n",
2798 | " 108.000 | \n",
2799 | " 100.000 | \n",
2800 | " 1 | \n",
2801 | "
\n",
2802 | " \n",
2803 | " | 536 | \n",
2804 | " 41.473442 | \n",
2805 | " 46.000000 | \n",
2806 | " 0.267000 | \n",
2807 | " 16.40 | \n",
2808 | " 76 | \n",
2809 | " 1.000000 | \n",
2810 | " 34.000000 | \n",
2811 | " 5.758684 | \n",
2812 | " 1903 | \n",
2813 | " 55.647686 | \n",
2814 | " 38.584046 | \n",
2815 | " 2.163782 | \n",
2816 | " 0.015444 | \n",
2817 | " 1.50 | \n",
2818 | " 2.300000 | \n",
2819 | " 32.948129 | \n",
2820 | " 40 | \n",
2821 | " 108.000 | \n",
2822 | " 100.000 | \n",
2823 | " 1 | \n",
2824 | "
\n",
2825 | " \n",
2826 | " | 537 | \n",
2827 | " 40.727336 | \n",
2828 | " 46.000000 | \n",
2829 | " 0.200000 | \n",
2830 | " 14.20 | \n",
2831 | " 75 | \n",
2832 | " 0.750000 | \n",
2833 | " 25.000000 | \n",
2834 | " 5.767836 | \n",
2835 | " 2050 | \n",
2836 | " 55.645104 | \n",
2837 | " 38.566884 | \n",
2838 | " 1.580108 | \n",
2839 | " 0.037333 | \n",
2840 | " 2.50 | \n",
2841 | " 1.000000 | \n",
2842 | " 33.313200 | \n",
2843 | " 40 | \n",
2844 | " 108.100 | \n",
2845 | " 100.000 | \n",
2846 | " 1 | \n",
2847 | "
\n",
2848 | " \n",
2849 | "
\n",
2850 | "
538 rows × 20 columns
\n",
2851 | "
"
2852 | ],
2853 | "text/plain": [
2854 | " Proof_cut Viscosity Caliper Ink_temperature Humifity Roughness \\\n",
2855 | "0 55.000000 46.000000 0.300000 15.00 80 0.750000 \n",
2856 | "1 62.000000 40.000000 0.433000 16.00 80 0.570250 \n",
2857 | "2 52.000000 40.000000 0.300000 16.00 75 0.312000 \n",
2858 | "3 50.000000 46.000000 0.300000 17.00 80 0.750000 \n",
2859 | "4 50.000000 40.000000 0.267000 16.80 76 0.438000 \n",
2860 | "5 50.000000 46.000000 0.300000 16.50 75 0.750000 \n",
2861 | "6 50.000000 46.000000 0.200000 16.50 75 0.750000 \n",
2862 | "7 50.000000 45.000000 0.367000 12.00 70 0.750000 \n",
2863 | "8 65.000000 43.000000 0.333000 16.00 75 1.000000 \n",
2864 | "9 65.000000 43.000000 0.200000 16.00 68 0.750000 \n",
2865 | "10 50.000000 50.000000 0.367000 14.00 80 0.750000 \n",
2866 | "11 50.000000 50.000000 0.300000 15.00 70 1.000000 \n",
2867 | "12 40.000000 45.000000 0.300000 14.50 70 0.625000 \n",
2868 | "13 50.000000 43.000000 0.267000 16.00 75 1.000000 \n",
2869 | "14 42.071429 45.000000 0.233000 15.00 87 1.000000 \n",
2870 | "15 30.000000 45.000000 0.200000 14.00 65 0.770844 \n",
2871 | "16 30.000000 45.000000 0.200000 15.50 65 0.834662 \n",
2872 | "17 60.000000 38.000000 0.267000 16.40 64 0.750000 \n",
2873 | "18 60.000000 38.000000 0.333000 16.50 66 0.750000 \n",
2874 | "19 50.000000 45.000000 0.233000 16.00 70 0.812000 \n",
2875 | "20 40.000000 45.000000 0.200000 15.00 76 0.812000 \n",
2876 | "21 30.000000 43.000000 0.200000 16.30 70 0.812000 \n",
2877 | "22 40.000000 41.000000 0.200000 15.80 72 1.000000 \n",
2878 | "23 40.000000 42.000000 0.200000 14.50 74 1.000000 \n",
2879 | "24 45.000000 42.000000 0.200000 14.00 70 1.000000 \n",
2880 | "25 50.000000 45.000000 0.300000 15.00 76 1.000000 \n",
2881 | "26 50.000000 45.000000 0.300000 15.20 72 1.000000 \n",
2882 | "27 35.000000 42.000000 0.220168 15.00 75 0.750000 \n",
2883 | "28 30.000000 45.000000 0.233000 17.00 70 0.750000 \n",
2884 | "29 37.500000 44.000000 0.200000 16.00 90 0.750000 \n",
2885 | ".. ... ... ... ... ... ... \n",
2886 | "508 52.969778 56.000000 0.367000 15.10 78 0.500000 \n",
2887 | "509 44.598539 47.000000 0.200000 15.00 85 0.500000 \n",
2888 | "510 47.081897 55.000000 0.367000 15.50 76 0.750000 \n",
2889 | "511 46.368297 53.000000 0.300000 14.20 72 1.000000 \n",
2890 | "512 43.814945 39.000000 0.300000 15.10 71 0.625000 \n",
2891 | "513 47.164010 46.000000 0.300000 17.00 80 0.250000 \n",
2892 | "514 46.314632 35.000000 0.300000 16.20 88 0.500000 \n",
2893 | "515 47.781535 40.000000 0.333000 14.50 70 0.750000 \n",
2894 | "516 43.984222 39.000000 0.300000 16.00 72 0.750000 \n",
2895 | "517 47.394983 40.000000 0.300000 16.50 84 0.625000 \n",
2896 | "518 42.010231 44.000000 0.200000 16.22 74 0.750000 \n",
2897 | "519 47.410165 47.000000 0.233000 16.50 86 0.250000 \n",
2898 | "520 44.861151 52.000000 0.200000 16.00 75 0.312000 \n",
2899 | "521 46.524123 56.801242 0.300000 15.00 80 0.500000 \n",
2900 | "522 47.977551 54.000000 0.300000 16.50 88 0.750000 \n",
2901 | "523 49.486199 56.000000 0.300000 14.00 91 1.125000 \n",
2902 | "524 44.286729 50.000000 0.200000 16.50 74 0.625000 \n",
2903 | "525 42.463968 56.000000 0.200000 17.00 75 0.750000 \n",
2904 | "526 46.829907 55.000000 0.200000 17.00 95 0.625000 \n",
2905 | "527 43.569148 54.000000 0.267000 15.50 80 0.750000 \n",
2906 | "528 41.551866 54.000000 0.277160 15.50 78 0.812000 \n",
2907 | "529 42.760088 53.000000 0.283870 17.00 73 0.750000 \n",
2908 | "530 40.531818 54.505741 0.280196 16.00 83 0.662784 \n",
2909 | "531 40.218885 60.000000 0.265929 14.90 76 1.000000 \n",
2910 | "532 44.040705 56.000000 0.300000 18.30 80 1.000000 \n",
2911 | "533 44.785182 52.000000 0.268966 18.00 82 1.000000 \n",
2912 | "534 44.037024 50.650000 0.200000 16.10 76 0.500000 \n",
2913 | "535 43.008764 49.000000 0.300000 16.50 70 1.000000 \n",
2914 | "536 41.473442 46.000000 0.267000 16.40 76 1.000000 \n",
2915 | "537 40.727336 46.000000 0.200000 14.20 75 0.750000 \n",
2916 | "\n",
2917 | " Blade_pressure Varnish_pct Press_speed Ink_pct Solvent_pct \\\n",
2918 | "0 20.000000 6.600000 1900 54.900000 38.500000 \n",
2919 | "1 30.000000 6.500000 1850 53.800000 39.800000 \n",
2920 | "2 30.000000 5.600000 1467 55.600000 38.800000 \n",
2921 | "3 30.000000 0.000000 2100 57.500000 42.500000 \n",
2922 | "4 28.000000 8.600000 1467 53.800000 37.600000 \n",
2923 | "5 30.000000 0.000000 2600 62.500000 37.500000 \n",
2924 | "6 28.000000 0.000000 2600 62.500000 37.500000 \n",
2925 | "7 60.000000 0.000000 1650 60.200000 39.800000 \n",
2926 | "8 32.000000 22.700000 1750 45.500000 31.800000 \n",
2927 | "9 30.000000 15.500000 1750 48.500000 35.900000 \n",
2928 | "10 40.000000 10.500000 1700 52.600000 36.800000 \n",
2929 | "11 30.000000 10.000000 1600 50.000000 40.000000 \n",
2930 | "12 25.000000 0.000000 1500 59.500000 40.500000 \n",
2931 | "13 20.000000 15.800000 1600 49.500000 34.700000 \n",
2932 | "14 29.075645 0.000000 1400 62.500000 37.500000 \n",
2933 | "15 36.700282 0.000000 1600 62.500000 37.500000 \n",
2934 | "16 32.636215 5.900000 1600 58.800000 35.300000 \n",
2935 | "17 28.109982 11.000000 1400 54.900000 34.100000 \n",
2936 | "18 34.185481 6.700000 1400 56.200000 37.100000 \n",
2937 | "19 30.000000 0.000000 2400 58.800000 41.200000 \n",
2938 | "20 30.000000 0.000000 2400 62.500000 37.500000 \n",
2939 | "21 25.000000 1.200000 2200 58.100000 40.700000 \n",
2940 | "22 30.000000 0.000000 2000 62.500000 37.500000 \n",
2941 | "23 25.000000 8.000000 2100 57.500000 34.500000 \n",
2942 | "24 20.000000 8.000000 1850 57.500000 34.500000 \n",
2943 | "25 30.000000 8.000000 2150 57.500000 34.500000 \n",
2944 | "26 25.000000 5.900000 2150 58.800000 35.300000 \n",
2945 | "27 30.000000 0.000000 2100 58.800000 41.200000 \n",
2946 | "28 35.000000 0.000000 2200 58.800000 41.200000 \n",
2947 | "29 28.000000 20.000000 2050 45.000000 35.000000 \n",
2948 | ".. ... ... ... ... ... \n",
2949 | "508 29.000000 5.697472 1320 55.684980 38.713045 \n",
2950 | "509 24.000000 5.726097 1470 55.650578 38.568891 \n",
2951 | "510 30.000000 5.740208 1750 55.664983 38.674870 \n",
2952 | "511 28.000000 5.752856 1600 55.649036 38.575393 \n",
2953 | "512 30.000000 5.759928 1700 55.648001 38.570943 \n",
2954 | "513 25.000000 5.193293 1700 55.644200 39.467991 \n",
2955 | "514 28.000000 6.801493 1750 54.578052 38.105582 \n",
2956 | "515 60.000000 4.678137 1250 55.356081 39.101730 \n",
2957 | "516 50.000000 5.713143 1350 55.654684 38.650257 \n",
2958 | "517 26.000000 5.800816 1565 55.648168 38.590815 \n",
2959 | "518 30.000000 5.678111 2200 55.643954 38.568989 \n",
2960 | "519 30.993024 5.718131 1750 55.659590 38.579452 \n",
2961 | "520 25.000000 5.772960 1500 55.655067 38.581793 \n",
2962 | "521 30.000000 5.719617 2020 55.638723 38.578615 \n",
2963 | "522 25.000000 5.712416 1850 55.647744 38.606364 \n",
2964 | "523 27.000000 5.690665 1650 55.615313 38.701198 \n",
2965 | "524 34.000000 5.767727 1750 55.648950 38.569232 \n",
2966 | "525 25.000000 5.771243 1600 55.648382 38.570793 \n",
2967 | "526 27.000000 5.728362 1600 56.843750 40.940000 \n",
2968 | "527 40.000000 5.773501 2000 55.653232 38.588915 \n",
2969 | "528 30.000000 5.745646 2100 55.655220 38.649378 \n",
2970 | "529 35.000000 5.768393 2100 55.649227 38.579400 \n",
2971 | "530 28.000000 5.761677 2400 55.649625 38.707885 \n",
2972 | "531 30.000000 5.756629 2500 55.644404 38.707282 \n",
2973 | "532 32.000000 5.769684 1900 55.647597 38.567872 \n",
2974 | "533 25.000000 5.763255 1880 55.647120 38.570866 \n",
2975 | "534 34.000000 5.748637 2100 55.669444 38.581040 \n",
2976 | "535 34.000000 5.757562 1903 55.647646 38.634071 \n",
2977 | "536 34.000000 5.758684 1903 55.647686 38.584046 \n",
2978 | "537 25.000000 5.767836 2050 55.645104 38.566884 \n",
2979 | "\n",
2980 | " Esa_voltage ESA_amperage Wax Hardener Roller_durometer Density \\\n",
2981 | "0 0.000000 0.000000 2.50 0.700000 34.000000 40 \n",
2982 | "1 0.000000 0.000000 2.80 0.900000 40.000000 40 \n",
2983 | "2 0.000000 0.000000 2.50 1.300000 40.000000 40 \n",
2984 | "3 5.000000 0.000000 2.30 0.600000 35.000000 40 \n",
2985 | "4 5.000000 0.000000 2.50 0.800000 40.000000 40 \n",
2986 | "5 6.000000 0.000000 2.50 0.600000 30.000000 40 \n",
2987 | "6 6.000000 0.000000 2.50 1.100000 30.000000 40 \n",
2988 | "7 1.500000 0.000000 3.00 1.000000 40.000000 40 \n",
2989 | "8 0.000000 0.000000 3.00 1.000000 38.000000 40 \n",
2990 | "9 0.000000 0.000000 3.00 1.000000 38.000000 40 \n",
2991 | "10 0.000000 0.000000 2.50 1.000000 38.000000 40 \n",
2992 | "11 0.000000 0.000000 2.80 1.000000 38.000000 40 \n",
2993 | "12 0.000000 0.000000 2.00 1.000000 40.000000 40 \n",
2994 | "13 0.000000 0.000000 2.50 1.000000 38.000000 40 \n",
2995 | "14 0.000000 0.000000 2.50 1.000000 40.000000 40 \n",
2996 | "15 0.000000 0.000000 2.50 0.800000 33.000000 40 \n",
2997 | "16 0.000000 0.000000 2.50 1.800000 33.000000 40 \n",
2998 | "17 0.000000 0.000000 2.50 1.000000 32.000000 40 \n",
2999 | "18 0.000000 0.000000 1.10 1.400000 32.000000 40 \n",
3000 | "19 0.000000 0.000000 1.70 1.000000 30.000000 40 \n",
3001 | "20 0.000000 0.000000 1.00 1.000000 30.000000 40 \n",
3002 | "21 4.000000 0.000000 2.00 1.000000 30.000000 40 \n",
3003 | "22 0.000000 0.000000 2.50 1.000000 30.000000 40 \n",
3004 | "23 0.000000 0.000000 2.30 0.700000 35.000000 40 \n",
3005 | "24 0.000000 0.000000 2.00 0.700000 35.000000 40 \n",
3006 | "25 0.000000 0.000000 2.50 1.000000 35.000000 40 \n",
3007 | "26 0.000000 0.000000 2.50 1.000000 35.000000 40 \n",
3008 | "27 0.000000 0.000000 2.00 0.800000 30.000000 40 \n",
3009 | "28 0.000000 0.000000 2.50 1.000000 33.000000 40 \n",
3010 | "29 0.000000 0.000000 2.40 0.800000 35.000000 40 \n",
3011 | ".. ... ... ... ... ... ... \n",
3012 | "508 1.274774 0.019492 2.50 1.297941 36.008094 40 \n",
3013 | "509 1.783853 0.033412 1.80 1.700000 33.209189 40 \n",
3014 | "510 1.486391 0.013306 2.50 1.200000 34.810744 40 \n",
3015 | "511 1.166275 0.029035 2.70 1.500000 37.796955 40 \n",
3016 | "512 1.314042 0.035755 2.50 1.500000 36.821588 40 \n",
3017 | "513 2.159362 0.014811 2.50 1.500000 35.559200 30 \n",
3018 | "514 1.518858 0.024491 2.30 1.000000 35.393599 40 \n",
3019 | "515 1.694074 0.304823 2.00 1.500000 38.542304 40 \n",
3020 | "516 1.809465 0.043307 2.50 2.200000 34.555786 40 \n",
3021 | "517 1.668830 0.036503 2.50 1.000000 36.213413 40 \n",
3022 | "518 2.030262 0.026739 2.80 0.800000 32.840508 40 \n",
3023 | "519 1.611327 0.037472 2.10 2.100000 34.251112 40 \n",
3024 | "520 1.732421 0.046879 2.50 0.600000 35.702393 40 \n",
3025 | "521 1.873219 0.034069 2.90 0.500000 34.775970 40 \n",
3026 | "522 1.848249 0.029254 3.00 2.000000 34.382930 40 \n",
3027 | "523 0.796137 0.026858 3.00 1.500000 37.062472 40 \n",
3028 | "524 1.676035 0.035098 2.60 1.000000 35.685359 40 \n",
3029 | "525 1.577016 0.039675 2.00 1.000000 34.570304 40 \n",
3030 | "526 1.540975 0.032573 2.50 1.000000 36.173583 40 \n",
3031 | "527 2.561592 0.014358 1.80 1.300000 33.601579 40 \n",
3032 | "528 2.144978 0.005603 1.20 1.000000 31.699908 40 \n",
3033 | "529 1.771354 0.011481 2.60 1.300000 32.309152 40 \n",
3034 | "530 1.681334 0.018196 2.50 1.000000 31.174148 40 \n",
3035 | "531 2.551302 0.017455 0.50 0.500000 31.972358 40 \n",
3036 | "532 2.022449 0.019418 1.97 1.126316 35.193635 40 \n",
3037 | "533 3.016026 0.007783 1.00 1.000000 33.617790 40 \n",
3038 | "534 2.843609 0.068838 0.00 0.000000 32.997040 40 \n",
3039 | "535 2.120525 0.033921 2.70 2.800000 33.184724 40 \n",
3040 | "536 2.163782 0.015444 1.50 2.300000 32.948129 40 \n",
3041 | "537 1.580108 0.037333 2.50 1.000000 33.313200 40 \n",
3042 | "\n",
3043 | " Anode_ratio Chrome_content bands \n",
3044 | "0 105.000 100.000 0 \n",
3045 | "1 103.870 100.000 0 \n",
3046 | "2 108.060 100.000 0 \n",
3047 | "3 106.670 100.000 0 \n",
3048 | "4 103.870 100.000 0 \n",
3049 | "5 106.670 100.000 0 \n",
3050 | "6 106.670 100.000 0 \n",
3051 | "7 103.220 100.000 1 \n",
3052 | "8 106.660 100.000 0 \n",
3053 | "9 106.600 100.000 0 \n",
3054 | "10 105.000 100.000 1 \n",
3055 | "11 106.660 100.000 1 \n",
3056 | "12 100.000 100.000 1 \n",
3057 | "13 103.220 100.000 0 \n",
3058 | "14 103.220 100.000 1 \n",
3059 | "15 100.000 100.000 0 \n",
3060 | "16 100.000 100.000 0 \n",
3061 | "17 103.220 100.000 0 \n",
3062 | "18 103.220 100.000 0 \n",
3063 | "19 107.400 100.000 0 \n",
3064 | "20 107.400 100.000 0 \n",
3065 | "21 96.875 100.000 0 \n",
3066 | "22 107.400 100.000 1 \n",
3067 | "23 107.400 100.000 1 \n",
3068 | "24 107.400 100.000 1 \n",
3069 | "25 107.400 100.000 0 \n",
3070 | "26 107.400 100.000 0 \n",
3071 | "27 107.400 100.000 1 \n",
3072 | "28 106.450 100.000 1 \n",
3073 | "29 107.400 100.000 0 \n",
3074 | ".. ... ... ... \n",
3075 | "508 96.900 100.000 1 \n",
3076 | "509 96.900 100.000 1 \n",
3077 | "510 96.900 100.000 1 \n",
3078 | "511 106.100 100.000 1 \n",
3079 | "512 106.100 100.000 1 \n",
3080 | "513 117.700 95.000 1 \n",
3081 | "514 106.000 100.000 1 \n",
3082 | "515 112.500 100.000 1 \n",
3083 | "516 106.600 95.000 1 \n",
3084 | "517 106.600 95.000 1 \n",
3085 | "518 106.600 95.000 1 \n",
3086 | "519 109.600 95.000 1 \n",
3087 | "520 109.100 100.000 1 \n",
3088 | "521 110.300 100.000 1 \n",
3089 | "522 107.140 95.000 1 \n",
3090 | "523 100.000 95.000 1 \n",
3091 | "524 103.125 95.000 1 \n",
3092 | "525 103.125 95.000 1 \n",
3093 | "526 106.250 100.000 1 \n",
3094 | "527 107.140 99.375 1 \n",
3095 | "528 97.050 100.000 1 \n",
3096 | "529 113.300 100.000 1 \n",
3097 | "530 112.500 100.000 1 \n",
3098 | "531 112.500 100.000 1 \n",
3099 | "532 110.000 100.000 1 \n",
3100 | "533 112.500 100.000 1 \n",
3101 | "534 110.000 100.000 1 \n",
3102 | "535 108.000 100.000 1 \n",
3103 | "536 108.000 100.000 1 \n",
3104 | "537 108.100 100.000 1 \n",
3105 | "\n",
3106 | "[538 rows x 20 columns]"
3107 | ]
3108 | },
3109 | "execution_count": 49,
3110 | "metadata": {},
3111 | "output_type": "execute_result"
3112 | }
3113 | ],
3114 | "source": [
3115 | "# Random Forest Impute\n",
3116 | "imp_df.impute('random_forest', {'n_estimators': 50, 'n_jobs': 4})\n",
3117 | "imp_df.imputed_df()"
3118 | ]
3119 | },
3120 | {
3121 | "cell_type": "code",
3122 | "execution_count": 50,
3123 | "metadata": {
3124 | "collapsed": false
3125 | },
3126 | "outputs": [
3127 | {
3128 | "data": {
3129 | "text/plain": [
3130 | "{'Anode_ratio': 0.17134411375781733,\n",
3131 | " 'Blade_pressure': 0.34666681500405583,\n",
3132 | " 'Caliper': 0.15279301047315719,\n",
3133 | " 'Chrome_content': 0.28642410154192433,\n",
3134 | " 'Density': 0.1839626490143208,\n",
3135 | " 'ESA_amperage': -0.10019459183802693,\n",
3136 | " 'Esa_voltage': 0.03848497910315507,\n",
3137 | " 'Hardener': 0.15191973694764827,\n",
3138 | " 'Humifity': 0.12277197977333476,\n",
3139 | " 'Ink_pct': 0.94165167046077214,\n",
3140 | " 'Ink_temperature': 0.018347262893288474,\n",
3141 | " 'Press_speed': 0.48675156249285967,\n",
3142 | " 'Proof_cut': 0.31275595447672344,\n",
3143 | " 'Roller_durometer': 0.34921211376020633,\n",
3144 | " 'Roughness': 0.026598048725949175,\n",
3145 | " 'Solvent_pct': 0.76799293975064564,\n",
3146 | " 'Varnish_pct': 0.95257836078050162,\n",
3147 | " 'Viscosity': 0.1119707739208341,\n",
3148 | " 'Wax': 0.40225880586737284,\n",
3149 | " 'bands': 0.76394052044609662}"
3150 | ]
3151 | },
3152 | "execution_count": 50,
3153 | "metadata": {},
3154 | "output_type": "execute_result"
3155 | }
3156 | ],
3157 | "source": [
3158 | "imp_df.imputation_scores"
3159 | ]
3160 | }
3161 | ],
3162 | "metadata": {
3163 | "kernelspec": {
3164 | "display_name": "Python 2",
3165 | "language": "python",
3166 | "name": "python2"
3167 | },
3168 | "language_info": {
3169 | "codemirror_mode": {
3170 | "name": "ipython",
3171 | "version": 2
3172 | },
3173 | "file_extension": ".py",
3174 | "mimetype": "text/x-python",
3175 | "name": "python",
3176 | "nbconvert_exporter": "python",
3177 | "pygments_lexer": "ipython2",
3178 | "version": "2.7.10"
3179 | }
3180 | },
3181 | "nbformat": 4,
3182 | "nbformat_minor": 0
3183 | }
3184 |
--------------------------------------------------------------------------------