☝
현재 사용하는 환경을 추출하여 .yaml, .yml 파일로 저장이 가능하고,
그 파일을 활용해 환경 생성도 가능하다.
❔ 왜 비추???
설치되야하는..? 여러 모듈들 사이에 버전 관계가 어긋나면
그 환경 자체를 못쓸 수 있음..(안정적이지 못한..느낌..)
마지막 .뒤 버전 업그레이드 되서 어긋나는 경우도 더러 있다고 함...
복제 하는 방법이 더 안정적임~!!
$ conda create --name (new env) --clone (myenv)
그렇다... 왜 허탈한지는 잘 모르겠다💬
$ pip install sweetviz
: 매우 심플
import sweetviz as sv
import pandas as pd
DF_1 = pd.read_csv('..(path)..')
DF_2 = pd.read_csv('..(path)..')
# case 1 : 1개 데이터프레임 그냥 분석
result = sv.analyze(DF_1)
result.show_html() # default가 "SWEETVIZ_REPORT.html"이란다.
# case 2 : 1개 데이터프레임 2개로 나눠서 분석
result = sv.compare_intra(DF_1, DF_1[(column)] == " ", ["A", "B"])
result.show_html("compare_intra_DF.html")
# case 3 : 2개 데이터 프레임 target value로 분석
result = sv.compare([DF_1, "A"], [DF_2, "B"], "(target value)")
result.show_html("compare_DF_1_2.html")
sv.compare() or sv.compare_intra() 에서 오류가 날 수도 있음.
feat_cfg 관련된 오류라면 아래의 코드를 위 함수 안에 추가 해줘야할수도...
feature_config = sv.FeatureConfig(skip="(column)",
force_text=["(columns)"], force_cat=..., force_num=...)
skip
할 컬럼명을 지정해주거나force_cat
category 데이터가 0, 1, 2 등 숫자로 표현되었을 수도 있고,force_num
10, 20, 30 등 숫자를 숫자로 인식해야할 때,force_num
text를 text로 인식시키게 하는 코드인듯 하다...이렇게 해도 결국 데이터를 자세히 뜯어봐야한다~
휴.. 안심...?
$ pip install pycaret
: 매우 간단
import pandas as pd
DF = pd.read_csv('..(path)..')
# 예로 분류 문제일 때
from pycaret.classification import *
clf_models = setup(DF, target='(target value)', ...)
# setup의 경우 옵션이 많아 참고 사이트로 가는게 빠르다.
module | import |
---|---|
classification | from pycaret.classification import * |
regression | from pycaret.regression import * |
clustering | from pycaret.clustering import * |
anomaly detection | from pycaret.anomaly import * |
natural language processing | from pycaret.nlp import * |
association rule mining | from pycaret.arules import * |
clustering 밑으로는 생소하다... 아직 한참 공부해야되겠다..
# setup 후
compare_models(n_select=..(int).., fold=10, sort='Accuracy' )
n_select
: 여러 분류 모델 중 best 모델 1개(default, > 1)을 알려줌,
sort
: best의 기준은 default는 'accuracy',
(Accuracy, AUC, Recall, Precision, F1, Kappa, MCC 중 선택가능)
whitelist
/blacklist
: 옵션에 모델들을 선정해서 넣을 수 있다..
model_clf = create_model('model의 ID')
: best model을 생성할 수 있고, 몇가지 모델에 해당하는 옵션을 바꿀 수도 있다.(ex max_depth..)
tuned_model = tune_model(model_clf, ...)
해당 모델의 하이퍼마라미터도 추가/수정 할 수 있고, for문을 이용해 GridSearch하듯 사용도 가능한 듯 하다...(wow)
en_models = ensemble_model((model), method=' ')
: 앙상블로도 만들 수 있다. method
는 'Bagging'
,'Boosting'
이 있다..
그리고 다른 모델들을 조합해 앙상블을 만들수 있으며
그 방법은 2가지가 있다.. blend_models()
,stack_models()
같은 점은 estimator_list=[ ... ]
, method='soft'/'hard'
다른 점은 stack_models()
에는 meta_model
의 옵션이 있다..
이 부분은 좀더 공부 해서 추가 해야한다... 새로운 모듈을 사용하면서 몰랐던 개념들을 찾고 공부하면서 추가해야겠다.
그리고 plot을 그려주는 부분이 남아있으나...시도해보고 추가로 작성할 예정이다..!!!사실 참고 사이트 보는게 최고.....