티스토리 뷰
반응형
In [31]:
# code from - https://stackoverflow.com/questions/24645153/pandas-dataframe-columns-scaling-with-sklearn
import pandas as pd
import numpy as np
df = pd.DataFrame({'A':[14.00,90.20,90.95,96.27,91.21],'B':[103.02,107.26,110.35,114.23,114.68], 'C':['big','small','big','small','small']})
df
Out[31]:
In [32]:
df["A"]
Out[32]:
In [33]:
df["A"] - df["A"].min()
Out[33]:
In [34]:
(df["A"] - df["A"].min()) / (df["A"].max() - df["A"].min())
Out[34]:
In [35]:
df["B"].mean(), df["B"].std()
Out[35]:
In [36]:
df["B"] = ( df["B"] - df["B"].mean() ) \
/ (df["B"].std() )
In [37]:
df
Out[37]:
In [38]:
def feture_scaling(df, scaling_strategy="min-max", column=None):
if column == None:
column = [column_name for column_name in df.columns]
for column_name in column:
if scaling_strategy == "min-max":
df[column_name] = ( df[column_name] - df[column_name].min() ) /\
(df[column_name].max() - df[column_name].min())
elif scaling_strategy == "z-score":
df[column_name] = ( df[column_name] - \
df[column_name].mean() ) /\
(df[column_name].std() )
return df
In [39]:
df = pd.DataFrame({'A':[14.00,90.20,90.95,96.27,91.21],'B':[103.02,107.26,110.35,114.23,114.68], 'C':['big','small','big','small','small']})
df
Out[39]:
In [40]:
feture_scaling(df,column=["A","B"])
Out[40]:
In [41]:
# code from - http://sebastianraschka.com/Articles/2014_about_feature_scaling.html
import pandas as pd
import numpy as np
df = pd.io.parsers.read_csv(
'https://raw.githubusercontent.com/rasbt/pattern_classification/master/data/wine_data.csv',
header=None,
usecols=[0,1,2]
)
df.columns=['Class label', 'Alcohol', 'Malic acid']
df.head()
Out[41]:
In [42]:
df = feture_scaling(df, "min-max", column=['Alcohol', 'Malic acid'])
df.head()
Out[42]:
In [43]:
from sklearn import preprocessing
df = pd.io.parsers.read_csv(
'https://raw.githubusercontent.com/rasbt/pattern_classification/master/data/wine_data.csv',
header=None,
usecols=[0,1,2]
)
df.columns=['Class label', 'Alcohol', 'Malic acid']
df.head(7)
Out[43]:
In [44]:
from sklearn import preprocessing
std_scaler = preprocessing.StandardScaler().fit(df[["Alcohol",'Malic acid']] )
In [45]:
df_std = std_scaler.transform(df[["Alcohol", "Malic acid"]])
df_std[:5]
Out[45]:
In [46]:
minmax_scaler = preprocessing.MinMaxScaler().fit(df[["Alcohol",'Malic acid']] )
In [47]:
df_minmax = minmax_scaler.transform(df[["Alcohol", "Malic acid"]])
In [48]:
df_minmax[:5]
Out[48]:
In [ ]:
반응형
'머신러닝' 카테고리의 다른 글
[데이터전처리_3] Category Data 처리 (0) | 2018.10.17 |
---|---|
[데이터전처리_2] missing value 처리 (0) | 2018.10.17 |
Pandas 너 뭐니?_두번째 (0) | 2018.06.26 |
Pandas 너 뭐니?_첫번째 (0) | 2018.06.10 |
numpy 를 이해해보자 (2) | 2018.06.01 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 환매시점
- dash
- 경제주체별 M2
- 김성일 작가님
- 리치고
- 원계열
- 마연굴
- 프로그래스바 표시
- 말잔
- 리치고 주식
- 통화량 데이타
- 연금저축
- Forgiving
- 환율데이터
- Dash.html
- 연금등록
- 주소를 위경도 변환
- 블록해쉬구현
- Dash 와 html 차이
- 환율이평선
- 내 연금조회
- ChatGPT
- M1M2비율
- 계정조정계열
- 위경도변환
- M1/M2
- 경제는 어떻게 움직이는가
- pandas apply
- 블록해쉬
- 객사오
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함