hossam.prep¶
hossam.prep ¶
hs_standard_scaler ¶
hs_standard_scaler(
data, yname=None, save_path=None, load_path=None
)
연속형 변수에 대해 Standard Scaling을 수행한다.
- DataFrame 입력 시: 비수치형/종속변수를 분리한 후 스케일링하고 다시 합칩니다.
- 배열 입력 시: 그대로 스케일링된 ndarray를 반환합니다.
load_path가 주어지면 기존 스케일러를 재사용하고,save_path가 주어지면 학습된 스케일러를 저장합니다.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
DataFrame | ndarray
|
스케일링할 데이터. |
required |
yname
|
str | None
|
종속변수 컬럼명. 분리하지 않으려면 None. |
None
|
save_path
|
str | None
|
학습된 스케일러 저장 경로. |
None
|
load_path
|
str | None
|
기존 스케일러 로드 경로. |
None
|
Returns:
| Type | Description |
|---|---|
DataFrame
|
DataFrame | ndarray: 스케일링된 데이터(입력 타입과 동일). |
Examples:
>>> from hossam.prep import hs_standard_scaler
>>> std_df = hs_standard_scaler(df, yname="y", save_path="std.pkl")
Source code in hossam/prep.py
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | |
hs_minmax_scaler ¶
hs_minmax_scaler(
data, yname=None, save_path=None, load_path=None
)
연속형 변수에 대해 MinMax Scaling을 수행한다.
DataFrame은 비수치/종속변수를 분리 후 스케일링하고 재결합하며, 배열 입력은 그대로 ndarray를 반환한다.
load_path 제공 시 기존 스케일러를 사용하고, save_path 제공 시 학습 스케일러를 저장한다.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
DataFrame | ndarray
|
스케일링할 데이터. |
required |
yname
|
str | None
|
종속변수 컬럼명. 분리하지 않으려면 None. |
None
|
save_path
|
str | None
|
학습된 스케일러 저장 경로. |
None
|
load_path
|
str | None
|
기존 스케일러 로드 경로. |
None
|
Returns:
| Type | Description |
|---|---|
DataFrame
|
DataFrame | ndarray: 스케일링된 데이터(입력 타입과 동일). |
Examples:
>>> from hossam.prep import hs_minmax_scaler
>>> mm_df = hs_minmax_scaler(df, yname="y")
Source code in hossam/prep.py
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | |
hs_set_category ¶
hs_set_category(data, *args)
카테고리 데이터를 설정한다.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
DataFrame
|
데이터프레임 객체 |
required |
*args
|
str
|
컬럼명 목록 |
()
|
Returns:
| Name | Type | Description |
|---|---|---|
DataFrame |
DataFrame
|
카테고리 설정된 데이터프레임 |
Source code in hossam/prep.py
147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | |
hs_unmelt ¶
hs_unmelt(data, id_vars='class', value_vars='values')
두 개의 컬럼으로 구성된 데이터프레임에서 하나는 명목형, 나머지는 연속형일 경우 명목형 변수의 값에 따라 고유한 변수를 갖는 데이터프레임으로 변환한다.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
DataFrame
|
데이터프레임 |
required |
id_vars
|
str
|
명목형 변수의 컬럼명. Defaults to 'class'. |
'class'
|
value_vars
|
str
|
연속형 변수의 컬럼명. Defaults to 'values'. |
'values'
|
Returns:
| Name | Type | Description |
|---|---|---|
DataFrame |
DataFrame
|
변환된 데이터프레임 |
Source code in hossam/prep.py
166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 | |
hs_replace_missing_value ¶
hs_replace_missing_value(data, strategy='mean')
SimpleImputer로 결측치를 대체한다.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
DataFrame
|
결측치가 포함된 데이터프레임 |
required |
strategy
|
str
|
결측치 대체 방식(mean, median, most_frequent, constant). Defaults to "mean". |
'mean'
|
Returns:
| Name | Type | Description |
|---|---|---|
DataFrame |
DataFrame
|
결측치가 대체된 데이터프레임 |
Examples:
>>> from hossam.prep import hs_replace_missing_value
>>> out = hs_replace_missing_value(df.select_dtypes(include="number"), strategy="median")
Source code in hossam/prep.py
190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 | |
hs_outlier_table ¶
hs_outlier_table(data, *fields)
수치형 컬럼에 대한 사분위수 및 IQR 기반 이상치 경계를 계산한다.
전달된 fields가 없으면 데이터프레임의 모든 수치형 컬럼을 대상으로 한다.
결측치는 제외하고 사분위수를 계산한다.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
DataFrame
|
분석할 데이터프레임. |
required |
*fields
|
str
|
대상 컬럼명(들). 생략 시 모든 수치형 컬럼 대상. |
()
|
Returns:
| Name | Type | Description |
|---|---|---|
DataFrame |
DataFrame
|
Q1, Q2(중앙값), Q3, IQR, 하한, 상한을 포함한 통계표. |
Examples:
>>> from hossam.prep import hs_outlier_table
>>> hs_outlier_table(df, "value")
Source code in hossam/prep.py
215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 | |
hs_replace_outliner ¶
hs_replace_outliner(data, method='nan', *fields)
이상치 경계값을 넘어가는 데이터를 경계값으로 대체한다.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
DataFrame
|
데이터프레임 |
required |
method
|
str
|
대체 방법 - nan: 결측치 대체 - outline: 경계값 대체 - mean: 평균 대체 - most: 최빈값 대체 - median: 중앙값 대체 |
'nan'
|
*fields
|
str
|
컬럼명 목록 |
()
|
Returns:
| Name | Type | Description |
|---|---|---|
DataFrame |
DataFrame
|
이상치가 경계값으로 대체된 데이터 프레임 |
Source code in hossam/prep.py
267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 | |
hs_drop_outliner ¶
hs_drop_outliner(data, *fields)
이상치를 결측치로 변환한 후 모두 삭제한다.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
DataFrame
|
데이터프레임 |
required |
*fields
|
str
|
컬럼명 목록 |
()
|
Returns:
| Name | Type | Description |
|---|---|---|
DataFrame |
DataFrame
|
이상치가 삭제된 데이터프레임 |
Source code in hossam/prep.py
327 328 329 330 331 332 333 334 335 336 337 338 339 | |
hs_dummies ¶
hs_dummies(data, drop_first=True, dtype='int', *args)
명목형 변수를 더미 변수로 변환한다.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
DataFrame
|
데이터프레임 |
required |
*args
|
str
|
명목형 컬럼 목록 |
()
|
Returns:
| Name | Type | Description |
|---|---|---|
DataFrame |
DataFrame
|
더미 변수로 변환된 데이터프레임 |
Source code in hossam/prep.py
344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 | |
hs_labelling ¶
hs_labelling(data, *fields)
명목형 변수를 라벨링한다.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
DataFrame
|
데이터프레임 |
required |
*fields
|
str
|
명목형 컬럼 목록 |
()
|
Returns:
| Name | Type | Description |
|---|---|---|
DataFrame |
DataFrame
|
라벨링된 데이터프레임 |
Source code in hossam/prep.py
369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 | |