pull/380/head
Shimon Lyons 4 years ago
commit e162b64797

@ -0,0 +1,9 @@
# 시작해 봅시다
## 설명
이 미채점 과제에서는 파이썬(Python)을 복습하고 Python 실행 환경 설정 및 노트북(Jupyter Notebook) 실행 방법까지 숙지해 보시길 바랍니다.
다음 [Python Learning Path](https://docs.microsoft.com/learn/paths/python-language/?WT.mc_id=academic-15963-cxa)를 이수하시고, 아래 Python 입문 강좌를 통해 Python 설치 및 실행 환경을 설정해 보세요:
https://www.youtube.com/playlist?list=PLlrxD0HtieHhS8VzuMCfQD4uJ9yne1mE6

@ -0,0 +1,11 @@
# 타임라인을 만들어 봅시다
## 설명
이 [저장소(repository)](https://github.com/Digital-Humanities-Toolkit/timeline-builder)를 사용해 알고리즘, 수학, 통계, 인공지능 또는 머신러닝 중 한 가지 이상의 연혁사를 조합하여 타임라인을 만들어 보세요. 한 명의 인물 또는 한 가지 아이디어를 집중적으로 다루셔도 되고, 여러 세기에 걸친 긴 연혁사를 다루시는 것도 좋습니다. 각 사건과 관련된 멀티미디어도 타임라인에 추가해 보시기 바랍니다.
## 평가기준표
| 평가기준 | 모범 | 적절 | 향상 필요 |
| -------- | ----------------------------------------- | -------------------- | --------------------------------- |
| | 깃허브(GitHub) 페이지에 완성된 타임라인 공개 | 코드 미완성 및 미배포 | 타임라인 조사 미흡, 미완성 및 미배포 |

@ -0,0 +1,11 @@
# Fairlearn에 대해 알아봅시다
## 설명
이번 수업에서는 "데이터 과학자들의 인공지능 시스템들에 대한 공정성을 향상시키기 위한 오픈소스이면서 커뮤니티 중심 프로젝트"인 Fairlearn에 대하여 배워보았습니다. 이 과제에서는 Fairlearn의 [예제 노트북들(Jupyter Notebooks)](https://fairlearn.org/v0.6.2/auto_examples/index.html) 중 하나의 노트북을 선택해 살펴보고, 알게 된 것을 보고서나 파워포인트(PowerPoint) 프레젠테이션으로 발표하면 됩니다.
## 평가기준표
| 평가기준 | 모범 | 적절 | 향상 필요 |
| -------- | --------- | -------- | ----------------- |
| | 보고서나 파워포인트 프레젠테이션(발표 자료)으로 Fairlearn의 시스템들에 대해 논했으며, 노트북을 사용해 결론을 도출함 | 발표 자료에 결론이 없음 | 발표 자료 미제출 |

@ -0,0 +1,11 @@
# 데이터 과학자를 인터뷰해 봅시다
## 설명
현재 일 하는 회사 또는 어느 사용자 집단에서나, 주변 친구들 또는 동료 학생들 중 데이터 과학자로서 전문적으로 일하는 사람과 대화해 보세요. 대화 후 그 사람이 평소 어떤 일을 하는지 500자 이상으로 수필(에세이)을 작성해 보시기 바랍니다. 그 사람은 데이터 과학 분야에서 특정 업무에 집중하는 데이터 과학 전문가인가요, 아니면 전반적으로 다양한 업무에 집중하는 '풀스택' 데이터 과학자인가요?
## 평가기준표
| 평가기준 | 모범 | 적절 | 향상 필요 |
| -------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------- | ------------ |
| | 500자 이상의 에세이이며 참고문헌을 제대로 표기했고 .doc 형식의 워드(Microsoft Word) 파일로 제출 | 500자 이내의 에세이이거나 참고문헌을 제대로 표기하지 않음 | 에세이 미제출 |

@ -64,7 +64,7 @@ In this folder, you will find the file _notebook.ipynb_.
hello notebook
```
![VS Code with a notebook open](images/notebook.png)
![VS Code with a notebook open](images/notebook.jpg)
You can interleaf your code with comments to self-document the notebook.

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

@ -60,7 +60,7 @@ Un servidor de Jupyter comenzará con Python 3+ iniciado. Encontrará áreas del
hello notebook
```
![VS Code con un cuaderno abierto](images/notebook.png)
![VS Code con un cuaderno abierto](../images/notebook.jpg)
Puede intercalar su código con comentarios para autodocumentar el cuaderno.

@ -63,7 +63,7 @@ Dalam folder ini, kamu akan menemukan file _notebook.ipynb_.
hello notebook
```
![Sebuah *notebook* yang dibuka di VS Code](images/notebook.png)
![Sebuah *notebook* yang dibuka di VS Code](../images/notebook.jpg)
Kamu bisa menyelipkan catatan-catatan antara kodemu untuk mendokumentasi *notebook*-nya.

@ -63,7 +63,7 @@ In questa cartella, si troverà il file _notebook.ipynb_.
hello notebook
```
![VS Code con un notebook aperto](../images/notebook.png)
![VS Code con un notebook aperto](../images/notebook.jpg)
Si può inframezzare il codice con commenti per auto documentare il notebook.

@ -69,7 +69,7 @@
hello notebook
```
![VS Codeで開いたートブック](../images/notebook.png)
![VS Codeで開いたートブック](../images/notebook.jpg)
コードにコメントを追加することで、ノートブックをセルフドキュメント化することができます。

@ -63,7 +63,7 @@
hello notebook
```
![VS Code with a notebook open](../images/notebook.png)
![VS Code with a notebook open](../images/notebook.jpg)
코드에 주석을 넣어서 노트북이 자체적으로 문서화 할 수 있게 할 수 있습니다.

@ -60,7 +60,7 @@ Notebooks 是一个交互式环境,允许开发人员编写代码并添加注
hello notebook
```
![打开 notebook 的 VS Code](../images/notebook.png)
![打开 notebook 的 VS Code](../images/notebook.jpg)
你可以为你的代码添加注释,以便 notebook 可以自描述。

@ -0,0 +1,13 @@
# Scikit-learn과 함께 회귀에 대해 알아봅시다
## 설명
Scikit-learn에서 [Linnerud 데이터세트](https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_linnerud.html#sklearn.datasets.load_linnerud)를 살펴보시기 바랍니다. 이 데이터세트에는 다수의 목표 변수가 있습니다: '한 헬스장에서 스무 명의 중년 남성으로부터 수집한 운동(데이터)과 생리적(목표) 변수가 각각 세 개씩 있습니다'.
허리둘레와 윗몸 일으키기 횟수의 관계성을 그리는 회귀 모델을 어떻게 만들지 직접 서술해 주시기 바랍니다. 마찬가지로, 이 데이터세트의 다른 종류의 데이터(변수)들도 어떻게 회귀 모델을 만들지 서술해 주세요.
## 평가기준표
| 평가기준 | 모범 | 적절 | 향상 필요 |
| --------------------------------- | --------------------------- | ----------------------------- | ---------------- |
| 문단으로 자세히 서술해 제출하였는가? | 문단으로 자세히 서술하여 제출 | 몇 문장으로 서술한 내용을 제출 | 서술한 내용이 없음 |

@ -145,7 +145,7 @@ Part of the data scientist's role is to demonstrate the quality and nature of th
Visualizations can also help determine the machine learning technique most appropriate for the data. A scatterplot that seems to follow a line, for example, indicates that the data is a good candidate for a linear regression exercise.
One data visualization libary that works well in Jupyter notebooks is [Matplotlib](https://matplotlib.org/) (which you also saw in the previous lesson).
One data visualization library that works well in Jupyter notebooks is [Matplotlib](https://matplotlib.org/) (which you also saw in the previous lesson).
> Get more experience with data visualization in [these tutorials](https://docs.microsoft.com/learn/modules/explore-analyze-data-with-python?WT.mc_id=academic-15963-cxa).

@ -0,0 +1,11 @@
# 시각화에 대해 알아봅시다
## 설명
데이터 시각화를 위한 다양한 라이브러리가 존재합니다. 이번 시간에는 matplotlib과 seaborn 라이브러리로 Pumpkin 데이터를 샘플 노트북(Jupyter Notebook)에 시각화해보시기 바랍니다. 둘 중 어느 라이브러리가 작업하기 더 쉽나요?
## 평가기준표
| 평가기준 | 모범 | 적절 | 향상 필요 |
| -------- | ------------------------------------------------- | -------------------------------------------- | ------------ |
| | 두 가지의 다른 시각화 라이브러리를 사용한 노트북 제출 | 한 가지의 시각화 라이브러리를 사용한 노트북 제출 | 노트북 미제출 |

@ -0,0 +1,11 @@
# 회귀 모델을 만들어 봅시다
## 설명
이번 수업에서는 선형 회귀와 다항 회귀로 어떻게 모델을 만드는지 알아보았습니다. 이 과제에서는 직접 데이터세트를 찾거나 Scikit-learn에서 기본으로 제공하는 데이터세트로 새로 배운 지식을 적용해 새로운 모델을 만들어보시기 바랍니다. 그리고 어떠한 기법을 사용해 모델을 만들었는지 설명하고, 모델의 정확도를 노트북(Jupyter Notebook)에 기재하시기 바랍니다. 만약 정확도가 낮다면 왜 낮은지 해석해보세요.
## 평가기준표
| 평가기준 | 모범 | 적절 | 향상 필요 |
| -------- | ----------------------------- | -------------------------- | ----------------------- |
| | 완성된 노트북에 해법을 잘 설명함 | 미완성 해법을 제시함 | 결점이 있는 해법을 제시함 |

@ -79,7 +79,7 @@
"\n",
"`install.packages(c(\"tidyverse\", \"tidymodels\", \"janitor\", \"ggbeeswarm\"))`\n",
"\n",
"Alternatiely, the script below checks whether you have the packages required to complete this module and installs them for you in case they are missing."
"Alternately, the script below checks whether you have the packages required to complete this module and installs them for you in case they are missing."
],
"metadata": {
"id": "KPmut75XkmXY"

@ -48,7 +48,7 @@ You can have them installed as:
`install.packages(c("tidyverse", "tidymodels", "janitor", "ggbeeswarm"))`
Alternatiely, the script below checks whether you have the packages required to complete this module and installs them for you in case they are missing.
Alternately, the script below checks whether you have the packages required to complete this module and installs them for you in case they are missing.
```{r, message=F, warning=F}
suppressWarnings(if (!require("pacman"))install.packages("pacman"))

@ -0,0 +1,11 @@
# 한 번 더 회귀를 알아봅시다
## 설명
이번 수업에서는 Pumpkin 데이터세트의 일부만 사용해보았습니다. 이 과제에서는 Pumpkin 데이터세트 전체를 정제 및 표준화하여 로지스틱 회귀 모델을 만들어보시기 바랍니다.
## 평가기준표
| 평가기준 | 모범 | 적절 | 향상 필요 |
| -------- | -------------------------------------- | ------------------------------------------- | --------------------------------------------------------------- |
| | 성능이 좋은 모델을 기술한 노트북을 제출함 | 최소한의 성능을 발휘하는 모델을 노트북에 선보임 | 성능이 좋지 못한 모델을 노트북에 선보이거나 어떤 모델도 선보이지 않음 |

@ -0,0 +1,11 @@
# 다른 모델을 사용해봅시다
## 설명
이번 수업에서는 회귀 모델을 훈련시키고, 그 모델을 사용해 웹 애플리케이션을 만들어보았습니다. 이 과제에서는 이전 회귀 수업에서 알아본 모델 중 하나를 선택해 다시 한번 웹 애플리케이션을 만들어보시기 바랍니다.
## 평가기준표
| 평가기준 | 모범 | 적절 | 향상 필요 |
| ------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------- |
| | 웹 애플리케이션이 예상대로 정상 작동하며 클라우드에 배포됨 | 웹 애플리케이션에 결함이 있거나 예기치 못한 결과를 나타냄 | 웹 애플리케이션이 제대로 작동하지 않음 |

@ -93,7 +93,7 @@
"\n",
"`install.packages(c(\"tidyverse\", \"tidymodels\", \"DataExplorer\", \"here\"))`\n",
"\n",
"Alternatiely, the script below checks whether you have the packages required to complete this module and installs them for you in case they are missing."
"Alternately, the script below checks whether you have the packages required to complete this module and installs them for you in case they are missing."
],
"metadata": {
"id": "ri5bQxZ-Fz_0"
@ -247,7 +247,7 @@
" filter(cuisine == \"korean\")\r\n",
"\r\n",
"\r\n",
"# Find out how much data is avilable per cuisine\r\n",
"# Find out how much data is available per cuisine\r\n",
"cat(\" thai df:\", dim(thai_df), \"\\n\",\r\n",
" \"japanese df:\", dim(japanese_df), \"\\n\",\r\n",
" \"chinese_df:\", dim(chinese_df), \"\\n\",\r\n",

@ -64,7 +64,7 @@ You can have them installed as:
`install.packages(c("tidyverse", "tidymodels", "DataExplorer", "here"))`
Alternatiely, the script below checks whether you have the packages required to complete this module and installs them for you in case they are missing.
Alternately, the script below checks whether you have the packages required to complete this module and installs them for you in case they are missing.
```{r, message=F, warning=F}
suppressWarnings(if (!require("pacman"))install.packages("pacman"))
@ -145,7 +145,7 @@ korean_df <- df %>%
filter(cuisine == "korean")
# Find out how much data is avilable per cuisine
# Find out how much data is available per cuisine
cat(" thai df:", dim(thai_df), "\n",
"japanese df:", dim(japanese_df), "\n",
"chinese_df:", dim(chinese_df), "\n",

@ -0,0 +1,11 @@
# 분류법에 대해 알아봅시다
## 설명
Scikit-learn의 이 [기술 문서](https://scikit-learn.org/stable/supervised_learning.html)를 보면 다양한 데이터 분류 기법들을 확인할 수 있습니다. 이 기술 문서로 물건 찾기 게임 비슷한 걸 한번 해 봅시다: 문서에서 여러 분류 알고리즘들을 찾아보고, 이 머신러닝 과정에서 제공하는 어떤 데이터세트에 적용이 가능한지 또 그 적합성을 따지기 위해 어떤 질문을 해야 하는지와 분류 기법에 대해 알아보세요. 선택한 데이터세트와 분류 알고리즘이 어떻게 적합한지 .doc 형식의 파일에 표를 만들어 설명해 보시기 바랍니다.
## 평가기준표
| 평가기준 | 모범 | 적절 | 향상 필요 |
| -------- | ---------------------------------------------------------------------- | -------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| | 다섯 가지의 다른 알고리즘들과 분류 기법의 중요한 점들을 상세히 잘 설명하였음 | 세 가지의 다른 알고리즘들과 분류 기법의 중요한 점들을 상세히 잘 설명하였음 | 세 가지 미만의 다른 알고리즘들과 분류 기법에 대해 쉽지 않게 설명하였으며 그 설명이 상세하지 못함 |

@ -573,7 +573,7 @@
"source": [
"Now we have to decide which algorithm to use for the job 🤔.\r\n",
"\r\n",
"In Tidymodels, the [`parsnip package`](https://parsnip.tidymodels.org/index.html) provides consistent interface for working with models across different engines (packages). Please see the parsnip documentation to explore [model types & engines](https://www.tidymodels.org/find/parsnip/#models) and their corresponding [model arguements](https://www.tidymodels.org/find/parsnip/#model-args). The variety is quite bewildering at first sight. For instance, the following methods all include classification techniques:\r\n",
"In Tidymodels, the [`parsnip package`](https://parsnip.tidymodels.org/index.html) provides consistent interface for working with models across different engines (packages). Please see the parsnip documentation to explore [model types & engines](https://www.tidymodels.org/find/parsnip/#models) and their corresponding [model arguments](https://www.tidymodels.org/find/parsnip/#model-args). The variety is quite bewildering at first sight. For instance, the following methods all include classification techniques:\r\n",
"\r\n",
"- C5.0 Rule-Based Classification Models\r\n",
"\r\n",

@ -158,7 +158,7 @@ Now we are ready to train a model 👩‍💻👨‍💻!
Now we have to decide which algorithm to use for the job 🤔.
In Tidymodels, the [`parsnip package`](https://parsnip.tidymodels.org/index.html) provides consistent interface for working with models across different engines (packages). Please see the parsnip documentation to explore [model types & engines](https://www.tidymodels.org/find/parsnip/#models) and their corresponding [model arguements](https://www.tidymodels.org/find/parsnip/#model-args). The variety is quite bewildering at first sight. For instance, the following methods all include classification techniques:
In Tidymodels, the [`parsnip package`](https://parsnip.tidymodels.org/index.html) provides consistent interface for working with models across different engines (packages). Please see the parsnip documentation to explore [model types & engines](https://www.tidymodels.org/find/parsnip/#models) and their corresponding [model arguments](https://www.tidymodels.org/find/parsnip/#model-args). The variety is quite bewildering at first sight. For instance, the following methods all include classification techniques:
- C5.0 Rule-Based Classification Models

@ -0,0 +1,11 @@
# Solver들을 공부해 봅시다
## 설명
이 수업에서는 보다 정확한 모델을 만들기 위해 알고리즘들과 기계 학습 과정을 결합하는 여러 가지 종류의 solver들에 대해 알아보았습니다. 이번 과제에서는 이 수업에서 알아본 solver들을 다시 한번 살펴보고, 두 가지 solver를 골라 비교하고 대조해 보시기 바랍니다. 두 solver는 어떤 종류의 문제를 다루나요? 또한 두 solver는 다양한 종류의 데이터와 어떻게 상호 작용하나요? 두 solver 중 하나를 골라야 한다면 어느 것을 왜 택일할 건가요?
## 평가기준표
| 평가기준 | 모범 | 적절 | 향상 필요 |
| -------- | ------------------------------------------------------------------------------------ | --------------------------- | ------------------ |
| | 각 solver마다 한 문단으로 다른 solver와 유심히 비교해 총 두 개의 문단을 .doc 파일로 제출함 | 한 문단만 .doc 파일로 제출함 | 미완성 과제를 제출함 |

@ -0,0 +1,11 @@
# 매개변수로 놀아 봅시다
## 설명
분류기들을 사용할 때 수많은 매개변수가 기본값을 가지고 있는 것을 확인할 수 있습니다. 비주얼 스튜디어 코드(VS Code)의 코드 자동완성 기능(IntelliSense)을 통해 매개변수에 대해 자세히 알아볼 수 있습니다. 이번 수업에서 알아본 머신러닝 분류 기법 중 한 기법을 선택해 여러 매개변수를 조정해 모델을 다시 훈련시켜 보세요. 그리고 Jupyter Notebook(노트북)에 매개변수 조정에 따라 왜 모델의 성능에 차이가 생기는지 자세히 설명해 보시기 바랍니다.
## 평가기준표
| 평가기준 | 모범 | 적절 | 향상 필요 |
| -------- | ------------------------------------------------------------------------------------------------------ | ------------------------------------- | --------------------------- |
| | 매개변수 조정이 적용된 완성된 분류기와 함께 조정에 따른 모델의 성능 변화에 대한 설명을 노트북에 포함하여 제출함 | 미완성 노트북을 제출하거나 설명이 부족함 | 노트북에 버그 또는 결함이 있음 |

@ -0,0 +1,11 @@
# 추천기를 만들어 봅시다
## 설명
이번 수업을 통해 오닉스 런타임(ONNX Runtime) 및 오닉스(ONNX) 형식으로 변환된 모델을 이용해 자바스크립트(JavaScript) 기반의 웹 애플리케이션을 구축하는 법을 배워 보았습니다. 과제로 이 머신러닝 과정에서 제공하는 데이터 또는 다른 곳에서 얻은 데이터로 새로운 추천기를 만드는 실험을 해보세요. (다른 곳에서 데이터를 가져올 경우 그 출처를 꼭 밝히시기 바랍니다.) 다양한 성격 특성에 기반한 반려동물 추천기라든지, 음악 청취자의 기분에 기반하여 장르를 추천하는 추천기도 좋습니다. 창의적으로 한번 만들어 보세요!
## 평가기준표
| 평가기준 | 모범 | 적절 | 향상 필요 |
| -------- | ---------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------- |
| | 잘 문서화되고 작동하는 웹 애플리케이션과 Jupyter Notebook(노트북)을 제출함 | 웹 애플리케이션 또는 노트북 중 하나를 제출하지 않았거나 둘 중 하나에 결함이 있음 | 웹 애플리케이션과 노트북 둘 다 제출하지 않았거나 결함이 있음 |

@ -472,7 +472,7 @@
"anaconda-cloud": "",
"kernelspec": {
"display_name": "R",
"langauge": "R",
"language": "R",
"name": "ir"
},
"language_info": {

@ -0,0 +1,11 @@
# 클러스터링(군집화)을 위해 다른 시각화도 알아봅시다
## 설명
이번 수업에서는 군집화를 위해 데이터를 그려 넣는 법을 몇 가지 시각화 기술을 통해 알아보았습니다. 산점도는 특히나 여러 객체의 그룹들을 찾는 데 유용합니다. 다양한 방법과 라이브러리들을 조사해 여러 산점도를 그리고 그 과정을 Jupyter Notebook(노트북)에 기록해 보세요. 이 머신러닝 과정에서 제공하는 데이터를 사용하거나 다른 곳에서 데이터를 가져와도 됩니다. (다른 곳에서 데이터를 가져올 경우 그 출처를 노트북에 꼭 밝히시기 바랍니다.) 산점도로 데이터를 시각화해 무엇을 발견했는지 설명해 보세요.
## 평가기준표
| 평가기준 | 모범 | 적절 | 향상 필요 |
| -------- | --------------------------------------- | ------------------------------------------------------- | -------------------- |
| | 노트북에 다섯 개의 산점도를 각각 잘 설명함 | 노트북에 다섯 개 미만의 산점도를 소개했으며 그 설명이 부족함 | 미완성 노트북을 제출함 |

@ -5,7 +5,7 @@
"anaconda-cloud": "",
"kernelspec": {
"display_name": "R",
"langauge": "R",
"language": "R",
"name": "ir"
},
"language_info": {
@ -467,7 +467,7 @@
"id": "pLYyt5XSLXzG"
},
"source": [
"The plot shows a large reduction in WCSS (so greater *tightness*) as the number of clusters increases from one to two, and a further noticable reduction from two to three clusters. After that, the reduction is less pronounced, resulting in an `elbow` 💪in the chart at around three clusters. This is a good indication that there are two to three reasonably well separated clusters of data points.\n",
"The plot shows a large reduction in WCSS (so greater *tightness*) as the number of clusters increases from one to two, and a further noticeable reduction from two to three clusters. After that, the reduction is less pronounced, resulting in an `elbow` 💪in the chart at around three clusters. This is a good indication that there are two to three reasonably well separated clusters of data points.\n",
"\n",
"We can now go ahead and extract the clustering model where `k = 3`:\n",
"\n",

@ -273,7 +273,7 @@ kclusts %>%
geom_point(size = 2, color = "#FF7F0EFF")
```
The plot shows a large reduction in WCSS (so greater *tightness*) as the number of clusters increases from one to two, and a further noticable reduction from two to three clusters. After that, the reduction is less pronounced, resulting in an `elbow` 💪in the chart at around three clusters. This is a good indication that there are two to three reasonably well separated clusters of data points.
The plot shows a large reduction in WCSS (so greater *tightness*) as the number of clusters increases from one to two, and a further noticeable reduction from two to three clusters. After that, the reduction is less pronounced, resulting in an `elbow` 💪in the chart at around three clusters. This is a good indication that there are two to three reasonably well separated clusters of data points.
We can now go ahead and extract the clustering model where `k = 3`:

@ -0,0 +1,11 @@
# 다른 군집법도 알아봅시다
## 설명
이번 수업에서는 k-평균 군집화에 대해 알아보았습니다. 때때로 k-평균 군집법은 특정 데이터를 군집화하는 데 있어 적합하지 않을 수 있습니다. Jupyter Notebook(노트북)을 만들고, 이 머신러닝 과정에서 제공하는 데이터를 사용하거나 다른 곳에서 데이터를 구해 (출처를 밝히시기 바랍니다) k-평균 군집법을 사용하지 않는 다른 군집법 한 가지를 골라 데이터에 적용해 보세요. 무엇을 배웠나요?
## 평가기준표
| 평가기준 | 모범 | 적절 | 향상 필요 |
| -------- | ------------------------------------ | -------------------------------------------- | ------------------- |
| | 잘 문서화한 군집 모델을 노트북에 선보임 | 문서화가 부족하고 (또는) 그 문서가 완성되지 않음 | 미완성 작업을 제출함 |

@ -0,0 +1,11 @@
# Bot(봇)을 찾아보세요
## 설명
봇은 어디에나 있습니다. 이번 과제로 봇 하나를 찾아 그 봇에 대해 알아보세요! 웹사이트, 은행 애플리케이션, 전화 통화 등에서 — 예를 들어 금융 서비스 회사에 전화하여 조언이나 계좌 정보를 구할 때 — 찾을 수 있습니다. 봇을 분석해 봇을 혼란스럽게 만들 수 있는지 알아보고, 혼란스럽게 만들 수 있다면 어떤 이유로 혼란스러워하는지, 봇에 대한 짧은 글을 써보시기 바랍니다.
## 평가기준표
| 평가기준 | 모범 | 적절 | 향상 필요 |
| -------- | --------------------------------------------------------------------------------------------------------------- | -------------------------------------- | ----------------- |
| | 봇의 아키텍처(구성 방식)를 추리해, 그 추리를 바탕으로한 봇의 구성 방식 및 봇 사용 경험을 (A4 용지) 한 장 분량으로 설명함 | 글이 미완성이거나 봇에 대한 조사가 부족함 | 글을 제출하지 않음 |

@ -0,0 +1,11 @@
# Bot(봇)이 대답을 하게 만들어 보세요
## 설명
지난 수업에서 대화를 나눌 수 있는 간단한 봇을 만들어 보았습니다. 이 봇은 'bye(안녕)'라고 말할 때까지 엉뚱한 대답을 하며 대화를 이어 나갔었습니다. 이번에는 이 봇에게 'why(왜)' 또는 'how(어떻게)' 등을 사용해 구체적으로 질문을 할 경우 조금 덜 엉뚱하게 대답을 하도록 이끌어 낼 수 있을까요? 봇을 확장하여 기계학습(머신러닝)이 이러한 수작업을 어떻게 최소화 할 수 있을지 생각해 보시기 바랍니다. 좀 더 수월한 작업을 위해 NLTK 또는 TextBlob 라이브러리를 사용하셔도 됩니다.
## 평가기준표
| 평가기준 | 모범 | 적절 | 향상 필요 |
| -------- | --------------------------------------------- | ------------------------------------ | ------------- |
| | 문서화 작업을 포함한 새로운 bot.py 파일을 제출함 | 새로운 봇 파일을 제출했으나 버그가 있음 | 봇 파일 미제출 |

@ -0,0 +1,11 @@
# 시적 허용
## 설명
이전에 Azure의 Text Analytics 서비스를 사용해 감성 분석에 사용된 500편이 넘는 Emily Dickinson(에밀리 디킨슨)의 시를 이 [Notebook(노트북)](https://www.kaggle.com/jenlooper/emily-dickinson-word-frequency)에서 찾을 수 있습니다. 이번 수업에서 알아본 기술들을 사용해 이 데이터셋을 분석해 보시기 바랍니다. 감성 분석 결과가 Azure의 Text Analytics 서비스 보다 좋나요? 왜 그런 결과가 나왔다고 생각하나요? 뜻밖의 놀라운 점은 없나요?
## 평가기준표
| 평가기준 | 모범 | 적절 | 향상 필요 |
| -------- | ---------------------------------------------- | --------------------------------------- | -------------------- |
| | 결과물의 표본에 대한 충실한 분석을 노트북에 선보임 | 노트북이 미완성이거나 분석을 포함하지 않음 | 노트북을 제출하지 않음 |

@ -90,7 +90,7 @@ Here they are grouped in a way that might be easier to examine:
| Average Score | Total Number Reviews | Reviewer Score | Negative <br />Review | Positive Review | Tags |
| -------------- | ---------------------- | ---------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | ----------------------------------------------------------------------------------------- |
| 7.8 | 1945 | 2.5 | This is currently not a hotel but a construction site I was terroized from early morning and all day with unacceptable building noise while resting after a long trip and working in the room People were working all day i e with jackhammers in the adjacent rooms I asked for a room change but no silent room was available To make thinks worse I was overcharged I checked out in the evening since I had to leave very early flight and received an appropiate bill A day later the hotel made another charge without my concent in excess of booked price It s a terrible place Don t punish yourself by booking here | Nothing Terrible place Stay away | Business trip Couple Standard Double Room Stayed 2 nights |
| 7.8 | 1945 | 2.5 | This is currently not a hotel but a construction site I was terroized from early morning and all day with unacceptable building noise while resting after a long trip and working in the room People were working all day i e with jackhammers in the adjacent rooms I asked for a room change but no silent room was available To make thinks worse I was overcharged I checked out in the evening since I had to leave very early flight and received an appropriate bill A day later the hotel made another charge without my concent in excess of booked price It s a terrible place Don t punish yourself by booking here | Nothing Terrible place Stay away | Business trip Couple Standard Double Room Stayed 2 nights |
As you can see, this guest did not have a happy stay at this hotel. The hotel has a good average score of 7.8 and 1945 reviews, but this reviewer gave it 2.5 and wrote 115 words about how negative their stay was. If they wrote nothing at all in the Positive_Review column, you might surmise there was nothing positive, but alas they wrote 7 words of warning. If we just counted words instead of the meaning, or sentiment of the words, we might have a skewed view of the reviewers intent. Strangely, their score of 2.5 is confusing, because if that hotel stay was so bad, why give it any points at all? Investigating the dataset closely, you'll see that the lowest possible score is 2.5, not 0. The highest possible score is 10.

@ -0,0 +1,5 @@
# NLTK
## 설명
NLTK는 컴퓨터 언어학 및 자연어 처리 분야에서 잘 알려진 라이브러리입니다. 이번 시간에는 이 [NLTK 책](https://www.nltk.org/book/)을 읽고 책 안에 포함된 문제들을 풀어보세요 — 이 미채점 과제를 통해 NLTK 라이브러리에 대해 더욱 자세히 알게 될 겁니다.

@ -0,0 +1,11 @@
# 다른 데이터세트를 사용해 보세요
## 설명
NLTK 라이브러리를 사용해 텍스트에 감성을 부여하는 방법을 배워보았으니 이번에는 다른 데이터세트에 적용해 보세요. 적용하기 위해서는 데이터 처리 과정을 거쳐야 할 것이기 때문에 Jupyter Notebook(노트북)을 만들어 어떠한 방식으로 이 문제에 접근했는지 (사고과정을) 서술해 보시기 바랍니다. 새로 알게 된 것이 있나요?
## 평가기준표
| 평가기준 | 모범 | 적절 | 향상 필요 |
| -------- | ---------------------------------------------------------------------------------------------- | -------------------- | ------------------ |
| | 완성된 노트북과 함께 데이터세트를 선보였으며, 어떻게 감성을 부여했는지 여러 칸(cell)에 걸쳐 잘 서술함 | 노트북에 설명이 부족함 | 노트북에 결함이 있음 |

@ -50,7 +50,7 @@ class TimeSeriesTensor(UserDict):
- **dataset**: original time series
- **target** name of the target column
- **H**: the forecast horizon
- **tensor_structures**: a dictionary discribing the tensor structure of the form
- **tensor_structures**: a dictionary describing the tensor structure of the form
{ 'tensor_name' : (range(max_backward_shift, max_forward_shift), [feature, feature, ...] ) }
if features are non-sequential and should not be shifted, use the form
{ 'tensor_name' : (None, [feature, feature, ...])}

@ -0,0 +1,11 @@
# 좀더 다양한 시계열 데이터를 시각화해 봅시다
## 설명
이번 수업에서는 특수한 모델링이 필요한 유형의 (시계열) 데이터를 살펴봄으로써 시계열 예측에 대해 알아보기 시작했으며, 에너지 관련 데이터를 시각화해 보았습니다. 이 과제에서는 시계열 예측을 통해 유익한 결과를 도출해낼 수 있을 법한 다른 데이터를 찾아보세요. 세 가지 데이터를 찾아 ([Kaggle](https://kaggle.com)과 [Azure Open Datasets](https://azure.microsoft.com/en-us/services/open-datasets/catalog/?WT.mc_id=academic-15963-cxa)에서 한번 찾아보세요) 시각화하고 특징(계절성, 급변동성, 동향 등)을 관찰해 Jupyter Notebook(노트북)에 기록해 보시기 바랍니다.
## 평가기준표
| 평가기준 | 모범 | 적절 |향상 필요 |
| -------- | ------------------------------------------------------ | ------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| | 노트북에 세 가지 데이터세트를 모두 시각화했으며 그 특징을 설명함 | 노트북에 두 가지 데이터세트를 시각화했으며 그 특징을 설명함 | 노트북에 몇몇의 데이터세트만 시각화 또는 그 특징을 설명했거나, 충분한 데이터를 사용하지 않음 |

@ -50,7 +50,7 @@ class TimeSeriesTensor(UserDict):
- **dataset**: original time series
- **target** name of the target column
- **H**: the forecast horizon
- **tensor_structures**: a dictionary discribing the tensor structure of the form
- **tensor_structures**: a dictionary describing the tensor structure of the form
{ 'tensor_name' : (range(max_backward_shift, max_forward_shift), [feature, feature, ...] ) }
if features are non-sequential and should not be shifted, use the form
{ 'tensor_name' : (None, [feature, feature, ...])}

@ -50,7 +50,7 @@ class TimeSeriesTensor(UserDict):
- **dataset**: original time series
- **target** name of the target column
- **H**: the forecast horizon
- **tensor_structures**: a dictionary discribing the tensor structure of the form
- **tensor_structures**: a dictionary describing the tensor structure of the form
{ 'tensor_name' : (range(max_backward_shift, max_forward_shift), [feature, feature, ...] ) }
if features are non-sequential and should not be shifted, use the form
{ 'tensor_name' : (None, [feature, feature, ...])}

File diff suppressed because one or more lines are too long

@ -0,0 +1,11 @@
# 새로운 ARIMA 모델
## 설명
이번 수업에서는 ARIMA 모델을 만들어 보았습니다. 이 과제에서는 새 데이터([듀크대학교에서 제공하는 데이터세트](http://www2.stat.duke.edu/~mw/ts_data_sets.html) 중 하나)로 새로운 ARIMA 모델을 만들어 보세요. Jupyter Notebook(노트북)에 작업 과정을 설명하고, 데이터와 모델을 시각화하고, MAPE(평균 절대 백분율 오차)를 사용해 모델의 정확도를 시험해 보세요.
## 평가기준표
| 평가기준 | 모범 | 적절 | 향상 필요 |
| -------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | -------------------- |
| | 새로운 ARIMA 모델을 만들었으며, 그 성능을 시험했고, 시각 자료와 함께 작업 과정의 설명 및 모델의 정확도를 노트북에 선보임 | 작업 과정의 설명을 포함하지 않거나 버그가 있는 노트북을 제출함 | 미완성 노트북을 제출함 |

@ -50,7 +50,7 @@ class TimeSeriesTensor(UserDict):
- **dataset**: original time series
- **target** name of the target column
- **H**: the forecast horizon
- **tensor_structures**: a dictionary discribing the tensor structure of the form
- **tensor_structures**: a dictionary describing the tensor structure of the form
{ 'tensor_name' : (range(max_backward_shift, max_forward_shift), [feature, feature, ...] ) }
if features are non-sequential and should not be shifted, use the form
{ 'tensor_name' : (None, [feature, feature, ...])}

@ -153,7 +153,7 @@
"source": [
"## Q-Learning\n",
"\n",
"Build a Q-Table, or multi-dimensional array. Since our board has dimentions `width` x `height`, we can represent Q-Table by a numpy array with shape `width` x `height` x `len(actions)`:"
"Build a Q-Table, or multi-dimensional array. Since our board has dimensions `width` x `height`, we can represent Q-Table by a numpy array with shape `width` x `height` x `len(actions)`:"
],
"cell_type": "markdown",
"metadata": {}

@ -253,7 +253,7 @@
"source": [
"## Q-Learning\n",
"\n",
"Build a Q-Table, or multi-dimensional array. Since our board has dimentions `width` x `height`, we can represent Q-Table by a numpy array with shape `width` x `height` x `len(actions)`:"
"Build a Q-Table, or multi-dimensional array. Since our board has dimensions `width` x `height`, we can represent Q-Table by a numpy array with shape `width` x `height` x `len(actions)`:"
],
"cell_type": "markdown",
"metadata": {}

@ -0,0 +1,27 @@
# 보다 현실적인 세상
이번 수업에서 다룬 환경에서 Peter(피터)는 피로나 배고픔을 거의 느끼지 않으며 돌아다닐 수 있었습니다. 보다 현실적인 세상에서 피터는 가끔씩 앉아서 휴식도 취해야 하고 음식도 먹어야 합니다. 다음 규칙을 적용해 세상을 좀 더 현실감 있게 만들어 봅시다:
1. 한 장소에서 다른 장소로 이동함으로써 피터는 **에너지**를 잃고 약간의 **피로**를 얻습니다.
2. 피너는 사과를 먹음으로써 더 많은 에너지를 얻을 수 있습니다.
3. 피터는 나무 아래나 잔디밭에 쉬면서 (즉, 나무나 풀이 있는 보드 위의 칸(녹색 들판) 안으로 걸어 들어감으로써) 피로를 없앨 수 있습니다.
4. 피터는 늑대를 찾아 죽여야 합니다.
5. 늑대를 죽이기 위해 피터는 일정 수준의 에너지와 피로도가 필요합니다. 그렇지 않으면 늑대와의 전투에서 집니다.
## 설명
원본 Jupyter Notebook(노트북)인 [notebook.ipynb](notebook.ipynb)을 이 과제의 솔루션(해법)의 시작점으로 사용하면 됩니다.
게임의 규칙에 따라 보상 함수를 수정하고, 강화학습 알고리즘을 실행해 게임에서 승리하기 위한 최선의 행동 전략을 학습하도록 해 보세요. 그런 다음 게임에서 승리 및 패배한 횟수를 기준으로 본인의 알고리즘 성적을 무작위 걷기의 성적과 비교해 보세요.
> **참고**: 새로운 세계에서는 state(상황)이 더 복잡하며, 사람의 위치뿐만 아니라 피로도와 에너지도 필요합니다. 상황을 `(Board(보드), energy(에너지), fatigue(피로))`와 같이 tuple(튜플)로 표현해도 되고, 상황을 위해 새 class(클래스)를 (`Board` 클래스에서 파생해) 정의하거나, 또는 [rlboard.py](rlboard.py)에 이미 정의된 `Board` 클래스를 알맞게 수정하여 사용해도 됩니다.
본인의 해법에 무작위 걷기 전략에 해당하는 코드를 반드시 그대로 남겨 두고, 마지막에 본인의 알고리즘과 무작위 걷기의 성적을 비교해 보시기 바랍니다.
> **참고**: 새로운 해법이 제대로 작동하게 하기 위해서는 hyperparameter(초매개변수), 특히 epoch(에포크) 수를 조정해야 할 수도 있습니다. 게임(늑대와의 전투)에서 승리하는 것은 드문 일이기 때문에 훨씬 더 긴 학습 시간이 필요할 겁니다.
## 평가기준표
| 평가기준 | 모범 |적절 | 향상 필요 |
| -------- | ------------------------------------------------------------------------------------------------------------------------------------------- |--------------------------------------------------------------------------------------------------------------------------------------- |------------------------------------------------------------------------------------------------ |
| | 새로운 게임 규칙, Q-learning(Q 러닝) 알고리즘, 설명 글을 노트북에 포함하여 제시함. 제시된 Q 러닝으로 무작위 걷기에 비해 성적을 크게 향상시킬 수 있음. | 노트북에 제시된 Q 러닝이 무작위 걷기에 비해 성적을 더 향상시키기는 하지만 그 정도가 작음. 또는 노트북에 설명이 부족하고 코드가 잘 구조화되지 않음. | 게임 규칙을 재정의해 적용하려 했으나 Q 러닝 알고리즘이 작동하지 않거나 보상 함수가 완전히 정의되지 않음. |

@ -0,0 +1,45 @@
# Train Mountain Car
[OpenAI Gym](http://gym.openai.com)은 모든 환경이 동일한 API를 — 즉 동일한 `reset`, `step`, `render` 메서드 및 <b>상태 공간(action space)</b><b>상태/관측 공간(observation space)</b>의 추상화를 — 제공하도록 설계되었습니다. 그러므로 다양한 상황에서 최소한의 코드 변경으로 동일한 강화학습 알고리즘을 다른 환경에 적용하는 것이 가능해집니다.
## A Mountain Car Environment
[Mountain Car 환경](https://gym.openai.com/envs/MountainCar-v0/)에는 골짜기에 갇힌 자동차가 있습니다:
<img src="../images/mountaincar.png" width="300"/>
이 환경에서의 목표는 각 단계에서 다음 동작 중 하나를 수행해 골짜기에서 나와 깃발을 잡는 것입니다:
| 값 | 의미 |
| -- | -------------- |
| 0 | 왼쪽으로 가속 |
| 1 | 가속 중지 |
| 2 | 오른쪽으로 가속 |
하지만 이 문제의 핵심은 자동차의 엔진이 한 번에 산을 오를 수 있을 만큼 강력하지 않다는 데에 있습니다. 따라서 목표 지점에 도달하기 위한 유일한 방법은 앞뒤로 자동차를 움직여 추진력을 얻는 것입니다.
상태/관측 공간은 두 개의 값만으로 구성됩니다:
| 값 | 상태/관측 | 최솟값 | 최댓값 |
| --- | ------------ | ----- | ------ |
| 0 | 자동차의 위치 | -1.2 | 0.6 |
| 1 | 자동차의 속도 | -0.07 | 0.07 |
산악용 자동차의 보상 체계는 다소 까다롭습니다:
* 에이전트(agent)가 산 전상의 깃발(위치 = 0.5)에 도달하면 0의 보상이 지급됩니다.
* 에이전트의 위치가 0.5 미만일 경우 -1의 보상이 지급됩니다.
자동차의 위치가 0.5 이상이거나 에피소드(episode)의 길이가 200 이상이면 에피소드가 종료됩니다.
## 설명
강화학습 알고리즘을 적용해 산악용 자동차 문제를 해결해 보시기 바랍니다. 기존 [notebook.ipynb](../notebook.ipynb)의 코드로 시작하면 됩니다 — 새로운 환경으로 대체하고, 상태 이산화(state discretization) 함수들을 변경하고, 기존 알고리즘을 최소한의 코드 수정으로 훈련하도록 해 보세요. 그리고 초매개변수를 조정해 결과를 최적화해 보세요.
> **참고**: 알고리즘 수렴을 위해 아마 초매개변수 조정이 필요할 겁니다.
## 평가기준표
| 평가기준 | 모범 | 적절 | 향상 필요 |
| -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| | Q 러닝(Q-learning) 알고리즘을 최소한의 코드 수정으로 CartPole 예제로부터 가져와 성공적으로 적용하였으며, 이 알고리즘으로 깃발을 잡는 문제를 200번 미만의 `step`으로 해결함 | 새로운 Q 러닝 알고리즘을 인터넷으로부터 가져와 적용했지만 잘 문서화되지 않았거나, 기존 알고리즘을 적용했지만 원하는 결과를 얻지 못함 | 어떤 알고리즘도 성공적으로 적용하지 못했으나 해법을 찾기 위해 노력함 (상태 이산화, Q 표(Q-table) 자료구조 등을 구현하였음) |

@ -0,0 +1,13 @@
# 머신러닝 물건 찾기 게임
## 설명
이번 수업에서는 기존의 클래식한 머신러닝 알고리즘으로 해결한 실제 문제들에 대해 알아보았습니다. 인공지능의 신기술 및 새로운 도구, 딥러닝, 신경망 활용 등이 다양한 산업 분야에 도움이 되는 도구 제작 속도를 높이는 데 도움이 됐습니다. 그렇지만 이 머신러닝 과정에서 소개하는 기존의 클래식한 머신러닝 알고리즘은 여전히 높은 유용성을 지니고 있습니다.
이 과제는 여러분이 해커톤(hackathon)에 참가하고 있다고 상상하며 임해 보시기 바랍니다. 이 과정에서 배운 내용을 사용해 이번 수업에서 다룬 산업 분야들 중 한 분야의 문제를 해결을 하고자 합니다. 기존의 클래식한 머신러닝 알고리즘을 사용해 그 문제를 해결할 수 있는 해법을 제안해 보세요. 그리고 여러분의 아이디어를 어떻게 구현할 것인지를 파워포인트(PowerPoint) 프레젠테이션에 담아 보세요. 표본 데이터를 수집하고 머신러닝 모델을 구축해 여러분의 개념을 뒷받침할 수 있다면 가산점!
## 평가기준표
| 평가기준 | 모범 | 적절 | 향상 필요 |
| -------- | -------------------------------------------------- | ------------------------------------- | -------- |
| | 파워포인트 프레젠테이션을 선보임 - 모델 구축 시 가산점 | 새롭지 않고 단순한 프레젠테이션을 선보임 | 미완성 |

@ -12,7 +12,7 @@
> 🌍 Travel around the world as we explore Machine Learning by means of world cultures 🌍
Azure Cloud Advocates at Microsoft are pleased to offer a 12-week, 24-lesson (plus one!) curriculum all about **Machine Learning**. In this curriculum, you will learn about what is sometimes called **classic machine learning**, using primarily Scikit-learn as a library and avoiding deep learning, which is covered in our forthcoming 'AI for Beginners' curriculum. Pair these lessons with our forthcoming 'Data Science for Beginners' curriculum, as well!
Azure Cloud Advocates at Microsoft are pleased to offer a 12-week, 24-lesson (plus one!) curriculum all about **Machine Learning**. In this curriculum, you will learn about what is sometimes called **classic machine learning**, using primarily Scikit-learn as a library and avoiding deep learning, which is covered in our forthcoming 'AI for Beginners' curriculum. Pair these lessons with our ['Data Science for Beginners' curriculum](https://aka.ms/datascience-beginners), as well!
Travel with us around the world as we apply these classic techniques to data from many areas of the world. Each lesson includes pre- and post-lesson quizzes, written instructions to complete the lesson, a solution, an assignment and more. Our project-based pedagogy allows you to learn while building, a proven way for new skills to 'stick'.
@ -121,4 +121,4 @@ Our team produces other curricula! Check out:
- [Web Dev for Beginners](https://aka.ms/webdev-beginners)
- [IoT for Beginners](https://aka.ms/iot-beginners)
- [Data Science for Beginners](https://aka.ms/datascience-beginners)
- [Data Science for Beginners](https://aka.ms/datascience-beginners)

@ -1,7 +1,6 @@
# Contribute by translating lessons
We welcome translations for the lessons in this curriculum!
## Guidelines
There are folders in each lesson folder and lesson introduction folder which contain the translated markdown files.
@ -18,6 +17,8 @@ where _[language]_ is a two letter language abbreviation following the ISO 639-1
Similar to Readme's, please translate the assignments as well.
> Important: when translating text in this repo, please ensure that you do not use machine translation. We will verify translations via the community, so please only volunteer for translations in languages where you are proficient.
**Quizzes**
1. Add your translation to the quiz-app by adding a file here: https://github.com/microsoft/ML-For-Beginners/tree/main/quiz-app/src/assets/translations, with proper naming convention (en.json, fr.json). **Please don't localize the words 'true' or 'false' however. thanks!**

@ -12,9 +12,9 @@
> 🌍 环游世界,并通过世界文化来探索机器学习 🌍
微软 Azure Cloud 的倡导者们很高兴可以提供这套十二周、二十四节课的关于**机器学习**的课程。在这套课程中,你将学习关于**经典机器学习**的内容,主要将使用 Scikit-learn 这一库。关于深度学习的内容将会尽量避免 —— 它会被我们即将推出的 "AI for Beginners (针对初学者的 AI 教程)" 所涵盖。你也可以把这些课和我们即将推出的 "Data Science for Beginners (针对初学者的数据科学教程)" 相结合!
微软 Azure Cloud 的倡导者们很高兴可以提供这套十二周、二十四节课的关于**机器学习**的课程。在这套课程中,你将学习关于**经典机器学习**的内容,主要将使用 Scikit-learn 这一库。关于深度学习的内容将会尽量避免 —— 它会被我们即将推出的 "AI for Beginners (针对初学者的 AI 教程)" 所涵盖。你也可以把这些课和我们已推出的 [Data Science for Beginners针对初学者的数据科学教程](https://aka.ms/datascience-beginners) 相结合!
通过把这些经典的技术应用在来自世界各地的数据,我们将 “环游世界”。每一节课都包括了课前和课后测验、课程内容的文字讲义说明、示例代码、作业等。通过这种基于项目的教学方法,你将在构建中学习,这样可以把技能学更牢靠。
通过把这些经典的技术应用在来自世界各地的数据,我们将 “环游世界”。每一节课都包括了课前和课后测验、课程内容的文字讲义说明、示例代码、作业等。通过这种基于项目的教学方法,你将在构建中学习,这样可以把技能学更牢靠。
**✍️ 衷心感谢作者们** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Ornella Altunyan 以及 Amy Boyd
@ -25,7 +25,7 @@
---
# 准备开始
**对于学生们**,为了更好的使用这套课程,把整个仓库 fork 到你自己的 Github 账户中,并自行(或和一个小组一起)完成以下练习:
**对于学生们**,为了更好的使用这套课程,把整个仓库 fork 到你自己的 GitHub 账户中,并自行(或和一个小组一起)完成以下练习:
- 从课前测验开始
- 阅读课程内容,完成所有的活动,在每次 knowledge check 时暂停并思考
@ -104,7 +104,7 @@
您可以使用 [Docsify](https://docsify.js.org/#/) 离线运行此文档。 Fork 这个仓库,并在你的本地机器上[安装 Docsify](https://docsify.js.org/#/quickstart),并在这个仓库的根文件夹中运行 `docsify serve`。你可以通过 localhost 的 3000 端口访问此文档:`localhost:3000`。
## PDF 文档们
点击[这里](../pdf/readme.pdf)查找课程的 PDF 文档
点击[这里](../pdf/readme.pdf)查找课程的 PDF 文档。
## 需要你的帮助!
@ -116,4 +116,4 @@
- [针对初学者的 Web 开发课程](https://aka.ms/webdev-beginners)
- [针对初学者的物联网课程](https://aka.ms/iot-beginners)
- [针对初学者的数据科学课程](https://aka.ms/datascience-beginners)

Loading…
Cancel
Save