본문 바로가기

프로그래밍167

[Python] Python에서 오류가 발생하는 경우 StackOverflow로 검색하기. webbrowser 모듈을 사용하면 파이썬(Python)에서 오류(error)가 발생한 경우 try, except 문에서 받은 오류 메시지 관련 내용을 StackOverflow에서 검색할 수 있다. webbrowser 모듈은 파이썬에서 제공하는 내장 모듈이므로 따로 설치할 필요가 없다. 아래 코드를 실행시켜 보자. 에러가 발생하면 관련 내용을 StackOverflow에서 검색해준다. import webbrowser try: a = [1,2,3] print(a[4]) except Exception as error_msg: webbrowser.open(f'http://stackoverflow.com/search?q={error_msg}',new=0,autoraise=True) 코드를 처음으로 실행하면 로봇인.. 2022. 7. 19.
[오류 해결] Glyph 8722 missing from current font (Matplotlib에서 빼기, '-', minus, 음수 부호 표기 오류) Matplotlib은 기본적으로 '-'(빼기, 음수 부호) 표시가 제대로 표기되지 않는다. 그와 동시에 아래와 같은 경고메시지를 출력한다. Glyph 8722 missing from current font 아래 코드를 실행하면 x축에서 음수 표시가 제대로 되지 않으며 "Glyph 8722 missing from current font" 메시지 또한 출력한다. import matplotlib.pyplot as plt fig = plt.figure(figsize=(8,8)) fig.set_facecolor('white') ax = fig.add_subplot() ax.plot([-1,-2,-3,-4,-5],[3,5,6,3,6]) plt.show() 이때에는 matplotlib.pyplot을 임포트하고 나서 .. 2022. 7. 18.
파이썬(Python) 함수에 부분 인자 적용하기 (feat. partial) 파이썬 코딩을 하다 보면 함수에 모든 인자가 아닌 특정 부분 인자만 고정시키고 다른 인자에는 for loop를 돌면서 동적으로 할당하고 싶을 때가 있다. 파이썬에서는 functools 모듈의 partial을 이용하면 이 모든 것이 가능하다. 따라서 이번 포스팅에서는 functools 모듈의 partial의 사용법과 예제를 알아보자. 1. partial 사용법 partial은 첫번째 인자로 함수를 넣어주고 뒤이어 해당 함수의 인자값을 정해주는 방식이다. partial( '함수', '인자1', '인자2', . . . ) 2. partial 예제 사용법을 알았으니 실제로 써보자. 다음 코드는 a, b, c, d 인자를 갖는 함수 func에서 a, b인자를 먼저 고정시켜놓고 나머지 c, d 인자에 대한 함수 g.. 2022. 7. 15.
파이썬(Python) 내장 함수 iter 사용법 (feat. next) 이번 포스팅에서는 파이썬(Python) 내장 함수인 iter 함수의 사용법을 알아보려고 한다. 1. iter 함수 사용법 iter 함수는 순회 가능한(Iterable) 객체를 받아서 Iterator로 바꿔준다. 또한 특정값(Sentinel)을 지정하여 더 이상 값을 꺼내지 않도록 설정할 수도 있는데 이때에는 첫 번째 인자로 순회 가능한 객체가 아닌 호출 가능한(Callable) 함수를 넣는다. 구체적인 사용법은 다음과 같다. iter( '순회가능한 객체' ) iter( '호출 가능한 객체', '반복 감시자' ) 2. iter 함수 예제 사용법을 알았으니 실제로 써보자. a. 첫 번째 사용법 다음은 리스트를 iterator 객체로 바꿔준다. iterator는 그 자체로 출력할 순 없고 for 문이나 lis.. 2022. 7. 14.
파이썬(Python) 내장함수 filter를 이용하여 리스트에서 특정 조건을 만족하는 원소 추출하기 오늘은 파이썬(Python) 내장 함수인 filter의 사용법을 알아보려고 한다. filter는 기본적으로 리스트에서 특정 조건을 만족하는 원소들만 추출하고 싶을 때 사용하는 함수다. filter 사용법 filter 함수는 첫 번째 인자로 조건을 나타내는 함수를 넣어준다. 조건을 나타내는 함수란 리턴값이 True 또는 False여야 한다는 것이다. 그리고 두 번째 인자로 추출하고 싶은 리스트를 넣어준다. filter( '조건 함수', '리스트 또는 Iterable 가능한 객체' ) filter 예제 여기서는 문자열 원소를 갖는 리스트에서 특정 문자로 시작하는 원소를 filter를 이용하여 추출해보고자 한다. 예를들어 문자열 리스트에서 'A'로 시작하는 문자열만 뽑는다고 한다면 다음과 같이 해준다. fil.. 2022. 7. 12.
[Scikit-Learn] 8. 나이브 베이즈(Naive Bayes) 분류기 학습하기(feat. GaussianNB, CategoricalNB, MultinomialNB) 이번 포스팅에서는 Scikit-Learn에서 나이브 베이즈 분류기(Naive Bayes Classifier)를 학습하는 방법에 대해서 알아본다. 나이브 베이즈 분류기(Naive Bayes Classifier)는 설명 변수가 범주형, 빈도수 그리고 연속형인지에 따라 다른 방법으로 학습한다. 각각 살펴보자. 1. 범주형 변수(CategoricalNB) 2. 빈도수(MultinomialNB) 3. 연속형 변수(GaussianNB) 나이브 베이즈 분류기(Naive Bayes Classifier)에 대한 개념은 아래 포스팅에 소개해놓았니 관심 있는 분들은 보시기 바란다. [머신 러닝] 4. 나이브 베이즈 분류기(Naive Bayes Classifier) with Python [머신 러닝] 4. 나이브 베이즈 분류.. 2022. 6. 18.
[Scikit-Learn] 7. Gradient Boosting 모형 만들기(feat. GradientBoostingClassifier, GradientBoostingRegressor) Scikit-Learn(sklearn)에서는 GradientBoostingClassifier, GradientBoostingRegressor를 이용하여 Gradient Boosting 예측 모형을 학습할 수 있다. Gradient Boosting은 분류와 회귀 문제 모두 적용할 수 있는데 이에 대해서 각각 알아본다. 1. 분류 문제(GradientBoostingClassifier) 2. 회귀 문제(GradientBoostingRegressor) Gradient Boosting에 대한 개념과 Scikit-Learn에서 의사결정나무를 학습하는 방법을 아래 포스팅에서 소개해놓았다. 읽고 오면 좋다. 20. Gradient Boosting 알고리즘에 대해서 알아보자 with Python 20. Gradient .. 2022. 6. 18.
[Scikit-Learn] 6. AdaBoost 모형 만들기(feat. AdaBoostClassifier, AdaBoostRegressor) 오늘은 Scikit-Learn(sklearn)을 이용하여 AdaBoost 알고리즘을 통한 모형 학습 방법을 알아보고자 한다. AdaBoost는 분류와 회귀 문제 모두 적용할 수 있는데 이에 대해서 각각 알아본다. 1. 분류 문제(AdaBoostClassifier) 2. 회귀 문제(AdaBoostRegressor) AdaBoost에 대한 개념과 Scikit-Learn에서 의사결정나무를 학습하는 방법을 아래 포스팅에서 소개했으니 읽고 오면 좋다. 15. AdaBoost(Adaptive Boost) 알고리즘에 대해서 알아보자 with Python 15. AdaBoost(Adaptive Boost) 알고리즘에 대해서 알아보자 with Python 이번 포스팅에서는 부스팅 알고리즘의 하나인 AdaBoost 알고리.. 2022. 6. 18.
[Scikit-Learn] 5. 의사결정나무(Decision Tree) 만들기(feat. DecisionTreeClassifier, DecisionTreeRegressor) 이번 포스팅에서는 Scikit-Learn(sklearn)을 이용하여 의사결정나무를 학습하고 이를 시각화하는 방법에 대해서 알아본다. 또한 결과를 시각화하는 것뿐만 아니라 노드 정보(샘플 수, 불순도, 예측값)를 가져오는 방법에 대해서도 소개한다. 여기서는 분류 나무와 회귀 나무를 학습하는 방법을 알아본다. 1. 분류 나무(DecisionTreeClassifier) 2. 회귀 나무(DecisionTreeRegressor) 의사결정나무에 대한 개념은 아래 포스팅을 참고하기 바란다. 9. 의사결정나무(Decision Tree) 에 대해서 알아보자 with Python 9. 의사결정나무(Decision Tree) 에 대해서 알아보자 with Python 이번 포스팅에서는 모형의 해석이 쉽다는 장점을 가진 의사결.. 2022. 6. 18.
[Jupyter Notebook] 주피터 노트북 커널(Kernel) 파이썬 경로 확인, 변경 방법 알아보기 이번 포스팅에서는 주피터 노트북 커널(Kernel)에서 사용하는 파이썬(Python) 경로를 확인하고 바꾸는 방법을 알아본다. 1. 현재 파이썬(Python) 경로 확인하기 주피터 노트북의 현재 경로는 다음과 같이 sys.executable을 이용하여 확인할 수 있다. import sys print(sys.executable) 2. 경로 바꾸기 경로를 바꾸는 방법은 다음과 같다. 먼저 아래 그림과 같이 주피터 노트북 파일에서 상단 'Edit' 탭에서 'Edit Notebook Metadata'를 클릭한다. 그러면 JSON 형태의 기본 설정이 나와있다. 이때 다음과 같이 "PYTHONPATH" 이 옆부분의 실행하고자할 파이썬 경로를 입력한다. 나머지는 건드리지 않는다. { "argv": [ "python".. 2022. 6. 11.

맨 위로