Skip to content

Commit

Permalink
섹션 제목 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
rickiepark committed Oct 9, 2021
1 parent 2abdea5 commit 9fbd199
Show file tree
Hide file tree
Showing 3 changed files with 214 additions and 40 deletions.
136 changes: 115 additions & 21 deletions 02_end_to_end_machine_learning_project.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,13 @@
"# 데이터 가져오기"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 데이터 다운로드하기"
]
},
{
"cell_type": "code",
"execution_count": 2,
Expand Down Expand Up @@ -129,6 +136,13 @@
" return pd.read_csv(csv_path)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 데이터 구조 훑어 보기"
]
},
{
"cell_type": "code",
"execution_count": 5,
Expand Down Expand Up @@ -533,6 +547,13 @@
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 테스트 세트 만들기"
]
},
{
"cell_type": "code",
"execution_count": 10,
Expand Down Expand Up @@ -1285,6 +1306,13 @@
"housing = strat_train_set.copy()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 지리적 데이터 시각화"
]
},
{
"cell_type": "code",
"execution_count": 33,
Expand Down Expand Up @@ -1469,6 +1497,13 @@
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 상관관계 조사"
]
},
{
"cell_type": "code",
"execution_count": 38,
Expand Down Expand Up @@ -1584,6 +1619,13 @@
"save_fig(\"income_vs_house_value_scatterplot\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 특성 조합으로 실험"
]
},
{
"cell_type": "code",
"execution_count": 42,
Expand Down Expand Up @@ -1885,6 +1927,24 @@
"housing_labels = strat_train_set[\"median_house_value\"].copy()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 데이터 정제\n",
"\n",
"책에 소개된 세 개의 옵션은 다음과 같습니다:\n",
"\n",
"```\n",
"housing.dropna(subset=[\"total_bedrooms\"]) # 옵션 1\n",
"housing.drop(\"total_bedrooms\", axis=1) # 옵션 2\n",
"median = housing[\"total_bedrooms\"].median() # 옵션 3\n",
"housing[\"total_bedrooms\"].fillna(median, inplace=True)\n",
"```\n",
"\n",
"각 옵션을 설명하기 위해 주택 데이터셋의 복사본을 만듭니다. 이 때 적어도 하나의 열이 비어 있는 행만 고릅니다. 이렇게 하면 각 옵션의 정확한 동작을 눈으로 쉽게 확인할 수 있습니다."
]
},
{
"cell_type": "code",
"execution_count": 47,
Expand Down Expand Up @@ -2716,6 +2776,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## 텍스트와 범주형 특성 다루기\n",
"\n",
"이제 범주형 입력 특성인 `ocean_proximity`을 전처리합니다:"
]
},
Expand Down Expand Up @@ -2989,6 +3051,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## 나만의 변환기\n",
"\n",
"추가 특성을 위해 사용자 정의 변환기를 만들어보죠:"
]
},
Expand Down Expand Up @@ -3201,6 +3265,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## 변환 파이프라인\n",
"\n",
"수치형 특성을 전처리하기 위해 파이프라인을 만듭니다:"
]
},
Expand Down Expand Up @@ -3460,6 +3526,13 @@
"# 모델 선택과 훈련"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 훈련 세트에서 훈련하고 평가하기"
]
},
{
"cell_type": "code",
"execution_count": 82,
Expand Down Expand Up @@ -3674,7 +3747,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# 모델 세부 튜닝"
"## 교차 검증을 사용한 평가"
]
},
{
Expand Down Expand Up @@ -3875,27 +3948,25 @@
"svm_rmse"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 모델 세부 튜닝"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 그리드 탐색"
]
},
{
"cell_type": "code",
"execution_count": 98,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"GridSearchCV(cv=5, estimator=RandomForestRegressor(random_state=42),\n",
" param_grid=[{'max_features': [2, 4, 6, 8],\n",
" 'n_estimators': [3, 10, 30]},\n",
" {'bootstrap': [False], 'max_features': [2, 3, 4],\n",
" 'n_estimators': [3, 10]}],\n",
" return_train_score=True, scoring='neg_mean_squared_error')"
]
},
"execution_count": 98,
"metadata": {},
"output_type": "execute_result"
}
],
"outputs": [],
"source": [
"from sklearn.model_selection import GridSearchCV\n",
"\n",
Expand Down Expand Up @@ -4624,6 +4695,13 @@
"pd.DataFrame(grid_search.cv_results_)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 랜덤 탐색"
]
},
{
"cell_type": "code",
"execution_count": 103,
Expand Down Expand Up @@ -4686,6 +4764,13 @@
" print(np.sqrt(-mean_score), params)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 최상의 모델과 오차 분석"
]
},
{
"cell_type": "code",
"execution_count": 105,
Expand Down Expand Up @@ -4713,7 +4798,9 @@
{
"cell_type": "code",
"execution_count": 106,
"metadata": {},
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
Expand Down Expand Up @@ -4750,6 +4837,13 @@
"sorted(zip(feature_importances, attributes), reverse=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 테스트 세트로 시스템 평가하기"
]
},
{
"cell_type": "code",
"execution_count": 107,
Expand Down Expand Up @@ -6532,7 +6626,7 @@
],
"metadata": {
"kernelspec": {
"display_name": "TensorFlow 2.4 on Python 3.8 & CUDA 11.1",
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
Expand All @@ -6546,7 +6640,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.7"
"version": "3.7.3"
},
"nav_menu": {
"height": "279px",
Expand Down
43 changes: 39 additions & 4 deletions 03_classification.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -337,7 +337,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# 이진 분류기"
"# 이진 분류기 훈련"
]
},
{
Expand Down Expand Up @@ -421,6 +421,20 @@
"cross_val_score(sgd_clf, X_train, y_train_5, cv=3, scoring=\"accuracy\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 성능 측정"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 교차 검증을 사용한 정확도 측정"
]
},
{
"cell_type": "code",
"execution_count": 18,
Expand Down Expand Up @@ -504,6 +518,13 @@
"* 마지막으로, 여러 세션에 결쳐 순서가 보장되지 않는 파이썬 딕셔너리(dict)이나 셋(set) 같은 것은 완벽한 재현성이 불가능합니다. 또한 디렉토리 안에 있는 파일의 순서도 보장되지 않습니다."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 오차 행렬"
]
},
{
"cell_type": "code",
"execution_count": 21,
Expand Down Expand Up @@ -560,6 +581,13 @@
"confusion_matrix(y_train_5, y_train_perfect_predictions)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 정밀도와 재현율"
]
},
{
"cell_type": "code",
"execution_count": 24,
Expand Down Expand Up @@ -685,6 +713,13 @@
"cm[1, 1] / (cm[1, 1] + (cm[1, 0] + cm[0, 1]) / 2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 정밀도/재현율 트레이드오프"
]
},
{
"cell_type": "code",
"execution_count": 30,
Expand Down Expand Up @@ -974,7 +1009,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# ROC 곡선"
"## ROC 곡선"
]
},
{
Expand Down Expand Up @@ -4528,7 +4563,7 @@
],
"metadata": {
"kernelspec": {
"display_name": "TensorFlow 2.4 on Python 3.8 & CUDA 11.1",
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
Expand All @@ -4542,7 +4577,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.7"
"version": "3.7.3"
},
"nav_menu": {},
"toc": {
Expand Down
Loading

0 comments on commit 9fbd199

Please sign in to comment.