검색결과 리스트
분류 전체보기에 해당되는 글 440건
- 2021.04.30 Windows Powershell 명령어를 바로가기로 구현하기 1
- 2021.03.23 부팅시 grub가 화면에 나오지는 않으나 정상적으로 동작할 때 해결방법
- 2021.03.16 python에서 pip install 과정에서 SSL 오류 해결방법
- 2021.03.11 USB없이 GRUB2를 통해 ISO파일 부팅하기(DVD 없이 우분투 설치)
- 2021.02.01 Gower's distance(가워 거리) 2
- 2021.01.16 2021년 이후 어도비 플래시 플레이어를 사용하는 방법 4
- 2021.01.12 마지막으로 아침을 맞이하며 - 중앙선 단성역과 희방사역[2020.12.12]
- 2021.01.10 야간열차를 타고 아침을 맞이하다 - 중앙선 단양역과 죽령역[2020.12.12]
- 2020.12.30 군산선, 108년만에 격변하다(4) - 오산리역
- 2020.12.25 군산선, 108년만에 격변하다(3) - 임피역
- 2020.12.24 군산선, 108년만에 격변하다(2) - 군산옥산신호장과 옥구선
- 2020.12.20 군산선, 108년만에 격변하다(1) - 새로운 대야역
글
Windows Powershell 명령어를 바로가기로 구현하기
인공지능을 Windows에서 다루기 위해 Anaconda를 설치하여 Windows에서도 Python을 사용할 수 있는 기회가 많아지고 있습니다. 그러다보니 자연스레 Ubuntu에서처럼 미리 작성된 스크립트를 바로 실행시켜보고자 하는 방법을 알아보게 되었습니다.
마침 Windows Powershell에서 이와 같은 기능을 사용할 수 있을 것으로 보여 방법을 찾아보았습니다. 혹시나 해당 방법을 필요로 하시는 분들을 위해 방법을 공유해드리겠습니다.
1. Powershell 바로가기 만들기
바탕화면에 Powershell 바로가기를 만드는 방법은 두 가지 경우가 있습니다.
방법1: 바로가기 복사하기
시작버튼 오른쪽에 위치한 돋보기 버튼을 클릭하여 'powershell'이라고 검색하면 아래와 같은 화면을 보실 수 있습니다.
'Windows Powershell' 메뉴에 마우스 오른쪽 버튼을 클릭한 다음 '파일 위치 열기'를 클릭합니다.
위와 같은 PowerShell 바로가기 아이콘들을 볼 수 있습니다. 이 중 제일 아래의 것을 복사하여 원하는 위치에 붙여넣기를 해주면 됩니다.
방법2: 직접 바로가기 생성
바로가기를 두고싶은 폴더 혹은 바탕화면에서 오른쪽 버튼을 클릭하신 후 '새로 만들기(W)' → '바로 가기(S)'를 선택합니다.
바로 가기 만들기의 항목 위치 입력(T)에 다음과 같은 주소를 입력한 후 다음(N) 버튼을 눌러주세요.
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
바로가기의 이름을 지정합니다. 이 이름은 PowerShell 창을 열었을 때 창의 제목이 됩니다.
위와 같은 과정을 통해 두 가지의 PowerShell 바로가기를 생성하였습니다. 만약 PowerShell을 실행하자마자 원하는 폴더 경로에 PowerShell을 시작하고 싶으시다면 바로가기의 속성을 변경해줍니다.
2. PowerShell 실행 위치 설정
속성에서 '바로 가기' 탭을 선택해 시작 위치(S)에 PowerShell이 시작되었을 때 위치를 설정해줍니다. 위와 같이 설정하실 경우 PowerShell이 실행되자마자 바탕화면에서 PowerShell이 시작됩니다.
3. PowerShell 스크립트 작성하기
지금부터 PowerShell 명령어를 바로 실행할 수 있는 스크립트를 만들어보도록 하겠습니다. PowerShell이 실행되는 스크립드를 메모장으로 다음과 같이 작성하였습니다.
powershell -ExecutionPolicy ByPase -NoExit -Command "& winver;"
여기서 명령어 내용에 대해 간단하게 분석해드리자면
powershell: PowerSehll을 실행합니다.
-ExecutionPolicy: Script 실행 정책을 정의합니다. ByPass를 설정함으로서 직접 입력하지 않아도 해당 명령어를 사용할 수 있도록 해줍니다.
-NoExit: PowerShell 수행이 종료되거나 오류가 발생하더라도 창이 저절로 꺼지지 않게 해줍니다.
-Command: PowerShell에서 수행하고자 하는 명령어를 입력해줍니다. Enter로 나누어지는 명령의 경우 세미콜론(;)으로 구분해줍니다. 양식은 "& 명령어; 명령어;" 식으로 입력해줍니다.
4. 스크립트를 바로가기로 연결하기
다음으로 PowerShell의 바로가기를 수정하여 스크립트가 바로 실행될 수 있도록 설정해줍니다. 해당 바로가기의 속성에서 다음과 같이 수정해줍니다.
대상(T) 부분에 다음과 같은 내용을 추가하여 example.ps1 스크립트가 실행될 수 있도록 설정합니다.
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass ".\example.ps1"
위와 같이 설정된 PowerShell 바로가기를 실행하면 설정된 명령어가 바로 실행됨을 확인하실 수 있습니다.
'공대생의 팁' 카테고리의 다른 글
PowerShell을 사용하여 폴더 내의 파일명을 한 번에 바꾸기 (0) | 2021.06.11 |
---|---|
VMware에서 Fedora에 VMware Tools 설치 후에도 해상도 변경이 안될때 (0) | 2021.05.16 |
부팅시 grub가 화면에 나오지는 않으나 정상적으로 동작할 때 해결방법 (0) | 2021.03.23 |
python에서 pip install 과정에서 SSL 오류 해결방법 (0) | 2021.03.16 |
USB없이 GRUB2를 통해 ISO파일 부팅하기(DVD 없이 우분투 설치) (0) | 2021.03.11 |
설정
트랙백
댓글
글
부팅시 grub가 화면에 나오지는 않으나 정상적으로 동작할 때 해결방법
종종 다양한 환경의 컴퓨터에 새로운 환경을 사용하기 위해 운영체제를 새로 설치하여 원하는 환경을 구축하곤 합니다. 컴퓨터마다 설치된 사양과 환경등이 제각각이지만 운영체제를 새로 설치하고나서 부터는 어느 정도 해당 환경에 맞추어 나가다 보면 어느덧 컴퓨터가 손에 길들여지는 것이 느껴지고는 합니다.
그런데 이번에 설치를 시도하게 된 컴퓨터는 유독 희안한 증상이 있었습니다. 우분투도 처음부터 새롭게 설치했음에도 멀티부트 환경 등에서 사용되는 grub 화면이 나오지 않는 것입니다.
대개 거의 대부분의 경우 이는 grub 설정에서 화면을 띄우기도 전에 바로 우분투가 부팅되는 경우이기 때문에 다음과 같이 설정하면 grub 화면이 나타납니다.
# sudo vi /etc/default/grub
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
|
ddcs |
위의 코드에서 해당 부분에 시간을 부여해주면 grub 메뉴들을 볼 수 있습니다.
GRUB_TIMEOUT=10
그런데 이번에 제가 다루게 된 컴퓨터는 희안하게도 grub 화면에 나타나지 않는 것입니다. 혹시나 해서 grub가 실행되고 있을법한 타이밍에 방향키를 누른 다음 엔터키를 눌러보았는데 희안하게도 해당 메뉴가 실행되는 것을 눈으로 직접 확인하였습니다. 즉, 모종의 이유로 grub가 실행이 되고 있음에도 화면에서는 나타나지 않는 현상으로 보였습니다. 왠지 해당 컴퓨터의 그래픽 출력 관련 문제인 것으로 보아 다음과 같이 다시 시도해 보았습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
GRUB_TERMINAL=console
|
cs |
다음과 같이 해당 부분의 주석을 지워줍니다.
GRUB_TERMINAL=console
해당 커맨드를 활성화 시키면 grub의 터미널 모드를 그래픽 터미널에서 콘솔 터미널로 바꾸어줍니다. 아마도 그래픽 출력 문제로 인해 화면이 나오지 않는 것으로 추정되어 해당 방법을 시도해 보았는데요 이제 변경된 내용을 grub에 적용해줍니다.
# sudo update-grub
# sudo reboot
여기까지 진행한 다음 리셋을 했더니 드디어 grub메뉴가 모니터에서 나타났습니다.
일반적으로 많이 보던 grub의 모습과 달리 완전 새까만 배경의 모습으로 메뉴를 표시합니다. 추정컨데 그래픽 모드가 아닌 콘솔 모드로 출력되어 그래픽카드가 아닌 텍스트 콘솔 출력 방식으로 띄우는 듯 합니다. 그래픽 카드의 문제를 해결해보고 싶었지만 일단 화면이 안나온 것을 해결하였으니 여기서 만족하기로 하였습니다.
해당 원인에 대해 좀 더 자세히 확인하고 싶으신 분들께서는 아래의 포스팅을 참조해 주시기 바랍니다.
'공대생의 팁' 카테고리의 다른 글
VMware에서 Fedora에 VMware Tools 설치 후에도 해상도 변경이 안될때 (0) | 2021.05.16 |
---|---|
Windows Powershell 명령어를 바로가기로 구현하기 (1) | 2021.04.30 |
python에서 pip install 과정에서 SSL 오류 해결방법 (0) | 2021.03.16 |
USB없이 GRUB2를 통해 ISO파일 부팅하기(DVD 없이 우분투 설치) (0) | 2021.03.11 |
Gower's distance(가워 거리) (2) | 2021.02.01 |
설정
트랙백
댓글
글
python에서 pip install 과정에서 SSL 오류 해결방법
python의 라이브러리를 사용함에 있어 pip를 통해 관련 라이브러리 패키지를 다운로드 받아 설치할 수 있습니다. 비록 pip가 root 권한 관련 문제가 있지만 그나마 사용할만한 것입니다. 물론 이러한 문제는 아나콘다의 설치환경 설정으로 어느정도 해결된 감이 있습니다.
pip를 통해 직접 다운로드를 하는 과정에서 내부망의 정책에 의해 제한 등이 있을 경우 아래와 같이 SSL 문제가 발생되는 것을 볼 수 있었습니다. 아래의 예는 Python에서 사용되는 라이브러리인 SciPy를 설치하는 과정에서 발견하게된 오류입니다.
Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),)': /simple/scipy/
Could not find a version that satisfies the requirement scipy (from versions: )
No matching distribution found for scipy
해당 문제롤 해결하기 위해 pip에서 제공하는 --trusted-host 옵션을 사용합니다. 명령어는 아래와 같습니다.
#Python2
$ python2 -m pip --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org install 패키지명
# Python3
$ python3 -m pip --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org install 패키지명
만약 위의 명령어가 너무 길어 차후 설치할 때 일일이 입력하지 않고 간단하게 실행을 원하시는 분은 다음과 같이 .bashrc에 기록해줍니다.
$ vi ~/.bashrc
#Python2
alias pip2='python2 -m pip --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org'
#Python3
alias pip3='python3 -m pip --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org'
위와같이 설정하신 후 차후에는 다음과 같이 명령어를 입력하시면 간편하게 Python 라이브러리를 pip를 통해 설치하실 수 있습니다.
#Python2
$ pip2 install 패키지명
#Python3
$ pip3 install 패키지명
※ 2022년 5월 12일 추가
Windows 환경에서 pip의 SSL error 이슈를 해결하기 위해 위에서 설명한바와 같이 --trusted-host로 웹사이트를 추가하여 pip에 적용합니다. 이를 Powershell로 간단하게 적용하는 방법을 아래의 글에서 소개해드리겠습니다.
'공대생의 팁' 카테고리의 다른 글
Windows Powershell 명령어를 바로가기로 구현하기 (1) | 2021.04.30 |
---|---|
부팅시 grub가 화면에 나오지는 않으나 정상적으로 동작할 때 해결방법 (0) | 2021.03.23 |
USB없이 GRUB2를 통해 ISO파일 부팅하기(DVD 없이 우분투 설치) (0) | 2021.03.11 |
Gower's distance(가워 거리) (2) | 2021.02.01 |
2021년 이후 어도비 플래시 플레이어를 사용하는 방법 (4) | 2021.01.16 |
설정
트랙백
댓글
글
USB없이 GRUB2를 통해 ISO파일 부팅하기(DVD 없이 우분투 설치)
불과 10년전만 해도 CD와 DVD가 쓰이곤 했었는데 어느새부터인가 데스크톱에서 조차 DVD-ROM이 탑재되지 않는 모델들이 등장하고 있습니다. 2021년 기준 32GB짜리 USB메모리를 3천원에 구할 수 있는데다 어느 컴퓨터에나 있는 USB에 꽂아 데이터를 전송하고 변경도 가능한데 굳이 공DVD를 구해 구워서 데이터를 저장할 필요가 없어진 것이지요. 그러다보니 자연스럽게 컴퓨터에 운영체제를 설치하기 위해 USB로 부팅하는 경우가 흔해지고 있습니다. 그만큼 DVD보다 데이터를 다루는 것이 편해서기 때문이겠지요?
이번 포스팅에서는 Linux 환경에서 GRUB2를 수정하여 USB를 사용하지 않고 하드디스크만으로 ISO 파일을 부팅할 수 있도록 설정하는 방법에 대해 알아보도록 하겠습니다.
※Ubuntu 18.04 데스크톱을 기준으로 Ubuntu 20.04 ISO 파일을 설치하는 과정을 다룹니다.
1. 부팅하고자 하는 ISO 파일을 구합니다.
아래의 사이트를 통해 Ubuntu 설치 ISO 파일을 다운로드한 다음 원하는 폴더에 위치하도록 합니다.
http://mirror.kakao.com/ubuntu-releases/
2. ISO파일이 위치한 폴더의 파티션을 확인한다.
다음 명령어를 통해 폴더의 파티션이 어디에 속해있는지 확인할 수 있습니다.
$ df -h
위의 결과에서 Filesystem에서 /dev/sd~~ 라고 써있는 부분이 설치시 필요한 파티션들입니다. 혹시 자신의 파티션이 단 하나일 경우 해당 파티션에 우분투가 설치되어 있어 ISO로 부팅했을 때 해당 파티션을 잡게 되어 새로 설치하는 것이 어렵습니다. 이를 위해서는 단일 파티션을 쪼개 ISO 파일을 위치시킬 파티션을 따로 만들어주어야 합니다. 해당 방법에 대해서는 아래의 링크를 참조해주세요.
ISO 파일을 위치시킬 파티션에 ISO파일을 옮긴 후 다음으로 진행합니다.
3.GRUB2에 ISO파일을 등록
다음 명령어를 입력하여 GRUB2에 부팅할 ISO파일을 등록해줍니다.
# sudo vi /etc/grub.d/40_custom
해당 파일에 다음과 같은 내용을 작성해줍니다.
1
2
3
4
5
6
7
|
menuentry "Ubuntu 20.04.2 ISO" {
set isofile="/<파일경로>/ubuntu-20.04.2.0-desktop-amd64.iso"
#/dev/sda5에 설치시
loopback loop (hd0,5)$isofile
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noprompt noeject
initrd (loop)/casper/initrd.lz
}
|
cs |
만약 자신의 운영체제가 GRUB 2.04 버전을 사용하고 있을 경우 다음과 같은 내용을 작성해줍니다.
1
2
3
4
5
6
7
8
|
menuentry "Ubuntu 20.04.2 ISO" {
set isofile="/<파일경로>/ubuntu-20.04.2.0-desktop-amd64.iso"
rmmod tpm
#/dev/sdc1에 설치시
loopback loop (hd2,1)$isofile
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noprompt noeject
initrd (loop)/casper/initrd.lz
}
|
cs |
위의 코드를 한 줄 씩 살펴보겠습니다.
menuentry "Ubuntu 20.04.2 ISO" {
GRUB 첫 화면에서 메뉴 선택시 제목을 설정합니다. "Ubuntu 20.04.2 ISO"라는 제목으로 메뉴가 표출됩니다.
set isofile="/<파일경로>/ubuntu-20.04.2.0-desktop-amd64.iso"
ISO 파일이 위치한 경로를 선택합니다.
만약 여러분들이 /dev/sdb 파티션에 위치한 ISO 파일을 부팅하기를 원할 때 절대경로는 /mnt/파일명.iso이지만 /dev/sdb의 기본 주소가 /mnt 이므로 파일경로는 /mnt를 생략하고 다음과 같이 작성하면 됩니다.
set isofile="/ubuntu-20.04.2.0-desktop-amd64.iso"
다음으로 파티션 위치를 설정하는 방법에 대하여 설명해보도록 하겠습니다.
loopback loop (hd0,5)$isofile
위의 에서 hd0,5는 파티션 /dev/sda5에 위치한 ISO 파일을 가리키고 있습니다. /dev/sdXY에서 X는 파티션의 알파벳 부분으로 a부터 0으로 카운트되며 Y는 해당 파티션의 번호입니다. ISO 파일이 위치한 파티션을 확인하신 다음 입력하시면 되겠습니다.
정확하게 ISO 파일이 위치한 파티션의 위치를 확인하기 위해 재부팅후 GRUB 화면으로 넘어옵니다.
위 화면에서 'c' 버튼을 누르면 GRUB의 커맨드창이 나옵니다. 아래와 같이 명령어를 입력해줍니다.
grub> ls -al
입력후 아래와 같이 컴퓨터에 연결된 파티션 정보가 출력됨을 알 수 있습니다.
위의 경우 hd0에는 (hd0,msdos5) 파티션과 (hd0,msdos1) 파티션이 존재함을 확인할 수 있습니다. ISO 파일이 어떤 파티션에 있는지 확인하기 위해 다음과 같은 명령어를 입력하면 해당 파티션의 파일 구조를 확인할 수 있습니다.
grub> ls (hd0,msdos5)/
이를 통해 ISO 파일의 파일 경로를 확인후 ISO가 있는 파티션을 입력해줍니다.
4. GRUB2의 메뉴를 확인할 수 있는 대기시간을 확보합니다.
아래의 명령어를 입력합니다.
# sudo vi /etc/default/grub
해당 부분을 다음과 같이 수정하여 GRUB2에서 메뉴를 선택할 수 있는 시간을 확보합니다. 여기서는 10초 할당하였습니다.
GRUB_TIMEOUT=10
5. GRUB2의 설정을 업데이트한 다음 리셋하여 확인
아래의 명령어를 입력하여 GRUB2의 메뉴를 업데이트합니다.
# sudo update-grub
여기까지 진행하셨다면 시스템을 리셋하여 GRUB2 메뉴에 ISO 파일 부팅이 되는 것을 확인합니다.
# sudo reboot
'공대생의 팁' 카테고리의 다른 글
부팅시 grub가 화면에 나오지는 않으나 정상적으로 동작할 때 해결방법 (0) | 2021.03.23 |
---|---|
python에서 pip install 과정에서 SSL 오류 해결방법 (0) | 2021.03.16 |
Gower's distance(가워 거리) (2) | 2021.02.01 |
2021년 이후 어도비 플래시 플레이어를 사용하는 방법 (4) | 2021.01.16 |
MobaXterm에서 X server 사용시 전체화면 모드 화면이 안나올때 해결방법 (1) | 2020.10.25 |
설정
트랙백
댓글
글
Gower's distance(가워 거리)
인간의 경험에 있어서 거리의 개념은 직관적으로 예상할 수 있습니다. 측정기준이라는 용어는 종종 측정을 위한 표준으로 사용되는 반면, 일상 생활에서는 일반적으로 두 지점의 물리적인 가까움 또는 아이디어 사이가 어느 정도 되는지의 근접성을 의미합니다. 관측치 사이의 거리 또는 정량적 또는 정성적 변수 사이의 거리를 고려할 수도 있습니다.
데이터를 클러스터링하는 동안 가장 중요한 작업 중 하나는 각 데이터 포인트 사이의 거리를 계산하는 데 사용할 방법을 결정하는 것입니다. 생물학, 사회과학 또는 마케팅 조사와 같이 클러스터 분석이 일반적으로 사용되는 다양한 실제 분야에서는 수치 변수와 카테고리 변수를 모두 갖는 데이터셋이 적용되는 경우가 많습니다. 이러한 유형의 데이터를 혼합 데이터(Mixed data)라고 합니다. 많은 거리 측정방법이 존재하며, 그 중 여기서 소개해드리고자 하는 것은 데이터가 혼합 데이터일 때 사용되는 가워 거리(Gower's distance - 1971)입니다.
가워 거리(Gower's distance)란 무엇인가?
가워 거리(Gower's Distance)는 가워 차이 계수(Gower's dissimilarity coefficient)라고도 하며 사용하여 두 데이터의 차이를 측정할 수 있습니다. 기록에는 논리, 카테고리, 수치 또는 텍스트 데이터의 조합이 포함될 수 있습니다. 거리는 항상 0(동일함)에서 1(가장 큰 차이) 사이의 숫자입니다.
q개의 차원을 가지고 있는 벡터 \(\textbf{x}\)가 있다고 하였을 때 \(\textbf{x}\)가 p개의 카테고리형 변수를 갖고 있다 하였을 때
$$\LARGE{\textbf{x} = (x_1, x_2, ... , x_p, x_{p+1}, ..., x_q)}$$
위 벡터에서 p개의 카테고리형 변수의 q-p개의 수치형 변수가 있다고 하였을 때 해당 식을 아래와 같이 다시 쓸 수 있습니다.
$$\LARGE{\textbf{x} = (z_1, ..., z_p, c_1, ..., c_{q-p})^\top=(\textbf{z}^\top,\textbf{c}^\top)}$$
여기서 벡터 \(\textbf{z}^\top\)와 \(\textbf{c}^\top\)는 벡터 \(\textbf{x}\)의 부분집합입니다. 이 때 두 데이터 포인트 \(\textbf{x}_i=(\textbf{z}_i^\top,\textbf{c}_i^\top)\) 와 \(\textbf{x}_j=(\textbf{z}_j^\top,\textbf{c}_j^\top)\)의 가워 거리 \(D_{x_ix_j}\)를 구하는 식은 다음과 같이 나타낼 수 있습니다.
$$\LARGE{D_{x_{i}x_{j}}=\dfrac{\sum^{p}_{r=1}W_{x_{i}x_{j}z_{r}}D_{x_{i}x_{j}z_{r}}}{\sum^{p}_{r=1}W_{x_{i}x_{j}z_{r}}}+\dfrac{\sum^{q-p}_{r=1}W_{x_{i}x_{j}c_{r}}D_{x_{i}x_{j}c_{r}}}{\sum^{q-p}_{r=1}W_{x_{i}x_{j}c_{r}}}}$$
여기서 \(W_{x_{i}x_{j}z_{r}}\) 와 \(W_{x_{i}x_{j}c_{r}}\) 는 각각 카테고리형 변수 \(z_r\)과 수치형 변수 \(c_r\)에 해당되는 가중치값을 나타냅니다.
\(D_{x_{i}x_{j}z_{r}}\) 카테고리형 변수의 \(z_r\)의 거리를 나타낸 것으로 다음과 같은 식으로 나타냅니다.
$$\LARGE{D_{x_{i}x_{j}z_{r}}=\begin{cases}0,\quad z_{r}^{i}=z_{r}^{j}\\1,\quad otherwize\end{cases}}$$
만약 두 카테고리형 변수가 같은 값일 경우 0, 다른 값일 경우 1이 된다고 이해하면 쉬울 것입니다.
\(D_{x_{i}x_{j}c_{r}}\)은 실수인 수치형 변수로서 우리가 흔히 아는 맨허튼 거리(\(L_1\) norm) 방식으로 값을 구합니다.
$$\LARGE{D_{x_ix_jc_r}=\dfrac{|c_r^i-c_r^j|}{\max(c_r)-\min(c_r)}}$$
위 식을 보았을 때, 각 변수의 차의 절대값에 실수 \(c\)의 범위(최대값 - 최소값)을 나눔으로서 변수의 거리를 알 수 있습니다. 여기서는 맨허튼 거리를 예제로 하였지만 좀 더 좋은 공식이 있다면 그것을 사용해도 무방합니다.
예제
다음과 같은 데이터가 있다고 합시다.
위 데이터를 보았을 때 [age, perTestScore, postTestScore, available_credit] 4개의 변수는 수치형 변수이고 [gender] 1개의 변수는 카테고리형 변수임을 알 수 있습니다. 즉 이를 벡터로 나타내면 다음과 같습니다.
$$\LARGE{\textbf{x} = (c_1, c_2, c_3, c_4, z_1)}$$
이 때 weight를 1이라고 하였을 때 가워 거리는 다음과 같이 나타낼 수 있습니다.
$${D_{x_ix_j}=\dfrac{|c_1^i-c_1^j|}{\max(c_1)-\min(c_1)}+\dfrac{|c_2^i-c_2^j|}{\max(c_2)-\min(c_2)}+\dfrac{|c_3^i-c_3^j|}{\max(c_3)-\min(c_3)}+\dfrac{|c_4^i-c_4^j|}{\max(c_4)-\min(c_4)}+D_{x_{i}x_{j}z_{1}}}$$
주어진 벡터에서 \(x_0\)을 기준으로 각 row별로 가워 거리를 구하면 다음과 같습니다.
$$D_{x_{0}x_{1}}=\dfrac{\left|14-19\right|}{35-10}+\dfrac{\left|4-24\right|}{31-3}+\dfrac{\left|25-94\right|}{95-25}+\dfrac{\left|2200-1000\right|}{22000-1000}+0 \\ = 1.9572$$
$$D_{x_{0}x_{2}}=\dfrac{\left|14-10\right|}{35-10}+\dfrac{\left|4-31\right|}{31-3}+\dfrac{\left|25-57\right|}{95-25}+\dfrac{\left|2200-22000\right|}{22000-1000}+0 \\ = 0.2529$$
$$D_{x_{0}x_{3}}=\dfrac{\left|14-14\right|}{35-10}+\dfrac{\left|4-3\right|}{31-3}+\dfrac{\left|25-30\right|}{95-25}+\dfrac{\left|2200-2100\right|}{22000-1000}+0 \\ = 0.1120$$
$$D_{x_{0}x_{4}}=\dfrac{\left|14-21\right|}{35-10}+\dfrac{\left|4-3\right|}{31-3}+\dfrac{\left|25-70\right|}{95-25}+\dfrac{\left|2200-2000\right|}{22000-1000}+1 \\ = 1.9681$$
$$D_{x_{0}x_{5}}=\dfrac{\left|14-19\right|}{35-10}+\dfrac{\left|4-4\right|}{31-3}+\dfrac{\left|25-25\right|}{95-25}+\dfrac{\left|2200-1000\right|}{22000-1000}+1 \\ = 1.2571$$
$$D_{x_{0}x_{6}}=\dfrac{\left|14-30\right|}{35-10}+\dfrac{\left|4-31\right|}{31-3}+\dfrac{\left|25-69\right|}{95-25}+\dfrac{\left|2200-6000\right|}{22000-1000}+1 \\ = 3.4138$$
$$D_{x_{0}x_{7}}=\dfrac{\left|14-35\right|}{35-10}+\dfrac{\left|4-9\right|}{31-3}+\dfrac{\left|25-95\right|}{95-25}+\dfrac{\left|2200-2200\right|}{22000-1000}+1 \\ = 3.0186$$
위 계산을 보았을 때 \(x_0\)에서 Gower's distance가 가장 가까운 것은 \(x_3\)이고 가장 먼 것은 \(x_6\)임을 알 수 있습니다.
- 참고자료
https://medium.com/analytics-vidhya/gowers-distance-899f9c4bd553
https://jamesmccaffrey.wordpress.com/2020/04/21/example-of-calculating-the-gower-distance/
'공대생의 팁' 카테고리의 다른 글
python에서 pip install 과정에서 SSL 오류 해결방법 (0) | 2021.03.16 |
---|---|
USB없이 GRUB2를 통해 ISO파일 부팅하기(DVD 없이 우분투 설치) (0) | 2021.03.11 |
2021년 이후 어도비 플래시 플레이어를 사용하는 방법 (4) | 2021.01.16 |
MobaXterm에서 X server 사용시 전체화면 모드 화면이 안나올때 해결방법 (1) | 2020.10.25 |
여분기여도(Marginal Contribution) (0) | 2020.09.13 |
설정
트랙백
댓글
글
2021년 이후 어도비 플래시 플레이어를 사용하는 방법
1996년 11월 처음으로 등장한 Flash는 매크로미디어가 만들어 2005년 Adobe에 인수된 후 2020년 12월까지 서비스가 제공되었습니다.
처음 등장했던 당시에는 가벼운 용량으로 컴퓨터의 성능이 지금보다 뛰어나지 못했던 그 당시의 시점으로는 매우 훌륭한 그래픽과 영상을 제작할 수 있었던 인터넷 애플리케이션으로 취급되었습니다. 그 덕분에 졸라맨, 마시마로와 같은 플래시 애니메이션이 사람들에게 인기를 끌 수 있었던 시절이 있었지요.
그러나 세월이 흐르면서 플래시가 랜섬웨어에 취약하여 컴퓨터 보안에 매우 치명적인 문제가 발생하였습니다. 또한 크롬을 필두로한 브라우저 경쟁을 거치면서 웹표준이 만들어지면서 플래시는 천덕꾸러기 신세가 되어버리면서 최신 웹브라우저들에서 비활성화 설정되어 점점 사용을 자제하는 분위기가 조성되었고 지원이 종료되는 2020년 12월까지는 보안 패치만 적용되며 연명하고 있었습니다.
그렇게 2021년 1월 12일을 기점으로 모든 웹브라우저에서 플래시가 더이상 작동되지 않도록 설정되어 이제는 영원히 역사속으로 사라졌습니다.
위에서 보시는 바와 같이 플래시가 적용되어 있는 웹페이지는 위와 같은 모습으로 더이상 플래시를 사용할 수 없음을 사람들에게 알리게 되었습니다. 이렇게 플래시는 인터넷 역사의 한 장을 마감하게 되었지요.
그러나 몇몇 사이트들의 경우 플래시를 여전히 사용하고 있고 이를 사용해야만 하는 경우 매우 곤란한 상황이 벌어지게 되었지요. 사전에 플래시가 없는 환경을 구축하였어야 하지만 부득이하게 이러한 플래시 환경에서 작업을 하셔야 하는 분들께 2021년 이후 플래시를 사용할 수 있는 방법에 대해 알려드리고자 합니다.
※현재 Flash Player가 종료되어 보안 관련 문제 위험을 최소화하고자 이 글에서는 가상머신을 통한 사용 방법을 설명드리고 있습니다. 만약 가상머신을 사용하지 않고 자신의 컴퓨터에 직접 Flash Player를 사용하고자 하시는 분은 아래의 글을 참조해주시기 바랍니다.
※Windows 10 최신 버전에서는 업데이트 자체에서 Flash player의 설치를 더이상 허용하고 있지 않습니다. 구버전 설치를 시도할 경우 아래와 같이 설치가 더이상 진행되지 않고 있습니다. Windows 10에서의 Internet Explorer 내에는 Flash Player가 내장되어 있어 설치를 별도로 할 수 없는 것입니다.
이를 해결하기 위해 저는 Windows 7을 다시 설치하여 진행하였음을 알립니다. 혹시 Windows 7을 설치하고자 하시는 분은 아래의 사이트를 통해 Windows 7 설치 ISO를 받으신 다음 설치를 진행해주세요.
https://extrememanual.net/7885
ISO 설치 파일을 받으신 다음 자신이 원하는 PC에 Windows 7을 설치해 보도록 합니다.
https://extrememanual.net/11423
만약 자신의 컴퓨터에 Windows 7을 직접 설치하고 싶으신 경우 멀티부팅 혹은 가상머신을 활용하여 설치하여 사용할 수 있습니다. 멀티부팅 설정법과 가상머신 사용법은 아래의 링크를 참조해 주시기 바랍니다.
자신의 컴퓨터에 멀티부팅으로 Windows 7 설치방법
https://stainpopper.tistory.com/97
가상머신을 활용하여 Windows 7을 활용하는 방법
https://blog.naver.com/PostView.nhn?blogId=hong0303&logNo=221258116325
위의 방법으로 Windows 7 설치 환경을 구성하셨다면 절대로 업데이트를 하여서는 안됩니다. 최신버전으로 업데이트하게 될 경우 Adobe Flash Player의 구버전 설치가 막히게 됩니다.
여기까지 진행하셨다면 다음으로 Flash Player 32.0.0.363 이전의 구버전을 설치합니다. 해당 버전은 구글 검색을 통해 쉽게 구하실 수 있습니다.
https://kbench.com/software/?q=node/77021
https://drive.google.com/file/d/15ret5DZLTLaFzNPOmNY7NbEINcFKdsEa/view?usp=sharing
여기까지 진행하셨으면 다음으로 Windows 7에 플래시 플레이어 32.0.0.363 설치해 보도록 하겠습니다.
만약 업무 용도가 아닌 플래시 플레이어 사용이 목적이실 경우 러플(Ruffle)을 설치하여 Chrome, Firefox 등에서 사용하실 수 있습니다. 다만 Flash player를 완벽하게 지원된다고 장담 드리기 어렵습니다. 아래의 사이트를 통해 사용 방법을 확인해주시기 바랍니다.
https://flashgameheaven.com/370?category=947922
'공대생의 팁' 카테고리의 다른 글
USB없이 GRUB2를 통해 ISO파일 부팅하기(DVD 없이 우분투 설치) (0) | 2021.03.11 |
---|---|
Gower's distance(가워 거리) (2) | 2021.02.01 |
MobaXterm에서 X server 사용시 전체화면 모드 화면이 안나올때 해결방법 (1) | 2020.10.25 |
여분기여도(Marginal Contribution) (0) | 2020.09.13 |
Chernoff bound(체르노프 유계) (0) | 2020.09.12 |
설정
트랙백
댓글
글
마지막으로 아침을 맞이하며 - 중앙선 단성역과 희방사역[2020.12.12]
이전 포스팅을 통해 폐역 직전의 죽령역을 남았던 바 있었습니다. 이번 포스팅에서는 죽령역을 다녀온 후 돌아오는 과정에서 보았던 단성역과 희방사역을 카메라에 담아보았습니다.
앞으로 우리는 어떠한 새로운 모습을 볼 수 있을까요? KTX-이음이 다니고 있을 이 철길이 과연 많은 변화를 보여주리라 생각합니다.
'좌충우돌 여행기 > 국내여행' 카테고리의 다른 글
맞이방 디자인이 매력적인곳 - 수도권 1호선 탕정역 [2021.10.30] (0) | 2021.11.02 |
---|---|
촬영 명소가 있던 논두렁 위 철길을 달리던 기차가 있던 곳- 장항선 웅천역[2020.12.19] (0) | 2021.07.15 |
야간열차를 타고 아침을 맞이하다 - 중앙선 단양역과 죽령역[2020.12.12] (0) | 2021.01.10 |
군산선, 108년만에 격변하다(4) - 오산리역 (0) | 2020.12.30 |
군산선, 108년만에 격변하다(3) - 임피역 (0) | 2020.12.25 |
설정
트랙백
댓글
글
야간열차를 타고 아침을 맞이하다 - 중앙선 단양역과 죽령역[2020.12.12]
어느덧 2021년 새해가 밝은지 일주일이 지났습니다. 그 사이에 우리나라의 철도 역사는 상당한 변화가 있었습니다. 장항선 일부 구간과 구 군산선 구간의 이설, 중앙선 신설 이설 및 KTX-이음 개통, 고요한 밤의 고요함을 뚫고 달렸던 야간열차가 일부를 제외하고 사라지는 등의 이벤트가 있었지요. 제게 주어진 시간동안 이들을 모두 지켜보기에는 시간이 모자람에 많은 아쉬움이 있었지만 그나마 있는 시간동안 둘러볼 수 있었음에 감사함을 느끼고 있습니다.
이번 포스팅에서는 중앙선 단양-풍기 구간 이설전 모습들을 남긴 사진들을 올려봅니다.
매번 사라지는 풍경들을 사진에 담을 때마다 이토록 자연스럽게 남을 것만 같았단 모습들이 불과 며칠이 지나 찾아가면 사라져 있는 것을 볼 때 마다 세월의 흐름을 느끼곤 합니다. 지금은 사라지겠지만 제 마음 한 구석에는 그 당시의 모습을 추억한다면 아마도 영원히 제 기억속에는 남아 있을 것이기 때문에 사라지는 것에 대한 걱정은 점점 덜게되네요.
2021년이 되면서 매서운 한파가 한반도를 덮치고 있습니다. 여러분들의 건강도 무사했으면 좋겠습니다!
'좌충우돌 여행기 > 국내여행' 카테고리의 다른 글
촬영 명소가 있던 논두렁 위 철길을 달리던 기차가 있던 곳- 장항선 웅천역[2020.12.19] (0) | 2021.07.15 |
---|---|
마지막으로 아침을 맞이하며 - 중앙선 단성역과 희방사역[2020.12.12] (0) | 2021.01.12 |
군산선, 108년만에 격변하다(4) - 오산리역 (0) | 2020.12.30 |
군산선, 108년만에 격변하다(3) - 임피역 (0) | 2020.12.25 |
군산선, 108년만에 격변하다(2) - 군산옥산신호장과 옥구선 (0) | 2020.12.24 |
설정
트랙백
댓글
글
군산선, 108년만에 격변하다(4) - 오산리역
2020년 12월 5일 토요일. 군산선이 108년의 역사를 끝내고 사라지기까지 앞으로 5일을 남겨두고 그 마지막 모습을 사진에 담아 역사에 기록하고자 찾아오게 되었습니다. 군산선이 지나는 곳곳을 둘러볼 때 마다 그 오랜 기간동안 남겨진 모습들은 마치 내일도 그 오늘과 같이 유지될 것만 같기만 합니다. 그 만큼 그 풍경이 당연한 듯 익숙해져 있다는 말이지요. 이번 포스팅을 끝으로 군산선을 둘러보며 담아둔 사진을 여러분들께 보여드리고자 합니다.
2020년 12월 10일 그렇게 군산선은 자신의 역사를 마치고 새 고가철로로 이설되어 운행되기 시작하였습니다. 비록 기존 군산선의 모든 장면들을 사진으로 담아내지 못하였지만 누군가는 이 사진만으로도 군산선 위를 달리던 열차를 다시 떠올리실 수 있으시리라 믿습니다!
'좌충우돌 여행기 > 국내여행' 카테고리의 다른 글
마지막으로 아침을 맞이하며 - 중앙선 단성역과 희방사역[2020.12.12] (0) | 2021.01.12 |
---|---|
야간열차를 타고 아침을 맞이하다 - 중앙선 단양역과 죽령역[2020.12.12] (0) | 2021.01.10 |
군산선, 108년만에 격변하다(3) - 임피역 (0) | 2020.12.25 |
군산선, 108년만에 격변하다(2) - 군산옥산신호장과 옥구선 (0) | 2020.12.24 |
군산선, 108년만에 격변하다(1) - 새로운 대야역 (0) | 2020.12.20 |
설정
트랙백
댓글
글
군산선, 108년만에 격변하다(3) - 임피역
1912년 12월 1일부터 2020년 12월 10일까지 39457일이라는 기간동안 꿋꿋이 한 자리에서 기차를 맞이하던 역이 있었습니다. 군산선에 위치했던 임피역은 군산선이 이설되기 전까지 군산선의 역사와 함께 하였습니다.
군산선의 이설을 앞두고 열차를 떠내보내게 될 임피역을 찾아가 보았습니다.
어쩌면 사소한 일상이었던 이 풍경을 지금은 더이상 볼 수 없게 되었다는 것을 생각하니 추억 하나가 사라져가는 기분이었습니다. 지금부터라도 사라져가는 풍경을 하나라도 담아 놓치지 않기를 다시 한 번 다짐해봅니다.
'좌충우돌 여행기 > 국내여행' 카테고리의 다른 글
야간열차를 타고 아침을 맞이하다 - 중앙선 단양역과 죽령역[2020.12.12] (0) | 2021.01.10 |
---|---|
군산선, 108년만에 격변하다(4) - 오산리역 (0) | 2020.12.30 |
군산선, 108년만에 격변하다(2) - 군산옥산신호장과 옥구선 (0) | 2020.12.24 |
군산선, 108년만에 격변하다(1) - 새로운 대야역 (0) | 2020.12.20 |
달리던 차들이 도로 위에서 잠시 멈추어가던곳 - 장항선 대천역~웅천역 옥서리건널목[2020.12.05] (0) | 2020.12.19 |
설정
트랙백
댓글
글
군산선, 108년만에 격변하다(2) - 군산옥산신호장과 옥구선
2008년 군산선이 장항선에 편입되면서 남은 군산선 시내 구간은군산화물선이 되면서 현재는 화물조차 다니고 있지 않고 있는 노선이 되었습니다. 그러나 군산화물선에 연결되어 있던 옥구선이 군사적인 목적으로 사용되고 있어서 노선을 철거하지 않고 현상유지중이었습니다.
그러했던 옥산선이 군산항선이 개통됨과 동시에 군산옥산신호장에서 연결되어 새로운 국면을 맞이하게 되었습니다. 새로운 길과 연결된 옥구선의 모습을 사진으로 남겨보았습니다.
먼저 군산항선에서 옥구선으로 갈라지는 곳을 찾아갔습니다.
이 위치 즈음에 군산옥산신호장이 있습니다.
저 멀리 보이는 건물이 군산옥산신호장인듯 합니다.
이렇게 격변을 맞이한 군산선에 있던 간이역들은 과연 어떤 운명을 맞게 되었을까요? 다음 포스팅에서는 임피역과 오산리역을 다녀간 내용에 대해 다루고자 합니다.
'좌충우돌 여행기 > 국내여행' 카테고리의 다른 글
군산선, 108년만에 격변하다(4) - 오산리역 (0) | 2020.12.30 |
---|---|
군산선, 108년만에 격변하다(3) - 임피역 (0) | 2020.12.25 |
군산선, 108년만에 격변하다(1) - 새로운 대야역 (0) | 2020.12.20 |
달리던 차들이 도로 위에서 잠시 멈추어가던곳 - 장항선 대천역~웅천역 옥서리건널목[2020.12.05] (0) | 2020.12.19 |
변해가는 것들도 변하지 않는 것도 - 중앙선 풍기역[2020.11.21] (0) | 2020.12.06 |
설정
트랙백
댓글
글
군산선, 108년만에 격변하다(1) - 새로운 대야역
1912년 3월 6일 일제시대때 군산의 평야 지대에서 수확한 곡물을 수탈하기 위해 지어졌던 군산선은 그 취지대로 넓게 펼쳐진 논 사이를 주파하던 철길이였습니다. 해방이 된 후에도 군산과 이리를 이동하기 위한 수단으로 사용되어 오다가 지난 2008년 장항선과 직결되면서 군산역이 군산시 외곽으로 옮겨지는 바람에 예전처럼 군산과 익산을 한 번에 이어주던 교통수단이 사라졌습니다. 그렇지만 장항선 열차들이 익산으로 이전되면서 이전과는 다르게 다양한 열차들이 달리며 새로운 삶을 이어가기도 하였습니다.
그렇게 88년의 세월이 흘러 군산선은 복선전철화가 이루어져 2020년 12월 10일부터 새로운 선로로 이설되었습니다. 이 포스팅에서는 과거 군산선의 모습이 사라지기전 사진으로 기록을 남겨두었습니다.
먼저 첫 번째 포스팅으로 새로 지어진 대야역과 그 주변 풍경을 담아보았습니다.
2020년 12월 10일 대야역이 새 역사에서 운행하게 된 후 이 단절된 도로는 2주 후 시점에는 연결되어 있었습니다.
다음 포스팅에서는 새로 건설된 군산항선과 옥구선이 연결된 군산옥산역을 찾아가보도록 하겠습니다.
'좌충우돌 여행기 > 국내여행' 카테고리의 다른 글
군산선, 108년만에 격변하다(3) - 임피역 (0) | 2020.12.25 |
---|---|
군산선, 108년만에 격변하다(2) - 군산옥산신호장과 옥구선 (0) | 2020.12.24 |
달리던 차들이 도로 위에서 잠시 멈추어가던곳 - 장항선 대천역~웅천역 옥서리건널목[2020.12.05] (0) | 2020.12.19 |
변해가는 것들도 변하지 않는 것도 - 중앙선 풍기역[2020.11.21] (0) | 2020.12.06 |
천년 역사의 복원을 꿈꾸며 - 중앙선 안동역과 법흥사지칠층전탑[2020.11.21] (0) | 2020.11.22 |