zenn.skin 무료버전 배포중!
자세히보기

분류 전체보기 182

Math
[Matplotlib] 시그모이드 함수 그리기

Python을 이용해 시그모이드 함수를 그려보려합니다. 시그모이드 함수(Sigmoid Function) 1. 시그모이드 함수 시그모이드 함수는 S자 모양의 함수로 로지스틱 함수, 오차 함수나 정규분포의 cdf, arctan(역 탄젠트) 함수 등 다양한 함수에서 찾을 수 있다. 시그모이드 함수는 다음 특징을 koosco.tistory.com 1. 정의를 이용한 구현 import numpy as np import matplotlib.pyplot as plt x = np.linspace(-8, 8, 100) y = 1 / (1 + np.exp(-x)) plt.figure(figsize=(12, 8)) plt.plot(x, y) plt.show() 2. scipy.special의 expit 함수 사용 from ..

DataScience
[ML] K-NeighborsRegressor (K-최근접 이웃 회귀)

1. K-NeighborsRegressor(K-최근접 이웃 회귀 알고리즘) K-최근접 이웃 모델은 분류 모델뿐만 아니라 회귀 모델도 만들 수 있습니다. 분류 모델에서는 범주형 데이터를 예측한다면, 회귀 모델에서는 연속형 데이터를 예측합니다. 분류 모델과 마찬가지로 train 데이터가 입력되면 데이터를 저장하고 있다가 새로운 값들이 들어오면 근접한 이웃들의 평균값을 계산해 예측값으로 반환합니다. 오늘은 농어의 길이와 무게 데이터를 이용해 K-최근접 이웃 회귀 모델을 공부해보겠습니다. 농어의 길이와 무게 데이터 농어의 길이와 무게 데이터. GitHub Gist: instantly share code, notes, and snippets. gist.github.com import numpy as np perc..

DataScience
[ML] SimpleImputer (누락값 처리)

데이터를 정제하는 과정에서 반드시 필요한 과정 중 하나는 누락값(Nan)의 처리입니다. 누락값을 처리하는 방법에는 1) 누락값을 갖고 있는 행의 삭제, 2) 누락값을 갖는 열(특성)의 삭제, 3) 대체값으로 대체하는 방법이 있습니다. 1. 일반적인 누락값 처리 방법 import pandas as pd df = pd.DataFrame(data) # 누락값을 갖는 행(레이블) 삭제 df.dropna(subset=['col1']) # 누락값을 갖는 열(특성) 삭제 df.drop('col1', axis=1) # 누락값을 대체값으로 채움 mean = df['col1'].mean() df['col1'].fillna(mean) 데이터를 모으는 과정에서 누락값의 처리는 꼭 필요한 작업입니다. 누락값을 너무 많이 제거해..

DataScience
[ML] 모델 파라미터와 모델 하이퍼 파라미터 차이 (Difference between a model parameter and a model hyper parameter)

머신러닝 모델에서 파라미터와 하이퍼 파라미터라는 용어를 혼용해서 사용하는 경우가 많습니다. 그래서 오늘은 둘 사이에 어떤 차이가 있는지에 대해 공부해 보려 합니다. 둘의 차이를 잘 비교해놓은 사이트가 있어서 해당 글을 참고했습니다. What is the Difference Between a Parameter and a Hyperparameter? It can be confusing when you get started in applied machine learning. There are so many terms to use and many of the terms may not be used consistently. This is especially true if you have come from anot..

DataScience
[ML] K-NeighborsClassifier(K-최근접 이웃)

도미의 길이, 무게 데이터 도미의 길이, 무게 데이터. GitHub Gist: instantly share code, notes, and snippets. gist.github.com 빙어의 길이, 무게 데이터 빙어의 길이, 무게 데이터. GitHub Gist: instantly share code, notes, and snippets. gist.github.com 위 데이터를 이용해 K-최근접 이웃 모델에 대해 공부해보겠습니다. K-최근접 이웃 분류 모델은 지도학습 중에서도 분류 알고리즘에 해당하는 알고리즘입니다. K-최근접 이웃 모델은 별도의 규칙을 찾기보다는 전체 데이터를 메모리에 저장하는 역할만 합니다. 새로운 데이터가 주어지면 기존에 있던 데이터들 중에서 새로운 데이터와 유클리디언 거리가 가장 ..

Python/Syntax
[JupyterNoteBook] 사용자 정의 ipynb 파일 임포트 (다른 ipynb 파일 임포트)

JupyterNotebook에서는 py 파일이 아닌 ipynb 파일을 사용해 코드를 작성합니다. 일반적인 py 파일의 경우 import를 하면 바로 사용할 수 있지만 JupyterNotebook에서는 별도의 라이브러리를 임포트 한 이후에 사용할 수 있습니다. 다음과 같은 사용자 정의 함수를 만들고 다른 notebook에서 임포트 해보겠습니다. 그냥 ipynb 파일을 임포트하려하면 multiply라는 module이 존재하지 않는다고 합니다. pip3 install import_ipynb pip를 통해 import_ipynb를 설치한 다음 다시 사용자 정의 함수를 임포트 해보겠습니다. 정상적으로 ipynb 파일을 임포트하는 것을 확인할 수 있습니다.

Python/Syntax
[Numpy] ndarray 합치기 (c_, r_, column_stack)

numpy에서 제공되는 클래스인 c_와 r_은 입력받은 ndarray를 결합하여 새로운 ndarray를 빠르게 생성할 수 있도록 도와줍니다. 이 때, c_와 r_은 ()이 아닌 []을 통해 ndarray를 입력받습니다. 1. r_ c_를 이해하기 위해서는 r_ 클래스를 먼저 이해해야 합니다. class CClass(AxisConcatenator): """ Translates slice objects to concatenation along the second axis. This is short-hand for ``np.r_['-1,2,0', index expression]``, which is useful because of its common occurrence. In particular, arrays..

카테고리 없음
[PyQt] 텍스트 입력받기(QLineEdit, QTextEdit)

PyQt에는 정말 다양한 위젯들이 있습니다. 텍스트를 입력받는 위젯부터 체크박스, 라디오 버튼, 콤보박스, 캘린더, 테이블 등등 GUI를 위한 기능들은 모두 있는 것 같습니다. 앞으로 틈틈이 정리를 하려하는데 오늘은 텍스트를 입력받을 수 있는 QLineEdit와 QTextEdit에 대해서 알아보려 합니다. 1. QLineEdit와 QTextEdit QLineEdit은 한줄로 된 문자열을 입력받을 수 있는 위젯입니다. 반면 QTextEdit은 여러 줄로 된 문자열을 입력받을 수 있습니다. 2. QLineEdit와 QTextEdit의 사용 import sys from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout from PyQt5.QtWidgets ..