{"id":23364091,"url":"https://github.com/rickiepark/ml-powered-applications","last_synced_at":"2025-04-10T12:51:46.098Z","repository":{"id":80553584,"uuid":"344307611","full_name":"rickiepark/ml-powered-applications","owner":"rickiepark","description":"\u003c머신러닝 파워드 애플리케이션\u003e의 코드 저장소입니다. 원서 깃허브는 https://github.com/hundredblocks/ml-powered-applications 입니다.","archived":false,"fork":false,"pushed_at":"2023-10-26T09:16:23.000Z","size":176334,"stargazers_count":35,"open_issues_count":0,"forks_count":12,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-24T11:38:24.727Z","etag":null,"topics":["deep-learning","machine-learning"],"latest_commit_sha":null,"homepage":"https://tensorflow.blog/mlpa/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rickiepark.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-03-04T00:57:24.000Z","updated_at":"2024-11-24T11:31:27.000Z","dependencies_parsed_at":"2023-02-28T20:00:28.429Z","dependency_job_id":null,"html_url":"https://github.com/rickiepark/ml-powered-applications","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rickiepark%2Fml-powered-applications","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rickiepark%2Fml-powered-applications/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rickiepark%2Fml-powered-applications/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rickiepark%2Fml-powered-applications/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rickiepark","download_url":"https://codeload.github.com/rickiepark/ml-powered-applications/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248220237,"owners_count":21067266,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep-learning","machine-learning"],"created_at":"2024-12-21T13:14:07.137Z","updated_at":"2025-04-10T12:51:46.080Z","avatar_url":"https://github.com/rickiepark.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 머신러닝 파워드 애플리케이션\n\n![Book cover](/images/ML_Powered_cover.jpg)\n\n이 저장소는 [머신러닝 파워드 애플리케이션](https://tensorflow.blog/mlpa/)(한빛미디어, 2021)의 코드 저장소입니다.\n\n이 저장소는 세 부분으로 구성됩니다:\n- `notebook` 폴더에는 책에서 소개된 개념을 설명하기 위한 주피터 노트북이 담겨 있습니다.\n\n- `ml_editor` 폴더에는 책의 예제인 머신러닝 보조 글쓰기 애플리케이션을 위한 핵심 함수가 들어 있습니다.\n\n- 플래스크 앱은 사용자에게 결과를 제공하는 간단한 예시입니다.\n\n- `images/bmlpa_figures` 폴더에는 첫 번째 버전에서 알아 보기 힘든 몇 개의 그림이 포함되어 있습니다.\n\n이 저장소의 코드를 리뷰해 준 [Bruno Guisard](https://www.linkedin.com/in/bruno-guisard/)에게 감사합니다.\n\n## 설정 안내\n\n### 파이썬 환경\n\n이 저장소의 코드는 파이썬 3.6과 3.7에서 테스트되었습니다. 다른 파이썬 3 버전에서도 작동할 것입니다.\n\n먼저 이 저장소를 클론합니다:\n\n`git clone https://github.com/rickiepark/ml-powered-applications.git`\n\n그다음 저장소 폴더에서 [virtualenv](https://pypi.org/project/virtualenv/)를 사용해 파이썬 가상환경을 만듭니다:\n\n`cd ml-powered-applications`\n\n`virtualenv ml_editor`\n\n다음 명령으로 이 환경을 활성화합니다:\n\n`source ml_editor/bin/activate`\n\n그다음 다음 명령을 사용해 필요한 패키지를 설치합니다:\n\n`pip install -r requirements.txt`\n\n예제 프로젝트는 spacy에 있는 영어 모델을 사용합니다. 영어 모델을 다운로드하려면 virtualenv가 활성화된 터미널에서 다음 명령을 실행하니다:\n\n`python -m spacy download en_core_web_sm`\n\n`python -m spacy download en_core_web_lg`\n\n마지막으로 노트북과 라이브러리 코드는 `nltk` 패키지를 사용합니다. 이 패키지에는 개별적으로 다운로드할 수 있는 여러 자료가 있습니다. 다운로드하려면 활성화된 가상 환경에서 파이썬 세션을 오픈한 후 `import nltk`하고 필요한 자료를 다운로드합니다.\n\n다음은 `nltk`가 설치된 가상 환경에서 `punkt` 패키지를 다운로드하는 예입니다:\n\n`python`\n\n`import nltk`\n\n`nltk.download('punkt')`\n\n## 주피터 노트북\n\n노트북 폴더에는 책에서 다루는 개념을 위한 예제 코드를 담고 있습니다. 대부분의 예제는 아카이브(writers.stackexchange.com 데이터)에 있는 서브폴더 중 하나만 사용합니다.\n\n번거로움을 줄이기 위해 전처리된 데이터를 `.csv` 파일로 포함시켰습니다.\n\n직접 이 데이터를 생성하고 싶거나 다른 폴더에 데이터를 생성하고 싶다면 다음을 참고하세요:\n\n- 스택익스체인지 [아카이브][archives]에서 한 서브폴더를 다운로드합니다.\n\n- `parse_xml_to_csv`을 실행해 데이터프레임으로 변환합니다.\n\n- `generate_model_text_features`을 실행해 미리 계산된 특성을 포함한 데이터프레임을 생성합니다.\n\n[archives]: https://archive.org/details/stackexchange\n\n이 노트북들은 다음과 같은 몇 개의 카테고리로 나눌 수 있습니다.\n\n### 데이터 탐색과 변환\n\n- [데이터셋 탐색][DatasetExploration]\n- [데이터 분할][SplittingData]\n- [텍스트 벡터화][VectorizingText]\n- [데이터 군집][ClusteringData]\n- [표 데이터 벡터화][TabularDataVectorization]\n- [특성 생성을 위한 데이터 탐색][ExploringDataToGenerateFeatures]\n\n### 초기 모델 훈련과 성능 분석\n\n- [간단한 모델 훈련][TrainSimpleModel]\n- [데이터와 예측 비교Comparing Data To Predictions][ComparingDataToPredictions]\n- [탑 K][TopK]\n- [특성 중요도][FeatureImportance]\n- [블랙 박스 설명 도구][BlackBoxExplainer]\n\n### 모델 향상\n\n- [두 번째 모델][SecondModel]\n- [세 번째 모델][ThirdModel]\n\n### 모델 비교\n\n- [모델 비교][ComparingModels]\n\n### 모델을 사용한 추천 생성\n\n- [추천 생성][GeneratingRecommendations]\n\n[BlackBoxExplainer]: ./notebooks/black_box_explainer.ipynb\n[ClusteringData]: ./notebooks/clustering_data.ipynb\n[ComparingDataToPredictions]: ./notebooks/comparing_data_to_predictions.ipynb\n[ComparingModels]: ./notebooks/comparing_models.ipynb\n[DatasetExploration]: ./notebooks/dataset_exploration.ipynb\n[ExploringDataToGenerateFeatures]: ./notebooks/exploring_data_to_generate_features.ipynb\n[FeatureImportance]: ./notebooks/feature_importance.ipynb\n[GeneratingRecommendations]: ./notebooks/generating_recommendations.ipynb\n[SecondModel]: ./notebooks/second_model.ipynb\n[SplittingData]: ./notebooks/splitting_data.ipynb\n[TabularDataVectorization]: ./notebooks/tabular_data_vectorization.ipynb\n[ThirdModel]: ./notebooks/third_model.ipynb\n[TopK]: ./notebooks/top_k.ipynb\n[TrainSimpleModel]: ./notebooks/train_simple_model.ipynb\n[VectorizingText]: ./notebooks/vectorizing_text.ipynb\n\n## 사전 훈련된 모델\n\n`notebook` 폴더에 있는 노트북을 사용해 모델을 훈련하고 저장할 수 있습니다.\n`models` 폴더에는 세 개의 훈련된 모델과 두 개의 벡터화 객체가 저장되어 있습니다.\n모델의 결과를 비교하고 플라스크 앱에서 사용하기 위해 이 모델들을 사용합니다.\n\n## 플라스크 앱 실행하기\n\n앱을 실행하려면 저장소 루트 폴더로 이동하여 다음 명령을 실행하세요:\n\n`FLASK_APP=app.py flask run`\n\n위 명령은 로컬 웹 앱을 구동하며 `http://127.0.0.1:5000/`로 접속할 수 있습니다.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frickiepark%2Fml-powered-applications","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frickiepark%2Fml-powered-applications","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frickiepark%2Fml-powered-applications/lists"}