This function automatically scans through each variable and generate features based on the type listed in the "details"

generateFeature(data, varlist, type = "Frequent", method = NULL)

Arguments

data

[data.frame | Required] dataframe or data.table

varlist

[text | Required] variable list to generate the additional features

type

[text | Required] variable transformation with type - 'Dummy','Outlier','Frequent' or 'Interaction'

method

[text | Required] input for variabe transformation for type = 'Frequent' then the method should be 'Frequency' or 'Percent'. Please refer to the "details" section to know more

Value

generated transformed features

Details

This function is for generating features based on different transformation methods such as interaction, outliers, Dummy coding, etc.

Interaction type

  • multiply - multiplication

  • add - addition

  • substract - substraction

  • divide - division

Frequency type

  • Frequency - frequency

  • Percent - percentage

Outlier type

  • Flag - flag outlier values like 1 or 0

  • Capping - impute outlier value by 95th or 5th percentile value

Date type

  • Year

  • Month

  • Quarter

  • Week

Examples

# Generate interaction features generateFeature(heart, varlist = c("cp", "chol", "trestbps"), type = "Interaction", method = "add")
#> Inter_cp_chol Inter_cp_trestbps Inter_chol_trestbps #> 1: 236 148 378 #> 2: 252 132 380 #> 3: 205 131 334 #> 4: 237 121 356 #> 5: 354 120 474 #> --- #> 299: 241 140 381 #> 300: 267 113 374 #> 301: 193 144 337 #> 302: 131 130 261 #> 303: 237 131 366
generateFeature(heart, varlist = c("cp", "chol", "trestbps"), type = "Interaction", method = "multiply")
#> Inter_cp_chol Inter_cp_trestbps Inter_chol_trestbps #> 1: 699 435 33785 #> 2: 500 260 32500 #> 3: 204 130 26520 #> 4: 236 120 28320 #> 5: 0 0 42480 #> --- #> 299: 0 0 33740 #> 300: 792 330 29040 #> 301: 0 0 27792 #> 302: 0 0 17030 #> 303: 236 130 30680
# Generate frequency features generateFeature(heart, varlist = c("cp", "thal"), type = "Frequent", method = "Percent")
#> Freq_t_cp Freq_t_thal #> 1 7.59 5.94 #> 2 28.71 54.79 #> 3 16.50 54.79 #> 4 16.50 54.79 #> 5 47.19 54.79 #> 6 47.19 5.94 #> 7 16.50 54.79 #> 8 16.50 38.61 #> 9 28.71 38.61 #> 10 28.71 54.79 #> 11 47.19 54.79 #> 12 28.71 54.79 #> 13 16.50 54.79 #> 14 7.59 54.79 #> 15 7.59 54.79 #> 16 28.71 54.79 #> 17 28.71 54.79 #> 18 7.59 54.79 #> 19 47.19 54.79 #> 20 7.59 54.79 #> 21 47.19 38.61 #> 22 28.71 54.79 #> 23 47.19 54.79 #> 24 28.71 54.79 #> 25 7.59 38.61 #> 26 16.50 54.79 #> 27 28.71 54.79 #> 28 28.71 54.79 #> 29 28.71 54.79 #> 30 28.71 54.79 #> 31 16.50 54.79 #> 32 47.19 38.61 #> 33 16.50 54.79 #> 34 28.71 54.79 #> 35 7.59 54.79 #> 36 28.71 54.79 #> 37 28.71 54.79 #> 38 28.71 38.61 #> 39 28.71 54.79 #> 40 28.71 54.79 #> 41 28.71 54.79 #> 42 16.50 54.79 #> 43 47.19 54.79 #> 44 47.19 54.79 #> 45 28.71 54.79 #> 46 16.50 54.79 #> 47 28.71 54.79 #> 48 28.71 54.79 #> 49 28.71 0.66 #> 50 47.19 54.79 #> 51 28.71 54.79 #> 52 47.19 54.79 #> 53 28.71 38.61 #> 54 28.71 54.79 #> 55 28.71 54.79 #> 56 16.50 54.79 #> 57 47.19 54.79 #> 58 47.19 54.79 #> 59 7.59 54.79 #> 60 47.19 54.79 #> 61 28.71 54.79 #> 62 16.50 38.61 #> 63 7.59 5.94 #> 64 16.50 5.94 #> 65 28.71 54.79 #> 66 47.19 54.79 #> 67 28.71 54.79 #> 68 16.50 54.79 #> 69 16.50 54.79 #> 70 47.19 54.79 #> 71 28.71 38.61 #> 72 28.71 38.61 #> 73 16.50 54.79 #> 74 47.19 54.79 #> 75 28.71 54.79 #> 76 16.50 54.79 #> 77 28.71 54.79 #> 78 16.50 54.79 #> 79 16.50 54.79 #> 80 28.71 38.61 #> 81 28.71 54.79 #> 82 16.50 54.79 #> 83 28.71 54.79 #> 84 7.59 38.61 #> 85 47.19 54.79 #> 86 28.71 38.61 #> 87 28.71 38.61 #> 88 16.50 38.61 #> 89 28.71 54.79 #> 90 47.19 54.79 #> 91 28.71 54.79 #> 92 47.19 38.61 #> 93 28.71 54.79 #> 94 16.50 54.79 #> 95 16.50 54.79 #> 96 47.19 38.61 #> 97 47.19 54.79 #> 98 47.19 38.61 #> 99 28.71 54.79 #> 100 28.71 54.79 #> 101 7.59 54.79 #> 102 7.59 38.61 #> 103 16.50 54.79 #> 104 28.71 38.61 #> 105 28.71 54.79 #> 106 28.71 54.79 #> 107 7.59 54.79 #> 108 47.19 54.79 #> 109 16.50 54.79 #> 110 47.19 54.79 #> 111 47.19 54.79 #> 112 28.71 38.61 #> 113 28.71 38.61 #> 114 47.19 38.61 #> 115 16.50 54.79 #> 116 28.71 54.79 #> 117 28.71 54.79 #> 118 7.59 38.61 #> 119 16.50 54.79 #> 120 47.19 54.79 #> 121 47.19 54.79 #> 122 47.19 54.79 #> 123 28.71 54.79 #> 124 28.71 54.79 #> 125 28.71 54.79 #> 126 16.50 54.79 #> 127 47.19 54.79 #> 128 28.71 54.79 #> 129 28.71 54.79 #> 130 16.50 54.79 #> 131 28.71 54.79 #> 132 16.50 54.79 #> 133 16.50 54.79 #> 134 16.50 54.79 #> 135 16.50 54.79 #> 136 47.19 54.79 #> 137 28.71 54.79 #> 138 16.50 54.79 #> 139 47.19 5.94 #> 140 47.19 38.61 #> 141 28.71 54.79 #> 142 47.19 54.79 #> 143 28.71 54.79 #> 144 47.19 54.79 #> 145 28.71 54.79 #> 146 16.50 54.79 #> 147 28.71 54.79 #> 148 7.59 54.79 #> 149 28.71 54.79 #> 150 28.71 54.79 #> 151 47.19 5.94 #> 152 47.19 54.79 #> 153 7.59 38.61 #> 154 28.71 54.79 #> 155 28.71 54.79 #> 156 47.19 54.79 #> 157 28.71 54.79 #> 158 16.50 54.79 #> 159 16.50 38.61 #> 160 16.50 38.61 #> 161 16.50 54.79 #> 162 16.50 54.79 #> 163 16.50 54.79 #> 164 28.71 54.79 #> 165 28.71 54.79 #> 166 47.19 54.79 #> 167 47.19 38.61 #> 168 47.19 54.79 #> 169 47.19 38.61 #> 170 47.19 38.61 #> 171 28.71 5.94 #> 172 16.50 38.61 #> 173 16.50 54.79 #> 174 28.71 38.61 #> 175 47.19 38.61 #> 176 47.19 38.61 #> 177 47.19 38.61 #> 178 28.71 54.79 #> 179 47.19 38.61 #> 180 47.19 5.94 #> 181 47.19 38.61 #> 182 47.19 38.61 #> 183 47.19 54.79 #> 184 28.71 38.61 #> 185 47.19 38.61 #> 186 47.19 54.79 #> 187 47.19 38.61 #> 188 47.19 38.61 #> 189 28.71 38.61 #> 190 47.19 38.61 #> 191 47.19 38.61 #> 192 47.19 38.61 #> 193 47.19 38.61 #> 194 47.19 38.61 #> 195 28.71 54.79 #> 196 47.19 38.61 #> 197 28.71 54.79 #> 198 47.19 38.61 #> 199 47.19 38.61 #> 200 47.19 5.94 #> 201 47.19 54.79 #> 202 47.19 38.61 #> 203 47.19 38.61 #> 204 28.71 38.61 #> 205 47.19 38.61 #> 206 47.19 38.61 #> 207 47.19 38.61 #> 208 47.19 38.61 #> 209 28.71 38.61 #> 210 47.19 38.61 #> 211 28.71 38.61 #> 212 47.19 38.61 #> 213 47.19 38.61 #> 214 47.19 38.61 #> 215 47.19 54.79 #> 216 47.19 38.61 #> 217 28.71 38.61 #> 218 47.19 38.61 #> 219 47.19 38.61 #> 220 47.19 38.61 #> 221 47.19 38.61 #> 222 47.19 38.61 #> 223 7.59 54.79 #> 224 47.19 38.61 #> 225 47.19 38.61 #> 226 47.19 38.61 #> 227 16.50 38.61 #> 228 47.19 38.61 #> 229 7.59 38.61 #> 230 28.71 38.61 #> 231 28.71 54.79 #> 232 47.19 38.61 #> 233 47.19 38.61 #> 234 47.19 54.79 #> 235 47.19 54.79 #> 236 47.19 38.61 #> 237 47.19 38.61 #> 238 47.19 38.61 #> 239 47.19 54.79 #> 240 47.19 38.61 #> 241 28.71 38.61 #> 242 47.19 54.79 #> 243 47.19 5.94 #> 244 47.19 38.61 #> 245 47.19 5.94 #> 246 47.19 38.61 #> 247 47.19 38.61 #> 248 16.50 5.94 #> 249 16.50 38.61 #> 250 28.71 38.61 #> 251 47.19 38.61 #> 252 47.19 38.61 #> 253 47.19 54.79 #> 254 47.19 54.79 #> 255 7.59 54.79 #> 256 47.19 38.61 #> 257 47.19 38.61 #> 258 47.19 38.61 #> 259 47.19 54.79 #> 260 7.59 38.61 #> 261 47.19 38.61 #> 262 47.19 54.79 #> 263 47.19 38.61 #> 264 47.19 54.79 #> 265 47.19 54.79 #> 266 47.19 54.79 #> 267 47.19 54.79 #> 268 28.71 54.79 #> 269 47.19 54.79 #> 270 47.19 38.61 #> 271 47.19 38.61 #> 272 7.59 54.79 #> 273 47.19 54.79 #> 274 47.19 38.61 #> 275 47.19 54.79 #> 276 47.19 38.61 #> 277 47.19 38.61 #> 278 16.50 38.61 #> 279 16.50 54.79 #> 280 47.19 54.79 #> 281 47.19 5.94 #> 282 47.19 0.66 #> 283 28.71 5.94 #> 284 47.19 38.61 #> 285 47.19 38.61 #> 286 47.19 38.61 #> 287 7.59 54.79 #> 288 16.50 54.79 #> 289 47.19 38.61 #> 290 47.19 38.61 #> 291 47.19 38.61 #> 292 47.19 5.94 #> 293 47.19 5.94 #> 294 28.71 38.61 #> 295 47.19 5.94 #> 296 47.19 38.61 #> 297 47.19 54.79 #> 298 47.19 5.94 #> 299 47.19 38.61 #> 300 7.59 38.61 #> 301 47.19 38.61 #> 302 47.19 38.61 #> 303 16.50 54.79
generateFeature(heart, varlist = c("cp", "thal"), type = "Frequent", method = "Frequency")
#> Freq_t_cp Freq_t_thal #> 1 23 18 #> 2 87 166 #> 3 50 166 #> 4 50 166 #> 5 143 166 #> 6 143 18 #> 7 50 166 #> 8 50 117 #> 9 87 117 #> 10 87 166 #> 11 143 166 #> 12 87 166 #> 13 50 166 #> 14 23 166 #> 15 23 166 #> 16 87 166 #> 17 87 166 #> 18 23 166 #> 19 143 166 #> 20 23 166 #> 21 143 117 #> 22 87 166 #> 23 143 166 #> 24 87 166 #> 25 23 117 #> 26 50 166 #> 27 87 166 #> 28 87 166 #> 29 87 166 #> 30 87 166 #> 31 50 166 #> 32 143 117 #> 33 50 166 #> 34 87 166 #> 35 23 166 #> 36 87 166 #> 37 87 166 #> 38 87 117 #> 39 87 166 #> 40 87 166 #> 41 87 166 #> 42 50 166 #> 43 143 166 #> 44 143 166 #> 45 87 166 #> 46 50 166 #> 47 87 166 #> 48 87 166 #> 49 87 2 #> 50 143 166 #> 51 87 166 #> 52 143 166 #> 53 87 117 #> 54 87 166 #> 55 87 166 #> 56 50 166 #> 57 143 166 #> 58 143 166 #> 59 23 166 #> 60 143 166 #> 61 87 166 #> 62 50 117 #> 63 23 18 #> 64 50 18 #> 65 87 166 #> 66 143 166 #> 67 87 166 #> 68 50 166 #> 69 50 166 #> 70 143 166 #> 71 87 117 #> 72 87 117 #> 73 50 166 #> 74 143 166 #> 75 87 166 #> 76 50 166 #> 77 87 166 #> 78 50 166 #> 79 50 166 #> 80 87 117 #> 81 87 166 #> 82 50 166 #> 83 87 166 #> 84 23 117 #> 85 143 166 #> 86 87 117 #> 87 87 117 #> 88 50 117 #> 89 87 166 #> 90 143 166 #> 91 87 166 #> 92 143 117 #> 93 87 166 #> 94 50 166 #> 95 50 166 #> 96 143 117 #> 97 143 166 #> 98 143 117 #> 99 87 166 #> 100 87 166 #> 101 23 166 #> 102 23 117 #> 103 50 166 #> 104 87 117 #> 105 87 166 #> 106 87 166 #> 107 23 166 #> 108 143 166 #> 109 50 166 #> 110 143 166 #> 111 143 166 #> 112 87 117 #> 113 87 117 #> 114 143 117 #> 115 50 166 #> 116 87 166 #> 117 87 166 #> 118 23 117 #> 119 50 166 #> 120 143 166 #> 121 143 166 #> 122 143 166 #> 123 87 166 #> 124 87 166 #> 125 87 166 #> 126 50 166 #> 127 143 166 #> 128 87 166 #> 129 87 166 #> 130 50 166 #> 131 87 166 #> 132 50 166 #> 133 50 166 #> 134 50 166 #> 135 50 166 #> 136 143 166 #> 137 87 166 #> 138 50 166 #> 139 143 18 #> 140 143 117 #> 141 87 166 #> 142 143 166 #> 143 87 166 #> 144 143 166 #> 145 87 166 #> 146 50 166 #> 147 87 166 #> 148 23 166 #> 149 87 166 #> 150 87 166 #> 151 143 18 #> 152 143 166 #> 153 23 117 #> 154 87 166 #> 155 87 166 #> 156 143 166 #> 157 87 166 #> 158 50 166 #> 159 50 117 #> 160 50 117 #> 161 50 166 #> 162 50 166 #> 163 50 166 #> 164 87 166 #> 165 87 166 #> 166 143 166 #> 167 143 117 #> 168 143 166 #> 169 143 117 #> 170 143 117 #> 171 87 18 #> 172 50 117 #> 173 50 166 #> 174 87 117 #> 175 143 117 #> 176 143 117 #> 177 143 117 #> 178 87 166 #> 179 143 117 #> 180 143 18 #> 181 143 117 #> 182 143 117 #> 183 143 166 #> 184 87 117 #> 185 143 117 #> 186 143 166 #> 187 143 117 #> 188 143 117 #> 189 87 117 #> 190 143 117 #> 191 143 117 #> 192 143 117 #> 193 143 117 #> 194 143 117 #> 195 87 166 #> 196 143 117 #> 197 87 166 #> 198 143 117 #> 199 143 117 #> 200 143 18 #> 201 143 166 #> 202 143 117 #> 203 143 117 #> 204 87 117 #> 205 143 117 #> 206 143 117 #> 207 143 117 #> 208 143 117 #> 209 87 117 #> 210 143 117 #> 211 87 117 #> 212 143 117 #> 213 143 117 #> 214 143 117 #> 215 143 166 #> 216 143 117 #> 217 87 117 #> 218 143 117 #> 219 143 117 #> 220 143 117 #> 221 143 117 #> 222 143 117 #> 223 23 166 #> 224 143 117 #> 225 143 117 #> 226 143 117 #> 227 50 117 #> 228 143 117 #> 229 23 117 #> 230 87 117 #> 231 87 166 #> 232 143 117 #> 233 143 117 #> 234 143 166 #> 235 143 166 #> 236 143 117 #> 237 143 117 #> 238 143 117 #> 239 143 166 #> 240 143 117 #> 241 87 117 #> 242 143 166 #> 243 143 18 #> 244 143 117 #> 245 143 18 #> 246 143 117 #> 247 143 117 #> 248 50 18 #> 249 50 117 #> 250 87 117 #> 251 143 117 #> 252 143 117 #> 253 143 166 #> 254 143 166 #> 255 23 166 #> 256 143 117 #> 257 143 117 #> 258 143 117 #> 259 143 166 #> 260 23 117 #> 261 143 117 #> 262 143 166 #> 263 143 117 #> 264 143 166 #> 265 143 166 #> 266 143 166 #> 267 143 166 #> 268 87 166 #> 269 143 166 #> 270 143 117 #> 271 143 117 #> 272 23 166 #> 273 143 166 #> 274 143 117 #> 275 143 166 #> 276 143 117 #> 277 143 117 #> 278 50 117 #> 279 50 166 #> 280 143 166 #> 281 143 18 #> 282 143 2 #> 283 87 18 #> 284 143 117 #> 285 143 117 #> 286 143 117 #> 287 23 166 #> 288 50 166 #> 289 143 117 #> 290 143 117 #> 291 143 117 #> 292 143 18 #> 293 143 18 #> 294 87 117 #> 295 143 18 #> 296 143 117 #> 297 143 166 #> 298 143 18 #> 299 143 117 #> 300 23 117 #> 301 143 117 #> 302 143 117 #> 303 50 166