본문 바로가기
기본적인프로그래밍/python

[python] 데이터 사이언스에서 필요한 Library들?

by 인포메틱스 2024. 1. 2.
반응형

 

0. Intro

다양한 정보를 많이 알고 있으면, 그에 따라 응용도 쉽게 됩니다.

 

그렇기 때문에, 다양한 정보의 습득은 아주 중요하다고 생각합니다.

 

이번에 제가 가져온 포스팅은 알면 많이 사용 가능할 것 같은 Library를 가져왔습니다. 몇 Libaray는 추가로 포스팅도 진행해보겠습니다.

 

 

1. Dask : 병렬컴퓨팅을 이용한 library

 pandas는 사람들이 가장 많이 사용하는 library중 하나입니다. 단점은 큰 데이터의 경우 읽어오는데, 혹은 만지는데 느릴수있다는 단점이 있습니다. 이를 해결하기 위하여 추천하는 Library가 Dask라고 할수있습니다. Dask는 병렬 컴퓨팅이 가능합니다. 그렇기 때문에 big data에서 쉽게 사용이 가능합니다.

 

간단한 예시

import dask.dataframe as dd

df = dd.read_csv('large_dataset.csv')
result = df.groupby('category').sum().compute()

 

 

2. Streamlit : 빠른 앱 개발 Library

 찾아보니 R의 shiny같은 포지션입니다. 비슷한 Libary로 Dash가 있는데, 문법을 보아하니 Dash보다 더 쉬운듯 합니다.

 

import streamlit as st

st.title('My Data Science App')
st.write('Here is our first attempt at a data app!')

 

 

3. Joblib: 효과적인 pipeline제작에 사용되는 Library

Joblib는 machine learning에 사용되는 모델을 저장할 때, 효과적으로 사용이 가능합니다.

 

from sklearn.externals import joblib
joblib.dump(model, 'model.pkl')  # Save the model to a file
model = joblib.load('model.pkl')  # Load the model from the file

 

 

4. PyCaret : Automated Machine learning

 Pycaret은 Machine learning의 Hypertunning을 손쉽게 진행할수있습니다. R에도 비슷한 Package가 있습니다.

 

예를 들어 compare_models() 는 다양한 machine learning models을 비교하고 input dataset을 기반으로 최고의 모델을 선택하는데 도움을 주는 기능을 갖고있습니다.

 

5.Vaex:거대 데이터 다룸

거대 데이터에서 효율적으로 계산하기 위해 제작된 module로 메모리 제약없이 효율적인 데이터 조작 및 시각화가 가능한것으로 알려져 있습니다.

 

아래에 보시면 요즘 빈번하게 보이는 hfd5 계열의 파일을 읽어 들이는 것을 확인할 수 있습니다.

 

import vaex

df = vaex.open('big_data.hdf5')
agg_result = df.groupby(df.category, agg=vaex.agg.mean(df.value))

 

6. Geopandas : spatial데이터를 쉽게 다루기

 Pandas의 확장 library로써 지리학적 데이터에서 필수적으로 사용될수있는 library입니다.

import geopandas as gpd

world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
world.plot()

 

 

7.Scrapy: Web Scraping

 

website 에서 데이터를 추출하는데 뛰어난 library 입니다.

 

import scrapy

class BlogSpider(scrapy.Spider):
    name = 'blogspider'
    start_urls = ['https://blog.scrapinghub.com']

    def parse(self, response):
        for title in response.css('.post-header>h2'):
            yield {'title': title.css('a ::text').get()}

 

 

8. NLTK : 자연어처리

NLTK는 자연어 처리를 위한 library로 50개 이상의 말뭉치와 어휘 리소스에 접근할수있습니다. (그러나 영어 위주라는거..)

 

import nltk
nltk.download('punkt')

from nltk.tokenize import word_tokenize
text = "Hello World."
# Tokenize the text
tokens = word_tokenize(text)
print(tokens)

 

 

9. Ploty: 시각화에 특화된 Library

Ploty는 시각화하는데 특화가된 Library입니다. 유명해서 자세한 설명은 패스!

 

import plotly.express as px

# Create a bar chart
fig = px.bar(x=["AA", "CB", "AC"], y=[13, 31, 22])
fig.show()

 

 

10. Surprise: 추천시스템 구축 관련 Library

 추천시스템 분석과 설계관련 Library 입니다.

from surprise import SVD, Dataset

data = Dataset.load_builtin('ml-100k')

algo = SVD()

trainset = data.build_full_trainset()

algo.fit(trainset)

 

 

11. 마치며

 

 이상 찍먹 정도의 정보로 10가지의 python library를 이야기해 보았습니다.  위에 몇 library는 실제 추가 포스팅을 해보도록 하겠습니다. 감사합니다.

728x90
반응형

댓글