본문 바로가기

분류 전체보기100

Python을 이용하여 중복 사진 정리하기 :: OpenCV, compare_ssim 1년 넘게 미룬 사진정리를 드디어 해야겠다고 마음먹었다. 내 사진첩에는 중복된 사진이 너무나도 많았는데 하나하나 손으로 할 수 없다고 생각했다. 그래서 python에 있는 이미지 인식을 이용하였다. 수천개의 사진의 이미지를 전부 대조할 수 없으니 우선적으로 처리할 수 있는 방안을 생각해보았다. 💡생각1 : 저장명이 겹치면 같은 파일이다. ex) 6E5DD712-4FDF-4677-AF33-63E29F975035.jpeg 6E5DD712-4FDF-4677-AF33-63E29F975035 2.jpeg 💡생각1 : 용량이 같으면 같은 파일이다. 이 두가지 생각을 토대로 중복사진 정리를 해보았다. 1. Photo File 1) 사진 목록 불러오기 photo_list = [] for f in os.listdir('.. 2020. 5. 2.
[MySQL] 데이터 조회하기 :: SELECT 테이블 조회 - 전체 : * - 조회하는 행의 갯수 제한 : limit 10; - 고유값 (중복제거) : DISTINCT -- 전체 테이블 조회 SELECT * FROM 테이블; -- 특정 열의 테이블 조회 SELECT 열1, 열2 FROM 테이블; -- 조회하는 행의 갯수를 10개로 제한 SELECT * FROM 테이블 LIMIT 10; -- 고유값(중복제거) 조회 SELECT DISTINCT 열 FROM 테이블; 열1 대신 열 이름이 '별칭'으로 나타나게 -- AS를 사용하는 경우 SELECT 열 AS '별칭' FROM 테이블; -- AS를 사용하지 않는 경우 SELECT 열 '별칭' FROM 테이블; ex) 테이블명 : INFO ID NAME AGE mz123 Kim 23 mz456 Lee 24 m.. 2020. 5. 1.
[ML] 앙상블(Ensemble) :: 배깅(Bagging) & 부스팅(Boosting) 앙상블 : 하나의 모델이 아닌 여러 개의 모델을 학습시켜 그 결과들을 이용하여 예측 1. 배깅(Bagging : Bootstrap aggregation) - 주어진 데이터에서 여러 개의 부트스트랩(bootstrap : 단순복원임의추출(random sampling))을 생성하고 각 부트스트랩을 모델링한 후 종합(aggregation)하여 최종 예측 모형을 산출하는 방법이다. - 배깅은 예측 모형의 변동성이 큰 경우 예측모형의 변동성을 감소시키기 위해 사용된다. 여러 번의 복원 샘플링을 통해 예측 모형의 분산을 줄여 줌으로써 예측력을 향상 시키는 방법이며 일반적으로 과대 적합 된 모형, 편향이(Bias) 작고 분산(Variance)이 큰 모형에 사용하는 것이 적합하다. - 각 샘플에서 나타난 결과를 집계한 .. 2020. 4. 24.
[plotly] 티스토리/웹페이지에 반응형 그래프 올리기 티스토리에 글을 쓰다보니 반응형 그래프를 올려보고 싶어졌다. 컴알못+영알못이지만 구글을 열심히 뒤져서 힘들게 찾아낸 방법이다! 내가 그래프를 올리고자 한 티스토리 위주로 이번 글을 작성해보았는데 각자 잘 활용하시길 :) Interactive한 데이터 시각화를 위해 Plotly를 사용해보았는데 Plotly : 온라인 개발, 데이터 분석 및 시각화 도구. Plotly는 Python, R, MATLAB, Perl, Julia, Arduino 및 REST에 대한 과학적 그래프 라이브러리 뿐만 아니라 개인 및 협업을 위한 온라인 그래프, 분석 및 통계 도구를 제공한다. (위키백과) 뭐.. 그렇다고 합니다.. 우선 plotly.js를 넣어줘야하는데 두가지 방법이 있다. 1. 에 넣어주기 2. 포스팅할 글 상단에 넣.. 2020. 4. 19.
[Python] 정규표현식 기본 re :: regular expression 라이브러리 불러오기 import re 메타문자 [ ] 문자클래스 [ ] 사이의 문자들과 매치 - [From - To] ex) [a-zA-Z] = 알파벳 모두 [0-9] = 모든 숫자 \d 숫자 = [0-9] \D 숫자가 아닌 것 = [^0-9] \s 공백 = [ \n\t\r\f\v] \S 공백이 아닌 것 = [^ \n\t\r\f\v] \w 문자+숫자+_ = [a-zA-Z0-9_] \W 문자+숫자+_가 아닌 것 =[^a-zA-Z0-9_] \ 이스케이프 \와 함께 사용하면 일반 문자로 인식된다. . \n를 제외한 모든 문자 . = 모든 문자 [.] []안에 .을 넣을 경우 그냥 '.'으로 인식 [.] = 온점. | or ^ [] 바깥에 있을 경우 문자열의 시작과 매치 re.MULTILINE과 함께 쓰인다면 .. 2020. 4. 17.
[Python] 정규성 검정 :: 히스토그램, Q-Q Plot 1. 히스토그램 import seaborn as sns sns.distplot(train['SalePrice']) distplot으로 그래프를 그렸을 때, 종모양의 정규분포을 띄어야 정규성을 만족한다. 2. Q-Q plot import scipy.stats as stats stats.probplot(col, plot=plt) 빨간선에 가까울 수록 정규성을 만족한다. 3. 왜도 & 첨도 from scipy.stats import skew, kurtosis # 왜도 skew() # 첨도 kurtosis(data, fisher=True) 정규분포일 경우 왜도 = 0 / 첨도 = 0 왜도 0 : 오른쪽으로 길게 늘어짐 첨도 0 : 뽀족한 모양 2020. 4. 7.
[Python] 예외처리 :: try~except 코드를 작성하다보면 예기치못한 오류를 마주할 수 있다. 이때 오류에 대한 적절한 대응, 예기지 못한 상황을 피하기 위한 방안을 try ~ except를 사용할 수 있다. 1. 기본 예외처리 try: 시도 할 코드 except: 예외가 발생했을 때 2. 예외 지정하기 try: 시도 할 코드 except IndexError: print('인덱스 오류입니다.') try: 시도 할 코드 except Exception as exp: print(exp) # Error가 뭔지 나타나게 3. 예외 없이 끝났을 때 try: 시도 할 코드 except: 예외가 발생했을 때 else: 예외가 발생하지 않았을 때 실행할 코드 4. 예외 여부와 관계없이 실행되는 코드 try: 시도 할 코드 except: 예외가 발생했을 때 e.. 2020. 4. 6.
pip3을 pip으로 변경하기 1. zsh 터미널에서 bashrc로 들어가기 vim ~/.bashrc 2. pip3를 pip이라 지정하기 # pip3을 pip이라 지정하기 alias pip = "pip3" # 저장/나가기 :wq 3. 적용하기 source .bashrc - 끝 - 2020. 4. 1.
[Pandas] pd.read_html() :: html에서 표 가져오기/데이터프레임으로 만들기 ⭐️ Colab에서 실행해보기 https://colab.research.google.com/drive/1qoZmWeqZV8c_-yOG2bKLMe3aDZJ2O0ia pandas import pandas as pd pd.read_html을 이용하면 html에 있는 table속성에 해당하는 값을 가져올 수 있다. 이는 웹페이지에 있는 표를 불러오겠다는 의미이다. pandas.read_html(URL, match='.+', flavor=None, header=None, index_col=None, skiprows=None, attrs=None, parse_dates=False, tupleize_cols=None, thousands=', ', encoding=None, decimal='.', converters=.. 2020. 3. 31.
pd.read_table 예제 테이블 1 과일 색상 가격 사과 빨강 1500원 사과 초록 1000원 바나나 노랑 3000원 바나나 초록 2000원 테이블 2 국가 도시 언어 한국 서울 한국어 미국 뉴욕 영어 이탈리아 피렌체 이탈리아어 프랑스 파리 불어 테이블 3 한국어 영어 1월 January 2월 Feburary 3월 March 2020. 3. 31.