Post List

레이블이 Data Analysis(R)인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Data Analysis(R)인 게시물을 표시합니다. 모든 게시물 표시

2025년 6월 12일 목요일

RStudio Server 세팅


CentOS6


다음과 같은 오류의 경우
Error: Cannot find a valid baseurl for repo: base


다음을 수정한다.
vi /etc/yum.repos.d/CentOS-Base.repo

[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://vault.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=http://vault.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
baseurl=http://vault.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6



yum update -y
yum clean all
yum install -y R
버전이 낮다.

다음의 링크를 참고하여 3.x 버전을 설치하자.
yum install readline-devel
yum install libXt-devel


wget https://www.zlib.net/fossils/zlib-1.2.5.1.tar.gz
tar xvf zlib-1.2.5.1.tar.gz
cd zlib-1.2.5.1
./configure --prefix=/root/library
make && make install

wget https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz
tar xzvf bzip2-1.0.8.tar.gz
cd bzip2-1.0.8
make -f Makefile-libbz2_so
make clean
make
make -n install PREFIX=/root/library

wget https://tukaani.org/xz/xz-5.2.4.tar.gz
tar -zxf xz-5.2.4.tar.gz
cd xz-5.2.4
./configure --prefix=/root/library
make && make install

wget https://ftp.pcre.org/pub/pcre/pcre-8.42.tar.gz
tar -zxf pcre-8.42.tar.gz
cd pcre-8.42
./configure --prefix=/root/library --enable-utf8
make && make install
cd /root/library/include
mkdir pcre
ln -s pcre* pcre/.

wget https://tukaani.org/xz/xz-5.2.4.tar.gz
tar -zxf xz-5.2.4.tar.gz
cd xz-5.2.4
./configure --prefix=/root/library
make && make install


wget https://cran.r-project.org/src/base/R-3/R-3.3.2.tar.gz
tar -zxvf R-3.3.2.tar.gz
cd R-3.3.2
./configure --prefix=/PATH/TO/INSTALL/R --enable-R-shlib LDFLAGS="-L/root/library/lib/" CPPFLAGS="-I/root/library/include/"
make && make install

wget https://download2.rstudio.org/server/centos6/x86_64/rstudio-server-rhel-1.2.5042-x86_64.rpm
yum install rstudio-server-rhel-1.2.5042-x86_64.rpm

포트는 8787이다.












R설치
sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
sudo yum install tcl
sudo yum clean all
sudo yum install R

R-Stuio 설치
wget http://download2.rstudio.org/rstudio-server-0.97.449-x86_64.rpm
sudo yum install --nogpgcheck rstudio-server-0.97.449-x86_64.rpm

ODBC 설치
wget http://download.microsoft.com/download/B/C/D/BCDD264C-7517-4B7D-8159-C99FC5535680/RedHat6/msodbcsql-11.0.2270.0.tar.gz
tar -xzf msodbcsql-11.0.2270.0.tar.gz
cd msodbcsql-11.0.2270.0

다음의 주소에서 다운로드 --> ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.0.tar.gz
unixODBC 다시 인스톨 --> http://msdn.microsoft.com/ko-kr/library/hh568449.aspx --> unixODBC-2.3.0 버전으로...

./build_dm.sh --download-url=file://unixODBC-2.3.0.tar.gz
쪼메 기둘림...

cd /tmp/unixODBC.19477.9801.16933/unixODBC-2.3.0
sudo make install

cd /home/dw_admin/msodbcsql-11.0.2270.0
sudo ./install.sh install
sudo odbcinst -q -d -n "ODBC Driver 11 for SQL Server"
sudo odbcinst -q -d -n "MSSQL36"

FreeTDS 설치
sudo yum install freetds


sudo vi /etc/odbc.ini

[SQLSERVER_36]
Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2270.0
Server=192.168.201.36,1433



테스트..
isql -v SQLSERVER_36 로그인 패스워드



install.packages("RODBC")
library("RODBC")

conn <- odbcConnect("SQLSERVER_36",uid="id", pwd="pw")
sqlQuery(conn, sql1)




wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
 
yum install R


install.packages("gtools")
install.packages("gdata")
install.packages("caTools")
install.packages("gplots", pkgs="/home/rstudio_user/gplots_2.11.0.1.tar.gz", repos = NULL)
install.packages("ROCR")


R에서 Tensorflow 사용하기

Contents

1 환경
2 R에서
3 에러
4 해결
5 확인



1 환경 #

  • Windows 10

  • anaconda로 설치된 상태


2 R에서 #

library(tensorflow)
install_tensorflow()

3 에러 #


rstudio에서 설치 에러 발생
> install_tensorflow()

Remove all packages in environment C:\ANACON~1\envs\r-tensorflow:


## Package Plan ##

  environment location: C:\ANACON~1\envs\r-tensorflow


The following packages will be REMOVED:

  ca-certificates-2019.1.23-0
  certifi-2018.11.29-py37_0
  openssl-1.1.1b-he774522_0
  pip-19.0.3-py37_0
  python-3.7.2-h8c8aaf0_10
  setuptools-40.8.0-py37_0
  sqlite-3.26.0-he774522_0
  vc-14.1-h0510ff6_4
  vs2015_runtime-14.15.26706-h3a45250_0
  wheel-0.33.1-py37_0
  wincertstore-0.2-py37_0


Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
Creating r-tensorflow conda environment for TensorFlow installation...
Collecting package metadata: ...working... done
Solving environment: ...working... done

## Package Plan ##

  environment location: C:\ANACON~1\envs\r-tensorflow

  added / updated specs:
    - python=3.7


The following NEW packages will be INSTALLED:

  ca-certificates    pkgs/main/win-64::ca-certificates-2019.1.23-0
  certifi            pkgs/main/win-64::certifi-2018.11.29-py37_0
  openssl            pkgs/main/win-64::openssl-1.1.1b-he774522_0
  pip                pkgs/main/win-64::pip-19.0.3-py37_0
  python             pkgs/main/win-64::python-3.7.2-h8c8aaf0_10
  setuptools         pkgs/main/win-64::setuptools-40.8.0-py37_0
  sqlite             pkgs/main/win-64::sqlite-3.26.0-he774522_0
  vc                 pkgs/main/win-64::vc-14.1-h0510ff6_4
  vs2015_runtime     pkgs/main/win-64::vs2015_runtime-14.15.26706-h3a45250_0
  wheel              pkgs/main/win-64::wheel-0.33.1-py37_0
  wincertstore       pkgs/main/win-64::wincertstore-0.2-py37_0


Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
#
# To activate this environment, use:
# > activate r-tensorflow
#
# To deactivate an active environment, use:
# > deactivate
#
# * for power-users using bash, you must source
#

Collecting package metadata: ...working... done
Solving environment: ...working... failed

PackagesNotFoundError: The following packages are not available from current channels:

  - tensorflow==1.13.1

Current channels:

  - https://conda.anaconda.org/conda-forge/win-64
  - https://conda.anaconda.org/conda-forge/noarch
  - https://repo.anaconda.com/pkgs/main/win-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/free/win-64
  - https://repo.anaconda.com/pkgs/free/noarch
  - https://repo.anaconda.com/pkgs/r/win-64
  - https://repo.anaconda.com/pkgs/r/noarch
  - https://repo.anaconda.com/pkgs/msys2/win-64
  - https://repo.anaconda.com/pkgs/msys2/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.


Error: Error 1 occurred installing packages into conda environment r-tensorflow

4 해결 #

activate r-tensorflow
pip install --upgrade tensorflow

5 확인 #

sess = tf$Session()
hello <- tf$constant('Hello, TensorFlow!')
sess$run(hello)

Statistics

게임의 미학




게임의 미학(aesthetics)
1. Sense Pleasure (오감에 의한 쾌락) : 게임을 하면서 느끼는 시각적, 촉감적, 청각적, 후각적, 미각적 쾌락. (물론 아직은 후각과 미각은 미지의 영역이다)
2. Fantasy (환상) : 게임 속 다양한 역할을 수행함으로써 경험하는 '다른 세계', 혹은 '다른 존재성'.
3. Narrative (서술) : 드라마적 요소. 게임 속 인간의 감성을 자극하는 이야기.
4. Challenge (도전) : 게임을 클리어하면서 느끼는 성취감에 대한 재미. *난이도가 아닌, 게임 안에 있는 장애물 코스*
5. Fellowship (협동력) : 동료와 게임을 하면서 느끼는 동료애, 협동심, 단결력, 동화력의 재미. MMORPG나 팀 포트리스가 좋은 예.
6. Competition (경쟁) : 인간의 경쟁 욕구에 의거한 재미. LOL, 콜오브듀티, 팀 포트리스같은 경쟁형 게임. 
7. Discovery (탐험/모험) : 새로운 지역, 시스템, 게임성, 이야기를 발견해가는 모험의 재미. 탐구심과 호기심을 충족.
8. Expression (표현) : 인간은 본능적으로 표현의 욕구가 있다. 게임의 각종 커스터마이징(Deus Ex, Mass Effect, Fallout)이나 개인성 표현 게임.
9. Abnegation (자제) : 자신을 잊어버리고 다른 세계로 사라지고 싶은 충동적 욕구. 뇌의 스위치를 잠시 절전모드로 꺼두는 느낌. 노가다 많고 반복적 재미있는 게임(애니팡, 퍼즐 등) 



노지마 미호의 소셜 게임 컬럼 주요 글귀 정리

비즈니스 모델
    * 욕구를 만들어 내는 것 
        - '유료아이템을 구입하고 싶다'라는 욕구를 만들어내는 시스템
        - 유료아이템은 게임을 플레이하기 때문에 사용가치가 있는 것
    * 유료와 무료의 차이를 연출해 내는 것
        - 플레이어에게 '이만한 가격이면 적정하다' 하고 생각하게 해야
        - 무료아이템을 기준으로 하여, 플레이어는 유료아이템의 가격이 적정한지 판단하고, 이해한 후 구입하는 것
    
    * 유료아이템을 산 후에는 어떻게 되는 걸까 
        - 돈을 쓴 후에 더욱 플레이를 열심히 하게 되는 패턴
            # 돈을 썼다는 것은 그 만큼 재미있다고 판단했기 때문
            # 계속해서 게임을 즐기기 위해서
            # 돈을 냈으니 본전 찾기
        - 돈을 쓴 순간, 게임을 계속할 마음이 없어지는 경우
            # 유료아이템이 있으면, 게임을 유리하게 풀어나갈 수 있어서, 안심이 된다. 
              그러나 이러한 안심은 그 때까지 무료아이템으로 극복해 온 긴장감이나 집중력까지 해치고 만다
            # 충동적으로 지불할 수록, 이러한 경향이 강해진다.
    * 주기가 짧은 게임은 바로 머니타이즈를 생각해야 함.

만족도
데이터 분석
    * 첫번째 대결, 첫번째 퀘스트 달성, 레벨업 등, 게임 진행 상의 상황으로 나누어, 유저의 이탈율을 확인
    * RPG게임일까, 육성게임일까, 배틀게임일까, 장르에 따라 구체적으로 측정할 행동변수가 달라진다
    * 훅 리텐션 머니타이즈의 프레임워크에서 필자가 강조하고 싶은 점은, 유저가 등록하고 나서 유료이용할때까지의 '시간의 흐름'이다. 
      훅단계를 넘어가지 못하면 그 다음 단계로는 갈 수 없다.
    * 모든 변수를 같은 선상에서 취급하는 것이 아니라, 흐름을 막는 병목부분을 중점적으로 봐야 한다
    * 많은 소셜게임에서는 '초대'버튼이 달려있으나, 초대제도는 대부분의 게임에 탑재되어 있고, 그만큼 차별화하기란 어렵다.
    * 과열된 초대제도는 유저를 피곤하게 할 수 있다. 더욱 초대수를 늘리려고, 
      지금까지 없었던 매력적인 선물을 준비한 캠페인을 시작해도, 
      이미 친구를 다 초대한 충성심 높은 이용자(로열유저)는 오히려 속았다는 느낌이 든다. 
      초대 수의 추이는 파악하기 쉬워서, 업체 입장에서는 편리한 모델로 사용되곤 하나, 길게 봤을 때, 로열유저의 정착을 생각할 필요가 있다. 
    * 튜터리얼의 몇번째 스텝에서 클리어했는가, 어떤 유저와 싸워서 결과는 어땠는가, 어떤 아이템을 언제 구입했는가
    * 전날과 비교해서 신규유저증가가 둔화되었다면, 프로모션에 역점을 기울어야겠음을 알 수 있다. 액티브유저는 늘고 있는데, 
      과금유저가 줄었다면, 유료아이템 설정 등의 머니타이즈부분에 문제가 있음을 알 수 있다. KPI의 변동분석으로, 대략적인 문제점을 알 수가 있다
    * 예를들어 배틀계열의 게임이라면, 배틀횟수, 이긴 횟수와 진 횟수(승패), 동료에게 도움을 받은 횟수, 
      배틀상대와의 레벨차이 등, 게임시스템 그 자체를 나타내는 변수다. 이기기만하는 배틀도 시시하겠지만, 
      지기만 한다면 의욕이 나지 않을 것이다. 딱 좋은 승률과 난이도를 컨트롤하면 유저가 더욱 더 게임에 빠져들게 될 것이다. 
    * 예를들어 '배틀 난이도를 높이면, 전투상황을 유리하게 할 수 있는 유료아이템이 잘 팔릴 것'이란 가설을 세우고, 난이도를 올렸다 치자. 
      그러나 지고 싶지 않다고 생각해서 과금을 하는 유저가 있는가 하면, 짜증나서 해지해버리는 유저도 나온다. 분명히 가설대로 과금률에 변화는 있겠으나, 
      반대로 액티브율에도 악영향을 미치게 되는 것이다. 

     나아가, 승률 변화는 아이템유통에 변화를 주며, 유료아이템의 효과도 변하게 될 것이다. 그래서, 고객단가에 영향을 줄 수도 있다. 
      또는 유저배틀을 회피하며 싱글퀘스트 플레이스타일로 변화하다보면 게임의 수명에 악영향을 미칠 수도 있다.
    * 유저의 플레이시간에 맞춘 시계열분석
        - 세로축은 유저의 활동정도를 나타낸다. 로그인 유무나 로그인 빈도 등, 행동의 활발함을 나타내는 모든 변수다
        - 가로축을 단순히 날짜별로 하지 않은 것은, 시간개념에도 바리에이션이 있기 때문이다. 게임 억세스를 나타내는 변수로는, 등록하고 난 날짜, 총 로그인시간 등이 있다.
    * 과금이란 유저의 열중도나 만족도를 금전으로 바꾼 것으로, 빨리 지출하면, 그 열의가 나중으로 이어지지 않게 된다. 
      이렇게 조절하는 것도, 시간축에 따라 데이터를 꾸준히 봐가야 한다

확률분포함수

Contents

1 확률분포함수



1 확률분포함수 #

이항분포(Binomial Distribution) - binom(x, size, prob)
다항분포(Multinomial Distribution) - multinom(n, size, prob)
기하분포(Geometric Distribution) - geom(x, prob)
초기하분포(Hypergeometric Distribution) - hyper(x, m, n, k)
포아송분포(Poisson Distribution) - pois(x, lambda)
균일분포(Uniform Distribution) - unif(x, min=0, max=1)
정규분포(Normal Distribution) - norm(x, mean=0, sd=1)
지수분포(Exponential Distribution) - exp(x, rate=1)
감마분포(Gamma Distribution) - gamma(x, shape,scale)
베타분포(Beta Distribution) - bete(x, shape1, shape2)
코쉬분포(Cauchy Distribution) - cauchy(x,Location=0,scale=1)
로그정규분포(Log-normal Distribution) - lnorm(x, meanlog=0, sdlog=1)
와이블분포(Weibull Distribution) - weibull(x, shape, sclae=1)
로지스틱분포(Logistic Distribution) - logis(x, Location=0, scale=1)
T-분포(t-Distribution) - t(x, df)
F-분포(F-Distribution) - f(x, df1, df2)
Chi-분포(Chi-square Distribution) - chisq(x, df)



  • d, p, q, r 접두사 붙는당..

정규분포-NORMDIST

Contents

1 확률밀도함수
2 정규분포가 가장 중요한 분포라는 의미



1 확률밀도함수 #

  • 연속확률함수 X가 어떤 구간 내에서 취할 수 있는 무수한 값 x들에 확률을 대응시키는 함수

  • 확률밀도함수 아래의 전체 면적의 합은 1이다.

  • 연속확률변수가 어떤 특정한 값을 가질 확률은 0이다. 왜냐하면 어떤 특정한 값에 해당하는 면적은 0이기 때문. (예를들어, 체중이 72kg이라고 할 때, 그 정확한 값은 72.0001020023445 ...... 와 같이 소수점 이하의 자릿수를 무한히 생각할 수 있는데 이 값에 해당하는 사람은 거의 없을 것이다.)
  • 어떤 특정한 값을 가질 확률은 0이기 때문에 등호(=)는 별로 의미가 없다. 연속확률변수의 확률은 면적에 의하여 계산되기 때문에 적분함.

Normal_distribution_and_scales.gif
출처: http://ko.wikipedia.org/wiki/%ED%91%9C%EC%A4%80_%EC%A0%90%EC%88%98

2 정규분포가 가장 중요한 분포라는 의미 #

  • 정규분포에 따르는 확률현상은 극히 많다.
  • 통계이론의 기초가 되고 있는 수많은 특정을 갖고 있다.(검정, 추정은 대부분 정규분포를 하는 것에 기초)
  • 비정규분포의 대부분은 극한상태에서 있어서 정규분포에 가까워진다.
  • 우연적 요인의 영향의 아주 작을 경우 이들 제 요인의 총합은 정규분포를 한다.(중심극한정리)
  • 변수변환에 의해서 정규분포에 따르게끔 되는 예가 상당히 많다. ([http]변수변환 참고)

초기하분포 - HYPGEOMDIST

Contents

1 초기하분포
2 예제1
3 예제2



1 초기하분포 #

  • 시행이 독립적이지 않다는 것을 제외하고 이항분포와 유사

  • 유한모집단으로부터 비복원추출을 한다는 가정하에 확률변수를 갖는 분포

  • 모집단이 무한이 크면 초기하분포는 이항분포에 접근. 일반적으로 n <= (0.05)(a+b)이면 이항분포를 이용하여 계산한 결과와 거의 유사

2 예제1 #

k백화점의 16대 운송 트럭 중에서 5대가 기준치 이상의 매연을 방출하고 있다. 만약 검사를 위해서 8대의 트럭이 무작위로 추출되었다면 기준치 이상의 매연을 방출하는 트럭이 적어도 3개 이상 포함될 확률은 얼마인가?
  • 표본크기 n = 8
  • 모집단의 매연차의 수 a = 5
  • 모집단의 크기 N = 16
    geo01.jpg
    geo01.xlsx

3 예제2 #

A기업에서 6명의 남자와 4명의 여자로 구성된 10명의 지원자들로부터 신입사원 3명을 선발하고자 한다. x는 고용된 여사원의 수라고 한다. 여기에서 x의 평균과 분산 구하라.
  • 총지원자수 N = 10, 신입사원수 n = 3, 여성지원자수 a = 4
  • 평균(기대값) = n(a/N) = 3 * 4 / 10 = 1.2
  • 분산 = n(a/N)(b/N)(N-n)/(N-1) = 3 * 4/10 * (10-4)/10 * (10-3)/(10-1) = 0.748

좋은자료감사합니다^^ -- 이선근 2012-04-06 21:27:53

좋은 자료 감사합니다 :) -- 까날 2013-11-11 21:32:22