You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
5.6 KiB
78 lines
5.6 KiB
# 요리 분류기 1
|
|
|
|
이 강의에서는 지난 강의에서 저장한 균형 잡힌 깨끗한 요리 데이터셋을 사용하게 됩니다.
|
|
|
|
이 데이터셋을 다양한 분류기와 함께 사용하여 _주어진 재료 그룹을 기반으로 특정 국가의 요리를 예측_합니다. 이 과정에서 분류 작업에 알고리즘을 활용할 수 있는 여러 가지 방법에 대해 더 배우게 될 것입니다.
|
|
|
|
## [강의 전 퀴즈](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/21/)
|
|
# 준비
|
|
|
|
[Lesson 1](../1-Introduction/README.md)을 완료했다고 가정하고, 이 네 개의 강의에 대해 루트 `/data` 폴더에 _cleaned_cuisines.csv_ 파일이 있는지 확인하십시오.
|
|
|
|
## 연습 - 국가 요리 예측
|
|
|
|
1. 이 강의의 _notebook.ipynb_ 폴더에서, 해당 파일과 함께 Pandas 라이브러리를 가져옵니다:
|
|
|
|
```python
|
|
import pandas as pd
|
|
cuisines_df = pd.read_csv("../data/cleaned_cuisines.csv")
|
|
cuisines_df.head()
|
|
```
|
|
|
|
데이터는 다음과 같습니다:
|
|
|
|
| | Unnamed: 0 | cuisine | almond | angelica | anise | anise_seed | apple | apple_brandy | apricot | armagnac | ... | whiskey | white_bread | white_wine | whole_grain_wheat_flour | wine | wood | yam | yeast | yogurt | zucchini |
|
|
| --- | ---------- | ------- | ------ | -------- | ----- | ---------- | ----- | ------------ | ------- | -------- | --- | ------- | ----------- | ---------- | ----------------------- | ---- | ---- | --- | ----- | ------ | -------- |
|
|
| 0 | 0 | indian | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|
|
| 1 | 1 | indian | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|
|
| 2 | 2 | indian | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|
|
| 3 | 3 | indian | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|
|
| 4 | 4 | indian | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
|
|
|
|
|
|
1. 이제 몇 가지 라이브러리를 더 가져옵니다:
|
|
|
|
```python
|
|
from sklearn.linear_model import LogisticRegression
|
|
from sklearn.model_selection import train_test_split, cross_val_score
|
|
from sklearn.metrics import accuracy_score,precision_score,confusion_matrix,classification_report, precision_recall_curve
|
|
from sklearn.svm import SVC
|
|
import numpy as np
|
|
```
|
|
|
|
1. X와 y 좌표를 훈련을 위해 두 개의 데이터프레임으로 나눕니다. `cuisine`은 라벨 데이터프레임이 될 수 있습니다:
|
|
|
|
```python
|
|
cuisines_label_df = cuisines_df['cuisine']
|
|
cuisines_label_df.head()
|
|
```
|
|
|
|
다음과 같이 보일 것입니다:
|
|
|
|
```output
|
|
0 indian
|
|
1 indian
|
|
2 indian
|
|
3 indian
|
|
4 indian
|
|
Name: cuisine, dtype: object
|
|
```
|
|
|
|
1. `Unnamed: 0` column and the `cuisine` column, calling `drop()`을 제거합니다. 나머지 데이터를 훈련 가능한 특징으로 저장합니다:
|
|
|
|
```python
|
|
cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)
|
|
cuisines_feature_df.head()
|
|
```
|
|
|
|
당신의 특징은 다음과 같습니다:
|
|
|
|
| | almond | angelica | anise | anise_seed | apple | apple_brandy | apricot | armagnac | artemisia | artichoke | ... | whiskey | white_bread | white_wine | whole_grain_wheat_flour | wine | wood | yam | yeast | yogurt | zucchini |
|
|
| ---: | -----: | -------: | ----: | ---------: | ----: | -----------: | ------: | -------: | --------: | --------: | ---: | ------: | ----------: | ---------: | ----------------------: | ---: | ---: | ---: | ----: | -----: | -------: |
|
|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|
|
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|
|
| 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|
|
| 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 |
|
|
|
|
**면책 조항**:
|
|
이 문서는 기계 기반 AI 번역 서비스를 사용하여 번역되었습니다. 정확성을 기하기 위해 노력하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어를 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다. |