전체 글(833)
-
threshold는 어떻게 정해야 할까? 개인적인 간단한 생각
우리가 어떤 모델링을 하고 나오는 값은 결국 확률 값으로 나오게 된다. 보통은 argmax 나 max f1 , 대충 0.5 같은 기준을 통해서 예측 타깃 값을 구한 다음 Confusion Matrix를 구해서 Accuracy 도 보고 Recall , Precision 같은 것을 확인해서 모델을 평가하게 된다. 그러면 이러한 기준이 되는 threshold(=cut off)는 어떻게 정해야 할까? 최근 겪고 있는 문제는 데이터가 imbalance 할 때 모델의 확률 값을 봤을 때 0의 경우에는 확실히 0이지만 1인 경우에는 0.01 ~ 0.001 이러한 부근에 있다. 보통 이러한 cut off 문제를 완화하기 위해 추천하는 방법은 undersampling, oversampling, sensitive cost..
2019.05.04 -
Andrew NG Regularization 중 인상깊었던 것만
## Edwidth https://www.edwith.org/deeplearningai2/joinLectures/20015 심층 신경망 성능 향상시키기 강좌소개 : edwith - 커넥트재단 www.edwith.org Regularization Overfitting 방지 Dropout 은 몇개를 제외함으로써 특정변수의 의존도를 줄여서 분산을 크게하는식 Input 에서는 거의 0.999 나 1 Overfitting 이 발생될것같은곳만 하기 이미지에서는 일반적으로 사용하나 일단 오버피팅이 나는지 체크해보고 하는 것이 좋음 이미지는 픽셀 단위고 데이터가 적어서 overfitting이 많이 일어나므로 한다고 함 l1 norm 거의 사용 x L2norm = weight decay 와 같은 효과 Dropout 도 ..
2019.05.04 -
[ Python ] 특정 조건을 만족하는 List 문자열만 뽑기
파이썬 카톡 단체방에 올라온 것이 있는데 , 유용한 것 같아서 공유합니다. 여기서 추가로 debugging package pysnooper도 써서 살을 보탭니다. 1. 어떤 List안에 있는 것을 다 포함하는 경우만 뽑고 싶을 때 어떻게 해야할까? import pysnooper ## 다 있어야 하는 경우 @ pysnooper.snoop() def word_check(word, check) : output = [elem in word for elem in check] return all(output) check = ["a","e","i","o","u"] words = ["abcded", "uoiea", "aaaaaoieoieuu","bcd"] [word for word in words if word_che..
2019.05.04 -
openpyxl을 활용하여 Python에서 엑셀 사용하기
일을 할 때 이제 결과물을 정리하기 위해 csv로 저장했다가 이 결과물을 잘 정리하기 위해 다른 엑셀에다가 붙이는 경우가 있었다. 그때는 R을 이용해서 형태를 최대한 유사하게 만든다음 서식복사를 이용해서 했었는데, 이걸 자동으로 어느정도 맞춰서 하는 방법은 없을까 고민을 하게 되었다. 그래서 openxpyxl , xlsxwriter 같은 패키지가 있는 것을 알게 되었다. 나중에 또 보고서를 만들어야 한다면, 저 2개의 패키지 중 괜찮은 것을 써서 최대한 자동화를 해야겠다! import openpyxl # import BarChart class from openpyxl.chart sub_module from openpyxl.chart import BarChart,Reference # Call a Workb..
2019.05.04 -
tensorflow eager gpu 할당 쓴만큼만 잡게하기.
그냥 돌리게 되면 한 노트북에서 쓰지도 않는 GPU를 다 잡아버린다. 아래 코드를 돌리게 되면 TEST 한다면서 GPU를 다 잡아서 다른 Notebook에서 할당이 안된다. tf.test.is_gpu_available() 그래서 아래와 같은 방법으로 진행하면 된다. 그냥 Session으로 할 때 gpu_option = tf.GPUOptions(allow_growth=True) config = tf.ConfigProto(log_device_placement=False , allow_soft_placement=True, gpu_options=gpu_option) sess = tf.Session(config=config) Eager로 할 때 import tensorflow as tf gpu_option = t..
2019.05.04 -
[ Python ] 중복 되는 배열 해결 하기
만약에 어떠한 길을 가는데, 도중 도중에 중복되는 것이 있다고 하자. 다음과 같이 어떻게 하면 만들 수 있을까? path = ["a","b","c","d","a","a","c","e","e", "o","e","a","a","b","b"] --> ['a', 'b', 'c', 'd', 'a', 'c', 'e', 'o', 'e', 'a', 'b'] 정답은! def dup_path_delete(path) : path_dir = [] for i, j in enumerate(path) : if i == 0 : path_dir.append(j) elif j != path[i-1] : path_dir.append(j) else : pass return path_dir path = ["a","b","c","d","a",..
2019.05.03 -
Linux 에서 폴더 , 파일 용량 확인하기 및 Trash에서 제거하기
** 유용하셨다면 공감 버튼 눌러주세요. ** ## 해당 경로에서 바로 용량 확인하기 du -h --max-depth=1 ## 폴더별 용량 sort해서 보기 du -hs * | sort -rh | head -5 ## To display the largest folders/files including the sub-directories, run: du -Sh | sort -rh | head -5 ## Find Out Top File Sizes Only find -type f -exec du -Sh {} + | sort -rh | head -n 5 ## 특정 홈 파일 찾기 find /home/ -type f -printf "%s %p\n" | sort -rn | head -n 5 ### 먼가 지우고 싶은데 ..
2019.05.02 -
jt 패키지로 Jupyter width default로 고정 시키고 theme 입히기.
** 유용하셨다면 공감버튼 한번씩 눌러주세요** dunovank/jupyter-themes Custom Jupyter Notebook Themes. Contribute to dunovank/jupyter-themes development by creating an account on GitHub. github.com https://github.com/dunovank/jupyter-themes jt 라는 패키지가 있다. * 설치 방법 pip install jupyterthemes 보면 다양한 조건으로 할 수 있다. 해당 글을 잘 읽어보면 알 수 있는데, cellw : 내가 원하는 width 고정시켜준다. -t : 배경을 다양하게 색깔 입힐 수 있다. 나는 검은색을 좋아해서 monokai 사용 -f : fo..
2019.05.02 -
[ Python ] pysnooper 을 활용한 debug 하기
** 유용하셨다면 공감버튼 한번씩 눌러주세요** pip install pysnooper import pysnooper ## 해당 함수 debug 할 때 앞에 error check : 가 붙어서 나온다. @ pysnooper.snoop (prefix = 'error check : ' ) def plus_with_power (a, b , d) : a = a * a b = b * b b = b + d c = a + b return c command 창에 mkdir를 사용해서 my 폴더 안에 log를 만든다. (아무거나 원하는 이름 하면 된다.) @ pysnooper.snoop( '/my/log/file.log' ) def plus_with_power (a, b , d) : a = a * a b = b * b ..
2019.05.02 -
Java version 8 JDK 설치하기 (Ubuntu16.04)
** 유용하셨다면 공감버튼 한번씩 눌러주세요** sudo apt-get install openjdk-8-jre sudo apt-get install openjdk-8-jdk sudo update-alternatives --config java ## 환경변수 설정 which javac readlink -f /usr/bin/javac sudo nano /etc/profile export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export PATH=$JAVA_HOME/bin:$PATH export CLASS_PATH=$JAVA_HOME/lib:$CLASS_PATH # profile reload source /etc/profile sudo reboot now echo $J..
2019.05.01 -
[ R ] roc curve 패키지 비교
R Roc Curve 패키지 plotROC , precrec , ROCit plotROC [ https://sachsmc.github.io/plotROC/ ] ggplot을 활용해서 다른 것들에 비해 더 이쁘게 사용가능합니다. precrec [ https://cran.r-project.org/web/packages/precrec/vignettes/introduction.html ] Roc Curve 뿐만 아니라 다양한 Metric에 대해서도 시각화가 가능하게 되어있습니다. 테이블 형태로도 사용할 수 있게 되어 있습니다. multiple model 들에 대해서도 한번에 시각화 해주는 함수가 있습니다. ROCit [ https://cran.r-project.org/web/packages/ROCit/ROCit..
2019.05.01 -
[ Python ] Jupyter에서 multiprocessing을 활용하여 bash 돌리기
** 유용하셨다면 공감버튼 한번씩 눌러주세요** import os , re , time import numpy as np from multiprocessing import Pool path = "/home/advice/Python/SR/" DIR = os.listdir(path) ## 원하는 Scripy ~.py를 찾기 dir2 = [ path + i for i in DIR if re.search("BayesOpt", i)] curr_path = os.getcwd() +"/" + str(date.today()) ## 폴더 추가 if not os.path.exists(curr_path): os.makedirs(curr_path) ## .sh 파일 여러개 생성하기 for idx , i in enumerate..
2019.05.01