본문 바로가기

기본소양49

1. Linear Regression CODE [0] 시작은 언제나 EDA 시작은 언제나 EDA Linear Regression CODE 0. Data Description 항상 먼저 확인 할 것 1. Profiling pip install -U pandas-profiling from pandas_profiling import ProfileReport df.profile_report() 2. EDA ## 상관계수 df_cor = df.corr().copy() print(df_cor.sort_values('target',ascending=False).price.head(5)) ## Only Heatmap import seaborn as sns import matplotlib.pyplot as plt df_cor = df.corr().copy() fig, ax = plt.subpl.. 2021. 2. 2.
[코딩, 처음입니다] Big O와 Big Ω, 알고리즘 실행시간 표기법 Big O와 Big Ω 알고리즘 실행시간 표기법 알고리즘에 있어서 대략적으로 실행시간을 알고자할 때, Big O와 Big Ω로 이야기합니다. 예를들어 봅시다. 숫자가 10000까지 무작위로 나열되어있는 집합에서 4543이라는 숫자를 찾으려면 얼마나 걸릴까요? 운이 좋으면 한번에 찾을 수도 있고, 최악의 경우 10000번째에 찾을 수 있습니다. 이때 우리는 big O가 10000이고, big omega가 1이라고합니다. 우리는 이 숫자를 n으로 바꿔서 말합니다. 하나하나씩 찾는 선형겁색은, O(n)이되고 Ω(1)이됩니다. 여기서 O는 “on the order of”의 약자로, 쉽게 생각하면 “~만큼의 정도로 커지는” 것이라고 볼 수 있습니다. O(n) 은 n만큼 커지는 것이므로 n이 늘어날수록 선형적으로 .. 2021. 2. 1.
Performance Measure 보호되어 있는 글 입니다. 2021. 1. 27.
[Pythonic CODE] 6. Collections Collections Life is short, you need python ! from collections 데이터 구조의 확장된 모듈을 제공합니다. 아래는 collections의 모듈입니다. deque( ) 앞에서부터 넣는 List형태입니다. 그냥 앞에서 넣어 List보다 더 빠릅니다. Ordered Dict( ) Dict는 순서대로 반환하는 것이아니라 key값에 따라 반환합니다. 순서를 저장시켜주고 싶을 때 Ordered Dict를 사용할 수 있습니다. defaultdict( ) Dict 내에 아무것도 없는 상태이면 어떤 값을 호출했을 때, 반환할 값이 아무것도 없습니다. 만약 default값이 있으면 아무것도 없는 상태라고 할 지라도 default값을 반환할 수 있습니다. defaultdict(l.. 2021. 1. 24.
[Pythonic CODE] 5. Asterisk ( * ) Asterisk ( * ) Life is short, you need python ! Asterisk ( * ) 라이브러리의 doc를 보시면 *args와 **kwargs를 보신 적이 있을 것입니다. 예시를 보는 것이 가장 빠를 것 같습니다. *args hello라는 함수를 정의하였습니다. 3~8의 숫자를 넣었을 때, 3은 x로 들어가고, 4는 y로 들어가고 나머지가 *z가 되는 것입니다. 데이터 타입은 튜플로 나오게 됩니다. 이처럼 뒤의 갯수를 모를 때 앞에 별표 하나를 입력하면 어렵지 않게 사용할 수 있습니다. doc에서 *args는 갯수가 정해져있지 않은 argument들을 의미합니다. 여러개의 값을 한번에 받을 수 있죠! 파라미터에 *args를 씀으로써 유연하게 인자들을 받을 수 있습니다. **kw.. 2021. 1. 24.
[Pythonic CODE] 4. Lambda & Map & Reduce Lambda & Map Reduce Life is short, you need python ! Lambda function 함수에 이름이 없는 것입니다. 익명함수라고 불립니다. 간단한 개념이지만, 뒤에 맵리듀스와 함께 쓰일 때 더 좋기도하고 많이 쓰이기도하기 때문에 넣었습니다. 사실 python 3부터는 쓸 필요가 없다고는 하지만 Pandas와 같은 라이브러리와 쓰일 때 여전히 효율적입니다. 함수를 선언하는 것이 일반적이지만, 람다함수를 사용하면 더 간단하게 함수를 정의할 수 있습니다. Map function Map함수는 (함수, 함수를 적용할 시퀀스)를 입력하여 값을 반환합니다. 반환되는 값은 함수에 적용이 된 각 요소들입니다. 위의 예시를 보면 함수는 len(n)을 반환합니다. (string의 길이를.. 2021. 1. 24.
[Pythonic CODE] 3. Enumerate & Zip Enumerate & Zip Life is short, you need python ! Enumerate Enumerate는 리스트의 순서에 따라 index를 붙여주는 함수입니다. apple이 첫번째에 있으니 0이됩니다. Enumerate함수는 보통은 아래와 같이 많이씁니다. fruits에 enmerate로 인덱스를 달고, 이를 리스트로 만들어 주었습니다. 앞 포스트에서 배운 split을 이용하여 문장을 Dict 형태로 만들어 줄 수 있겠죠? 아래 예시입니다. 윤동주 시인의 별 헤는 밤을 인용하여 각 단어에 Index를 dict형태로 저장해 보았습니다. 먼저 split()으로 문장을 단어로 나누어 주고, 그 단어들을 enumerate로 index를 붙인 후에 { }로 감싸주어 Dict형태로 만든 것입니다.. 2021. 1. 24.
[Pythonic CODE] 2. Split & Join Split & Join Life is short, you need python ! Split (자르는 함수) 먼저 Split은 문자열을 빈칸을 기준으로 나눕니다. 혹은 원하는 분리기준(여기서는 ',' 쉼표)에 따라 나눌 수도 있습니다. 그 것을 변수로 넣어줄 수도 있겠죠? 블로그 주소를 '.'을 기준으로해서 나눌 수도 있습니다! Join (합치는함수) Join은 합치는 함수입니다. 하나의 string으로 Return해줍니다. 조인의 앞에 붙는 것은 우리가 합치는 원소 사이에 어떤 것을 넣겠다라는 뜻입니다. 위의 예시를 보면, ''로 붙이면 빈틈없이 나오는 것을 확인 할 수 있습니다. 중간에 원하는 값으로 나누어 줄 수 있도록 쉼표 등을 삽입할 수도 있습니다. split은 나누고 join은 합친다. 이것만.. 2021. 1. 24.
[Pythonic CODE] 1. List Comprehension List Comprehension Life is short, you need python ! 파이썬은 효율적인 표현을 추구하는 언어입니다. 자바나 C언어를 했던 분들 입장에서는 코드를 이런 식으로 짜도 되나?라고 생각하실 수도 있겠습니다. 하지만 그만큼 편리하고 효율적인 언어임에는 분명합니다. 이번 시리즈에서는 파이썬의 기본이 어느정도 있는 상태에서 파이썬에대해 조금 더 알기위해 작성하는 포스트이며, 조금 더 고급지게 코드를 작성하고 다른 사람들이 쓰는 코드를 이해할 수 있는 것에 그 목적이 있습니다. 가장많이 쓰고, 알면 몸이 편해지는 방법을 다룹니다. List Comprehension 기존의 리스트를 사용해서 다른 리스트를 만드는 기법입니다. 아무래도 기존의 리스트에 append를 해주는 것 보다 메.. 2021. 1. 24.
파이썬으로 하는 선형대수학 (Colab Tutorial) 파이썬으로 하는 선형대수학 (Colab Tutorial) https://colab.research.google.com/drive/1wzDsFE5IHup-YSnEaO0qcYFu5CtXu9KY?usp=sharing 파이썬으로하는 선형대수학.ipynb Colaboratory notebook colab.research.google.com 코랩에 튜토리얼형식으로 정리하였습니다. 담은 내용은 아래와 같습니다. 스칼라와벡터 1.1 벡터그리기 1.2 a⃗ −b⃗ 그리기 1.3 a⃗ 와 스칼라의 곱 ( 5, π, −e) 1.3 3D vector 1.4c⋅d (Dot Product) 1.5 e x f (행렬곱) 1.8 ||g|| 와 ||h|| 계산 (NORM) 매트릭스 2.1 매트릭스의 차원 2.2 FT를 계산 2.3 I.. 2021. 1. 19.
파이썬으로 하는 선형대수학 (6. Clustering) 6.1 K-Means Dataset iris = sns.load_dataset('iris') iris.head() iris = iris.drop('species',axis=1) df_kmeans = StandardScaler().fit_transform(iris) df_kmeans = pd.DataFrame(df_kmeans) df_kmeans.columns = iris.columns.values print(df_kmeans.shape) df_kmeans.head() Cluster & fit kmeans = KMeans(n_clusters=3) kmeans.fit(df_kmeans) Check labels & Predict print(kmeans.labels_.shape) print(kmeans.pred.. 2021. 1. 19.
파이썬으로 하는 선형대수학 (5. Dimensionality Reduction) 5.0 Dataset import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.preprocessing import StandardScaler from sklearn.decomposition import PCA import seaborn as sns iris = sns.load_dataset('iris') iris.head() 5.1 PCA Normalization label = iris[['species']] iris = iris.drop('species',axis=1) x = iris.values y = iris x = StandardScaler().fit_transform(x) pca = PCA(n_comp.. 2021. 1. 19.