Python) pyarrow 다뤄보기
·
분석 Python/구현 및 자료
2022.11.26 - [분석 Python/구현 및 자료] - Python) pyarrow 다뤄보기 2022.12.21 - [분석 Python/구현 및 자료] - Python) pyarrow 사용 방법 Apache Arrow란? (https://realsalmon.tistory.com/21) 직렬화(Serialization)란? (https://realsalmon.tistory.com/21) Zero-Copy 직렬화 Pyarrow란? 아파치 애로우(Apache Arrow)라는 메모리 내 분석을 위한 개발 플랫폼인데, 빅데이터를 빠르게 처리하고 이동할 수 있도록 하는 일련의 기술을 제공하는 라이브러리를 파이썬 PyArrow를 통해 구현할 수 있다. 기존의 pandas로 용량이 큰 csv파일을 로드하면 시간..
(진행중) SHAP (Shapley Additive exPlanations) 이해하기
·
분석 Python/구현 및 자료
SHAP에 대해서 좀 더 이해를 해보고자 블로그를 참고하는데, 블로그를 보고 정확히 이해하려니 매우 어렵지만 이해해보려고 한다... 게임 이론 게임이론이란 우리가 아는 게임을 말하는 것이 아닌 여러 주제가 서로 영향을 미치는 상황에서 서로가 어떤 의사결정이나 행동을 하는지에 대해 이론화한 것을 말한다. 즉, 의사결정자는 자신의 결정뿐 아니라 상대방의 결정이 무엇이 될 것인가에 대해서 관심을 가지게 될 수밖에 없고 이러한 상황의 문제를 다루는 의사결정학의 한 분야라고 한다. 게임 이론 분류 Shapley value 개념 및 예시 게임 이론의 개념을 기반으로 하며 예측에 대한 각 피처의 기여도를 계산하여 기계 학습 모델의 예측을 설명하는 데 사용할 수 있습니다. Shap Value에 대한 간단한 이야기를 해..
Catboost & Shap) 예시 코드
·
분석 Python/chatbot
catboost와 shap 관련 예시 코드 catboost를 사용할 때, shap.Explanation을 잘 사용해야 함. cat_features = list(train_x.select_dtypes("category")) train_dataset = cb.Pool(train_x, train_y,cat_features=cat_features) test__dataset = cb.Pool(test_x, test_y,cat_features=cat_features) model = cb.CatBoostRegressor(loss_function='RMSE',random_state=1234, custom_metric=['RMSE', 'MAE', 'R2']) grid = {'iterations': [100, 150, 2..
feast) FileSource 사용 방법(여러개 파일)
·
분석 Python/Packages
FileSource를 하기 위해서는 timestamp_field를 설정해야 함 다중 파일들을 커버하기 위해서는 *.parquet 으로 해야함. 0.26 버전임 class FileSource(DataSource): def __init__( self, *, path: str, name: Optional[str] = "", event_timestamp_column: Optional[str] = "", file_format: Optional[FileFormat] = None, created_timestamp_column: Optional[str] = "", field_mapping: Optional[Dict[str, str]] = None, s3_endpoint_override: Optional[str] = N..
Python) datetime64[ns]로 변환하는 방법
·
분석 Python/Pandas Tip
df['timestamp'] = pd.to_datetime(df.timestamp).dt.tz_localize(None) https://stackoverflow.com/questions/62917882/convert-datetime64ns-utc-pandas-column-to-datetime convert datetime64[ns, UTC] pandas column to datetime I have a dataframe which has timestamp and its datatype is object. 0 2020-07-09T04:23:50.267Z 1 2020-07-09T11:21:55.536Z 2 2020-07-09T11:23:18.015Z 3 2020-07-09T04:03:28.581Z 4 202..
[Pandas][꿀팁] string 데이터를 pandas data frame으로 바꾸기
·
분석 Python/구현 및 자료
매번 csv나 특정 파일로 떨꾸는 것이 귀찮을 때 사용할 수 있는 방법 공유합니다. :) 매번 read csv하려고 파일 옮겨서 하기 귀찮을 때 메모장에 있는 텍스트를 가져오거나, 엑셀에 있는 것을 복사에서 붙여 넣어서 사용할 수 있어서, 빠르게 검증하고자 할 때 유용합니다. :) 구현 아래처럼 특정 패턴으로 되어 있는 파일을 복사해서 붙여 놓고, 아래 명령어를 실행하면 됩니다. []에 있는 부분을 object 패턴에 맞게 변경해주면 됩니다. from io import StringIO import pandas as pd pd.read_csv(StringIO( [object] ),sep= [sep] ) 예시 from io import StringIO t = """ COLACOLBCOLCCOLD 1234 5..
Python) Data Drift 탐지 KS로 구현해보기
·
분석 Python/구현 및 자료
다른 참고자료들을 보면서 이런 식으로 구현해볼 수 있지 않을까 해서 구현해봅니다. 한 가지 남은 이슈로는 이 코드 구현에서는 데이터의 히스토그램 정보를 저장하다 보니, 누적해서 계속 비교하는 것은 어떻게 해야 할지가 고민입니다. 이 부분 혹시 아이디어나 의견 있으면 댓글 부탁드려요! DATA DRIFT란? 다양한 Drift 문제가 있는데 여기서는 Data Drift를 다루려고 합니다. Data Drift란 간단히 말해서 시간이 변하면서, 데이터의 분포가 변하는 것을 의미합니다. 그래서 모델을 훈련하는 데 사용되는 데이터 세트와 실제 운영에서 받는 데이터를 모방하지 않을 때 발생합니다. 이것은 모델이 이상하게 작동하고 성능이 저하되기 시작하는 때입니다. 그래서 이러한 문제를 성능과 직결되는 문제를 가지고 ..
Python) csv 파일을 parquet 파일로 만드는 방법
·
분석 Python/구현 및 자료
특정 파일을 paruqet으로 만드는 방법에 대해서 알아야 해서 정리해봅니다. Library Load import pandas as pd import pyarrow as pa import pyarrow.parquet as pq TXT (CSV) FILE TO Parquet file 변환 csv_file = "./ml-25m/movies.csv" parquet_file = "./my.parquet" chunksize = 500 csv_stream = pd.read_csv(csv_file, sep=',', chunksize=chunksize, low_memory=False) chunk =next(iter(csv_stream)) chunk로 schema를 추정할 수 있지만, 미리 정해져 있다면, 그 형식에 맞..
Python) Pandas read_csv 인코딩 확인하는 방법 소개
·
분석 Python
파이썬에서 csv를 읽을 때 가장 큰 이슈 중에 하나는 가끔 인코딩이 안 맞아서 헤매는 경우가 많다. 이 경우 일반적으로 윈도우면 cp949 리눅스면 utf-8 대충 아는 식으로 하게 되면 대부분은 맞지만 특이한 것들이 나오는 경우가 있다. 이 방법은 리눅스에서만 가능할 것 같지만 소개한다. 리눅스 바로 다음 명령어를 사용하면 된다. (u.item이라는 파일이 있다고 가정) file -i u.item u.item: text/plain; charset=iso-8859-1 그럼 아래처럼 charset이 나오게 된다. 이걸 사용해서 읽을 때 인코딩으로 정해주면 된다. import pandas as pd df = pd.read_csv("u.item", sep="|", encoding="iso-8859-1") ..
[Pyro] Application - 5. GP Bayesian Optimization
·
분석 Python/Pyro
베이지안 최적화는 평가 비용이 많이 드는 objective function를 최소화(또는 최대화) 하기 위한 강력한 전략입니다. 이것은 auto-sklearn,auto-weka 및 scikit-optimize와 같은 자동화된 기계 학습 도구 상자의 중요한 구성 요소이며, 여기서 베이지안 최적화는 모델 하이퍼 매개 변수를 선택하는 데 사용됩니다. 베이지안 최적화는 광범위한 다른 응용 프로그램에도 사용됩니다. 대화형 사용자 인터페이스, 로봇 공학, 환경 모니터링, 정보 추출, 조합 최적화, 센서 네트워크, 적응형 몬테카를로, 실험 설계 및 강화 학습이 포함됩니다. 베이지안 최적화는 특히 파라미터 튜닝할 때 많이 들어보는 내용이고, 목적 함수를 위해서 더 좋은 선택을 할 수 있게 도와주는 알고리즘입니다. 참고..
[Pyro] Application - 4. Gaussian Process Latent Variable Model(GPLVM)
·
분석 Python/Pyro
가우스 프로세스 잠재 변수 모델(GPLVM)은 (잠재적으로) 고차원 데이터의 저차원 표현을 학습하기 위해 가우스 프로세스를 사용하는 차원 감소 방법입니다. 입력과 출력이 제공되는 가우스 프로세스 회귀의 일반적인 설정에서 커널을 선택하고 에서 저차원 매핑을 가장 잘 설명하는 하이퍼 매개 변수를 학습합니다. GPLVM에서 X는 주어지지 않고 y만 주어집니다. 그래서 우리는 커널 하이퍼 파라미터와 함께 배워야 합니다. X에 대해서 최대 가능성 추론을 하지 않습니다. 대신, Pyro는 가우시안 사전 분포를 설정을 하고 대략적인 (가우스) 사후 평균(q(X|y)과 분산을 학습합니다. 이 글에서는 pyro.contrib.gp 모듈을 사용하여 이 작업을 수행하는 방법을 보여 줍니다. 참고 자료 2022.08.21 -..
[Pyro] Application - 3. Gaussian Process 이해하기
·
분석 Python/Pyro
가우스 프로세스는 지도, 비지도 및 심지어 강화 학습 문제에 사용되어 왔으며 우아한 수학 이론으로 설명됩니다 또한 기능보다 사전 분포를 정의할 수 있는 직관적인 방법을 제공하기 때문에 개념적으로 매우 매력적입니다. 그리고 마지막으로, 가우스 프로세스는 베이지안 환경에서 공식화되기 때문에 불확실성에 대한 강력한 개념을 갖추고 있습니다. 다행히 Pyro는 pyro.contrib.gp 모듈에서 가우스 프로세스를 일부 지원합니다. 이 글의 목적은 이 모듈의 맥락에서 가우스 프로세스(GP)를 간략하게 소개하는 것입니다. 주로 Pyro에서 GP 인터페이스를 사용하는 방법에 초점을 맞출 것이며, GP에 대한 일반적인 자세한 내용은 독자에게 참고 자료를 참조하도록 안내할 것입니다. 참고 자료 2022.08.21 - [..

AI 도구

AI 도구 사이드 패널

아래 AI 서비스 중 하나를 선택하여 블로그를 보면서 동시에 사용해보세요.

API 키를 입력하세요API 키를 저장하려면 저장 버튼을 클릭하세요API 키가 저장되었습니다
API 키를 입력하세요API 키를 저장하려면 저장 버튼을 클릭하세요API 키가 저장되었습니다
API 키를 입력하세요API 키를 저장하려면 저장 버튼을 클릭하세요API 키가 저장되었습니다
URL과 모델을 입력하세요설정을 저장하려면 저장 버튼을 클릭하세요설정이 저장되었습니다