http://nbviewer.jupyter.org/gist/hyeshik/cf9f3d7686e07eedbfda?revision=6
loess smoothing 곡선을 그려준것이 매우 유효해보인다.
import rpy2.robjects as ro
def loess_fit(x, y, px=None, model=None, alpha=0.5):
if model is None:
model = ro.r('y ~ x')
if px is None:
px = np.linspace(min(x), max(x), 22)[1:-1]
fitframe = ro.DataFrame({'x': ro.FloatVector(x), 'y': ro.FloatVector(y)})
loessmodel = ro.r.loess(model, fitframe, span=alpha)
predframe = ro.DataFrame({'x': ro.FloatVector(px)})
predy = ro.r.predict(loessmodel, predframe)
preddata = [(x, predy[i]) for i, x in enumerate(px)]
return np.array(preddata).transpose()
lotteria_trend = loess_fit(np.log10(bgt['density']), lotteria_to_random)
BK_trend = loess_fit(np.log10(bgt['density']), BK_to_random)
mcdonalds_trend = loess_fit(np.log10(bgt['density']), mcdonalds_to_random)
'SW-PRODUCT > 개발-데이터분석' 카테고리의 다른 글
[링크] 구글 챠트, Google Chart (0) | 2016.03.03 |
---|---|
[링크] 머신러닝 선택 가이드 (0) | 2016.02.15 |
Y값을 log(Y)로 치환해서 잔차가 퍼지는걸 보정한 예 (0) | 2016.01.30 |
콘텐츠 추천에서 유사도 계산: 유클리드, 코사인유사도, 피어슨 상관계수, 맨하탄거리 (0) | 2016.01.26 |
[링크] 머신러닝 사이트 (0) | 2016.01.15 |