Bioinformatics tool installation
2021. 4. 1. 14:29
📌 Internship/BIG Lab
기본 sudo apt-get install 툴이름 웹페이지를 통한 다운로드 wget 다운로드링크 tar -zxvf 파일이름.tar.gz sudo nano /etc/environment # PATH 수정 bowtie2 sudo apt install bowtie2 samtools wget https://github.com/samtools/samtools/releases/download/1.11/samtools-1.11.tar.bz2 tar -jvxf samtools-1.11.tar.bz2 cd samtools-1.11 make make prefix=$HOME/tools/samtools install # path where to install samtools # add path to your .bashrc f..
ML W5-2 Overfitting and its Avoidance
2021. 4. 1. 10:19
💡 AI/ML
Model Performance Analytics 교과서 열심히 읽어라 Over-fitting the data unknown한 instance는 overfitting될 가능성이 굉장히 높다. Over-fitting expense of generalization : 너무 두루뭉실 해져버리기 때문에 문제가 된다. generalization을 희생하고 specific한 것을 취하는 방법도 있다. 대다수는 조금씩 오버피팅 하는 경우이다. 열심히 노력하면 패턴을 찾아낼 것이다. 그러나 우리는 좀더 정확히 예측가능한 모델을 원한다. Ex) 테이블 모델이란 것이 있다. Charm problem 에 있는 고객들을 과거데이터에서 찾아내서 feature vector로 모아놨다. 과거데이터를 봤을 때 그 안에서 Charm ..
ML W5-1 Fitting a Model to Data [OO]
2021. 3. 29. 14:39
💡 AI/ML
Support Vector Machines (SVMs) 가장 대표적인 머신러닝 알고리즘 중 하나이다. 선을 중심으로 최대한(두꺼운)의 여백을 만들기 얼마만큼의 두께로 두개의 클래스를 나눌 수 있을까? 보수적인 벡터 여백의 선을 안쪽으로 넘었을 때는 패널티가 부과되고 Loss function을 작동시킨다. 여백의 선 바깥으로 멀어질수록 랭킹이 높아지고 가까울수록 랭킹이 낮아진다. Support Vector Machines (SVMs) Margin을 최대한 크게 하는 것이 SVM의 목표이다. Hinge loss : 잘못 판달 되었을 때 어떤 페널티를 주고 극복해 나갈 것인가 고려해야할 점 1. 복잡도가 높아질수록 일반화하기가 힘들다. 2. 새로운 차원을 도입할 때 기존의 데이터와 새로운 데이터의 상관관계가 ..
contig 란?
2021. 3. 23. 13:45
🧬 Bio/생명정보학
“끝나기 전에는 끝난 것이 아니다” (it’s not over until it’s over)라는 말이 있다. 왕년의 MLB 레전드인 요기 베라라는 사람이 처음 쓴 말이다. 그러나 여기서 야구 이야기를 하자는 게 아니고 이 글에서 “끝나기 전에는 끝난 게 아니다” 라는 것은 지놈시퀀싱 이야기이다. 요즘은 워낙 시퀀싱 기술이 발달되어 있고, 개인의 지놈시퀀스도 며칠만에 시퀀싱을 할 수 있네 하는 퍼스널 지놈 이야기, 그리고 수십, 수백만명의 사람의 지놈을 시퀀싱한다는 이야기 등등이 나오기 때문에 특정한 종에 대한 시퀀스 쯤은 마음만 먹으면 얼마든지 간단히 뽑을 수 있는 것처럼 생각되곤 한다. 그러나 과연 그럴까? 약 십몇년 전에 클린턴 아저씨가 하얀집에 사실때 이 아저씨는 옆에 두 사람 (Francis Co..
ML W4-1-2 Fitting a Model to Data
2021. 3. 22. 17:40
💡 AI/ML
Discriminant Functions 차별화 Fitting a Model to Data 모델에 가장 적합한 Heat map of XYZ Hotels geographic brand affinity Heat maps Tree Complexity and Over-fitting 다양한 문제에 맞는 다양한 알고리즘 중 적절한 모델을 선택하는 것이 중요하다. 그렇지 않으면 overfitting하게 될 가능성이 크다. Trees on Churn Pruning (가지치기) 오버피팅 막고 노이즈도 줄일 수 있다. Post pruning을 더 선호한다. Post-pruning a tree meaningful 한 변수만 남겨놓고 pruning 한다. Decision Boundaries Instance Space Line..
ML W4-1-1 Supervised Segmentation
2021. 3. 22. 14:55
💡 AI/ML
Visualizing Segmentations 데이터를 Age라는 변수로 나눈다. entropy와 Information gain을 기준으로 나눈다. x축 : Age y축 : Balance 어떤식으로 Decision boundary가 결정되었는지 알 수 있다. 여기서 어떻게 바운더리를 설정해야 정확성을 유지할 수 있을까? Geometric interpretation of a model 아무리 잘해도 완벽하지 않다. 의사결정트리 말고 어떤 다른 방법으로 자를 수 있을까? 줄을 하나 그음으로써 Classification이 달라질 수 있다. Trees as Sets of Rules 의사결정 트리는 rule set과 같다. Trees as Sets of Rules What are we predicting? 빨간 ..
bcftools 설치하기
2021. 3. 19. 17:32
📌 Internship/BIG Lab
1. 다운로드 사이트 접속 www.htslib.org/download/ 2. bcftools-1.12 download 링크 복사 3. 다운로드 wget github.com/samtools/bcftools/releases/download/1.12/bcftools-1.12.tar.bz2 4. 압축 풀기 tar -jvxf bcftools-1.12.tar.bz2 5. cd bcftools-1.12 6. make 설치완료 관련 fatal error woochan-autobiography.tistory.com/601 make 에러 에러메시지 fatal error: zlib.h: No such file or directory 해결책 zlib file을 위한 패키지를 설치해 주어야 한다. sudo apt-get ins..
make 에러
2021. 3. 19. 15:41
🚦 Server/Linux
에러메시지 fatal error: zlib.h: No such file or directory 해결책 zlib file을 위한 패키지를 설치해 주어야 한다. sudo apt-get install libz-dev 에러메시지 fatal error: bzlib.h: No such file or directory 해결 sudo apt-get install python-dev sudo apt-get install python-bzutils sudo apt-get install libbz2-dev 에러메시지 fatal error: lzma.h: No such file or directory 해결 sudo apt-get install liblzma-dev 에러메시지 fatal error: curl/curl.h: No..
ML W3-2-2 - Supervised Segmentation
2021. 3. 18. 13:07
💡 AI/ML
Attribute Selection Example: Attribution Selection with Information Gain 엔트로피를 계산하고 feature selection을 통해서 가지를 만들어 나간다. 가지를 만들어 나가는 기준이 되는 attribute의 엔트로피를 계산한다. 현재 엔트로피가 96%로 굉장히 높고 우리의 목표는 엔트로피를 낮춰서 purity를 높이는 것이다. GILL-COLOR : 주름 이 슬라이드는 과정을 보여주는 슬라이드이다. 우리가 찾아야 되는 것은 엔트로피가 작고 데이터셋의 양도 많은 것이다. odor(냄새)로 segmentation을 만들었다. 냄새가 없는 버섯들이 상당히 있는 것을 볼 수 있다. : n 냄새가 있는 버섯들은 엔트로피가 굉장히 낮다. odor는 의미있..
ML W3-2-1 Supervised Segmentation
2021. 3. 18. 11:21
💡 AI/ML
Supervised Segmentation 의미있는 attribute target과 직접적, 간접적으로 correlate를 가지는 변수를 잘 활용하면 정확한 Classification이 가능하다. 지도학습을 통한 데이터셋의 학습은 target variable과 관계를 갖는 중요한 정보를 찾는 것이다. 얼마만큼 informative 하고, 중요한 정보가 들어있느냐? 고객들을 찾아내고 솎아내고, 차별화 해야한다. 전문직에 있는 사람인지, 나이, 거주지, 수입, 받아온 서비스에 얼만큼 만족했는지에 대한 변수를 알아야 한다. 과거의 데이터를 보니 이러한 관계를 갖는 사람을 보면 떠난다, 떠나지 않는다. 특정 지역에 사는 사람은 꼭 떠나더라, 등 특별한 변수가 존재할 수 있다. 아니면 그런사람과 그렇지 않은 사람..
Linux path 설정
2021. 3. 16. 17:09
🚦 Server/Linux
.sh 생성 후 경로 지정 cd etc/profile.d sudo nano alias.sh alias aa='cd' control x Y enter path 경로 변경 : 다운받은 파일을 다른 유저가 쓸 수 있게 하기 디렉토리 생성 mkdir /usr/local/java 공유할 파일 옮기기 sudo mv jdk1.8.0_261/ /usr/local/java/ PATH 설정 sudo nano /etc/environment PATH="" 안의 맨 뒤에다가 :/usr/local/java/jdk.1.8.0_261/bin 를 추가해준다. control x 1. 그리고 로그인 하고 다시 실행하기 2. source etc/enviroment 입력 echo $PATH 로 확인해보면 맨 앞의 PATH가 바뀌었다. 설정 ..
ML W3-1-2 - Predictive Modeling
2021. 3. 15. 14:53
💡 AI/ML
많은 양의 데이터가 과연 어디에 쓰일지, 질적으로 퀄리티가 얼마나 좋을지 염려가 되기도 한다. 의미있는 정보를 포함하는 target variable를 확보하는 것이 중요하다. 도메인 전문가와 머신러닝 전문가가 같이 소통하면서 일을 하게 된다. 어떤 성향의 고객은 떠나고 어떤 성향의 고객은 떠나지 않았다는 정보들로 레이블을 만들 수도 있다. 문제에 따라서 적절한, 데이터의 종류에 따라서 적절한 테크닉을 사용하는 것이 중요하다. 기계학습의 결과는 우리들의 좋은 의사결정에 쓰인다. 우리가 겪는 데이터는 굉장히 작다. 지식 기반의 프레임워크를 만드는 이유가 이것이기도 하다. 다른 많은 데이터를 고찰을 해봐야한다. 상황이라는 것이 의사결정의 방향을 다르게 할 수 있기 때문이다. Classification : in..
ML W3-1-1 - Predictive Modeling
2021. 3. 15. 14:05
💡 AI/ML
한 반을 그룹할 때 무엇을 기준으로 그룹화 할 지, 많은 변수와 값에 따라서 클래스를 만들고 그룹을 만들 수 있다. 새로운 instance 데이터가 어떤 클래스에 속하는지 아는 것이 학습에서 가장 중요하다. 가장 fundamental한 아이디어는 How can we segment the population with respect to something that we would like to predict or estimates? [Supervised Segmentation] 이 질문이다. 고객들이 계약이 만료됐을 때 계속 있을 건지 다른 통신사로 옮길건지 그런 문제를 다루는 것이 Turn Problem이라고 한다. 어떻게 하면 customer가 계속 있을지에 대한 문제에 대한 분석을 하는 문제이다. 다음..
백준 알고리즘 - 9663 - N Queen
2021. 3. 14. 15:45
⏰ 코딩테스트/백준 알고리즘
문제 N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (1 ≤ N < 15) 출력 첫째 줄에 퀸 N개를 서로 공격할 수 없게 놓는 경우의 수를 출력한다. 예제 입력 1 복사 8 예제 출력 1 복사 92 코드 N = int(input()) check = [0] * N answer = 0 def queen(x): # 현재 위치에서 윗줄에 공격할 수 있는 퀸이 존재하는지 확인 for i in range(x): if check[x] == check[i] or abs(check[x] - check[i]) == x - i: return 0 return 1 d..
Linux 사용자 관리하기
2021. 3. 12. 12:55
🚦 Server/Linux
Linux(Unix) 사용자 추가하기(useradd, usermod, userdel) useradd usermod : modify userdel 설정을 나타내는 etc useradd class1 : class1 이라는 사용자 만들기 sudo passwd class1 : 비밀번호 설정하기 cat /etc/passwd jymoon:x:1003:1003:,,,:/home/jymoon:/bin/bash class1:x:1004:1004::/home/class1:/bin/sh 왼쪽 1004 = 사용자에 대한 식별자 오른쪽 1004 = 그룹에 대한 식별자 class1에 home 디렉토리 만들어주기 sudo mkdir /home/class1 touch test 를 입력하여 파일을 하나 만들어 보려고 하면 permis..