<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Programmings on Data Science | DSChloe</title>
    <link>https://dschloe.github.io/programming/</link>
    <description>Recent content in Programmings on Data Science | DSChloe</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <lastBuildDate>Sun, 15 Feb 2026 01:40:47 +0900</lastBuildDate>
    <atom:link href="https://dschloe.github.io/programming/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>빅데이터 분석기사 실기 (Python)</title>
      <link>https://dschloe.github.io/programming/2026/02/ds_certificate/</link>
      <pubDate>Sun, 15 Feb 2026 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2026/02/ds_certificate/</guid>
      <description>&lt;h2 id=&#34;과정-개요&#34;&gt;과정 개요&lt;/h2&gt;&#xA;&lt;p&gt;빅데이터 분석기사 실기 시험을 완벽하게 대비하는 Python 기반 실전 과정입니다.&#xA;실제 시험 환경과 동일한 조건에서 데이터 분석, 모델링, 평가까지 전 과정을 학습합니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;과정-정보&#34;&gt;과정 정보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;수강 기간:&lt;/strong&gt; 무제한 (평생 수강)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;총 학습 시간:&lt;/strong&gt; 약 5시간&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;난이도:&lt;/strong&gt; 초급&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;수강료:&lt;/strong&gt; &lt;strong&gt;₩13,000&lt;/strong&gt; (특별 할인)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;쿠폰 유효기간:&lt;/strong&gt; 2026년 3월 17일까지&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;쿠폰코드:&lt;/strong&gt; A0A10703D4A8BE7431A7&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;링크:&lt;/strong&gt; &lt;a href=&#34;https://www.udemy.com/course/python-qm/?couponCode=A0A10703D4A8BE7431A7&#34;&gt;https://www.udemy.com/course/python-qm/?couponCode=A0A10703D4A8BE7431A7&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;학습-목표&#34;&gt;학습 목표&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;빅데이터 분석기사 실기 시험의 3가지 유형 완벽 마스터&lt;/li&gt;&#xA;&lt;li&gt;Python 라이브러리(Pandas, NumPy, Scikit-learn)를 활용한 데이터 분석&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;커리큘럼&#34;&gt;커리큘럼&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1단계-작업형-1유형---데이터-전처리&#34;&gt;&lt;strong&gt;1단계: 작업형 1유형 - 데이터 전처리&lt;/strong&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 읽기 및 탐색&lt;/li&gt;&#xA;&lt;li&gt;결측치 처리&lt;/li&gt;&#xA;&lt;li&gt;이상치 탐지 및 처리&lt;/li&gt;&#xA;&lt;li&gt;데이터 변환 및 인코딩&lt;/li&gt;&#xA;&lt;li&gt;그룹화 및 집계&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2단계-작업형-2유형---머신러닝-모델링&#34;&gt;&lt;strong&gt;2단계: 작업형 2유형 - 머신러닝 모델링&lt;/strong&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;분류 모델 (로지스틱 회귀, 의사결정나무, 랜덤포레스트 등)&lt;/li&gt;&#xA;&lt;li&gt;회귀 모델 (선형회귀, Ridge, Lasso 등)&lt;/li&gt;&#xA;&lt;li&gt;교차 검증 및 하이퍼파라미터 튜닝&lt;/li&gt;&#xA;&lt;li&gt;모델 평가 지표 (정확도, F1-score, ROC-AUC, RMSE 등)&lt;/li&gt;&#xA;&lt;li&gt;예측 결과 제출 형식&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3단계-작업형-3유형---통계-분석&#34;&gt;&lt;strong&gt;3단계: 작업형 3유형 - 통계 분석&lt;/strong&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기술통계 분석&lt;/li&gt;&#xA;&lt;li&gt;가설 검정&lt;/li&gt;&#xA;&lt;li&gt;상관분석 및 회귀분석&lt;/li&gt;&#xA;&lt;li&gt;통계적 유의성 해석&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;실습-환경&#34;&gt;실습 환경&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;언어:&lt;/strong&gt; Python&lt;/p&gt;</description>
    </item>
    <item>
      <title>ADsP 회귀분석 상호작용 예시</title>
      <link>https://dschloe.github.io/programming/2025/10/regression_interaction_example_in_r/</link>
      <pubDate>Sun, 19 Oct 2025 10:38:15 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/10/regression_interaction_example_in_r/</guid>
      <description>&lt;h1 id=&#34;회귀분석-상호작용-예시&#34;&gt;회귀분석 상호작용 예시&lt;/h1&gt;&#xA;&lt;h1 id=&#34;라이브러리-가져오기&#34;&gt;라이브러리 가져오기&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;reshape2 → 데이터 구조 변환(wide↔long), tips 데이터 포함&lt;/li&gt;&#xA;&lt;li&gt;ggplot2 → 시각화(산점도, 회귀선, 상호작용 그래프)&lt;/li&gt;&#xA;&lt;li&gt;lmtest → 회귀 가정 검정(등분산성, 독립성 등)&lt;/li&gt;&#xA;&lt;li&gt;car → 공선성 점검(VIF), 회귀 진단 도구&lt;/li&gt;&#xA;&lt;li&gt;broom → 회귀 결과를 깔끔한 데이터프레임으로 정리&lt;/li&gt;&#xA;&lt;li&gt;emmeans → 상호작용 효과·부분효과(기울기) 통계 검정&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(reshape2)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(ggplot2)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(lmtest)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(car)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(broom)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(emmeans)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;tips-데이터-가져오기&#34;&gt;Tips 데이터 가져오기&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 설명 : 미국 식당에서 수집된 팁 관련 표본 데이터&lt;/li&gt;&#xA;&lt;li&gt;관측치 수: 244&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;변수명&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;타입&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;설명&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;total_bill&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;numeric&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;총 결제 금액(달러)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;tip&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;numeric&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;팁 금액(달러)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;sex&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;factor (2)&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;성별 — Female / Male&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;smoker&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;factor (2)&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;흡연 여부 — No / Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;day&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;factor (4)&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;요일 — Fri / Sat / Sun / Thur&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;time&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;factor (2)&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;식사 시간 — Dinner / Lunch&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;size&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;integer&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;일행 인원 수&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;data&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;tips&amp;#34;&lt;/span&gt;)                 &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;str&lt;/span&gt;(tips)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## &amp;#39;data.frame&amp;#39;:    244 obs. of  7 variables:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;##  $ total_bill: num  17 10.3 21 23.7 24.6 ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;##  $ tip       : num  1.01 1.66 3.5 3.31 3.61 4.71 2 3.12 1.96 3.23 ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;##  $ sex       : Factor w/ 2 levels &amp;#34;Female&amp;#34;,&amp;#34;Male&amp;#34;: 1 2 2 2 1 2 2 2 2 2 ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;##  $ smoker    : Factor w/ 2 levels &amp;#34;No&amp;#34;,&amp;#34;Yes&amp;#34;: 1 1 1 1 1 1 1 1 1 1 ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;##  $ day       : Factor w/ 4 levels &amp;#34;Fri&amp;#34;,&amp;#34;Sat&amp;#34;,&amp;#34;Sun&amp;#34;,..: 3 3 3 3 3 3 3 3 3 3 ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;##  $ time      : Factor w/ 2 levels &amp;#34;Dinner&amp;#34;,&amp;#34;Lunch&amp;#34;: 1 1 1 1 1 1 1 1 1 1 ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;##  $ size      : int  2 3 3 2 4 4 2 4 2 2 ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;상호작용이-없는-모델-만들기&#34;&gt;&lt;strong&gt;상호작용이 없는 모델 만들기&lt;/strong&gt;&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 상호작용이 없는 모델을 만든다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;m1 &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;lm&lt;/span&gt;(tip &lt;span style=&#34;color:#f92672&#34;&gt;~&lt;/span&gt; total_bill &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; sex, data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; tips)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;summary&lt;/span&gt;(m1)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## Call:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## lm(formula = tip ~ total_bill * sex, data = tips)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## Residuals:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;##     Min      1Q  Median      3Q     Max &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## -3.2232 -0.5660 -0.0977  0.4796  3.6675 &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## Coefficients:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;##                     Estimate Std. Error t value Pr(&amp;gt;|t|)    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## (Intercept)         1.048020   0.272498   3.846 0.000154 ***&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## total_bill          0.098878   0.013808   7.161 9.75e-12 ***&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## sexMale            -0.195872   0.338954  -0.578 0.563892    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## total_bill:sexMale  0.008983   0.016417   0.547 0.584778    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## ---&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## Signif. codes:  0 &amp;#39;***&amp;#39; 0.001 &amp;#39;**&amp;#39; 0.01 &amp;#39;*&amp;#39; 0.05 &amp;#39;.&amp;#39; 0.1 &amp;#39; &amp;#39; 1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## Residual standard error: 1.026 on 240 degrees of freedom&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## Multiple R-squared:  0.4574, Adjusted R-squared:  0.4506 &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## F-statistic: 67.43 on 3 and 240 DF,  p-value: &amp;lt; 2.2e-16&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;계수-해석&#34;&gt;계수 해석&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;계수 해석에 대한 설명은 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;계수 항목&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;추정값(Estimate)&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;표준오차(Std. Error)&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;p-value&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;해석&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;total_bill&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;0.0989&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;0.0138&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;&amp;lt;0.001&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;여성 그룹에서 총금액 1달러 증가 시 팁이 약 $0.099 증가&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;sexMale&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;-0.1959&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;0.3390&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;0.564&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;남성은 여성보다 팁이 평균 $0.196 낮지만 통계적으로 유의하지 않음&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;total_bill:sexMale&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;0.0090&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;0.0164&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;0.585&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;남성의 기울기가 여성보다 0.009 더 크지만 통계적으로 유의하지 않음&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 표에 대한 해석 가이드는 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;(Intercept) : 기준집단(여성)에서 total_bill = 0일 때 팁의 평균값(절편). 실제 상황에서 해석보다는 기준점 역할에 가까움.&lt;/li&gt;&#xA;&lt;li&gt;total_bill : 여성(Female) 그룹 기준으로, 총 결제금액이 1달러 증가할 때 팁이 평균 얼마 증가하는지를 나타냄. 여기서는 0.099달러 증가 → 유의(p&amp;lt;0.001).&lt;/li&gt;&#xA;&lt;li&gt;sexMale : 총 결제금액이 0일 때 남성이 여성보다 팁을 얼마나 더(또는 덜) 주는지의 차이. 여기서는 남성이 여성보다 $0.196 낮지만, 유의하지 않음.&lt;/li&gt;&#xA;&lt;li&gt;total_bill:sexMale : 성별에 따라 총금액이 팁에 미치는 기울기 차이(상호작용). 남성의 기울기가 여성보다 약간(0.009) 높지만 통계적으로 유의하지 않음.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;모델-시각화&#34;&gt;모델 시각화&lt;/h2&gt;&#xA;&lt;h3 id=&#34;관측점--집단별-loess선형선간단&#34;&gt;&lt;strong&gt;관측점 + 집단별 loess/선형선(간단)&lt;/strong&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그래프 코드는 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;ggplot&lt;/span&gt;(tips, &lt;span style=&#34;color:#a6e22e&#34;&gt;aes&lt;/span&gt;(x &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; total_bill, y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; tip, color &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sex)) &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;geom_point&lt;/span&gt;(alpha &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;.6&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;geom_smooth&lt;/span&gt;(method &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;lm&amp;#34;&lt;/span&gt;, se &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TRUE&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;labs&lt;/span&gt;(title &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Interaction: total_bill × sex&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       x &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Total bill&amp;#34;&lt;/span&gt;, y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Tip&amp;#34;&lt;/span&gt;, color &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Sex&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;theme_minimal&lt;/span&gt;(base_size &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;13&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## `geom_smooth()` using formula = &amp;#39;y ~ x&amp;#39;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/10/regression_interaction_example_in_r/image.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Open AI와 앤트로픽 API 키 발급받기</title>
      <link>https://dschloe.github.io/programming/2025/10/openai_anthropic_api/</link>
      <pubDate>Sat, 11 Oct 2025 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/10/openai_anthropic_api/</guid>
      <description>&lt;h2 id=&#34;open-ai-사이트-확인&#34;&gt;Open AI 사이트 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사이트 : &lt;a href=&#34;https://platform.openai.com/&#34;&gt;https://platform.openai.com/&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;회원가입 및 로그인 필수&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;톱니바퀴 모양 아이콘(Settings) 클릭 후 설정 화면으로 이동&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/10/openai_anthropic_api/Screenshot_2025-10-10_at_11.44.36_AM.png&#34; alt=&#34;Screenshot 2025-10-10 at 11.44.36 AM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설정화면에서 [API Keys] 메뉴 클릭 후, Create New Secret Key 눌러주기&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Name : ai-agent-test-project&lt;/li&gt;&#xA;&lt;li&gt;Project : Default Project&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/10/openai_anthropic_api/Screenshot_2025-10-10_at_11.45.52_AM.png&#34; alt=&#34;Screenshot 2025-10-10 at 11.45.52 AM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;API 키가 보이는 창 확인&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Copy 버튼 누른 후 클립보드에 저장 후 다른 곳에 잘 저장하기&lt;/li&gt;&#xA;&lt;li&gt;혹시나 보관을 못했다면, 지우고 다시 생성하는 것 추천&lt;/li&gt;&#xA;&lt;li&gt;강의 때 연습용으로 사용하는 것은, 추후 관리 소홀로 유출 될 수 있으니 반드시 삭제 권장&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/10/openai_anthropic_api/Screenshot_2025-10-10_at_11.47.41_AM.png&#34; alt=&#34;Screenshot 2025-10-10 at 11.47.41 AM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Logstash 실행 및 확인 - 기본예제</title>
      <link>https://dschloe.github.io/programming/2025/06/logstash_basic_install/</link>
      <pubDate>Mon, 30 Jun 2025 01:03:28 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/06/logstash_basic_install/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Logstash 기본 설치 과정을 확인한다.&lt;/li&gt;&#xA;&lt;li&gt;Logstash 활용 예제를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;사전준비&#34;&gt;사전준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기존에 Elasticsearch와 Kibana 실행 방법을 알고 있어야 한다.&lt;/li&gt;&#xA;&lt;li&gt;모든 코드는 Windows 에서 실행하였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;logstash의-역할&#34;&gt;Logstash의 역할&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 수집 (Ingest) - 데이터 변환 및 처리 (Processing / Filtering) - 데이터 출력 (Output)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;데이터-수집&#34;&gt;데이터 수집&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다양한 데이터 소스로부터 데이터 수집&#xA;&lt;ul&gt;&#xA;&lt;li&gt;로그파일&lt;/li&gt;&#xA;&lt;li&gt;TCP/UDP/HTTP 요청&lt;/li&gt;&#xA;&lt;li&gt;Kafka, Redis, JDBC(DB) 등&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;데이터-변환-및-처리-processing--filtering&#34;&gt;데이터 변환 및 처리 (Processing / Filtering)&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;주요 내용&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Logstash는 수집한 원시 데이터를 &lt;strong&gt;구조화된 형식으로 파싱&lt;/strong&gt;하고 &lt;strong&gt;정제 및 가공&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;정규표현식 기반 &lt;code&gt;grok&lt;/code&gt; 필터로 로그 파싱&lt;/li&gt;&#xA;&lt;li&gt;날짜 포맷 통일 (&lt;code&gt;date&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;li&gt;필드 추가/삭제/이름 변경&lt;/li&gt;&#xA;&lt;li&gt;조건 분기 처리 (&lt;code&gt;if&lt;/code&gt;, &lt;code&gt;else&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;li&gt;JSON, CSV 파싱&lt;/li&gt;&#xA;&lt;li&gt;지오IP, 위치 정보 추가 등&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;예시 코드&lt;/p&gt;</description>
    </item>
    <item>
      <title>Elasticsearch - Transformers 임베딩 입력 저장 (Local Mode)</title>
      <link>https://dschloe.github.io/programming/2025/06/transformers_embedding_elasticsearch/</link>
      <pubDate>Fri, 27 Jun 2025 01:03:28 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/06/transformers_embedding_elasticsearch/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;엘라스틱서치에서 밀집 벡터 위한 매핑 구성 방법 살펴보기&lt;/li&gt;&#xA;&lt;li&gt;밀집 벡터가 저장될 embedding 이라는 필드 정의&lt;/li&gt;&#xA;&lt;li&gt;Python 코드로 엘라스틱서치 코드 구현&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;코드-전체-시나리오&#34;&gt;코드 전체 시나리오&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Elasticsearch&lt;/code&gt;에 연결 및 인덱스 초기화&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;dense_vector&lt;/code&gt; 타입으로 매핑 정의&lt;/li&gt;&#xA;&lt;li&gt;문서 배열 정의&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;BERT&lt;/code&gt; 모델을 이용해 각 문서를 벡터 임베딩&lt;/li&gt;&#xA;&lt;li&gt;벡터 포함 문서를 Elasticsearch에 색인&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;elasticsearch-클라이언트-연결&#34;&gt;Elasticsearch 클라이언트 연결&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;로컬에서 실행 중인 &lt;code&gt;Elasticsearch&lt;/code&gt; 서버에 접속&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;basic_auth&lt;/code&gt;: 로그인 자격 (ID: &lt;code&gt;elastic&lt;/code&gt;, PW: &lt;code&gt;123456&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;verify_certs=False&lt;/code&gt;: 인증서 검증 생략 (로컬에서 SSL 없이 사용 시 편의용)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;es_admin &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Elasticsearch(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://localhost:9200&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                         basic_auth&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;elastic&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;123456&amp;#34;&lt;/span&gt;), &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                         verify_certs&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;mapping-정의-및-인덱스-생성&#34;&gt;Mapping 정의 및 인덱스 생성&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;dense_vector&lt;/code&gt;: 벡터 검색용 필드 (벡터 유사도 기반 검색 가능)&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;dims&lt;/code&gt;: BERT의 출력 벡터는 기본적으로 768차원이므로 그에 맞춤&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mapping &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;properties&amp;#34;&lt;/span&gt;: {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;embedding&amp;#34;&lt;/span&gt;: {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;dense_vector&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;dims&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;768&lt;/span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# BERT의 출력 벡터 차원 수&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;기존-인덱스-삭제-후-새로-생성&#34;&gt;기존 인덱스 삭제 후 새로 생성&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기존에 있던 &lt;code&gt;chapter-2&lt;/code&gt; 인덱스를 삭제 (중복 방지)&lt;/li&gt;&#xA;&lt;li&gt;새로운 인덱스를 위에서 정의한 벡터 매핑으로 생성&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;try&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    es_admin&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;indices&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;delete(index&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;chapter-2&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;기존 chapter-2 인덱스를 삭제했습니다.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;except&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;chapter-2 인덱스가 존재하지 않습니다.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;es_admin&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;indices&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;create(index&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;chapter-2&amp;#34;&lt;/span&gt;, body&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;{&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;mappings&amp;#39;&lt;/span&gt;: mapping})&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;새로운 chapter-2 인덱스를 생성했습니다.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;색인할-문서-데이터-구성&#34;&gt;색인할 문서 데이터 구성&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;title&lt;/code&gt;과 &lt;code&gt;text&lt;/code&gt;로 구성된 단순 문서 리스트&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;text&lt;/code&gt;는 BERT 임베딩의 입력값이 된다&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;docs &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;title&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Document 1&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;text&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;This is the first document&amp;#34;&lt;/span&gt;},&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;title&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Document 2&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;text&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;This is the second document&amp;#34;&lt;/span&gt;},&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;title&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Document 3&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;text&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;This is the third document&amp;#34;&lt;/span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;bert-모델과-토크나이저-초기화&#34;&gt;BERT 모델과 토크나이저 초기화&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;bert-base-uncased&lt;/code&gt;: Hugging Face에서 사전 학습된 BERT 모델&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;AutoTokenizer&lt;/code&gt;: 입력 텍스트를 BERT가 이해할 수 있는 토큰으로 변환&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;AutoModel&lt;/code&gt;: 텍스트에 대한 BERT 임베딩 추출&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tokenizer &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; AutoTokenizer&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;from_pretrained(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;bert-base-uncased&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; AutoModel&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;from_pretrained(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;bert-base-uncased&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;bert-임베딩-생성&#34;&gt;BERT 임베딩 생성&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;tokenizer(...)&lt;/code&gt;: 텍스트를 토큰화하고 PyTorch 텐서로 변환&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;model(**inputs)&lt;/code&gt;: BERT 실행 → 각 토큰에 대한 임베딩 벡터 반환&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;last_hidden_state.mean(dim=1)&lt;/code&gt;: 문장의 전체 임베딩을 mean pooling으로 하나의 벡터로 압축 (1×768 벡터)&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;squeeze(0).numpy()&lt;/code&gt;: 불필요한 batch 차원 제거 후 NumPy로 변환&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;tolist()&lt;/code&gt;: Elasticsearch에 저장 가능하게 리스트 형태로 변환&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; doc &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; docs:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    text &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; doc[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;text&amp;#34;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    inputs &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; tokenizer(text, return_tensors&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pt&amp;#34;&lt;/span&gt;, padding&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;, truncation&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;with&lt;/span&gt; torch&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;no_grad():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        outputs &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; model(&lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;inputs)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;last_hidden_state&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mean(dim&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;squeeze(&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;numpy() &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        doc[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;embedding&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; outputs&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;tolist()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;elasticsearch에-색인&#34;&gt;Elasticsearch에 색인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;각 문서를 &lt;code&gt;chapter-2&lt;/code&gt; 인덱스에 색인&lt;/li&gt;&#xA;&lt;li&gt;Elasticsearch는 &lt;code&gt;embedding&lt;/code&gt; 필드를 dense_vector로 저장하며, 향후 벡터 검색에도 사용 가능&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; doc &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; docs:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    es_admin&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;index(index&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;chapter-2&amp;#34;&lt;/span&gt;, body&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;doc)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;확인&#34;&gt;확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Kibana | Management | Dev Tools에서 색인된 문서 조회&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;GET chapter&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;_search&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/06/transformers_embedding_elasticsearch/image.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>엘라스틱 클라우드에 데이터 추가하기 - 예제 (2025, 06)</title>
      <link>https://dschloe.github.io/programming/2025/06/elk_cloud_sample_01/</link>
      <pubDate>Thu, 26 Jun 2025 01:03:28 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/06/elk_cloud_sample_01/</guid>
      <description>&lt;h1 id=&#34;ch03---데이터-추가&#34;&gt;CH03 - 데이터 추가&lt;/h1&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Cloud에 데이터 추가&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;이전-예제-확인&#34;&gt;이전 예제 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;링크 : &lt;a href=&#34;https://dschloe.github.io/de/2025/06/elk_install_sample_01/&#34;&gt;https://dschloe.github.io/de/2025/06/elk_install_sample_01/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;파이썬-코드&#34;&gt;파이썬 코드&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 필요한 라이브러리들을 가져옵니다&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import time                    &lt;span style=&#34;color:#75715e&#34;&gt;# 시간 지연을 위한 라이브러리&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import requests               &lt;span style=&#34;color:#75715e&#34;&gt;# HTTP 요청을 위한 라이브러리&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;from bs4 import BeautifulSoup &lt;span style=&#34;color:#75715e&#34;&gt;# HTML 파싱을 위한 라이브러리&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;from elasticsearch import Elasticsearch  &lt;span style=&#34;color:#75715e&#34;&gt;# Elasticsearch 클라이언트&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# ✅ Elastic Cloud 연결 (API 키 인증 방식)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Elastic Cloud의 클러스터에 API 키를 사용하여 연결합니다&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# API 키는 사용자명/비밀번호 대신 더 안전한 인증 방식입니다&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;es &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Elasticsearch&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;your_cloud_url&amp;#34;&lt;/span&gt;,  &lt;span style=&#34;color:#75715e&#34;&gt;# Elastic Cloud 클러스터 URL&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    api_key&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;your_api_key&amp;#34;&lt;/span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# API 키&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 저장할 인덱스 이름을 상수로 정의합니다&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;INDEX_NAME &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;evan-elk-search&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# ✅ 인덱스 생성 (존재하지 않으면 새로 생성)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Elasticsearch에서 데이터를 저장할 인덱스가 있는지 확인하고, 없으면 새로 생성합니다&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; not es.indices.exists&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;index&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;INDEX_NAME&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    es.indices.create&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;index&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;INDEX_NAME&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# 새 인덱스 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;f&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;✅ Index &amp;#39;{INDEX_NAME}&amp;#39; created.&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;f&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;✅ Index &amp;#39;{INDEX_NAME}&amp;#39; already exists.&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# ✅ 명언 수집 함수 정의&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;def get_quotes&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    quotes.toscrape.com 웹사이트에서 명언들을 수집하는 함수&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    Returns:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        list: 수집된 명언 요소들의 리스트 (BeautifulSoup 객체들)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    res &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; requests.get&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://quotes.toscrape.com&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# 웹사이트에 GET 요청&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    soup &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; BeautifulSoup&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;res.text, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;html.parser&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;     &lt;span style=&#34;color:#75715e&#34;&gt;# HTML을 파싱&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; soup.select&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;.quote&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;                       &lt;span style=&#34;color:#75715e&#34;&gt;# .quote 클래스를 가진 요소들을 선택하여 반환&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# ✅ 30초 간격으로 명언들을 하나씩 저장&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 수집된 명언들을 가져옵니다&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;quotes &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; get_quotes&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 각 명언을 순회하면서 Elastic Cloud에 저장합니다&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; i, q in enumerate&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;quotes&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 명언 데이터를 딕셔너리 형태로 구성합니다&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    doc &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;text&amp;#34;&lt;/span&gt;: q.select_one&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;.text&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;.text.strip&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;,      &lt;span style=&#34;color:#75715e&#34;&gt;# 명언 텍스트 추출 (공백 제거)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;author&amp;#34;&lt;/span&gt;: q.select_one&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;.author&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;.text.strip&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;,  &lt;span style=&#34;color:#75715e&#34;&gt;# 저자 이름 추출 (공백 제거)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;tags&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;tag.text &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; tag in q.select&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;.tag&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)]&lt;/span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# 태그들을 리스트로 추출&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Elastic Cloud에 문서를 저장합니다&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    res &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; es.index&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;index&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;INDEX_NAME, document&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;doc&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;f&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;[{i+1}] ✅ Saved to Elastic Cloud: {res[&amp;#39;_id&amp;#39;]}&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# 저장된 문서의 ID 출력&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 30초 대기 (다음 명언 저장 전)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    time.sleep&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;30&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;클라우드에서 확인&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/06/elk_cloud_sample_01/image.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>엘라스틱 서치 시작하기 - 예제 (2025, 06)</title>
      <link>https://dschloe.github.io/programming/2025/06/elk_install_sample_01/</link>
      <pubDate>Wed, 25 Jun 2025 01:03:28 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/06/elk_install_sample_01/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;엘라스틱 클라우드 활용 예제 확인&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;회원가입&#34;&gt;회원가입&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;회원가입 페이지 : &lt;a href=&#34;https://cloud.elastic.co/&#34;&gt;https://cloud.elastic.co/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;필자는 Google 로그인을 통해 회원가입을 하였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/06/elk_install_sample_01/image.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가입 중간에 데이터 저장하는 공간이 있는데, 필자는 GCP를 선택하였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/06/elk_install_sample_01/image%201.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 화면에서는 다음과 같이 지정하였다. General Purpose&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/06/elk_install_sample_01/image%202.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인덱스 명 : evan-elk-search&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/06/elk_install_sample_01/image%203.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인덱스 명을 확인하면 다음과 같다.&lt;/li&gt;&#xA;&lt;li&gt;URL과 API 주소를 확인한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;URL : your_url&lt;/li&gt;&#xA;&lt;li&gt;your_api_key&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/06/elk_install_sample_01/image%204.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;설치-및-예제-확인&#34;&gt;설치 및 예제 확인&lt;/h2&gt;&#xA;&lt;h3 id=&#34;windows-10&#34;&gt;Windows 10&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;윈도우 설치 파일 : &lt;a href=&#34;https://www.elastic.co/kr/downloads/elasticsearch&#34;&gt;https://www.elastic.co/kr/downloads/elasticsearch&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/06/elk_install_sample_01/image%205.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;압축 파일을 해제하고 C 드라이브쪽으로 폴더를 이동시킨다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>BigQuery 데이터 입출력 From Local TO BigQuery</title>
      <link>https://dschloe.github.io/programming/2025/06/bq_loader_2025/</link>
      <pubDate>Sun, 22 Jun 2025 17:10:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/06/bq_loader_2025/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;서비스 계정 추가 후, 데이터 업로드&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;gcp-서비스-계정-추가&#34;&gt;GCP 서비스 계정 추가&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;IAM 및 관리자 &amp;gt; 서비스 계정 &amp;gt; 서비스 계정 만들기 선택&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/06/bq_loader_2025/image.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;서비스 계정 이름은 각자 정한다. 필자는 lgu6th-bq-loader로 명명했다.&lt;/li&gt;&#xA;&lt;li&gt;서비스계정 ID는 이메일 주소 ID를 사용한다.&lt;/li&gt;&#xA;&lt;li&gt;만들고 계속하기 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/06/bq_loader_2025/image%201.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;권한을 부여한다. BigQuery 관리자를 선택한다.&lt;/li&gt;&#xA;&lt;li&gt;그 후 계속 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/06/bq_loader_2025/image%202.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그 후 완료 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/06/bq_loader_2025/image%203.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;서비스-키-다운로드&#34;&gt;서비스 키 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음과 같은 화면에서 키 관리 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/06/bq_loader_2025/image%204.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>GCP VM Connect to BigQuery using Streamlit (ver. 2025, 06)</title>
      <link>https://dschloe.github.io/programming/2025/06/gce2bigquery_streamlit_202506/</link>
      <pubDate>Sat, 21 Jun 2025 17:10:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/06/gce2bigquery_streamlit_202506/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;VM 만들기 Web UI가 일부 변경됨 (추가 진행하기로 함)&lt;/li&gt;&#xA;&lt;li&gt;VM 생성 및 VS Code 연결&lt;/li&gt;&#xA;&lt;li&gt;VM과 BigQuery 연결&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;vm-머신-생성&#34;&gt;VM 머신 생성&lt;/h2&gt;&#xA;&lt;h3 id=&#34;머신-구성&#34;&gt;머신 구성&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이름과 성능 체크&lt;/li&gt;&#xA;&lt;li&gt;월별 예상 가격을 체크한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/06/gce2bigquery_streamlit_202506/Screenshot_2025-06-20_at_7.54.08_PM.png&#34; alt=&#34;Screenshot 2025-06-20 at 7.54.08 PM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;os-및-스토리지&#34;&gt;OS 및 스토리지&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ubuntu - Ubuntu 24.04 LTS 방식으로 진행 (x86/64) 방식 선택&lt;/li&gt;&#xA;&lt;li&gt;디스크 사이즈 : 25GB&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/06/gce2bigquery_streamlit_202506/Screenshot_2025-06-20_at_8.00.50_PM.png&#34; alt=&#34;Screenshot 2025-06-20 at 8.00.50 PM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;암호화 : Google 관리 암호화 키 선택&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/06/gce2bigquery_streamlit_202506/Screenshot_2025-06-20_at_8.02.26_PM.png&#34; alt=&#34;Screenshot 2025-06-20 at 8.02.26 PM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>AWS EC2 Connect to S3, Streamlit Web (2025 june)</title>
      <link>https://dschloe.github.io/programming/2025/06/aws_ec2_s3_streamlit/</link>
      <pubDate>Sun, 15 Jun 2025 09:13:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/06/aws_ec2_s3_streamlit/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;EC2 접속을 할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;EC2에서 개발환경 설정을 할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;회원가입&#34;&gt;회원가입&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;링크 : &lt;a href=&#34;https://aws.amazon.com/console/&#34;&gt;https://aws.amazon.com/console/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;아래 화면, 우측 상단을 보면 English를 Korean으로 변경&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/06/aws_ec2_s3_streamlit/image.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/06/aws_ec2_s3_streamlit/image%201.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 화면에서 AWS 계정 생성 버튼 클릭&#xA;&lt;ul&gt;&#xA;&lt;li&gt;링크 : &lt;a href=&#34;https://aws.amazon.com/ko/console/&#34;&gt;https://aws.amazon.com/ko/console/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/06/aws_ec2_s3_streamlit/image%202.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;회원가입 진행&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/06/aws_ec2_s3_streamlit/image%203.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;재 로그인&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/06/aws_ec2_s3_streamlit/image%204.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;iam-user-sign-in&#34;&gt;IAM user sign in&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Account ID : 12자리 숫자로 AWS 계정을 식별하는 고유 값이다. 같은 회사라도 계정마다 ID가 다르다.&lt;/li&gt;&#xA;&lt;li&gt;IAM User : 각 IAM User는 별도 패스워드·액세스키를 갖고, 정책으로 권한을 제한&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/06/aws_ec2_s3_streamlit/image%205.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Airflow 활용한 DB Insert 예제 (M1, MacOS)</title>
      <link>https://dschloe.github.io/programming/2025/05/airflow_db_insert_example/</link>
      <pubDate>Sat, 03 May 2025 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/05/airflow_db_insert_example/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MySQL과 PostgreSQL에 각각 테이블 생성 후 데이터 넣기&lt;/li&gt;&#xA;&lt;li&gt;아래와 같이 병렬적으로 실행하는 예제&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/05/airflow_db_insert_example/Screenshot_2025-05-03_at_12.40.31_PM.png&#34; alt=&#34;Screenshot 2025-05-03 at 12.40.31 PM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;시나리오&#34;&gt;시나리오&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;테이블과 데이터를 추가하되 두 DB에 대한 접근 방식이 다름&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MySQL은 직접적으로 넣기&lt;/li&gt;&#xA;&lt;li&gt;PostgreSQL은 Airflow를 통해서 데이터 넣기&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;환경설정&#34;&gt;환경설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사전에 MySQL과 PostgreSQL이 설치가 이미 되어 있음을 가정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;파이썬-설치&#34;&gt;파이썬 설치&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;uv : &lt;a href=&#34;https://docs.astral.sh/uv/getting-started/installation/&#34;&gt;https://docs.astral.sh/uv/getting-started/installation/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;프로젝트-초기화&#34;&gt;프로젝트 초기화&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;프로젝트 디렉터리에서 다음과 순차적으로 실행&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ uv venv -p 3.11&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ source .venv/bin/activate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;airflow-설치&#34;&gt;Airflow 설치&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 환경변수를 설정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ export AIRFLOW_HOME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;pwd&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;/airflow&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;셸-스크립트-작성-및-실행&#34;&gt;셸 스크립트 작성 및 실행&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음과 같이 셸 스크립트 작성&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일명 : install_airflow.sh&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;AIRFLOW_VERSION&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;2.8.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Python 버전을 3.11로 고정 설정&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PYTHON_VERSION&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;3.11&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;CONSTRAINT_URL&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://raw.githubusercontent.com/apache/airflow/constraints-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;AIRFLOW_VERSION&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;/constraints-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;PYTHON_VERSION&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;.txt&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# For example this would install 3.0.0 with python 3.11: https://raw.githubusercontent.com/apache/airflow/constraints-3.0.0/constraints-3.11.txt&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;uv pip install &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;apache-airflow==&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;AIRFLOW_VERSION&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; --constraint &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;CONSTRAINT_URL&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;uv pip install -r requirements.txt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;라이브러리 목록&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일명 : requirements.txt&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pandas&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;numpy&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;seaborn&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;matplotlib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;requests&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;psycopg2-binary&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;streamlit&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plotly&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pytz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mysql-connector-python&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;apache-airflow-providers-postgres&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;5.7.1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;셸 스크립트를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;chmod +x install_airflow.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;./install_airflow.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;mysql-postgresql-설정확인&#34;&gt;MySQL, PostgreSQL 설정확인&lt;/h2&gt;&#xA;&lt;h3 id=&#34;mysql-설정&#34;&gt;MySQL 설정&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설정&#xA;&lt;ul&gt;&#xA;&lt;li&gt;host : localhost&lt;/li&gt;&#xA;&lt;li&gt;user : root&lt;/li&gt;&#xA;&lt;li&gt;password : evan1234&lt;/li&gt;&#xA;&lt;li&gt;port : 3306&lt;/li&gt;&#xA;&lt;li&gt;Schema : airflow_db&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;postgresql-설정&#34;&gt;PostgreSQL 설정&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설정&#xA;&lt;ul&gt;&#xA;&lt;li&gt;host : localhost&lt;/li&gt;&#xA;&lt;li&gt;user : postgres&lt;/li&gt;&#xA;&lt;li&gt;password : 1234&lt;/li&gt;&#xA;&lt;li&gt;port : 5432&lt;/li&gt;&#xA;&lt;li&gt;Database : python_dataengineering&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;최종-결과-예시&#34;&gt;최종 결과 예시&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;정상적으로 입력이 되면 다음과 같이 출력이 될 것이다. (미리 확인용)&lt;/li&gt;&#xA;&lt;li&gt;MySQL&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/05/airflow_db_insert_example/Screenshot_2025-05-03_at_1.43.48_PM.png&#34; alt=&#34;Screenshot 2025-05-03 at 1.43.48 PM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Airflow 활용한 API 크롤링 및 이미지 다운로드 (M1, MacOS)</title>
      <link>https://dschloe.github.io/programming/2025/05/airflow_api_img_download/</link>
      <pubDate>Fri, 02 May 2025 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/05/airflow_api_img_download/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Airflow 활용해서 이미지 다운로드 받기 예제&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개발환경설정&#34;&gt;개발환경설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MacOS, M1&lt;/li&gt;&#xA;&lt;li&gt;Python uv 개발환경 설정&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;uv-설치&#34;&gt;uv 설치&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;공식 싸이트 확인&#xA;&lt;ul&gt;&#xA;&lt;li&gt;링크 : &lt;a href=&#34;https://docs.astral.sh/uv/getting-started/installation/#installation-methods&#34;&gt;https://docs.astral.sh/uv/getting-started/installation/#installation-methods&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;curl -LsSf https://astral.sh/uv/install.sh | sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;가상환경-설정&#34;&gt;가상환경 설정&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음과 같이 설정, 프로젝트 초기화 (Python 3.11 지정)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ uv venv -p 3.11&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ source .venv/bin/activate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Python 버전 확인&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ python --version &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;airflow_home-환경변수-지정&#34;&gt;AIRFLOW_HOME 환경변수 지정&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;airflow는 환경변수에 예민하다.&lt;/li&gt;&#xA;&lt;li&gt;프로젝트 디렉터리 경로에서 다음과 같이 추가&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ export AIRFLOW_HOME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;pwd&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;/airflow&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ echo $AIRFLOW_HOME&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/Users/evan/Desktop/your/project/directory/airflow&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;설치-스크립트-작성&#34;&gt;설치 스크립트 작성&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일명 : install_airflow.sh&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;AIRFLOW_VERSION&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;2.8.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Python 버전을 3.11로 고정 설정&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PYTHON_VERSION&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;3.11&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;CONSTRAINT_URL&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://raw.githubusercontent.com/apache/airflow/constraints-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;AIRFLOW_VERSION&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;/constraints-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;PYTHON_VERSION&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;.txt&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# For example this would install 3.0.0 with python 3.11: https://raw.githubusercontent.com/apache/airflow/constraints-3.0.0/constraints-3.11.txt&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;uv pip install &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;apache-airflow==&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;AIRFLOW_VERSION&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; --constraint &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;CONSTRAINT_URL&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# PostgreSQL 제공자 패키지 버전 명시&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;uv pip install apache-airflow-providers-postgres&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;5.7.1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;uv pip install -r requirements.txt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;파일명 : requirements.txt 파일 작성&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pandas&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;numpy&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;seaborn&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;matplotlib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;requests&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;sh 파일 실행 모드로 변경 후 실행&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ chmod +x install_airflow.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ./install_airflow.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;api-확인-및-테스트&#34;&gt;API 확인 및 테스트&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 5개의 예정된 발사 정보 조회&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ curl &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/launch/upcoming/?limit=5&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;count&amp;#34;&lt;/span&gt;:338,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;next&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/launch/upcoming/?limit=5&amp;amp;offset=5&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;previous&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;results&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;1a105ccb-e59f-48e8-b853-c424bd8cc699&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/launch/1a105ccb-e59f-48e8-b853-c424bd8cc699/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;slug&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;falcon-9-block-5-starlink-group-6-75&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Falcon 9 Block 5 | Starlink Group 6-75&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;status&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:6,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Launch in Flight&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abbrev&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;In Flight&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;The launch vehicle has lifted off from the launchpad.&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;last_updated&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2025-05-02T01:52:11Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;net&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2025-05-02T01:51:10Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;window_end&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2025-05-02T05:51:00Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;window_start&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2025-05-02T01:51:10Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;net_precision&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:0,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Second&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abbrev&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SEC&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;The T-0 is accurate to the second.&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;probability&amp;#34;&lt;/span&gt;:99,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;weather_concerns&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;holdreason&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;failreason&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;hashtag&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;launch_service_provider&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:121,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/agencies/121/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Commercial&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;rocket&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:8596,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;configuration&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:164,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/config/launcher/164/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Falcon 9&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;family&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Falcon&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;full_name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Falcon 9 Block 5&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;variant&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Block 5&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;mission&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:7188,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Starlink Group 6-75&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;A batch of 28 satellites for the Starlink mega-constellation - SpaceX&amp;#39;s project for space-based Internet communication system.&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;launch_designator&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Communications&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orbit&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:8,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Low Earth Orbit&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abbrev&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;LEO&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agencies&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:121,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/agencies/121/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;featured&amp;#34;&lt;/span&gt;:true,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Commercial&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;country_code&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;USA&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abbrev&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SpX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Space Exploration Technologies Corp., known as SpaceX, is an American aerospace manufacturer and space transport services company headquartered in Hawthorne, California. It was founded in 2002 by entrepreneur Elon Musk with the goal of reducing space transportation costs and enabling the colonization of Mars. SpaceX operates from many pads, on the East Coast of the US they operate from SLC-40 at Cape Canaveral Space Force Station and historic LC-39A at Kennedy Space Center. They also operate from SLC-4E at Vandenberg Space Force Base, California, usually for polar launches. Another launch site is being developed at Boca Chica, Texas.&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;administrator&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;CEO: Elon Musk&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;founding_year&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2002&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;launchers&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Falcon | Starship&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;spacecraft&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Dragon&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;launch_library_url&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_launch_count&amp;#34;&lt;/span&gt;:502,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;consecutive_successful_launches&amp;#34;&lt;/span&gt;:24,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;successful_launches&amp;#34;&lt;/span&gt;:487,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;failed_launches&amp;#34;&lt;/span&gt;:14,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pending_launches&amp;#34;&lt;/span&gt;:118,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;consecutive_successful_landings&amp;#34;&lt;/span&gt;:71,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;successful_landings&amp;#34;&lt;/span&gt;:449,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;failed_landings&amp;#34;&lt;/span&gt;:26,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;attempted_landings&amp;#34;&lt;/span&gt;:474,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;info_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://www.spacex.com/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;wiki_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://en.wikipedia.org/wiki/SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;logo_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/images/spacex_logo_20220826094919.png&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;image_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/images/spacex_image_20190207032501.jpeg&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;nation_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/images/spacex_nation_20230531064544.jpg&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;info_urls&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;vid_urls&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[]}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pad&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:80,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/pad/80/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agency_id&amp;#34;&lt;/span&gt;:121,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Space Launch Complex 40&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;info_url&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;wiki_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://en.wikipedia.org/wiki/Cape_Canaveral_Air_Force_Station_Space_Launch_Complex_40&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;map_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://www.google.com/maps?q=28.56194122,-80.57735736&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;latitude&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;28.56194122&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;longitude&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;-80.57735736&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;location&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:12,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/location/12/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Cape Canaveral SFS, FL, USA&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;country_code&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;USA&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Cape Canaveral Space Force Station (CCSFS) is an installation of the United States Space Force&amp;#39;s Space Launch Delta 45, located on Cape Canaveral in Brevard County, Florida.&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;map_image&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/map_images/location_12_20200803142519.jpg&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;timezone_name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;America/New_York&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_launch_count&amp;#34;&lt;/span&gt;:1020,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_landing_count&amp;#34;&lt;/span&gt;:64&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;country_code&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;USA&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;map_image&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/map_images/pad_80_20200803143323.jpg&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_launch_count&amp;#34;&lt;/span&gt;:304,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orbital_launch_attempt_count&amp;#34;&lt;/span&gt;:304&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;webcast_live&amp;#34;&lt;/span&gt;:true,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;image&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/images/falcon2520925_image_20221009234147.png&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;infographic&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;program&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:25,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/program/25/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Starlink&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Starlink is a satellite internet constellation operated by American aerospace company SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agencies&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:121,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/agencies/121/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Commercial&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;image_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/images/starlink_program_20231228154508.jpeg&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;start_date&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2018-02-22T14:17:00Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;end_date&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;info_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://starlink.com&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;wiki_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://en.wikipedia.org/wiki/Starlink&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;mission_patches&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:7,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Space X Starlink Mission Patch&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;priority&amp;#34;&lt;/span&gt;:10,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;image_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/mission_patch_images/space2520x252_mission_patch_20221011205756.png&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agency&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:121,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/agencies/121/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Commercial&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:3,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Communication Constellation&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orbital_launch_attempt_count&amp;#34;&lt;/span&gt;:6943,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;location_launch_attempt_count&amp;#34;&lt;/span&gt;:1020,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pad_launch_attempt_count&amp;#34;&lt;/span&gt;:304,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agency_launch_attempt_count&amp;#34;&lt;/span&gt;:502,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orbital_launch_attempt_count_year&amp;#34;&lt;/span&gt;:94,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;location_launch_attempt_count_year&amp;#34;&lt;/span&gt;:26,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pad_launch_attempt_count_year&amp;#34;&lt;/span&gt;:24,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agency_launch_attempt_count_year&amp;#34;&lt;/span&gt;:53,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;normal&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;7b685ef7-f610-413f-bd4a-cc58aed97be2&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/launch/7b685ef7-f610-413f-bd4a-cc58aed97be2/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;slug&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;falcon-9-block-5-starlink-group-15-3&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Falcon 9 Block 5 | Starlink Group 15-3&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;status&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:8,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;To Be Confirmed&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abbrev&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;TBC&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Awaiting official confirmation - current date is known with some certainty.&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;last_updated&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2025-04-30T19:54:30Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;net&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2025-05-03T18:13:00Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;window_end&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2025-05-03T22:13:00Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;window_start&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2025-05-03T18:13:00Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;net_precision&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:2,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hour&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abbrev&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;HR&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;The T-0 is accurate to the hour.&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;probability&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;weather_concerns&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;holdreason&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;failreason&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;hashtag&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;launch_service_provider&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:121,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/agencies/121/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Commercial&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;rocket&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:8594,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;configuration&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:164,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/config/launcher/164/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Falcon 9&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;family&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Falcon&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;full_name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Falcon 9 Block 5&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;variant&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Block 5&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;mission&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:7186,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Starlink Group 15-3&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;A batch of 26 satellites for the Starlink mega-constellation - SpaceX&amp;#39;s project for space-based Internet communication system.&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;launch_designator&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Communications&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orbit&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:8,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Low Earth Orbit&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abbrev&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;LEO&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agencies&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:121,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/agencies/121/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;featured&amp;#34;&lt;/span&gt;:true,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Commercial&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;country_code&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;USA&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abbrev&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SpX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Space Exploration Technologies Corp., known as SpaceX, is an American aerospace manufacturer and space transport services company headquartered in Hawthorne, California. It was founded in 2002 by entrepreneur Elon Musk with the goal of reducing space transportation costs and enabling the colonization of Mars. SpaceX operates from many pads, on the East Coast of the US they operate from SLC-40 at Cape Canaveral Space Force Station and historic LC-39A at Kennedy Space Center. They also operate from SLC-4E at Vandenberg Space Force Base, California, usually for polar launches. Another launch site is being developed at Boca Chica, Texas.&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;administrator&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;CEO: Elon Musk&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;founding_year&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2002&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;launchers&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Falcon | Starship&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;spacecraft&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Dragon&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;launch_library_url&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_launch_count&amp;#34;&lt;/span&gt;:502,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;consecutive_successful_launches&amp;#34;&lt;/span&gt;:24,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;successful_launches&amp;#34;&lt;/span&gt;:487,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;failed_launches&amp;#34;&lt;/span&gt;:14,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pending_launches&amp;#34;&lt;/span&gt;:118,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;consecutive_successful_landings&amp;#34;&lt;/span&gt;:71,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;successful_landings&amp;#34;&lt;/span&gt;:449,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;failed_landings&amp;#34;&lt;/span&gt;:26,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;attempted_landings&amp;#34;&lt;/span&gt;:474,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;info_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://www.spacex.com/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;wiki_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://en.wikipedia.org/wiki/SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;logo_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/images/spacex_logo_20220826094919.png&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;image_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/images/spacex_image_20190207032501.jpeg&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;nation_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/images/spacex_nation_20230531064544.jpg&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;info_urls&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;vid_urls&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[]}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pad&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:16,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/pad/16/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agency_id&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Space Launch Complex 4E&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Space Launch Complex 4 East (SLC-4E) is a launch site at Vandenberg Space Force Base, California, U.S.\r\n\r\nThe pad was previously used by Atlas and Titan rockets between 1963 and 2005. The pad was built for use by Atlas-Agena rockets, but was later rebuilt to handle Titan rockets.&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;info_url&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;wiki_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://en.wikipedia.org/wiki/Vandenberg_Space_Launch_Complex_4#SLC-4E&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;map_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://www.google.com/maps?q=34.632,-120.611&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;latitude&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;34.632&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;longitude&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;-120.611&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;location&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:11,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/location/11/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Vandenberg SFB, CA, USA&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;country_code&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;USA&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Vandenberg Space Force Base is a United States Space Force Base in Santa Barbara County, California. Established in 1941, Vandenberg Space Force Base is a space launch base, launching spacecraft from the Western Range, and also performs missile testing. The United States Space Force&amp;#39;s Space Launch Delta 30 serves as the host delta for the base, equivalent to an Air Force air base wing. In addition to its military space launch mission, Vandenberg Space Force Base also hosts space launches for civil and commercial space entities, such as NASA and SpaceX.&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;map_image&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/map_images/location_11_20200803142416.jpg&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;timezone_name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;America/Los_Angeles&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_launch_count&amp;#34;&lt;/span&gt;:804,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_landing_count&amp;#34;&lt;/span&gt;:26&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;country_code&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;USA&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;map_image&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/map_images/pad_16_20200803143532.jpg&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_launch_count&amp;#34;&lt;/span&gt;:190,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orbital_launch_attempt_count&amp;#34;&lt;/span&gt;:190&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;webcast_live&amp;#34;&lt;/span&gt;:false,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;image&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/images/falcon2520925_image_20221009234147.png&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;infographic&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;program&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:25,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/program/25/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Starlink&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Starlink is a satellite internet constellation operated by American aerospace company SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agencies&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:121,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/agencies/121/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Commercial&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;image_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/images/starlink_program_20231228154508.jpeg&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;start_date&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2018-02-22T14:17:00Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;end_date&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;info_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://starlink.com&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;wiki_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://en.wikipedia.org/wiki/Starlink&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;mission_patches&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:7,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Space X Starlink Mission Patch&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;priority&amp;#34;&lt;/span&gt;:10,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;image_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/mission_patch_images/space2520x252_mission_patch_20221011205756.png&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agency&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:121,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/agencies/121/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Commercial&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:3,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Communication Constellation&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orbital_launch_attempt_count&amp;#34;&lt;/span&gt;:6944,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;location_launch_attempt_count&amp;#34;&lt;/span&gt;:805,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pad_launch_attempt_count&amp;#34;&lt;/span&gt;:191,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agency_launch_attempt_count&amp;#34;&lt;/span&gt;:503,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orbital_launch_attempt_count_year&amp;#34;&lt;/span&gt;:95,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;location_launch_attempt_count_year&amp;#34;&lt;/span&gt;:19,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pad_launch_attempt_count_year&amp;#34;&lt;/span&gt;:17,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agency_launch_attempt_count_year&amp;#34;&lt;/span&gt;:54,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;normal&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;8ffb4866-43c9-46c1-aaac-05bd37891b0a&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/launch/8ffb4866-43c9-46c1-aaac-05bd37891b0a/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;slug&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;falcon-9-block-5-starlink-group-6-84&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Falcon 9 Block 5 | Starlink Group 6-84&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;status&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:8,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;To Be Confirmed&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abbrev&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;TBC&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Awaiting official confirmation - current date is known with some certainty.&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;last_updated&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2025-05-02T01:01:57Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;net&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2025-05-04T08:48:00Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;window_end&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2025-05-04T12:48:00Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;window_start&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2025-05-04T08:48:00Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;net_precision&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:2,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hour&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abbrev&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;HR&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;The T-0 is accurate to the hour.&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;probability&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;weather_concerns&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;holdreason&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;failreason&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;hashtag&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;launch_service_provider&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:121,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/agencies/121/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Commercial&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;rocket&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:8598,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;configuration&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:164,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/config/launcher/164/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Falcon 9&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;family&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Falcon&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;full_name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Falcon 9 Block 5&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;variant&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Block 5&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;mission&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:7190,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Starlink Group 6-84&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;A batch of 29 satellites for the Starlink mega-constellation - SpaceX&amp;#39;s project for space-based Internet communication system.&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;launch_designator&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Communications&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orbit&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:8,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Low Earth Orbit&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abbrev&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;LEO&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agencies&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:121,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/agencies/121/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;featured&amp;#34;&lt;/span&gt;:true,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Commercial&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;country_code&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;USA&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abbrev&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SpX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Space Exploration Technologies Corp., known as SpaceX, is an American aerospace manufacturer and space transport services company headquartered in Hawthorne, California. It was founded in 2002 by entrepreneur Elon Musk with the goal of reducing space transportation costs and enabling the colonization of Mars. SpaceX operates from many pads, on the East Coast of the US they operate from SLC-40 at Cape Canaveral Space Force Station and historic LC-39A at Kennedy Space Center. They also operate from SLC-4E at Vandenberg Space Force Base, California, usually for polar launches. Another launch site is being developed at Boca Chica, Texas.&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;administrator&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;CEO: Elon Musk&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;founding_year&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2002&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;launchers&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Falcon | Starship&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;spacecraft&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Dragon&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;launch_library_url&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_launch_count&amp;#34;&lt;/span&gt;:502,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;consecutive_successful_launches&amp;#34;&lt;/span&gt;:24,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;successful_launches&amp;#34;&lt;/span&gt;:487,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;failed_launches&amp;#34;&lt;/span&gt;:14,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pending_launches&amp;#34;&lt;/span&gt;:118,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;consecutive_successful_landings&amp;#34;&lt;/span&gt;:71,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;successful_landings&amp;#34;&lt;/span&gt;:449,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;failed_landings&amp;#34;&lt;/span&gt;:26,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;attempted_landings&amp;#34;&lt;/span&gt;:474,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;info_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://www.spacex.com/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;wiki_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://en.wikipedia.org/wiki/SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;logo_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/images/spacex_logo_20220826094919.png&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;image_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/images/spacex_image_20190207032501.jpeg&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;nation_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/images/spacex_nation_20230531064544.jpg&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;info_urls&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;vid_urls&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[]}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pad&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:87,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/pad/87/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agency_id&amp;#34;&lt;/span&gt;:121,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Launch Complex 39A&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;info_url&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;wiki_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://en.wikipedia.org/wiki/Kennedy_Space_Center_Launch_Complex_39#Launch_Pad_39A&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;map_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://www.google.com/maps?q=28.60822681,-80.60428186&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;latitude&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;28.60822681&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;longitude&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;-80.60428186&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;location&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:27,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/location/27/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Kennedy Space Center, FL, USA&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;country_code&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;USA&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;The John F. Kennedy Space Center, located on Merritt Island, Florida, is one of NASA&amp;#39;s ten field centers. Since 1968, KSC has been NASA&amp;#39;s primary launch center of American spaceflight, research, and technology. Launch operations for the Apollo, Skylab and Space Shuttle programs were carried out from Kennedy Space Center Launch Complex 39 and managed by KSC. Located on the east coast of Florida, KSC is adjacent to Cape Canaveral Space Force Station (CCSFS).&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;map_image&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/map_images/location_27_20200803142447.jpg&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;timezone_name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;America/New_York&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_launch_count&amp;#34;&lt;/span&gt;:263,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_landing_count&amp;#34;&lt;/span&gt;:0&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;country_code&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;USA&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;map_image&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/map_images/pad_87_20200803143537.jpg&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_launch_count&amp;#34;&lt;/span&gt;:205,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orbital_launch_attempt_count&amp;#34;&lt;/span&gt;:204&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;webcast_live&amp;#34;&lt;/span&gt;:false,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;image&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/images/falcon2520925_image_20221009234147.png&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;infographic&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;program&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:25,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/program/25/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Starlink&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Starlink is a satellite internet constellation operated by American aerospace company SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agencies&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:121,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/agencies/121/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Commercial&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;image_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/images/starlink_program_20231228154508.jpeg&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;start_date&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2018-02-22T14:17:00Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;end_date&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;info_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://starlink.com&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;wiki_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://en.wikipedia.org/wiki/Starlink&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;mission_patches&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:7,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Space X Starlink Mission Patch&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;priority&amp;#34;&lt;/span&gt;:10,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;image_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/mission_patch_images/space2520x252_mission_patch_20221011205756.png&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agency&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:121,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/agencies/121/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Commercial&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:3,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Communication Constellation&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orbital_launch_attempt_count&amp;#34;&lt;/span&gt;:6945,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;location_launch_attempt_count&amp;#34;&lt;/span&gt;:264,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pad_launch_attempt_count&amp;#34;&lt;/span&gt;:206,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agency_launch_attempt_count&amp;#34;&lt;/span&gt;:504,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orbital_launch_attempt_count_year&amp;#34;&lt;/span&gt;:96,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;location_launch_attempt_count_year&amp;#34;&lt;/span&gt;:12,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pad_launch_attempt_count_year&amp;#34;&lt;/span&gt;:12,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agency_launch_attempt_count_year&amp;#34;&lt;/span&gt;:55,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;normal&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;82aef7fd-9664-4e94-970c-5e99eff1b331&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/launch/82aef7fd-9664-4e94-970c-5e99eff1b331/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;slug&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;long-march-12-satnet-leo-group-tbd&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Long March 12 | SatNet LEO Group TBD?&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;status&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:1,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Go for Launch&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abbrev&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Go&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Current T-0 confirmed by official or reliable sources.&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;last_updated&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2025-04-30T07:27:01Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;net&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2025-05-05T11:05:00Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;window_end&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2025-05-05T11:47:00Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;window_start&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2025-05-05T10:57:00Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;net_precision&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:2,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hour&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abbrev&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;HR&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;The T-0 is accurate to the hour.&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;probability&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;weather_concerns&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;holdreason&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;failreason&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;hashtag&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;launch_service_provider&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:88,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/agencies/88/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;China Aerospace Science and Technology Corporation&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Government&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;rocket&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:8600,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;configuration&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:517,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/config/launcher/517/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Long March 12&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;family&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Long March&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;full_name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Long March 12&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;variant&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;12&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;mission&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:7192,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SatNet LEO Group TBD?&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;A batch of Low Earth Orbit communication satellites for the Chinese state owned SatNet constellation operated by the China Satellite Network Group.\r\n\r\nThe constellation will eventually consists of 13000 satellites.&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;launch_designator&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Communications&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orbit&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:8,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Low Earth Orbit&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abbrev&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;LEO&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agencies&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;info_urls&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;vid_urls&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[]}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pad&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:219,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/pad/219/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agency_id&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Commercial LC-2&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;info_url&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;wiki_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://en.wikipedia.org/wiki/Wenchang_Commercial_Space_Launch_Site&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;map_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://www.google.com/maps?q=19.59755,110.936481&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;latitude&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;19.59755&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;longitude&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;110.936481&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;location&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:8,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/location/8/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Wenchang Space Launch Site, People&amp;#39;s Republic of China&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;country_code&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;CHN&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;The Wenchang Space Launch Site is a rocket launch site located in Wenchang on the island of Hainan, in China.\r\n\r\nFormally a suborbital test center, it currently serves as China&amp;#39;s southernmost spaceport. The site was selected for its low latitude, 19° north of the equator, allowing for larger payloads to be launched. It is capable of launching the Long March 5, the heaviest Chinese rocket. Unlike launch facilities on the mainland, Wenchang uses its seaport for deliveries.&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;map_image&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/map_images/location_8_20200803142445.jpg&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;timezone_name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Asia/Shanghai&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_launch_count&amp;#34;&lt;/span&gt;:38,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_landing_count&amp;#34;&lt;/span&gt;:0&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;country_code&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;CHN&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;map_image&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/map_images/pad_commercial_lc-2_20231225074048.jpg&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_launch_count&amp;#34;&lt;/span&gt;:1,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orbital_launch_attempt_count&amp;#34;&lt;/span&gt;:1&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;webcast_live&amp;#34;&lt;/span&gt;:false,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;image&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/images/cz-12_on_its_la_image_20241128132937.jpg&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;infographic&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;program&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orbital_launch_attempt_count&amp;#34;&lt;/span&gt;:6946,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;location_launch_attempt_count&amp;#34;&lt;/span&gt;:39,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pad_launch_attempt_count&amp;#34;&lt;/span&gt;:2,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agency_launch_attempt_count&amp;#34;&lt;/span&gt;:521,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orbital_launch_attempt_count_year&amp;#34;&lt;/span&gt;:97,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;location_launch_attempt_count_year&amp;#34;&lt;/span&gt;:5,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pad_launch_attempt_count_year&amp;#34;&lt;/span&gt;:1,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agency_launch_attempt_count_year&amp;#34;&lt;/span&gt;:20,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;normal&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;d5e8b971-0138-42d7-a6ba-7d43bf529d5e&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/launch/d5e8b971-0138-42d7-a6ba-7d43bf529d5e/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;slug&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;falcon-9-block-5-starlink-group-6-93&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Falcon 9 Block 5 | Starlink Group 6-93&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;status&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:8,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;To Be Confirmed&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abbrev&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;TBC&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Awaiting official confirmation - current date is known with some certainty.&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;last_updated&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2025-05-01T02:37:15Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;net&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2025-05-06T00:48:00Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;window_end&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2025-05-06T04:48:00Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;window_start&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2025-05-06T00:48:00Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;net_precision&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:2,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hour&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abbrev&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;HR&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;The T-0 is accurate to the hour.&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;probability&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;weather_concerns&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;holdreason&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;failreason&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;hashtag&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;launch_service_provider&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:121,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/agencies/121/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Commercial&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;rocket&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:8599,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;configuration&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:164,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/config/launcher/164/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Falcon 9&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;family&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Falcon&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;full_name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Falcon 9 Block 5&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;variant&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Block 5&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;mission&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:7191,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Starlink Group 6-93&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;A batch of satellites for the Starlink mega-constellation - SpaceX&amp;#39;s project for space-based Internet communication system.&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;launch_designator&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Communications&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orbit&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:8,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Low Earth Orbit&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abbrev&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;LEO&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agencies&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:121,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/agencies/121/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;featured&amp;#34;&lt;/span&gt;:true,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Commercial&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;country_code&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;USA&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abbrev&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SpX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Space Exploration Technologies Corp., known as SpaceX, is an American aerospace manufacturer and space transport services company headquartered in Hawthorne, California. It was founded in 2002 by entrepreneur Elon Musk with the goal of reducing space transportation costs and enabling the colonization of Mars. SpaceX operates from many pads, on the East Coast of the US they operate from SLC-40 at Cape Canaveral Space Force Station and historic LC-39A at Kennedy Space Center. They also operate from SLC-4E at Vandenberg Space Force Base, California, usually for polar launches. Another launch site is being developed at Boca Chica, Texas.&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;administrator&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;CEO: Elon Musk&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;founding_year&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2002&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;launchers&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Falcon | Starship&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;spacecraft&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Dragon&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;launch_library_url&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_launch_count&amp;#34;&lt;/span&gt;:502,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;consecutive_successful_launches&amp;#34;&lt;/span&gt;:24,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;successful_launches&amp;#34;&lt;/span&gt;:487,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;failed_launches&amp;#34;&lt;/span&gt;:14,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pending_launches&amp;#34;&lt;/span&gt;:118,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;consecutive_successful_landings&amp;#34;&lt;/span&gt;:71,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;successful_landings&amp;#34;&lt;/span&gt;:449,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;failed_landings&amp;#34;&lt;/span&gt;:26,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;attempted_landings&amp;#34;&lt;/span&gt;:474,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;info_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://www.spacex.com/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;wiki_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://en.wikipedia.org/wiki/SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;logo_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/images/spacex_logo_20220826094919.png&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;image_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/images/spacex_image_20190207032501.jpeg&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;nation_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/images/spacex_nation_20230531064544.jpg&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;info_urls&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;vid_urls&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[]}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pad&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:80,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/pad/80/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agency_id&amp;#34;&lt;/span&gt;:121,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Space Launch Complex 40&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;info_url&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;wiki_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://en.wikipedia.org/wiki/Cape_Canaveral_Air_Force_Station_Space_Launch_Complex_40&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;map_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://www.google.com/maps?q=28.56194122,-80.57735736&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;latitude&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;28.56194122&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;longitude&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;-80.57735736&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;location&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:12,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/location/12/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Cape Canaveral SFS, FL, USA&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;country_code&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;USA&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Cape Canaveral Space Force Station (CCSFS) is an installation of the United States Space Force&amp;#39;s Space Launch Delta 45, located on Cape Canaveral in Brevard County, Florida.&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;map_image&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/map_images/location_12_20200803142519.jpg&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;timezone_name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;America/New_York&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_launch_count&amp;#34;&lt;/span&gt;:1020,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_landing_count&amp;#34;&lt;/span&gt;:64&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;country_code&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;USA&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;map_image&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/map_images/pad_80_20200803143323.jpg&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_launch_count&amp;#34;&lt;/span&gt;:304,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orbital_launch_attempt_count&amp;#34;&lt;/span&gt;:304&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;webcast_live&amp;#34;&lt;/span&gt;:false,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;image&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/images/falcon2520925_image_20221009234147.png&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;infographic&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;program&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:25,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/program/25/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Starlink&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Starlink is a satellite internet constellation operated by American aerospace company SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agencies&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:121,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/agencies/121/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Commercial&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;image_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/images/starlink_program_20231228154508.jpeg&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;start_date&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2018-02-22T14:17:00Z&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;end_date&amp;#34;&lt;/span&gt;:null,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;info_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://starlink.com&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;wiki_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://en.wikipedia.org/wiki/Starlink&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;mission_patches&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:7,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Space X Starlink Mission Patch&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;priority&amp;#34;&lt;/span&gt;:10,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;image_url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://thespacedevs-prod.nyc3.digitaloceanspaces.com/media/mission_patch_images/space2520x252_mission_patch_20221011205756.png&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agency&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:121,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/agencies/121/&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SpaceX&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Commercial&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;:3,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Communication Constellation&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}]&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orbital_launch_attempt_count&amp;#34;&lt;/span&gt;:6947,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;location_launch_attempt_count&amp;#34;&lt;/span&gt;:1021,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pad_launch_attempt_count&amp;#34;&lt;/span&gt;:305,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agency_launch_attempt_count&amp;#34;&lt;/span&gt;:505,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orbital_launch_attempt_count_year&amp;#34;&lt;/span&gt;:98,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;location_launch_attempt_count_year&amp;#34;&lt;/span&gt;:27,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pad_launch_attempt_count_year&amp;#34;&lt;/span&gt;:25,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;agency_launch_attempt_count_year&amp;#34;&lt;/span&gt;:56,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;normal&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}]}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;현재까지-준비된-파일-구조&#34;&gt;현재까지 준비된 파일 구조&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일 구조는 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;airflow 폴더 생성&lt;/li&gt;&#xA;&lt;li&gt;dags 폴더 생성&lt;/li&gt;&#xA;&lt;li&gt;dags 폴더 내에서 &lt;code&gt;step06_rocket_image_download_filename.py&lt;/code&gt; 파일&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tree&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── README.md&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── airflow&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   └── dags&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│       ├── step06_rocket_image_download_filename.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── install_airflow.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;└── requirements.txt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;파이썬-파일-작업&#34;&gt;파이썬 파일 작업&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일명 : step06_rocket_image_download_filename.py&lt;/li&gt;&#xA;&lt;li&gt;코드는 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; datetime &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; datetime, timedelta&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; airflow &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; DAG&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; airflow.operators.python &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; PythonOperator&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; airflow.operators.bash &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; BashOperator&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; requests&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; urllib.parse &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; urlparse&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; urllib.parse&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# macOS에서 Airflow 네트워크 요청 문제 해결&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;environ[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NO_PROXY&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;*&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# DAG의 기본 인자 설정&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;default_args &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;owner&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;airflow&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;depends_on_past&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;start_date&amp;#39;&lt;/span&gt;: datetime(&lt;span style=&#34;color:#ae81ff&#34;&gt;2024&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;email_on_failure&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;email_on_retry&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;retries&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;retry_delay&amp;#39;&lt;/span&gt;: timedelta(minutes&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;setup_airflow_home&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;Airflow 홈 디렉토리 설정 및 환경 변수 설정&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;try&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 현재 작업 디렉토리 확인&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        current_dir &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;getcwd()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# Airflow 홈 디렉토리 설정&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        airflow_home &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;join(current_dir, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;airflow&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 환경 변수 설정&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;environ[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;AIRFLOW_HOME&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; airflow_home&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;AIRFLOW_HOME 설정됨: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;airflow_home&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;AIRFLOW_HOME 환경 변수 설정 완료&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;except&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Exception&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; e:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;AIRFLOW_HOME 설정 중 오류 발생: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;str(e)&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;raise&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;get_launch_images&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;Launch Library 2 API에서 로켓 발사 이미지 URL을 가져오는 함수&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    api_url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/launch/upcoming/?limit=5&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;API 요청 시작: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;api_url&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;try&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;NO_PROXY 환경변수: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;environ&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NO_PROXY&amp;#39;&lt;/span&gt;)&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        response &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; requests&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(api_url, timeout&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;API 응답 받음: 상태 코드 &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;response&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;status_code&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; response&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;status_code &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;200&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; response&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            launches &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; data[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;results&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            image_urls &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [launch[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;image&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; launch &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; launches &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; launch&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;image&amp;#39;&lt;/span&gt;)]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;총 &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;len(image_urls)&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;개의 이미지 URL 찾음&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; image_urls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;raise&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Exception&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;API 요청 실패: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;response&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;status_code&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;except&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Exception&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; e:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;API 요청 중 오류 발생: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;str(e)&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; [&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://spacelaunchnow-prod-east.nyc3.digitaloceanspaces.com/media/launch_images/falcon2520925_image_20230804070848.jpg&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://spacelaunchnow-prod-east.nyc3.digitaloceanspaces.com/media/launcher_images/falcon_9_block__image_20210506060831.jpg&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        ]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;create_rocket_images_dir&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;rocket_images 디렉토리 생성 - airflow 디렉토리 내에만 생성&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;try&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        airflow_home &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;environ&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;AIRFLOW_HOME&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; airflow_home:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;raise&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Exception&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;AIRFLOW_HOME 환경변수가 설정되지 않았습니다.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# rocket_images 디렉토리 경로 설정 - airflow 디렉토리 내에 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        image_dir &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;join(airflow_home, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;rocket_images&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;makedirs(image_dir, exist_ok&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;rocket_images 디렉토리 생성됨: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;image_dir&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; image_dir&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;except&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Exception&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; e:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;디렉토리 생성 중 오류 발생: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;str(e)&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;raise&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;create_output_dir&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;output 디렉토리 생성 - airflow 디렉토리 내에만 생성&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;try&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        airflow_home &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;environ&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;AIRFLOW_HOME&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; airflow_home:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;raise&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Exception&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;AIRFLOW_HOME 환경변수가 설정되지 않았습니다.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# output 디렉토리 경로 설정 - airflow 디렉토리 내에 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        output_dir &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;join(airflow_home, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;output&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;makedirs(output_dir, exist_ok&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;output 디렉토리 생성됨: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;output_dir&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; output_dir&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;except&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Exception&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; e:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;디렉토리 생성 중 오류 발생: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;str(e)&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;raise&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;download_json_data&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;Launch Library 2 API에서 JSON 데이터를 다운로드하는 함수&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;try&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;JSON 데이터 다운로드 시작&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        api_url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ll.thespacedevs.com/2.2.0/launch/upcoming/?limit=5&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        response &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; requests&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(api_url, timeout&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; response&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;status_code &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;200&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; response&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# output 디렉토리에 JSON 파일 저장&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            output_dir &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; create_output_dir()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            json_file_path &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;join(output_dir, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;launch_data.json&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;with&lt;/span&gt; open(json_file_path, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;w&amp;#39;&lt;/span&gt;, encoding&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; f:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                json&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;dump(data, f, ensure_ascii&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;, indent&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;JSON 데이터 저장 완료: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;json_file_path&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;raise&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Exception&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;API 요청 실패: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;response&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;status_code&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;except&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Exception&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; e:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;JSON 데이터 다운로드 중 오류 발생: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;str(e)&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;raise&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;download_images&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;로켓 발사 이미지를 다운로드하는 함수&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;try&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;download_images 함수 시작&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# JSON 데이터 가져오기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; download_json_data()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        launches &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; data[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;results&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# AIRFLOW_HOME 환경변수 가져오기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        airflow_home &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;environ&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;AIRFLOW_HOME&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; airflow_home:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;raise&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Exception&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;AIRFLOW_HOME 환경변수가 설정되지 않았습니다.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# rocket_images 디렉토리 경로 설정 - airflow 디렉토리 내에 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        image_dir &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;join(airflow_home, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;rocket_images&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;makedirs(image_dir, exist_ok&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;저장 경로: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;abspath(image_dir)&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        downloaded_paths &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; []&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; idx, launch &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; enumerate(launches):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;try&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; launch&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;image&amp;#39;&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#66d9ef&#34;&gt;continue&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; launch[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;image&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;이미지 다운로드 시도 &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;idx&lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;url&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                response &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; requests&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(url, timeout&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; response&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;status_code &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;200&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#75715e&#34;&gt;# 파일 이름 생성 (로켓 이름과 날짜 사용)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    rocket_name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; launch&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;rocket_&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;idx &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    launch_date &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; launch&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;net&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;split(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;T&amp;#39;&lt;/span&gt;)[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]  &lt;span style=&#34;color:#75715e&#34;&gt;# 날짜만 추출&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    safe_name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;join(c &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; c &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; rocket_name &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; c&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;isalnum() &lt;span style=&#34;color:#f92672&#34;&gt;or&lt;/span&gt; c &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39; &amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;-&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_&amp;#39;&lt;/span&gt;))&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rstrip()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    file_extension &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;splitext(urlparse(url)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path)[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;or&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;.jpg&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    file_name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;safe_name&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;_&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;launch_date&lt;span style=&#34;color:#e6db74&#34;&gt;}{&lt;/span&gt;file_extension&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    file_path &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;join(image_dir, file_name)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#66d9ef&#34;&gt;with&lt;/span&gt; open(file_path, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;wb&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; f:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        f&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;write(response&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;content)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    downloaded_paths&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;append(file_path)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;이미지 저장 성공: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;file_path&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;이미지 다운로드 실패 - 상태 코드: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;response&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;status_code&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;except&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Exception&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; e:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;개별 이미지 다운로드 실패 (URL: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;url&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;): &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;str(e)&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;총 &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;len(downloaded_paths)&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;개의 이미지 다운로드 완료&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;except&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Exception&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; e:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;전체 프로세스 실패: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;str(e)&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;오류 발생: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;str(e)&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# DAG 정의&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dag &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; DAG(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;step06_rocket_image_download&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    default_args&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;default_args,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    description&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;로켓 발사 이미지 다운로드&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    schedule_interval&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;timedelta(days&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    catchup&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# AIRFLOW_HOME 설정 태스크&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;setup_env_task &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; PythonOperator(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    task_id&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;setup_airflow_home&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    python_callable&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;setup_airflow_home,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    dag&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;dag&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Hello Airflow 태스크&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hello_task &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; BashOperator(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    task_id&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hello_task&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    bash_command&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;echo &amp;#34;Hello Airflow&amp;#34; &amp;amp;&amp;amp; echo &amp;#34;AIRFLOW_HOME: $AIRFLOW_HOME&amp;#34;&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    dag&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;dag&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 디렉토리 생성 태스크&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;create_dir_task &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; PythonOperator(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    task_id&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;create_dir_task&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    python_callable&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;create_rocket_images_dir,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    dag&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;dag&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# JSON 데이터 다운로드 태스크&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;download_json_task &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; PythonOperator(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    task_id&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;download_json_data&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    python_callable&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;download_json_data,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    dag&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;dag&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 이미지 다운로드 태스크&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;download_task &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; PythonOperator(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    task_id&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;download_rocket_images&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    python_callable&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;download_images,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    dag&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;dag&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Task 의존성 설정&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;setup_env_task &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; hello_task &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; create_dir_task &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; download_json_task &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; download_task&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;테스트&#34;&gt;테스트&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일 작성이 완료가 되면 Airflow 실행을 할 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ airflow db reset -y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ airflow db init&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;사용자 생성&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ airflow users create &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    --username admin &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    --firstname admin &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    --lastname admin &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    --role Admin &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    --email admin@example.com &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    --password &lt;span style=&#34;color:#ae81ff&#34;&gt;1234&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;웹서버 실행&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ airflow webserver -p &lt;span style=&#34;color:#ae81ff&#34;&gt;8080&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;다른 bash 터미널 열고 진행&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ export AIRFLOW_HOME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;pwd&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;/airflow&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ airflow scheduler&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/05/airflow_api_img_download/Screenshot_2025-05-02_at_11.49.42_AM.png&#34; alt=&#34;Screenshot 2025-05-02 at 11.49.42 AM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Windows 11 GPU 개발환경 설정 (ver. 2025.04)</title>
      <link>https://dschloe.github.io/programming/2025/04/windows_11_gpu_environment/</link>
      <pubDate>Fri, 25 Apr 2025 14:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/04/windows_11_gpu_environment/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;내 PC의 GPU 환경 확인 부터 딥러닝 설치까지, Windows 11 환경에서 진행&lt;/li&gt;&#xA;&lt;li&gt;실패 없이 한번에 설치가 되었다!&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;내-pc의-gpu-환경-확인&#34;&gt;내 PC의 GPU 환경 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;시스템 &amp;gt; 디스플레이 &amp;gt; 고급 디스플레이에서 확인&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/04/windows_11_gpu_environment/image.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;장치 관리자에서 확인&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/04/windows_11_gpu_environment/image%201.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;작업 관리자 &amp;gt; 성능 탭에서 확인&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/04/windows_11_gpu_environment/image%202.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;현재 NVIDIA GeForce RTX 4060 그래픽 카드 사용중인 것 확인&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;nvidia-driver-설치&#34;&gt;NVIDIA Driver 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치 링크 : &lt;a href=&#34;https://www.nvidia.com/en-us/drivers/&#34;&gt;https://www.nvidia.com/en-us/drivers/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/04/windows_11_gpu_environment/image%203.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;GeForce Game Ready Driver 다운로&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/04/windows_11_gpu_environment/image%204.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/04/windows_11_gpu_environment/image%205.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다운로드 받은 파일 관리자 권한으로 실행 후, 다음 그림에서 OK 버튼 클릭&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/04/windows_11_gpu_environment/image%206.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>MSSQL Connect to Python (ver. 2025.04)</title>
      <link>https://dschloe.github.io/programming/2025/04/mssql_conn_python_202504/</link>
      <pubDate>Wed, 23 Apr 2025 00:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/04/mssql_conn_python_202504/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SSMS에 계정 추가&lt;/li&gt;&#xA;&lt;li&gt;계정 추가 후 Python 라이브러리 활용해서 연동&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;계정-추가&#34;&gt;계정 추가&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 Security(보안) &amp;gt; Logins(로그인)에서 마우스 우클릭 진행&#xA;&lt;ul&gt;&#xA;&lt;li&gt;New Login 선택&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/04/mssql_conn_python_202504/image.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 화면에서 Loing Name은 evan-tester2 명명, Password는 1234로 지정함&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Default Database는 BikeStores로 지정함&lt;/li&gt;&#xA;&lt;li&gt;Enforce password policy 체크 박스 해제 (테스트용)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/04/mssql_conn_python_202504/image%201.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;왼쪽 메뉴에서 User Mapping 메뉴 선택&#xA;&lt;ul&gt;&#xA;&lt;li&gt;하단 옵션에서 db_datawriter 옵션 선택&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/04/mssql_conn_python_202504/image%202.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;왼쪽 메뉴에서 Server Roles 선택&#xA;&lt;ul&gt;&#xA;&lt;li&gt;dbcreator, public, sysadmin 선택&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;선택이 완료되었다면 OK 버튼 클릭&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/04/mssql_conn_python_202504/image%203.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker 활용한 django 예제</title>
      <link>https://dschloe.github.io/programming/2025/03/docker_django_example/</link>
      <pubDate>Thu, 27 Mar 2025 04:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/03/docker_django_example/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Docker에서 django 개발환경 만들기&lt;/li&gt;&#xA;&lt;li&gt;간단한 웹개발 실습&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;참고자료&#34;&gt;참고자료&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;한 권으로 배우는 도커 &amp;amp; 쿠버네티스&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교재 구매 링크 : &lt;a href=&#34;https://product.kyobobook.co.kr/detail/S000213057687&#34;&gt;https://product.kyobobook.co.kr/detail/S000213057687&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;실습사전조건&#34;&gt;실습사전조건&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가상환경으로 Ubuntu 24.04 LTS&lt;/li&gt;&#xA;&lt;li&gt;make : 소스코드를 컴파일할 때 사용하는 자동 빌드 도구이다.&lt;/li&gt;&#xA;&lt;li&gt;build-essential : C/C++ 컴파일에 필요한 기본 컴파일 도구 모음이다.&lt;/li&gt;&#xA;&lt;li&gt;libssl-dev : SSL/TLS 통신을 위한 OpenSSL 라이브러리 개발 헤더이다.&lt;/li&gt;&#xA;&lt;li&gt;zlib1g-dev : 압축 알고리즘용 zlib 라이브러리 개발 파일이다.&lt;/li&gt;&#xA;&lt;li&gt;libbz2-dev : bzip2 압축 알고리즘용 개발 라이브러리이다.&lt;/li&gt;&#xA;&lt;li&gt;libreadline-dev : 터미널에서 편리한 입력을 가능하게 하는 readline 개발 라이브러리이다.&lt;/li&gt;&#xA;&lt;li&gt;libsqlite3-dev : SQLite 데이터베이스 개발에 필요한 라이브러리이다.&lt;/li&gt;&#xA;&lt;li&gt;wget : 파일을 HTTP, HTTPS, FTP로 다운로드할 수 있는 명령줄 도구이다.&lt;/li&gt;&#xA;&lt;li&gt;curl : 다양한 프로토콜로 데이터를 송수신할 수 있는 명령줄 도구이다.&lt;/li&gt;&#xA;&lt;li&gt;llvm : C/C++ 등의 언어를 위한 컴파일러 인프라 구조이다.&lt;/li&gt;&#xA;&lt;li&gt;libncurses5-dev : 터미널 기반 UI(텍스트 기반 사용자 인터페이스)를 만들기 위한 ncurses 라이브러리의 개발 파일이다.&lt;/li&gt;&#xA;&lt;li&gt;xz-utils : .xz 형식의 압축을 처리할 수 있는 도구이다.&lt;/li&gt;&#xA;&lt;li&gt;tk-dev : GUI 애플리케이션을 만들 때 사용하는 Tk GUI 툴킷 개발 파일이다.&lt;/li&gt;&#xA;&lt;li&gt;libxml2-dev : XML 파싱 및 처리 기능을 제공하는 libxml2의 개발 헤더 및 라이브러리이다.&lt;/li&gt;&#xA;&lt;li&gt;libxmlsec1-dev : XML 디지털 서명 및 암호화를 위한 libxmlsec1의 개발 라이브러리이다.&lt;/li&gt;&#xA;&lt;li&gt;libffi-dev : 외부 함수 호출을 위한 외부 함수 인터페이스 개발 라이브러리이다.&lt;/li&gt;&#xA;&lt;li&gt;liblzma-dev : LZMA 압축 알고리즘을 위한 개발 라이브러리이다.&lt;/li&gt;&#xA;&lt;li&gt;python3-openssl : 파이썬에서 OpenSSL을 사용할 수 있도록 하는 패키지이다.&lt;/li&gt;&#xA;&lt;li&gt;git : 분산 버전 관리 시스템으로, 소스코드 형상 관리를 도와준다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev python3-openssl git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;pyenv-설치&#34;&gt;pyenv 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 명령어로 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ curl https://pyenv.run | bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                 Dload  Upload   Total   Spent    Left  Speed&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;270&lt;/span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;270&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;404&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; --:--:-- --:--:-- --:--:--   &lt;span style=&#34;color:#ae81ff&#34;&gt;404&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Cloning into &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/home/evanjjh/.pyenv&amp;#39;&lt;/span&gt;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Enumerating objects: 1365, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Counting objects: 100% &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;1365/1365&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Compressing objects: 100% &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;725/725&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Total &lt;span style=&#34;color:#ae81ff&#34;&gt;1365&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;delta 826&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, reused &lt;span style=&#34;color:#ae81ff&#34;&gt;806&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;delta 507&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, pack-reused &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;from 0&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Receiving objects: 100% &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;1365/1365&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, 1.14 MiB | 7.48 MiB/s, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Resolving deltas: 100% &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;826/826&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Cloning into &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/home/evanjjh/.pyenv/plugins/pyenv-doctor&amp;#39;&lt;/span&gt;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Enumerating objects: 11, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Counting objects: 100% &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;11/11&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Compressing objects: 100% &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;9/9&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Total &lt;span style=&#34;color:#ae81ff&#34;&gt;11&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;delta 1&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, reused &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;delta 0&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, pack-reused &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;from 0&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Receiving objects: 100% &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;11/11&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, 38.72 KiB | 1.68 MiB/s, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Resolving deltas: 100% &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;1/1&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Cloning into &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/home/evanjjh/.pyenv/plugins/pyenv-update&amp;#39;&lt;/span&gt;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Enumerating objects: 10, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Counting objects: 100% &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;10/10&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Compressing objects: 100% &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;6/6&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Total &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;delta 1&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, reused &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;delta 0&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, pack-reused &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;from 0&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Receiving objects: 100% &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;10/10&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Resolving deltas: 100% &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;1/1&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Cloning into &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/home/evanjjh/.pyenv/plugins/pyenv-virtualenv&amp;#39;&lt;/span&gt;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Enumerating objects: 64, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Counting objects: 100% &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;64/64&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Compressing objects: 100% &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;57/57&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Total &lt;span style=&#34;color:#ae81ff&#34;&gt;64&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;delta 10&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, reused &lt;span style=&#34;color:#ae81ff&#34;&gt;23&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;delta 0&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, pack-reused &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;from 0&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Receiving objects: 100% &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;64/64&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, 43.08 KiB | 2.15 MiB/s, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Resolving deltas: 100% &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;10/10&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;WARNING: seems you still have not added &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;pyenv&amp;#39;&lt;/span&gt; to the load path.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Load pyenv automatically by appending&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# the following to &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# ~/.bash_profile if it exists, otherwise ~/.profile (for login shells)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# and ~/.bashrc (for interactive shells) :&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export PYENV_ROOT&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$HOME&lt;span style=&#34;color:#e6db74&#34;&gt;/.pyenv&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; -d $PYENV_ROOT/bin &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; export PATH&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$PYENV_ROOT&lt;span style=&#34;color:#e6db74&#34;&gt;/bin:&lt;/span&gt;$PATH&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;eval &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;pyenv init - bash&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Restart your shell for the changes to take effect.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Load pyenv-virtualenv automatically by adding&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# the following to ~/.bashrc:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;eval &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;pyenv virtualenv-init -&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;bashrc-파일-설정&#34;&gt;&lt;code&gt;.bashrc&lt;/code&gt; 파일 설정&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 vim을 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt-get update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt-get install -y vim&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;.bashrc&lt;/code&gt; 파일을 연다&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vi ~/.bashrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;파일을 열면 다양한 환경변수 설정 코드가 들어 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/docker_django_example/image.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>VS Code에서 가상머신 접속</title>
      <link>https://dschloe.github.io/programming/2025/03/vscode_virtual_machine_connect/</link>
      <pubDate>Sun, 23 Mar 2025 04:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/03/vscode_virtual_machine_connect/</guid>
      <description>&lt;h2 id=&#34;사전조건&#34;&gt;사전조건&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사전에 가상 머신, VS Code는 설치가 되어 있다고 가정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;가상머신-네트워크-설정&#34;&gt;가상머신 네트워크 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Putty로 가상 머신 네트워크에 접속하는 방법 참고 :&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;vs-code-ssh-파일-설정&#34;&gt;VS Code SSH 파일 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Extension에서 SSH 검색 후 &lt;code&gt;Remote - SSH&lt;/code&gt; 선택&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/vscode_virtual_machine_connect/image.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SSH Config 설정&#xA;&lt;ul&gt;&#xA;&lt;li&gt;F1 누르고 SSH 입력&lt;/li&gt;&#xA;&lt;li&gt;메뉴들 중 Connect to Host 선택&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/vscode_virtual_machine_connect/image%201.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Configure SSH Hosts 선택&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/vscode_virtual_machine_connect/image%202.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;.ssh\config&lt;/code&gt; 메뉴 선택&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/vscode_virtual_machine_connect/image%203.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 기존에 세팅한 옵션 확인&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/vscode_virtual_machine_connect/image%204.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음과 같이 설정&#xA;&lt;ul&gt;&#xA;&lt;li&gt;User는 가상환경 만들 때 작성했던 username이다.&lt;/li&gt;&#xA;&lt;li&gt;즉 Computer 이름인 evan-master를 기재한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/vscode_virtual_machine_connect/image%205.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>VirtualBox 네트워크 설정하기</title>
      <link>https://dschloe.github.io/programming/2025/03/virtualbox_network_settings/</link>
      <pubDate>Sat, 22 Mar 2025 04:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/03/virtualbox_network_settings/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;VirtualBox에서 네트워크 환경을 구축한다.&lt;/li&gt;&#xA;&lt;li&gt;Putty 프로그램을 통해 Windows 11에서 Ubuntu에 접속한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;virtualbox-에서-네트워크-환경-구축&#34;&gt;VirtualBox 에서 네트워크 환경 구축&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;네트워크 관리자 선택&lt;/li&gt;&#xA;&lt;li&gt;NAT 네트워크 탭 선택&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/virtualbox_network_settings/image.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/virtualbox_network_settings/image%201.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;만들기 버튼 클릭, DHCP 활성화 체크 된 상태 유지&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/virtualbox_network_settings/image%202.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가상환경 설정에서 네트워크 선택 (어댑터 1 선택)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/virtualbox_network_settings/image%203.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가상환경 재 실행 및 포트번호 확인&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;inet 10.0.2.15&lt;/code&gt; 번호는 사용자 환경에 따라 다를 수 있음&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ifconfig&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;enp0s3: flags&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;4163&amp;lt;UP,BROADCAST,RUNNING,MULTICAST&amp;gt;  mtu &lt;span style=&#34;color:#ae81ff&#34;&gt;1500&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        inet 10.0.2.15  netmask 255.255.255.0  broadcast 10.0.2.255&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        inet6 fe80::a00:27ff:fecb:782d  prefixlen &lt;span style=&#34;color:#ae81ff&#34;&gt;64&lt;/span&gt;  scopeid 0x20&amp;lt;link&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        ether 08:00:27:cb:78:2d  txqueuelen &lt;span style=&#34;color:#ae81ff&#34;&gt;1000&lt;/span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;Ethernet&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        RX packets &lt;span style=&#34;color:#ae81ff&#34;&gt;14&lt;/span&gt;  bytes &lt;span style=&#34;color:#ae81ff&#34;&gt;3218&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;3.2 KB&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        RX errors &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  dropped &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  overruns &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  frame &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        TX packets &lt;span style=&#34;color:#ae81ff&#34;&gt;84&lt;/span&gt;  bytes &lt;span style=&#34;color:#ae81ff&#34;&gt;10350&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;10.3 KB&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        TX errors &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  dropped &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; overruns &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  carrier &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  collisions &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lo: flags&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;73&amp;lt;UP,LOOPBACK,RUNNING&amp;gt;  mtu &lt;span style=&#34;color:#ae81ff&#34;&gt;65536&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        inet 127.0.0.1  netmask 255.0.0.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        inet6 ::1  prefixlen &lt;span style=&#34;color:#ae81ff&#34;&gt;128&lt;/span&gt;  scopeid 0x10&amp;lt;host&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        loop  txqueuelen &lt;span style=&#34;color:#ae81ff&#34;&gt;1000&lt;/span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;Local Loopback&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        RX packets &lt;span style=&#34;color:#ae81ff&#34;&gt;37&lt;/span&gt;  bytes &lt;span style=&#34;color:#ae81ff&#34;&gt;4528&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;4.5 KB&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        RX errors &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  dropped &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  overruns &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  frame &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        TX packets &lt;span style=&#34;color:#ae81ff&#34;&gt;37&lt;/span&gt;  bytes &lt;span style=&#34;color:#ae81ff&#34;&gt;4528&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;4.5 KB&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        TX errors &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  dropped &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; overruns &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  carrier &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  collisions &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;포트포워딩&#34;&gt;포트포워딩&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;네트워크 관리자에서 &lt;code&gt;NAT 네트워크 선택&lt;/code&gt; - &lt;code&gt;포트 포워딩&lt;/code&gt; 지정후, 다음과 같이 지정&#xA;&lt;ul&gt;&#xA;&lt;li&gt;호스트 포트번호 : 22&lt;/li&gt;&#xA;&lt;li&gt;게스트 IP : evan-master의 IP 입력&lt;/li&gt;&#xA;&lt;li&gt;게스트 포트번호 : 22 지정&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/virtualbox_network_settings/image%204.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>VirtualBox Ubuntu Desktop 24.04 설치</title>
      <link>https://dschloe.github.io/programming/2025/03/virtualbox_ubuntu_desktop_2404/</link>
      <pubDate>Fri, 21 Mar 2025 04:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/03/virtualbox_ubuntu_desktop_2404/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;VirtualBox에서 Ubuntu Desktop 설치&lt;/li&gt;&#xA;&lt;li&gt;윈도우-리눅스 양방햔 간 복사-붙여넣기 구현&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;virtualbox-extension-pack-다운로드&#34;&gt;VirtualBox Extension Pack 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;VirtualBox Extension Pack &lt;strong&gt;:&lt;/strong&gt; &lt;a href=&#34;https://www.virtualbox.org/wiki/Downloads&#34;&gt;https://www.virtualbox.org/wiki/Downloads&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;설치 시 VirtualBox 버전과 호환되어야 함&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/virtualbox_ubuntu_desktop_2404/image.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/virtualbox_ubuntu_desktop_2404/image%201.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;ubuntu-desktop-설치파일-다운로드&#34;&gt;Ubuntu Desktop 설치파일 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ubuntu Desktop ISO : &lt;a href=&#34;https://ubuntu.com/download/desktop&#34;&gt;https://ubuntu.com/download/desktop&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/virtualbox_ubuntu_desktop_2404/image%202.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;virtualbox-가상머신-만들기&#34;&gt;VirtualBox 가상머신 만들기&lt;/h2&gt;&#xA;&lt;h3 id=&#34;확장-패키지-추가&#34;&gt;확장 패키지 추가&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;도구 &amp;gt; 확장 패키지 관리자 선택&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/virtualbox_ubuntu_desktop_2404/image%203.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치파일 불러오기&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/virtualbox_ubuntu_desktop_2404/image%204.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/virtualbox_ubuntu_desktop_2404/image%205.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/virtualbox_ubuntu_desktop_2404/image%206.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;패키지 설치가 완료가 되면 다음과 같은 화면 확인&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/virtualbox_ubuntu_desktop_2404/image%207.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;가상-머신-만들기&#34;&gt;가상 머신 만들기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;머신 &amp;gt; 새로 만들기 선택&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/virtualbox_ubuntu_desktop_2404/image%208.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Oracle 19c Installation Using Docker on M1</title>
      <link>https://dschloe.github.io/programming/2025/03/oracle_installation_19c_m1/</link>
      <pubDate>Sat, 15 Mar 2025 04:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/03/oracle_installation_19c_m1/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Docker 활용해서 Oracle 설치하기 on M1&lt;/li&gt;&#xA;&lt;li&gt;SQL Developer 활용해서 접속 및 테스트하기&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;사전조건&#34;&gt;사전조건&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Docker가 이미 설치가 되어 있다고 가정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;oracle-database-설치-순서&#34;&gt;Oracle Database 설치 순서&lt;/h2&gt;&#xA;&lt;h3 id=&#34;step-01--도커-이미지-가져오기&#34;&gt;Step 01 : 도커 이미지 가져오기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Clone Oracle&amp;rsquo;s Docker Images Repository,&lt;/strong&gt; Open your terminal and run&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://github.com/oracle/docker-images&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;step-02--oracle-database-19c-파일-다운로드&#34;&gt;Step 02 : Oracle Database 19c 파일 다운로드&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Download Oracle Database 19c for Linux ARM&#xA;&lt;ul&gt;&#xA;&lt;li&gt;링크 : &lt;a href=&#34;https://www.oracle.com/database/technologies/oracle19c-linux-arm64-downloads.html&#34;&gt;https://www.oracle.com/database/technologies/oracle19c-linux-arm64-downloads.html&lt;/a&gt; (회원가입 필요)&lt;/li&gt;&#xA;&lt;li&gt;다운로드, LINUX.ARM64_1919000_db_home.zip&lt;/li&gt;&#xA;&lt;li&gt;해당 파일을 &lt;code&gt;docker-images/OracleDatabase/SingleInstance/dockerfiles/19.3.0&lt;/code&gt; 디렉토리에 위치 시킴&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/oracle_installation_19c_m1/Screenshot_2025-03-15_at_10.17.41_AM.png&#34; alt=&#34;Screenshot 2025-03-15 at 10.17.41 AM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>PostgreSQL 설치 on Windows 11 (2025)</title>
      <link>https://dschloe.github.io/programming/2025/03/postgresql_install_windows_2025/</link>
      <pubDate>Wed, 12 Mar 2025 04:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/03/postgresql_install_windows_2025/</guid>
      <description>&lt;h2 id=&#34;postgresql-설치파일-다운로드&#34;&gt;PostgreSQL 설치파일 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PostreSQL 설치 : &lt;a href=&#34;https://www.postgresql.org/download/windows/&#34;&gt;https://www.postgresql.org/download/windows/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Download the installer 확인&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/postgresql_install_windows_2025/image.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/postgresql_install_windows_2025/image%201.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;설치&#34;&gt;설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치파일 실행 (관리자 권한)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/postgresql_install_windows_2025/image%202.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/postgresql_install_windows_2025/image%203.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/postgresql_install_windows_2025/image%204.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/postgresql_install_windows_2025/image%205.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;password는 evan1234&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/postgresql_install_windows_2025/image%206.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;포트번호 확인&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/postgresql_install_windows_2025/image%207.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/postgresql_install_windows_2025/image%208.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/postgresql_install_windows_2025/image%209.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/postgresql_install_windows_2025/image%2010.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/postgresql_install_windows_2025/image%2011.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/postgresql_install_windows_2025/image%2012.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;프로그램 검색 창에서 &lt;code&gt;pgAdmin 4&lt;/code&gt; 프로그램 열기&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/postgresql_install_windows_2025/image%2013.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실행되는지 확인&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/postgresql_install_windows_2025/image%2014.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;환경변수-설정&#34;&gt;환경변수 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;경로 복사&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/postgresql_install_windows_2025/image%2015.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;시스템 환경 변수 열기 후 복사하기&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\P&lt;/span&gt;rogram Files&lt;span style=&#34;color:#ae81ff&#34;&gt;\P&lt;/span&gt;ostgreSQL&lt;span style=&#34;color:#ae81ff&#34;&gt;\1&lt;/span&gt;7&lt;span style=&#34;color:#ae81ff&#34;&gt;\b&lt;/span&gt;in&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/postgresql_install_windows_2025/image%2016.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;CMD나 PowerShell에서 확인&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\c&lt;/span&gt;ampus3S043&amp;gt;psql --version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;psql &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;PostgreSQL&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; 17.4&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>AWS SageMaker 개발 환경 설정 on Windows 11 (feat. Anaconda)</title>
      <link>https://dschloe.github.io/programming/2025/03/anaconda_development_settings_2025_4_aws_sagemaker/</link>
      <pubDate>Tue, 11 Mar 2025 01:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/03/anaconda_development_settings_2025_4_aws_sagemaker/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Anaconda 설치 (2025년 버전)&lt;/li&gt;&#xA;&lt;li&gt;Windows 11에서 설치 후 딥러닝 프레임워크 까지 개발환경 설정&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;다운로드&#34;&gt;다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치 파일 다운로드 : &lt;a href=&#34;https://www.anaconda.com/download&#34;&gt;https://www.anaconda.com/download&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Skip Registration 버튼 선택&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/anaconda_development_settings_2025_4_aws_sagemaker/image.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 화면에서 Download 버튼 클릭&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/anaconda_development_settings_2025_4_aws_sagemaker/image%201.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/anaconda_development_settings_2025_4_aws_sagemaker/image%202.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;설치파일-실행&#34;&gt;설치파일 실행&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 관리자 권한으로 실행하는 것을 선호함&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/anaconda_development_settings_2025_4_aws_sagemaker/image%203.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/anaconda_development_settings_2025_4_aws_sagemaker/image%204.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;어떤 분은 Just Me 선택하기도 하지만, 필자는 All Users 선택&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/anaconda_development_settings_2025_4_aws_sagemaker/image%205.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치 경로 확인&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/anaconda_development_settings_2025_4_aws_sagemaker/image%206.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기존에 Python이 설치가 되었더라도 Anaconda 파이썬 기준으로 테스트 할 예정이기 때문에 반드시 체크할 것&lt;/li&gt;&#xA;&lt;li&gt;확인 버튼 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/anaconda_development_settings_2025_4_aws_sagemaker/image%207.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Amazon SageMaker ML on Local Machine via VS Code</title>
      <link>https://dschloe.github.io/programming/2025/03/amazon_sagemaker_vscode_example/</link>
      <pubDate>Mon, 10 Mar 2025 09:13:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/03/amazon_sagemaker_vscode_example/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;AWS SageMaker 사용하여 ML 코드 생성&lt;/li&gt;&#xA;&lt;li&gt;VS Code에서 코드 생성&lt;/li&gt;&#xA;&lt;li&gt;S3 Bucket에서 모델 업로드 및 다운로드 응용하여 테스트 진행 코드&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;사전조건&#34;&gt;사전조건&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SageMaker가 정상적으로 실행되려면 Docker가 필요할 수 있기, Docker를 먼저 설치하기를 바란다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;aws--sagemaker-연결-설정&#34;&gt;AWS &amp;amp; SageMaker 연결 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;I AM 에서 사용자에서 생성한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참고 : &lt;a href=&#34;https://dschloe.github.io/aws/2025/03/connect2ec2viaawstoolkit/&#34;&gt;https://dschloe.github.io/aws/2025/03/connect2ec2viaawstoolkit/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Access Key까지 같이 생성한다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;사용자에 대한 I AM Role 도 생성한다.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/amazon_sagemaker_vscode_example/Screenshot_2025-03-09_at_4.48.12_PM.png&#34; alt=&#34;Screenshot 2025-03-09 at 4.48.12 PM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;awsMLDLRole 역할 이름을 부여했다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/amazon_sagemaker_vscode_example/Screenshot_2025-03-09_at_4.49.34_PM.png&#34; alt=&#34;Screenshot 2025-03-09 at 4.49.34 PM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Connect EC2 to VSCode using AWS Toolkit (2025 march)</title>
      <link>https://dschloe.github.io/programming/2025/03/connect2ec2viaawstoolkit/</link>
      <pubDate>Sun, 09 Mar 2025 12:13:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/03/connect2ec2viaawstoolkit/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Root 계정에서 사용자 그룹 만들기, I AM 정책&lt;/li&gt;&#xA;&lt;li&gt;사용자 계정에서 정책과 역할 분배하기&lt;/li&gt;&#xA;&lt;li&gt;VS Code에서 AWS Toolkit 이용해서 접속하기&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;사전조건&#34;&gt;사전조건&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;AWS 회원가입은 완료되어 있고, 로그인이 된 상태라 가정한다.&lt;/li&gt;&#xA;&lt;li&gt;VS Code에서 AWS Toolkit 설치가 되어 있다고 가정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;root-계정에서-i-am-계정-만들기&#34;&gt;Root 계정에서 I AM 계정 만들기&lt;/h2&gt;&#xA;&lt;h3 id=&#34;사용자-생성&#34;&gt;사용자 생성&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I AM 검색 후 사용자 클릭, 사용자 생성 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/connect2ec2viaawstoolkit/Screenshot_2025-03-09_at_10.04.50_AM.png&#34; alt=&#34;Screenshot 2025-03-09 at 10.04.50 AM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사용자 세부 정보에서 사용자 이름 선택&lt;/li&gt;&#xA;&lt;li&gt;AWS Management Console에 대한 사용자 액세스 권한 제공 – &lt;em&gt;선택 사항&lt;/em&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;IAM 사용자를 생성하고 싶음&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;콘솔 암호 지정&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A!234567890&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;사용자는 다음 로그인 시 새 암호를 생성해야 합니다 - 권장 체크 해제&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/connect2ec2viaawstoolkit/Screenshot_2025-03-09_at_10.08.23_AM.png&#34; alt=&#34;Screenshot 2025-03-09 at 10.08.23 AM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>AWS EC2 생성하기 (2025 march)</title>
      <link>https://dschloe.github.io/programming/2025/03/aws_ec2_created/</link>
      <pubDate>Sun, 09 Mar 2025 09:13:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/03/aws_ec2_created/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;EC2 프리티어 생성하기&lt;/li&gt;&#xA;&lt;li&gt;주요 개발환경 설정하기 (Ubuntu 기반)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ec2-프리티어-생성-및-연결&#34;&gt;EC2 프리티어 생성 및 연결&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;계정 로그인 후, EC2 서비스 검색 후, EC2 클릭&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/aws_ec2_created/Screenshot_2025-03-08_at_10.47.08_AM.png&#34; alt=&#34;Screenshot 2025-03-08 at 10.47.08 AM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인스턴스란, “구현된 컴퓨터”라고 생각한다. 인스턴스 시작 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/aws_ec2_created/Screenshot_2025-03-08_at_10.48.34_AM.png&#34; alt=&#34;Screenshot 2025-03-08 at 10.48.34 AM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 본격적인 설계도를 하나 생성한다.&lt;/li&gt;&#xA;&lt;li&gt;필자는 &lt;code&gt;lectureServer01&lt;/code&gt; 이라고 명명했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/aws_ec2_created/Screenshot_2025-03-08_at_11.06.39_AM.png&#34; alt=&#34;Screenshot 2025-03-08 at 11.06.39 AM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다목적 개발이 목적이라면 Ubuntu(Linux)를 추천. 프리티어가 아닌 OS도 있으니 유의한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/aws_ec2_created/Screenshot_2025-03-08_at_11.08.18_AM.png&#34; alt=&#34;Screenshot 2025-03-08 at 11.08.18 AM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python 라이브러리 설치 확인</title>
      <link>https://dschloe.github.io/programming/2025/03/python_libraries_checked/</link>
      <pubDate>Fri, 07 Mar 2025 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/03/python_libraries_checked/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;requirements.txt 파일에 명시된 패키지들의 설치 여부와 버전을 확인하는 코드&lt;/li&gt;&#xA;&lt;li&gt;각 패키지에 대해 현재 환경에 설치된 버전을 출력하며, 설치되지 않은 경우 메시지 표시&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;예시&#34;&gt;예시&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;requirements.txt 파일에 다음과 같은 패키지가 있다고 가정한다.&lt;/li&gt;&#xA;&lt;li&gt;또한 가상 환경에 이미 아래 라이브러리가 설치가 되어 있다고 가정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;polars&#xA;pandas&#xA;numpy&#xA;matplotlib&#xA;seaborn&#xA;scikit-learn&#xA;graphviz&#xA;statsmodels&#xA;jupyterlab&#xA;pyarrow&#xA;deltalake&#xA;xlsx2csv&#xA;xlsxwriter&#xA;openpyxl&#xA;xlrd&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;먼저 설치된 라이브러리 전체 개수를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pkg_resources&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 현재 환경에 설치된 모든 패키지 목록과 버전 조회&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;installed_packages &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;dist&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;project_name&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;==&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;dist&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;version&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                     &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; dist &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; pkg_resources&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;working_set]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(len(installed_packages))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[결과]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;132&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 각 패키지에 대해 현재 환경에 설치된 버전을 출력하며, 설치되지 않은 경우 메시지 표시한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pkg_resources&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# requirements.txt 파일에 명시된 패키지들의 설치 여부와 버전을 확인하는 코드&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 각 패키지에 대해 현재 환경에 설치된 버전을 출력하며, 설치되지 않은 경우 메시지 표시&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;packages &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;polars&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;pandas&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;numpy&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;matplotlib&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;seaborn&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;scikit-learn&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;graphviz&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;statsmodels&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;jupyterlab&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;pyarrow&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;deltalake&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;xlsx2csv&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;xlsxwriter&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;openpyxl&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;xlrd&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 각 패키지를 순회하면서 버전 정보 확인&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; package &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; packages:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;try&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# pkg_resources를 사용하여 설치된 패키지의 버전 정보 조회&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        version &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pkg_resources&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get_distribution(package)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;package&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;version&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;except&lt;/span&gt; pkg_resources&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DistributionNotFound:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 패키지가 설치되지 않은 경우 예외 처리&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;package&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;: 설치되지 않음&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[결과]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;polars: &lt;span style=&#34;color:#ae81ff&#34;&gt;1.22.0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pandas: &lt;span style=&#34;color:#ae81ff&#34;&gt;2.2.3&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;numpy: &lt;span style=&#34;color:#ae81ff&#34;&gt;2.0.2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;matplotlib: &lt;span style=&#34;color:#ae81ff&#34;&gt;3.9.4&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;seaborn: &lt;span style=&#34;color:#ae81ff&#34;&gt;0.13.2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;scikit&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;learn: &lt;span style=&#34;color:#ae81ff&#34;&gt;1.6.1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;graphviz: &lt;span style=&#34;color:#ae81ff&#34;&gt;0.20.3&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;statsmodels: &lt;span style=&#34;color:#ae81ff&#34;&gt;0.14.4&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;jupyterlab: &lt;span style=&#34;color:#ae81ff&#34;&gt;4.3.5&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pyarrow: &lt;span style=&#34;color:#ae81ff&#34;&gt;19.0.0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;deltalake: &lt;span style=&#34;color:#ae81ff&#34;&gt;0.24.0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xlsx2csv: &lt;span style=&#34;color:#ae81ff&#34;&gt;0.8.4&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xlsxwriter: &lt;span style=&#34;color:#ae81ff&#34;&gt;3.2.2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;openpyxl: &lt;span style=&#34;color:#ae81ff&#34;&gt;3.1.5&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xlrd: &lt;span style=&#34;color:#ae81ff&#34;&gt;2.0.1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Connect to AWS via VS Code (2025 버전)</title>
      <link>https://dschloe.github.io/programming/2025/03/connect2awsviavscode/</link>
      <pubDate>Thu, 06 Mar 2025 01:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/03/connect2awsviavscode/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;VS Code가 설치가 되어 있다고 가정한다.&lt;/li&gt;&#xA;&lt;li&gt;AWS 제품을 VS Code를 통해서 연결하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;prerequisites&#34;&gt;&lt;strong&gt;Prerequisites&lt;/strong&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;VS Code requires a Windows, macOS, or Linux operating system.&lt;/li&gt;&#xA;&lt;li&gt;The AWS Toolkit for Visual Studio Code requires you to work from VS Code version 1.73.0 or a later version.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;aws-회원가입&#34;&gt;AWS 회원가입&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;회원가입이 되어 있다면 이 부분은 생략한다.&lt;/li&gt;&#xA;&lt;li&gt;회원가입을 진행한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;주소 : &lt;a href=&#34;https://signin.aws.amazon.com/signup?request_type=register&#34;&gt;https://signin.aws.amazon.com/signup?request_type=register&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/connect2awsviavscode/image.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이메일 인증절차 진행 후, PW 등록한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/connect2awsviavscode/image%201.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;연락처 정보를 입력한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/connect2awsviavscode/image%202.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;결제 정보를 기재한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/03/connect2awsviavscode/image%203.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>LangChain with Streamlit 논문요약 예제</title>
      <link>https://dschloe.github.io/programming/2025/02/langchain_streamlit/</link>
      <pubDate>Sun, 09 Feb 2025 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/02/langchain_streamlit/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;LangChain의 기본 개념에 대해 살펴본다.&lt;/li&gt;&#xA;&lt;li&gt;LangChain을 활용하며 간단한 웹앱을 구현한다.&lt;/li&gt;&#xA;&lt;li&gt;각 사용자가 본인의 API를 입력하면 해당 기능을 사용할 수 있도록 구현한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;langchain의-기본개념&#34;&gt;LangChain의 기본개념&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;LangChain은 대규모 언어 모델(LLM)을 활용한 애플리케이션 개발을 위한 프레임워크입니다.&lt;/li&gt;&#xA;&lt;li&gt;주요 특징과 장점은 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;모듈성&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다양한 LLM과 도구들을 쉽게 통합하고 교체할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;재사용 가능한 컴포넌트를 제공한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;체이닝(Chaining)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;여러 컴포넌트를 연결하여 복잡한 워크플로우를 구성할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;프롬프트, LLM 호출, 출력 파싱 등을 순차적으로 처리한다&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;메모리 관리&#xA;&lt;ul&gt;&#xA;&lt;li&gt;대화 기록을 저장하고 관리할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;문맥을 유지하면서 대화형 애플리케이션을 만들 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;다양한 통합&#xA;&lt;ul&gt;&#xA;&lt;li&gt;여러 AI 모델(OpenAI, Anthropic 등)을 지원한다.&lt;/li&gt;&#xA;&lt;li&gt;데이터베이스, 검색 엔진 등 외부 도구와 연동이 가능하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;개발 편의성&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파이썬 기반의 직관적인 API를 제공한다.&lt;/li&gt;&#xA;&lt;li&gt;풍부한 문서와 예제가 제공된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;langchain을-활용한-프로젝트-구조-만들기&#34;&gt;LangChain을 활용한 프로젝트 구조 만들기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;API 키를 입력하면 해당 기능을 사용할 수 있도록 구현한다.&lt;/li&gt;&#xA;&lt;li&gt;구현 프로세스&#xA;&lt;ul&gt;&#xA;&lt;li&gt;API 키 입력 화면 구현&lt;/li&gt;&#xA;&lt;li&gt;입력된 API 키를 활용한 기능 구현&lt;/li&gt;&#xA;&lt;li&gt;웹앱 레이아웃 구성&lt;/li&gt;&#xA;&lt;li&gt;사용자 친화적인 인터페이스 제공&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;PDF논문 요약 기능 구현&#xA;&lt;ul&gt;&#xA;&lt;li&gt;논문 PDF 파일 업로드&lt;/li&gt;&#xA;&lt;li&gt;논문 요약 기능 구현&lt;/li&gt;&#xA;&lt;li&gt;요약 결과 표시 (각 챕터별)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;웹앱 레이아웃 구성&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사용자 친화적인 인터페이스 제공&lt;/li&gt;&#xA;&lt;li&gt;논문 요약 기능 구현&lt;/li&gt;&#xA;&lt;li&gt;요약 결과 표시&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;먼저 테스트성으로 jupyter notebook으로 구현&#xA;&lt;ul&gt;&#xA;&lt;li&gt;jupyter notebook에서는 .env 파일에 있는 API 키를 불러오는 형태로 구현한다.&lt;/li&gt;&#xA;&lt;li&gt;논문은 files 폴더에 있는 논문 1개를 사용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;참고-논문&#34;&gt;참고 논문&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참고 논문은 &lt;a href=&#34;https://www.kci.go.kr/kciportal/ci/sereArticleSearch/ciSereArtiView.kci?sereArticleSearchBean.artiId=ART003132835&#34;&gt;정부 훈련비 지원 수준이 직업능력개발훈련 성과에 미치는 영향 분석&lt;/a&gt;이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;jupyter-notebook-테스트&#34;&gt;jupyter notebook 테스트&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;코드는 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 필요한 라이브러리 임포트&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import os&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;from langchain.chat_models import ChatOpenAI  &lt;span style=&#34;color:#75715e&#34;&gt;# OpenAI의 ChatGPT 모델을 사용하기 위한 클래스&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;from langchain_core.prompts import ChatPromptTemplate  &lt;span style=&#34;color:#75715e&#34;&gt;# 채팅 프롬프트 템플릿 생성을 위한 클래스&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;from langchain_core.output_parsers import StrOutputParser  &lt;span style=&#34;color:#75715e&#34;&gt;# 출력을 문자열로 파싱하기 위한 클래스&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;from langchain_community.document_loaders import PyPDFLoader  &lt;span style=&#34;color:#75715e&#34;&gt;# PDF 파일을 로드하기 위한 클래스&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;from langchain.text_splitter import RecursiveCharacterTextSplitter  &lt;span style=&#34;color:#75715e&#34;&gt;# 텍스트를 청크로 분할하기 위한 클래스&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;from docx import Document  &lt;span style=&#34;color:#75715e&#34;&gt;# Word 문서 생성을 위한 클래스&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;from dotenv import load_dotenv  &lt;span style=&#34;color:#75715e&#34;&gt;# 환경 변수 로드를 위한 모듈&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;from datetime import datetime  &lt;span style=&#34;color:#75715e&#34;&gt;# 날짜/시간 처리를 위한 클래스&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# .env 파일에서 환경 변수 로드&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;load_dotenv&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 환경 변수에서 OpenAI API 키 가져오기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;openai_api_key &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os.getenv&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;OPENAI_API_KEY&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# API 키가 존재하는지 확인&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; not openai_api_key:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    raise ValueError&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;OPENAI_API_KEY 환경 변수를 찾을 수 없습니다. .env 파일을 확인해주세요.&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# files 디렉토리에서 PDF 파일 찾기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pdf_files &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;f &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; f in os.listdir&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;files&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; f.endswith&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;.pdf&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; not pdf_files:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    raise ValueError&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;files 디렉토리에서 PDF 파일을 찾을 수 없습니다&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 첫 번째 PDF 파일의 전체 경로 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pdf_path &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os.path.join&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;os.getcwd&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;files&amp;#34;&lt;/span&gt;, pdf_files&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;0&lt;span style=&#34;color:#f92672&#34;&gt;])&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# PDF 파일 로드 및 페이지 분할&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;loader &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; PyPDFLoader&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;pdf_path&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pages &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; loader.load_and_split&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 텍스트 분할기 설정 - 큰 청크 사이즈로 설정하여 컨텍스트 유지&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;text_splitter &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; RecursiveCharacterTextSplitter&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    chunk_size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;4000,  &lt;span style=&#34;color:#75715e&#34;&gt;# 각 청크의 최대 문자 수&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    chunk_overlap&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;400,  &lt;span style=&#34;color:#75715e&#34;&gt;# 청크 간 중복되는 문자 수&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    length_function&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;len&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 페이지들을 청크로 분할&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;texts &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; text_splitter.split_documents&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;pages&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 텍스트를 전반부와 후반부 두 개의 파트로 병합&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; len&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;texts&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; &amp;gt; 2:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 전반부 텍스트 병합&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    first_half &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; &amp;#34;&lt;/span&gt;.join&lt;span style=&#34;color:#f92672&#34;&gt;([&lt;/span&gt;t.page_content &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; t in texts&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;:len&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;texts&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;//2&lt;span style=&#34;color:#f92672&#34;&gt;]])&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 후반부 텍스트 병합&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    second_half &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; &amp;#34;&lt;/span&gt;.join&lt;span style=&#34;color:#f92672&#34;&gt;([&lt;/span&gt;t.page_content &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; t in texts&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;len&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;texts&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;//2:&lt;span style=&#34;color:#f92672&#34;&gt;]])&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    texts &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;content&amp;#34;&lt;/span&gt;: first_half, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;part&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;전반부&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;content&amp;#34;&lt;/span&gt;: second_half, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;part&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;후반부&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# LangChain의 ChatOpenAI 모델 설정&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;llm &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ChatOpenAI&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    openai_api_key&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;openai_api_key,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    model&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;gpt-3.5-turbo&amp;#34;&lt;/span&gt;,  &lt;span style=&#34;color:#75715e&#34;&gt;# GPT-3.5 모델 사용&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    temperature&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;0.1,  &lt;span style=&#34;color:#75715e&#34;&gt;# 낮은 temperature로 일관된 출력 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    max_tokens&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1000&lt;/span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# 충분한 길이의 요약을 위한 토큰 수 설정&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 요약을 위한 프롬프트 템플릿 설정&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;prompt &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ChatPromptTemplate.from_messages&lt;span style=&#34;color:#f92672&#34;&gt;([&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;system&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;당신은 전문 학술 연구원입니다. 다음 학술 논문 파트를 주요 포인트와 핵심 발견사항을 중심으로 한글로 포괄적이고 상세하게 요약해주세요.&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;user&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;다음 텍스트를 한글로 요약해주세요. 이 텍스트는 논문의 {part}입니다:\n\n{text}\n\n반드시 한글로 요약해주시고, 영어 전문용어가 있다면 한글 설명을 덧붙여주세요.&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;])&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 프롬프트, LLM, 출력 파서를 연결하는 체인 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;chain &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; prompt | llm | StrOutputParser&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Word 문서 객체 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;doc &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Document&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;doc.add_heading&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;논문 요약&amp;#39;&lt;/span&gt;, 0&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 현재 시간을 파일명에 포함시키기 위한 형식 지정&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;current_time &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; datetime.now&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;.strftime&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;%Y%m%d_%H%M%S&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 각 파트별로 요약 실행 및 Word 문서에 추가&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; i, text in enumerate&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;texts&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;f&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;파트 {i+1}/2 요약 중...&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 체인을 실행하여 요약 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    summary &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; chain.invoke&lt;span style=&#34;color:#f92672&#34;&gt;({&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;text&amp;#34;&lt;/span&gt;: text&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;content&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;part&amp;#34;&lt;/span&gt;: text&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;part&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;]})&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Word 문서에 요약 내용 추가&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    doc.add_heading&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;f&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;{text[&amp;#34;part&amp;#34;]} 요약&amp;#39;&lt;/span&gt;, level&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;1&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    doc.add_paragraph&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;summary&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    doc.add_paragraph&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;-&amp;#39;&lt;/span&gt; * 40&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# 구분선 추가&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 콘솔에 요약 출력&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;f&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;\n{text[&amp;#39;part&amp;#39;]} 요약:&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;summary&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;-&amp;#34;&lt;/span&gt; * 80&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 생성된 Word 문서를 저장&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;output_path &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; f&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;논문_요약_{current_time}.docx&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;doc.save&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;output_path&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;f&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;\n한글 요약본이 {output_path}에 저장되었습니다&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 코드를 실제 실행하면 다음과 같은 결과가 나온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/02/langchain_streamlit/Screenshot_2025-02-09_at_7.36.19_PM.png&#34; alt=&#34;Screenshot 2025-02-09 at 7.36.19 PM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>OpenAI Whisper 사용 위한 ffmpeg 설치</title>
      <link>https://dschloe.github.io/programming/2025/02/ffmpeg_install/</link>
      <pubDate>Sat, 08 Feb 2025 01:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/02/ffmpeg_install/</guid>
      <description>&lt;h1 id=&#34;개요&#34;&gt;개요&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;OpenAI의 Whisper 사용을 위해 필수적으로 설치해야 할 ffmpeg 설치 예제&lt;/li&gt;&#xA;&lt;li&gt;각 OS별 설치 명령어 확인&lt;/li&gt;&#xA;&lt;li&gt;Windows에서 패키지 관리자가 없을 경우 설치 방법 안내&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;os별-설치-명령어&#34;&gt;OS별 설치 명령어&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Windows (chocolatey 사용)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;choco install ffmpeg&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Windows (scoop 사용)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;scoop install ffmpeg&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# macOS (homebrew 사용)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;brew install ffmpeg&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Ubuntu/Debian&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install ffmpeg&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# CentOS/RHEL&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo yum install epel-release&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo yum install ffmpeg ffmpeg-devel&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Fedora&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo dnf install ffmpeg ffmpeg-devel&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;패키지-관리자가-없을-경우&#34;&gt;패키지 관리자가 없을 경우&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;공식 웹사이트 방문 : &lt;a href=&#34;https://ffmpeg.org/download.html&#34;&gt;https://ffmpeg.org/download.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/02/ffmpeg_install/image.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Google Colab &amp; Jupyter Notebook에서 dotenv 사용법</title>
      <link>https://dschloe.github.io/programming/2025/02/google_colab_jupyter_lab_dotenv/</link>
      <pubDate>Sun, 02 Feb 2025 01:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/02/google_colab_jupyter_lab_dotenv/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;p&gt;환경 변수를 코드 내에 직접 작성하는 것은 보안상 위험할 수 있다. 이를 방지하기 위해 &lt;code&gt;.env&lt;/code&gt; 파일을 사용하여 환경 변수를 저장하고, &lt;code&gt;dotenv&lt;/code&gt; 라이브러리를 활용해 이를 불러올 수 있다.&lt;/p&gt;&#xA;&lt;p&gt;이번 글에서는 &lt;strong&gt;Google Colab 및 Jupyter Notebook에서 &lt;code&gt;dotenv&lt;/code&gt; 사용법&lt;/strong&gt;을 다룬다.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;1-dotenv란&#34;&gt;1. &lt;code&gt;dotenv&lt;/code&gt;란?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;dotenv&lt;/code&gt;는 &lt;code&gt;.env&lt;/code&gt; 파일에 저장된 환경 변수를 쉽게 로드할 수 있도록 도와주는 라이브러리이다. 이를 활용하면 API 키, 데이터베이스 접속 정보 등을 안전하게 관리할 수 있다.&lt;/p&gt;&#xA;&lt;p&gt;Python에서는 &lt;a href=&#34;https://pypi.org/project/python-dotenv/&#34;&gt;&lt;code&gt;python-dotenv&lt;/code&gt;&lt;/a&gt;을 사용한다.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;2-dotenv-설치하기&#34;&gt;2. &lt;code&gt;dotenv&lt;/code&gt; 설치하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Jupyter Notebook 또는 Google Colab에서 설치&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install python&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;dotenv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;설치가 완료되면 환경 변수를 저장할 &lt;code&gt;.env&lt;/code&gt; 파일을 생성한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>OS별 환경변수 설정 (Linux &amp; macOS / Windows)</title>
      <link>https://dschloe.github.io/programming/2025/02/environment_variables/</link>
      <pubDate>Sat, 01 Feb 2025 01:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/02/environment_variables/</guid>
      <description>&lt;h2 id=&#34;1-linux--macos&#34;&gt;1. &lt;strong&gt;Linux &amp;amp; macOS&lt;/strong&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;11-임시-환경변수-설정-현재-세션에서만-유효&#34;&gt;1.1 &lt;strong&gt;임시 환경변수 설정 (현재 세션에서만 유효)&lt;/strong&gt;&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export 변수명&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;값&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;예)&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export PATH&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;$PATH:/usr/local/bin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export JAVA_HOME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;위 설정은 현재 터미널 세션에서만 유효하며, 터미널을 닫으면 사라진다.&lt;/p&gt;&#xA;&lt;h3 id=&#34;12-영구-환경변수-설정&#34;&gt;1.2 &lt;strong&gt;영구 환경변수 설정&lt;/strong&gt;&lt;/h3&gt;&#xA;&lt;h3 id=&#34;1-bash-shell-bash-사용-시&#34;&gt;(1) &lt;strong&gt;Bash Shell (bash 사용 시)&lt;/strong&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;code&gt;~/.bashrc&lt;/code&gt;&lt;/strong&gt; 또는 **&lt;code&gt;~/.bash_profile&lt;/code&gt;*에 추가&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export 변수명&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;값&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;예)&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export PATH&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;$PATH:/usr/local/bin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export JAVA_HOME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;적용:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;source ~/.bashrc   &lt;span style=&#34;color:#75715e&#34;&gt;# 또는 source ~/.bash_profile&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-zsh-shell-macos-기본-shell&#34;&gt;(2) &lt;strong&gt;Zsh Shell (macOS 기본 Shell)&lt;/strong&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;code&gt;~/.zshrc&lt;/code&gt;&lt;/strong&gt; 파일 수정:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export 변수명&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;값&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;예)&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export PATH&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;$PATH:/usr/local/bin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export JAVA_HOME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;적용:&lt;/p&gt;</description>
    </item>
    <item>
      <title>대한민국 최신 행정구역(SHP) 다운로드 (2025 version)</title>
      <link>https://dschloe.github.io/programming/2025/01/gisdeveloper_2025/</link>
      <pubDate>Tue, 21 Jan 2025 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/01/gisdeveloper_2025/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;2023년 12월 이후의 최신 행정구역(SHP) 데이터 다운로드 방법 변경&lt;/li&gt;&#xA;&lt;li&gt;사이트 : &lt;a href=&#34;http://www.gisdeveloper.co.kr/?p=2332&#34;&gt;http://www.gisdeveloper.co.kr/?p=2332&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/01/gisdeveloper_2025/image.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지오서비스웹(GEOSERVICE-WEB)의 아카이브 통해서 다운로드&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;관련-영상&#34;&gt;관련 영상&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;원하는 지역에 대한 최신 행정구역 데이터(SHP 파일) 추출해서 다운로드 받기 위한 내용 상세히 설명한 영상 (링크 : &lt;a href=&#34;https://www.youtube.com/watch?v=1vkI5tmIlgI&#34;&gt;https://www.youtube.com/watch?v=1vkI5tmIlgI&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=1vkI5tmIlgI&#34;&gt;https://www.youtube.com/watch?v=1vkI5tmIlgI&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;회원가입---지오서비스웹geoservice-web&#34;&gt;회원가입 - 지오서비스웹(GEOSERVICE-WEB)&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사이트 : &lt;a href=&#34;https://www.geoservice.co.kr/&#34;&gt;https://www.geoservice.co.kr/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/01/gisdeveloper_2025/image%201.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;회원가입 서비스 계정 약관&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/01/gisdeveloper_2025/image%202.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;닉네임 / 실명 입력&#xA;&lt;ul&gt;&#xA;&lt;li&gt;닉네임 : jjh430&lt;/li&gt;&#xA;&lt;li&gt;실명 : 정지훈&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/01/gisdeveloper_2025/image%203.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;비밀번호 입력 : tkfkdgo486!&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/01/gisdeveloper_2025/image%204.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이메일 / 휴대폰 입력&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/01/gisdeveloper_2025/image%205.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인증코드 확인&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/01/gisdeveloper_2025/image%206.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Flutter on Cursor AI on M1</title>
      <link>https://dschloe.github.io/programming/2025/01/flutter_usage_on_cursorai/</link>
      <pubDate>Fri, 03 Jan 2025 01:03:28 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/01/flutter_usage_on_cursorai/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Cursor AI 에서 Flutter 설치를 해본다.&lt;/li&gt;&#xA;&lt;li&gt;사전에 VS Code, Flutter 설치가 되어 있다고 가정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;flutter-설치&#34;&gt;Flutter 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 Curosr AI에 접속한다.&lt;/li&gt;&#xA;&lt;li&gt;Command + Shift + X를 선택한다.&lt;/li&gt;&#xA;&lt;li&gt;검색창에서 flutter 검색 후, Install 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/01/flutter_usage_on_cursorai/Screenshot_2025-01-03_at_2.17.26_PM.png&#34; alt=&#34;Screenshot 2025-01-03 at 2.17.26 PM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;설치-확인&#34;&gt;설치 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Command + Shift + P 선택 후, Flutter: Run Flutter Doctor 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/01/flutter_usage_on_cursorai/Screenshot_2025-01-03_at_2.21.56_PM.png&#34; alt=&#34;Screenshot 2025-01-03 at 2.21.56 PM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/01/flutter_usage_on_cursorai/Screenshot_2025-01-03_at_2.22.47_PM.png&#34; alt=&#34;Screenshot 2025-01-03 at 2.22.47 PM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;flutter-프로젝트-실시&#34;&gt;Flutter 프로젝트 실시&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Command + Shift + P 선택 후, New Project 선택한다.&lt;/li&gt;&#xA;&lt;li&gt;Application을 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/01/flutter_usage_on_cursorai/Screenshot_2025-01-03_at_2.24.36_PM.png&#34; alt=&#34;Screenshot 2025-01-03 at 2.24.36 PM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>HuggingFace Login on Google Colab</title>
      <link>https://dschloe.github.io/programming/2025/01/googlecolab_huggingface_login/</link>
      <pubDate>Fri, 03 Jan 2025 01:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2025/01/googlecolab_huggingface_login/</guid>
      <description>&lt;h1 id=&#34;google-colab에서-허깅페이스-로그인&#34;&gt;Google Colab에서 허깅페이스 로그인&lt;/h1&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Google Colab에서 허깅페이스 로그인 하는 방법 기재&lt;/li&gt;&#xA;&lt;li&gt;허깅페이스 회원가입은 이미 되어 있는 것으로 가정&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/01/googlecolab_huggingface_login/image.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;허깅페이스-토큰값-가져오기&#34;&gt;허깅페이스 토큰값 가져오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;프로필 클릭 &amp;gt; Settings &amp;gt; Access Tokens &amp;gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/01/googlecolab_huggingface_login/image%201.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Create New Token 선택&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/01/googlecolab_huggingface_login/image%202.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Token name에 이름 입력 후, 스크롤 하단에서 Create Token 버튼 선택&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/01/googlecolab_huggingface_login/image%203.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/01/googlecolab_huggingface_login/image%204.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;토큰값 획득을 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;google-colab에서-허깅페이스-로그인-1&#34;&gt;Google Colab에서 허깅페이스 로그인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 코드 입력 후 실행&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; huggingface_hub &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; notebook_login&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;notebook_login()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2025/01/googlecolab_huggingface_login/image%205.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Android Studio 설치, MacOS</title>
      <link>https://dschloe.github.io/programming/2024/12/android_studio_macos/</link>
      <pubDate>Mon, 30 Dec 2024 01:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/12/android_studio_macos/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Android Studio를 MacOS에서 설치를 하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;사이트-접속&#34;&gt;사이트 접속&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사이트 : &lt;a href=&#34;https://developer.android.com/studio&#34;&gt;https://developer.android.com/studio&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/12/android_studio_macos/Screenshot_2024-12-29_at_10.56.24_PM.png&#34; alt=&#34;Screenshot 2024-12-29 at 10.56.24 PM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;화면 중간에 Download 버튼을 클릭 후 다운로드를 진행한다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;아래 화면에서 본인 환경에 맞는 Mac을 설치한다. 필자는 &lt;code&gt;Mac with Apple Chip&lt;/code&gt; 을 선택했다.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/12/android_studio_macos/Screenshot_2024-12-29_at_11.06.29_PM.png&#34; alt=&#34;Screenshot 2024-12-29 at 11.06.29 PM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;아래와 같은 화면에서 Android Studio를 Applications 폴더로 이동 시킨다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/12/android_studio_macos/Screenshot_2024-12-29_at_11.11.10_PM.png&#34; alt=&#34;Screenshot 2024-12-29 at 11.11.10 PM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;android-studio-설정&#34;&gt;Android Studio 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Android Studio 프로그램을 실행하면 아래와 같이 설정 부분이 나온다.&lt;/li&gt;&#xA;&lt;li&gt;Next 버튼을 누른다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/12/android_studio_macos/Screenshot_2024-12-29_at_11.13.21_PM.png&#34; alt=&#34;Screenshot 2024-12-29 at 11.13.21 PM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Flutter 플러터 설치, MacOS M1</title>
      <link>https://dschloe.github.io/programming/2024/12/flutter_install_macos/</link>
      <pubDate>Sun, 29 Dec 2024 01:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/12/flutter_install_macos/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MacOS에서 Flutter를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;사이트-접속&#34;&gt;사이트 접속&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사이트 : Flutter &lt;a href=&#34;https://flutter.dev/&#34;&gt;https://flutter.dev/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;오른쪽 상단의 &lt;code&gt;Get Started&lt;/code&gt; 를 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/12/flutter_install_macos/Screenshot_2024-12-29_at_9.10.09_PM.png&#34; alt=&#34;Screenshot 2024-12-29 at 9.10.09 PM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MacOS를 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/12/flutter_install_macos/Screenshot_2024-12-29_at_9.11.00_PM.png&#34; alt=&#34;Screenshot 2024-12-29 at 9.11.00 PM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 Android App 개발을 하고 싶기 때문에, Android를 선택하였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/12/flutter_install_macos/Screenshot_2024-12-29_at_9.13.16_PM.png&#34; alt=&#34;Screenshot 2024-12-29 at 9.13.16 PM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;추가로 다음 명령어를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo softwareupdate --install-rosetta --agree-to-license&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/12/flutter_install_macos/Screenshot_2024-12-29_at_9.14.15_PM.png&#34; alt=&#34;Screenshot 2024-12-29 at 9.14.15 PM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;스크롤을 내리면 &lt;code&gt;Download and install&lt;/code&gt; 를 선택한다. 그리고 본인의 OS에 맞는 것을 선택한다. 필자는 M1이기 때문에 &lt;code&gt;Apple Silicon&lt;/code&gt; 을 선택하였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/12/flutter_install_macos/Screenshot_2024-12-29_at_9.16.46_PM.png&#34; alt=&#34;Screenshot 2024-12-29 at 9.16.46 PM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nasdaq Data Link를 활용한 데이터 수집</title>
      <link>https://dschloe.github.io/programming/2024/12/nasdaq_get_data_sample/</link>
      <pubDate>Mon, 16 Dec 2024 01:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/12/nasdaq_get_data_sample/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Nasdaq Data Link은 금융 및 경제 데이터를 제공하는 플랫폼으로, 특히 &lt;strong&gt;투자자&lt;/strong&gt;, &lt;strong&gt;연구자&lt;/strong&gt;, 그리고 &lt;strong&gt;데이터 애널리스트&lt;/strong&gt;들에게 유용&lt;/li&gt;&#xA;&lt;li&gt;기존 quandl에서 2018년에 &lt;strong&gt;Nasdaq&lt;/strong&gt;에 인수되었으며, 주식, 채권, 선물, 외환, 경제 지표 등 다양한 데이터를 제공&lt;/li&gt;&#xA;&lt;li&gt;그러나 Free 데이터에서 유의미한 데이터를 찾기에는 부족함을 느낌&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;nasdaq-data-link의-주요-기능&#34;&gt;Nasdaq Data Link의 주요 기능&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;데이터 제공&lt;/strong&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;금융 시장 데이터 (주식, 상품, 금리 등)&lt;/li&gt;&#xA;&lt;li&gt;경제 데이터 (GDP, 실업률, 소비자 물가 지수 등)&lt;/li&gt;&#xA;&lt;li&gt;대체 데이터 (소셜미디어 트렌드, 위성 이미지 분석, 물류 데이터 등)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;API 기반 접근&lt;/strong&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Python, R, Excel 등 다양한 도구에서 API를 사용해 데이터를 불러올 수 있음.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;데이터 품질&lt;/strong&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;검증된 데이터를 제공하며, 여러 &lt;strong&gt;프리미엄 데이터&lt;/strong&gt;와 함께 무료 데이터도 사용할 수 있음.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;데이터 다운로드&lt;/strong&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;CSV, Excel, JSON, XML 포맷으로 다운로드 가능하며, 시계열 분석에 최적화되어 있음.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;회원가입&#34;&gt;회원가입&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;API를 통해서 데이터 수집을 하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;사이트 : &lt;a href=&#34;https://data.nasdaq.com/publishers/QDL&#34;&gt;https://data.nasdaq.com/publishers/QDL&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/12/nasdaq_get_data_sample/image.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kaggle ML Submission 클래스 만들기</title>
      <link>https://dschloe.github.io/programming/2024/12/kaggle_submission_class_sample/</link>
      <pubDate>Sun, 15 Dec 2024 01:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/12/kaggle_submission_class_sample/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취업 준비생 들에게 필요한 캐글 연습 코드 클래스로 구현함&#xA;&lt;ul&gt;&#xA;&lt;li&gt;학습에서 제출까지 자동화하는 것에 목적을 둠&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;클래스에 대한 기본적인 이해가 있다는 전제하에 작성&lt;/li&gt;&#xA;&lt;li&gt;전체 코드는 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; shap&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 데이터 처리 및 모델링 라이브러리&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.model_selection &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; train_test_split, cross_val_score&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.preprocessing &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; StandardScaler, LabelEncoder, OrdinalEncoder&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.impute &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; SimpleImputer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.metrics &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    mean_squared_error, mean_absolute_error, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    r2_score, mean_absolute_percentage_error&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.ensemble &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; RandomForestRegressor&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 부스팅 모델&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; xgboost &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; xgb&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; lightgbm &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; lgb&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; catboost &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; CatBoostRegressor&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Matplotlib 설정 &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;update({&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font.size&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;})  &lt;span style=&#34;color:#75715e&#34;&gt;# 원하는 크기로 설정 (예: 10)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;DataPreprocessor&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    데이터 전처리 클래스&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;__init__&lt;/span&gt;(self, train_path, test_path):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;train_data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(train_path)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;test_data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(test_path)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;preprocess&lt;/span&gt;(self, target_column):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        데이터 전처리 메서드&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        - 결측치 처리 전략 개선&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        - 문자열 컬럼 Ordinal Encoding&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 타겟 분리&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        X &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;train_data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop(columns&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[target_column])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;train_data[target_column]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        X_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;test_data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;copy()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 결측치 처리 전략 개선&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;handle_missing_values&lt;/span&gt;(df):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# 숫자형 변수 - 중앙값 대체&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            numeric_columns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;select_dtypes(include&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;int64&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;float64&amp;#39;&lt;/span&gt;])&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            df[numeric_columns] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df[numeric_columns]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fillna(df[numeric_columns]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;median())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# 범주형 변수 - 최빈값 대체&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            categorical_columns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;select_dtypes(include&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;object&amp;#39;&lt;/span&gt;])&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            df[categorical_columns] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df[categorical_columns]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fillna(df[categorical_columns]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mode()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;iloc[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; df&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 결측치 처리&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        X &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; handle_missing_values(X)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        X_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; handle_missing_values(X_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 문자열 컬럼 식별&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        categorical_columns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; X&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;select_dtypes(include&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;object&amp;#39;&lt;/span&gt;])&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# Ordinal Encoder 초기화&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        ordinal_encoder &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; OrdinalEncoder(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            handle_unknown&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;use_encoded_value&amp;#39;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            unknown_value&lt;span style=&#34;color:#f92672&#34;&gt;=-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 훈련 및 테스트 데이터에 인코딩 적용&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; len(categorical_columns) &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# 전체 데이터 결합하여 인코딩&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            combined_categorical &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;concat([X[categorical_columns], X_test[categorical_columns]])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# 인코더 훈련&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            ordinal_encoder&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(combined_categorical)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# 훈련 데이터 인코딩&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            X[categorical_columns] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ordinal_encoder&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;transform(X[categorical_columns])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# 테스트 데이터 인코딩&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            X_test[categorical_columns] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ordinal_encoder&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;transform(X_test[categorical_columns])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; X, y, X_test, ordinal_encoder&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;EvaluationMetrics&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    모델 평가 지표 클래스&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;@staticmethod&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;rmse&lt;/span&gt;(y_true, y_pred):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sqrt(mean_squared_error(y_true, y_pred))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;@staticmethod&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;mae&lt;/span&gt;(y_true, y_pred):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; mean_absolute_error(y_true, y_pred)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;@staticmethod&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;r2&lt;/span&gt;(y_true, y_pred):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; r2_score(y_true, y_pred)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;@staticmethod&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;mape&lt;/span&gt;(y_true, y_pred):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; mean_absolute_percentage_error(y_true, y_pred)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;SHAPExplainer&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    SHAP 설명 및 시각화 클래스&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;__init__&lt;/span&gt;(self, model, X):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; model&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; X&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;tree_explainer&lt;/span&gt;(self):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;트리 기반 모델용 SHAP 설명&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        explainer &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; shap&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;TreeExplainer(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        shap_values &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; explainer&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shap_values(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; explainer, shap_values&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;plot_feature_importance&lt;/span&gt;(self, shap_values, feature_names):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;특성 중요도 플롯&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;figure(figsize&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        shap&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;summary_plot(shap_values, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X, feature_names&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;feature_names)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;title(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SHAP Feature Importance&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;tight_layout()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;BaseMLDL&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    기본 ML/DL 모델 베이스 클래스&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;__init__&lt;/span&gt;(self, X, y, test_size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.2&lt;/span&gt;, random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 데이터 분할&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_train, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_val, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_train, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_val &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_test_split(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            X, y, test_size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;test_size, random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;random_state&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 스케일링&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;scaler &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; StandardScaler()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_train_scaled &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;scaler&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit_transform(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_val_scaled &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;scaler&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;transform(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_val)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predictions &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;train&lt;/span&gt;(self):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;raise&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;NotImplementedError&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;하위 클래스에서 구현해야 합니다.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;predict&lt;/span&gt;(self):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;raise&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;NotImplementedError&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;하위 클래스에서 구현해야 합니다.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;evaluate&lt;/span&gt;(self):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;모델 평가&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predictions &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;RMSE&amp;#39;&lt;/span&gt;: EvaluationMetrics&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rmse(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_val, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predictions),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;MAE&amp;#39;&lt;/span&gt;: EvaluationMetrics&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mae(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_val, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predictions),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;R2&amp;#39;&lt;/span&gt;: EvaluationMetrics&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;r2(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_val, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predictions),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;MAPE&amp;#39;&lt;/span&gt;: EvaluationMetrics&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mape(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_val, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predictions)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 각 모델 클래스 구현 (RandomForest, XGBoost, LightGBM, CatBoost 등)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;RandomForestModel&lt;/span&gt;(BaseMLDL):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;train&lt;/span&gt;(self, n_estimators&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;kwargs):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; RandomForestRegressor(n_estimators&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;n_estimators, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;kwargs)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_train_scaled, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;predict&lt;/span&gt;(self):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_val_scaled)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;XGBoostModel&lt;/span&gt;(BaseMLDL):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;train&lt;/span&gt;(self, n_estimators&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;kwargs):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; xgb&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;XGBRegressor(n_estimators&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;n_estimators, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;kwargs)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_train_scaled, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;predict&lt;/span&gt;(self):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_val_scaled)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;LightGBMModel&lt;/span&gt;(BaseMLDL):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;train&lt;/span&gt;(self, n_estimators&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;kwargs):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; lgb&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;LGBMRegressor(n_estimators&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;n_estimators, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;kwargs)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_train_scaled, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;predict&lt;/span&gt;(self):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_val_scaled)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;CatBoostModel&lt;/span&gt;(BaseMLDL):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;train&lt;/span&gt;(self, iterations&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;kwargs):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; CatBoostRegressor(iterations&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;iterations, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;kwargs)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_train_scaled, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;predict&lt;/span&gt;(self):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_val_scaled)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;KaggleSubmission&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    Kaggle 제출 자동화 클래스&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;__init__&lt;/span&gt;(self, preprocessor):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;preprocessor &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; preprocessor&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;submit&lt;/span&gt;(self, model, X_test, submission_path, id_column, target_column):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;제출 파일 생성&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 테스트 데이터 스케일링&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        X_test_scaled &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;scaler&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;transform(X_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 예측&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        predictions &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(X_test_scaled)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 제출 파일 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        submission &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame({&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;id&amp;#39;&lt;/span&gt; : X_test[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;id&amp;#39;&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Premium Amount&amp;#39;&lt;/span&gt; : predictions&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        })&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        submission&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_csv(submission_path, index&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;제출 파일 생성: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;submission_path&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;compare_shap_feature_importance&lt;/span&gt;(models, X, save_path&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;shap_comparison.png&amp;#39;&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    여러 모델의 SHAP 디테일 특성 중요도를 한 그래프에 시각화 및 저장&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    Args:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        models (list): 비교할 모델 리스트&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        X (pd.DataFrame): 특성 데이터&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        save_path (str): 저장할 파일 경로&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 모델별 SHAP 값 저장할 딕셔너리&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    model_shap_values &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 각 모델의 SHAP 값 계산&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; model_info &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; models:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; model_info[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;model&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        model_name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; model_info[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;try&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# SHAP 설명자 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            shap_explainer &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; SHAPExplainer(model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model, X)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            _, shap_values &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; shap_explainer&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;tree_explainer()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# SHAP 값 저장&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            model_shap_values[model_name] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; shap_values&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;except&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Exception&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; e:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;model_name&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; SHAP 분석 중 오류: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;e&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 모델 수에 따른 동적 서브플롯 설정&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    n_models &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; len(model_shap_values)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 행과 열 계산 (정사각형에 가깝게)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; math&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    n_cols &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; math&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ceil(math&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sqrt(n_models))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    n_rows &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; math&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ceil(n_models &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; n_cols)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 큰 피규어 생성 (디테일 플롯만)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;figure(figsize&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;n_cols, &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;n_rows))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 각 모델의 SHAP 특성 중요도 시각화&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; idx, (model_name, shap_values) &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; enumerate(model_shap_values&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;items(), &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;subplot(n_rows, n_cols, idx)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# SHAP 디테일 플롯&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        shap&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;summary_plot(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            shap_values, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            X, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            show&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;gca()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;set_xlabel(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 제목 추가&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;title(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SHAP Detail - &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;model_name&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;, fontsize&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;11&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;tight_layout()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 피규어 저장 (디테일 플롯만)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;savefig(save_path, dpi&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1000&lt;/span&gt;, bbox_inches&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tight&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SHAP 디테일 비교 그래프가 &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;save_path&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;에 저장되었습니다.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 선택적으로 화면에 표시&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 데이터 전처리&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    preprocessor &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; DataPreprocessor(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;playground-series-s4e12/train.csv&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;playground-series-s4e12/test.csv&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    X, y, X_test, ordinal_encoder &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; preprocessor&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;preprocess(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Premium Amount&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 모델 학습 및 평가&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    models &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        RandomForestModel(X, y),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        XGBoostModel(X, y),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        LightGBMModel(X, y),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        CatBoostModel(X, y),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Kaggle 제출 클래스 초기화&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    submission_handler &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; KaggleSubmission(preprocessor)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 모델별 성능 저장할 딕셔너리&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    model_performances &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    model_shap_info &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; []&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 모델별 성능 평가 및 SHAP 분석&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; model &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; models:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;try&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# 모델 학습&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;train()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# 성능 평가&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            metrics &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;evaluate()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__class__&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__name__&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; 성능:&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; metric, value &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; metrics&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;items():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;metric&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;value&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# 모델 성능 저장 (RMSE를 기준으로)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            model_performances[model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__class__&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__name__] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;model&amp;#39;&lt;/span&gt;: model,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;rmse&amp;#39;&lt;/span&gt;: metrics[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;RMSE&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# SHAP 정보 저장&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            model_shap_info&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;append({&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__class__&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__name__,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;model&amp;#39;&lt;/span&gt;: model&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            })&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;except&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Exception&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; model_error:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__class__&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__name__&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; 처리 중 오류: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;model_error&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;continue&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 모델 간 SHAP 특성 중요도 비교&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    compare_shap_feature_importance(model_shap_info, X)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 최적 모델 선택 (RMSE 기준 최소값)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; model_performances:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        best_model_name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; min(model_performances, key&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;lambda&lt;/span&gt; k: model_performances[k][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;rmse&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        best_model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; model_performances[best_model_name][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;model&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;최적 모델: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;best_model_name&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;최적 모델 RMSE: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;model_performances[best_model_name][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;rmse&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 최적 모델로 Kaggle 제출&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        submission_handler&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;submit(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            best_model, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            X_test, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;best_model_submission.csv&amp;#39;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;id&amp;#39;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Premium Amount&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 모든 모델의 성능 비교 CSV로 저장&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        performance_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;from_dict(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            {name: {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;RMSE&amp;#39;&lt;/span&gt;: data[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;rmse&amp;#39;&lt;/span&gt;]} &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; name, data &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; model_performances&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;items()}, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            orient&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;index&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        performance_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;model_performance_comparison.csv&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;모델 성능 비교 결과가 &amp;#39;model_performance_comparison.csv&amp;#39;에 저장되었습니다.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;모델 학습에 실패했습니다.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    main()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;코드의 주요 기능은 다음과 같음&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 전처리&lt;/li&gt;&#xA;&lt;li&gt;다양항 모델 학습 및 평가 (Random Forest, XGBoost, LightGBM, CatBoost)&lt;/li&gt;&#xA;&lt;li&gt;SHAP(Shapley Additive Explanations)을 활용한 특성 중요도 분석&lt;/li&gt;&#xA;&lt;li&gt;모델 성능 비교 및 최적 모델 선택&lt;/li&gt;&#xA;&lt;li&gt;최적 모델 기반 Kaggle 제출 파일 생성&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;주요-클래스-설명&#34;&gt;주요 클래스 설명&lt;/h2&gt;&#xA;&lt;h3 id=&#34;datapreprocessor&#34;&gt;DataPreprocessor&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 전처리를 담당하는 클래스입니다.&lt;/li&gt;&#xA;&lt;li&gt;주요 기능:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;결측치 처리: 숫자형 데이터는 중앙값, 범주형 데이터는 최빈값으로 대체.&lt;/li&gt;&#xA;&lt;li&gt;Ordinal Encoding: 문자열 데이터를 수치형으로 변환.&lt;/li&gt;&#xA;&lt;li&gt;훈련 데이터(&lt;code&gt;train.csv&lt;/code&gt;)와 테스트 데이터(&lt;code&gt;test.csv&lt;/code&gt;)를 받아 전처리 후 반환.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;DataPreprocessor&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    데이터 전처리 클래스&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;__init__&lt;/span&gt;(self, train_path, test_path):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;train_data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(train_path)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;test_data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(test_path)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;preprocess&lt;/span&gt;(self, target_column):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        데이터 전처리 메서드&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        - 결측치 처리 전략 개선&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        - 문자열 컬럼 Ordinal Encoding&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 타겟 분리&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        X &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;train_data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop(columns&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[target_column])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;train_data[target_column]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        X_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;test_data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;copy()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 결측치 처리 전략 개선&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;handle_missing_values&lt;/span&gt;(df):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# 숫자형 변수 - 중앙값 대체&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            numeric_columns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;select_dtypes(include&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;int64&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;float64&amp;#39;&lt;/span&gt;])&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            df[numeric_columns] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df[numeric_columns]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fillna(df[numeric_columns]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;median())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# 범주형 변수 - 최빈값 대체&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            categorical_columns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;select_dtypes(include&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;object&amp;#39;&lt;/span&gt;])&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            df[categorical_columns] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df[categorical_columns]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fillna(df[categorical_columns]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mode()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;iloc[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; df&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 결측치 처리&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        X &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; handle_missing_values(X)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        X_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; handle_missing_values(X_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 문자열 컬럼 식별&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        categorical_columns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; X&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;select_dtypes(include&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;object&amp;#39;&lt;/span&gt;])&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# Ordinal Encoder 초기화&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        ordinal_encoder &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; OrdinalEncoder(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            handle_unknown&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;use_encoded_value&amp;#39;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            unknown_value&lt;span style=&#34;color:#f92672&#34;&gt;=-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 훈련 및 테스트 데이터에 인코딩 적용&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; len(categorical_columns) &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# 전체 데이터 결합하여 인코딩&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            combined_categorical &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;concat([X[categorical_columns], X_test[categorical_columns]])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# 인코더 훈련&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            ordinal_encoder&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(combined_categorical)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# 훈련 데이터 인코딩&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            X[categorical_columns] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ordinal_encoder&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;transform(X[categorical_columns])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# 테스트 데이터 인코딩&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            X_test[categorical_columns] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ordinal_encoder&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;transform(X_test[categorical_columns])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; X, y, X_test, ordinal_encoder&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;evaluationmetrics&#34;&gt;EvaluationMetrics&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;모델 성능을 평가하기 위한 지표를 제공합니다.&lt;/li&gt;&#xA;&lt;li&gt;값이 작을수록 모델의 예측이 실제 값과 더 가까움을 의미합니다.&lt;/li&gt;&#xA;&lt;li&gt;제공되는 지표:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;RMSE&lt;/strong&gt; (Root Mean Squared Error)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;MAE&lt;/strong&gt; (Mean Absolute Error) : 예측값과 실제값 간 절대 오차의 평균&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;R² Score&lt;/strong&gt; (결정 계수) : 모델의 예측이 실제 데이터를 얼마나 잘 설명하는지&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;MAPE&lt;/strong&gt; (Mean Absolute Percentage Error) : 예측값과 실제값 간의 상대적인 오차를 백분율&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;EvaluationMetrics&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    모델 평가 지표 클래스&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;@staticmethod&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;rmse&lt;/span&gt;(y_true, y_pred):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sqrt(mean_squared_error(y_true, y_pred))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;@staticmethod&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;mae&lt;/span&gt;(y_true, y_pred):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; mean_absolute_error(y_true, y_pred)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;@staticmethod&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;r2&lt;/span&gt;(y_true, y_pred):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; r2_score(y_true, y_pred)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;@staticmethod&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;mape&lt;/span&gt;(y_true, y_pred):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; mean_absolute_percentage_error(y_true, y_pred)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;@staticmethod&lt;/code&gt; 적용 이유&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;EvaluationMetrics&lt;/code&gt; 클래스의 메서드는 입력값 &lt;code&gt;y_true&lt;/code&gt;, &lt;code&gt;y_pred&lt;/code&gt;만 필요하며, 클래스의 상태(속성)와 무관.&lt;/li&gt;&#xA;&lt;li&gt;따라서 이 메서드를 &lt;strong&gt;정적 메서드&lt;/strong&gt;로 정의하여 클래스의 다른 부분과 독립적으로 동작할 수 있도록 설계&lt;/li&gt;&#xA;&lt;li&gt;직접 호출 가능 &lt;code&gt;클래스명.메서드명()&lt;/code&gt; 형태로 호출&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;shapexplainer&#34;&gt;SHAPExplainer&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SHAP 분석 및 시각화를 담당&lt;/li&gt;&#xA;&lt;li&gt;주요 기능&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;tree_explainer()&lt;/code&gt;&lt;/strong&gt;: 트리 기반 모델(XGBoost, LightGBM, Random Forest)에서 SHAP 값을 계산.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;SHAPExplainer&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    SHAP 설명 및 시각화 클래스&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;__init__&lt;/span&gt;(self, model, X):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; model&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; X&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;tree_explainer&lt;/span&gt;(self):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;트리 기반 모델용 SHAP 설명&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        explainer &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; shap&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;TreeExplainer(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        shap_values &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; explainer&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shap_values(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; explainer, shap_values&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;basemldl&#34;&gt;BaseMLDL&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;머신러닝 및 딥러닝 모델의 공통 동작을 정의하는 베이스 클래스&lt;/li&gt;&#xA;&lt;li&gt;주요 메서드:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;train()&lt;/code&gt;&lt;/strong&gt;: 모델 학습. (하위 클래스에서 구현)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;predict()&lt;/code&gt;&lt;/strong&gt;: 모델 예측. (하위 클래스에서 구현)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;evaluate()&lt;/code&gt;&lt;/strong&gt;: 평가 지표를 계산.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;BaseMLDL&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    기본 ML/DL 모델 베이스 클래스&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;__init__&lt;/span&gt;(self, X, y, test_size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.2&lt;/span&gt;, random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 데이터 분할&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_train, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_val, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_train, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_val &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_test_split(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            X, y, test_size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;test_size, random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;random_state&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 스케일링&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;scaler &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; StandardScaler()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_train_scaled &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;scaler&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit_transform(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_val_scaled &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;scaler&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;transform(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_val)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predictions &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;train&lt;/span&gt;(self):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;raise&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;NotImplementedError&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;하위 클래스에서 구현해야 합니다.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;predict&lt;/span&gt;(self):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;raise&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;NotImplementedError&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;하위 클래스에서 구현해야 합니다.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;evaluate&lt;/span&gt;(self):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;모델 평가&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predictions &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;RMSE&amp;#39;&lt;/span&gt;: EvaluationMetrics&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rmse(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_val, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predictions),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;MAE&amp;#39;&lt;/span&gt;: EvaluationMetrics&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mae(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_val, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predictions),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;R2&amp;#39;&lt;/span&gt;: EvaluationMetrics&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;r2(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_val, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predictions),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;MAPE&amp;#39;&lt;/span&gt;: EvaluationMetrics&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mape(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_val, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predictions)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;주요-모델-클래스-정의&#34;&gt;주요 모델 클래스 정의&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;BaseMLDL&lt;/code&gt;을 상속받아 각 알고리즘에 맞게 동작을 구현한 클래스.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;RandomForestModel&lt;/code&gt;&lt;/strong&gt;: Random Forest Regressor 모델.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;XGBoostModel&lt;/code&gt;&lt;/strong&gt;: XGBoost Regressor 모델.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;LightGBMModel&lt;/code&gt;&lt;/strong&gt;: LightGBM Regressor 모델.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;CatBoostModel&lt;/code&gt;&lt;/strong&gt;: CatBoost Regressor 모델.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;각 클래스의 train을 재정의할 수 있습니다. 하이퍼파라미터 튜닝을 시행할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 각 모델 클래스 구현 (RandomForest, XGBoost, LightGBM, CatBoost 등)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;RandomForestModel&lt;/span&gt;(BaseMLDL):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;train&lt;/span&gt;(self, n_estimators&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;kwargs):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; RandomForestRegressor(n_estimators&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;n_estimators, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;kwargs)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_train_scaled, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;predict&lt;/span&gt;(self):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_val_scaled)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;XGBoostModel&lt;/span&gt;(BaseMLDL):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;train&lt;/span&gt;(self, n_estimators&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;kwargs):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; xgb&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;XGBRegressor(n_estimators&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;n_estimators, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;kwargs)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_train_scaled, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;predict&lt;/span&gt;(self):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_val_scaled)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;LightGBMModel&lt;/span&gt;(BaseMLDL):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;train&lt;/span&gt;(self, n_estimators&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;kwargs):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; lgb&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;LGBMRegressor(n_estimators&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;n_estimators, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;kwargs)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_train_scaled, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;predict&lt;/span&gt;(self):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_val_scaled)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;CatBoostModel&lt;/span&gt;(BaseMLDL):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;train&lt;/span&gt;(self, iterations&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;kwargs):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; CatBoostRegressor(iterations&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;iterations, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;kwargs)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_train_scaled, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;predict&lt;/span&gt;(self):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_val_scaled)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;kagglesubmission&#34;&gt;KaggleSubmission&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;최적 모델을 사용해 Kaggle 제출 파일을 생성&lt;/p&gt;</description>
    </item>
    <item>
      <title>Windows Microsoft C&#43;&#43; Build Tools 설정</title>
      <link>https://dschloe.github.io/programming/2024/12/windows_ms_c/</link>
      <pubDate>Tue, 10 Dec 2024 01:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/12/windows_ms_c/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Python 라이브러리 설치 시, 가끔 C++ 라이브러리 설치가 필요할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/12/windows_ms_c/image.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위와 같이 에러가 발생할 때 C++ 라이브러리를 설치를 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;설치방법&#34;&gt;설치방법&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사이트 : &lt;a href=&#34;https://visualstudio.microsoft.com/ko/visual-cpp-build-tools/&#34;&gt;https://visualstudio.microsoft.com/ko/visual-cpp-build-tools/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/12/windows_ms_c/image%201.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Build Tools 다운로드 버튼 클릭 후 관리자 권한으로 실행&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/12/windows_ms_c/image%202.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래와 같이 C++를 사용한 데스크톱 개발 선택 후, 설치&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/12/windows_ms_c/image%203.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치하는 데 다소 시간이 필요함&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/12/windows_ms_c/image%204.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치가 완료되면 재부팅을 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/12/windows_ms_c/image%205.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;파이썬-라이브러리-다시-설치&#34;&gt;파이썬 라이브러리 다시 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;중간에 보면 cp312가 보이는데, C++을 활용해서 설치가 되었다는 것을 의미한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/12/windows_ms_c/image%206.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cursor AI 소개 및 설치</title>
      <link>https://dschloe.github.io/programming/2024/11/cursor_ai_installation/</link>
      <pubDate>Sun, 24 Nov 2024 01:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/11/cursor_ai_installation/</guid>
      <description>&lt;h2 id=&#34;웹사이트&#34;&gt;웹사이트&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.cursor.com/&#34;&gt;https://www.cursor.com/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/11/cursor_ai_installation/image.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;회원가입&#34;&gt;회원가입&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/11/cursor_ai_installation/image%201.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;settings&#34;&gt;Settings&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/11/cursor_ai_installation/image%202.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;가격정책pricing&#34;&gt;가격정책(Pricing)&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/11/cursor_ai_installation/image%203.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;프로그램-설치-windows&#34;&gt;프로그램 설치 (Windows)&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기존에 Visual Studio Code가 설치가 되어 있어야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/11/cursor_ai_installation/image%204.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실행 또는 (관리자 권한)으로 실행&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/11/cursor_ai_installation/image%205.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Continue 버튼 선택&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/11/cursor_ai_installation/image%206.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Use Extensions 선택&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/11/cursor_ai_installation/image%207.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Data Preferences는 독자 취향에 맞게 선택한다. 필자는 Help Improve Cursor를 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/11/cursor_ai_installation/image%208.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;login&#34;&gt;Login&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/11/cursor_ai_installation/image%209.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;개인 계정 확인 후, Yes, Log in 버튼 클릭&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/11/cursor_ai_installation/%EC%BB%A4%EC%84%9C%ED%99%94%EB%A9%B4.png&#34; alt=&#34;커서화면.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/11/cursor_ai_installation/image%2010.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;visual-studio-code-확인&#34;&gt;Visual Studio Code 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 Visual Studio Code에 Cursor AI가 업데이트가 되었는지 확인해본다.&lt;/li&gt;&#xA;&lt;li&gt;그러기 위해서는, 먼저 Github에서 새로운 Repository를 하나 생성한다. 필자는 cursor_ai_project로 명명했다.&lt;/li&gt;&#xA;&lt;li&gt;해당 Repo를 생성한 후, git clone으로 다운로드 받는다.&lt;/li&gt;&#xA;&lt;li&gt;Visual Studio Code에서 해당 Repository를 열면, 다음과 같은 화면이 나올 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/11/cursor_ai_installation/image%2011.png&#34; alt=&#34;image.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Crontab으로 Git Commit Automation with sh 파일 on M1</title>
      <link>https://dschloe.github.io/programming/2024/09/m1_crontab_git_commit_automation/</link>
      <pubDate>Sat, 28 Sep 2024 01:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/09/m1_crontab_git_commit_automation/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Mac Crontab으로 SH 파일을 실행하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;sh-파일-작성&#34;&gt;SH 파일 작성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;주요 내용은 아래와 같이 작성한다. (파일명 : deploy.sh)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#!/bin/bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Git Push Starting...&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd /Users/evan/Desktop/alphaco_test&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Check out repo&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git add -A&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git commit -m &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Automated commit on &lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;date &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;+%Y-%m-%d %H:%M:%S&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git push                                                             &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;수동-업로드&#34;&gt;수동 업로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;수동으로 업로드 하기 위해 파일 권한을 열어준다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;777은 소유자, 그룹, 다른 모든 사용자에게 읽기, 쓰기, 실행 권한 부여하는 명령어를 말한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;chmod &lt;span style=&#34;color:#ae81ff&#34;&gt;777&lt;/span&gt; deploy.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;실행&#34;&gt;실행&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;해당 파일이 있는 경로에서 &lt;a href=&#34;http://deploy.sh&#34;&gt;&lt;code&gt;deploy.sh&lt;/code&gt;&lt;/a&gt; 파일을 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~$ ./deploy.sh &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;crontab-등록&#34;&gt;Crontab 등록&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;싸이트 소개 : &lt;a href=&#34;https://crontab.guru/&#34;&gt;https://crontab.guru/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/09/m1_crontab_git_commit_automation/Screenshot_2024-09-28_at_4.05.42_PM.png&#34; alt=&#34;Screenshot 2024-09-28 at 4.05.42 PM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Deep Learning Loss Function</title>
      <link>https://dschloe.github.io/programming/2024/08/deeplearning_lossfunction/</link>
      <pubDate>Fri, 16 Aug 2024 10:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/08/deeplearning_lossfunction/</guid>
      <description>&lt;h2 id=&#34;딥러닝-손실-함수-loss-function-개요&#34;&gt;딥러닝 손실 함수 (Loss Function) 개요&lt;/h2&gt;&#xA;&lt;p&gt;딥러닝에서 손실 함수는 모델의 예측과 실제 값 사이의 차이를 측정하는 중요한 요소. 다양한 종류의 손실 함수가 있으며, 문제의 특성에 따라 적절한 함수를 선택해야 함.&lt;/p&gt;&#xA;&lt;h2 id=&#34;주요-손실-함수-설명&#34;&gt;주요 손실 함수 설명&lt;/h2&gt;&#xA;&lt;h3 id=&#34;평균-제곱-오차-mean-squared-error-mse&#34;&gt;평균 제곱 오차 (Mean Squared Error, MSE)&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;유형 : 회귀&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;공식 :&lt;/p&gt;&#xA;&lt;p&gt;$$&#xA;\text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2&#xA;$$&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;설명:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$y_i$ : 실제 값&lt;/li&gt;&#xA;&lt;li&gt;$\hat{y}_i$ : 예측 값&lt;/li&gt;&#xA;&lt;li&gt;$n$ : 데이터 포인트의 수&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;사용 용도&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker-Compose와 Dockerfile을 활용한 Flask-MySQL 연동 예제</title>
      <link>https://dschloe.github.io/programming/2024/07/docker_compose_dockerfile_flask_mysql/</link>
      <pubDate>Tue, 02 Jul 2024 10:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/07/docker_compose_dockerfile_flask_mysql/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Docker-Compose와 Dockerfile의 주요 기능을 이해한다.&lt;/li&gt;&#xA;&lt;li&gt;각 파일의 위치와 주요 기능을 이해한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;전체-프로젝트-파일-디렉터리&#34;&gt;전체 프로젝트 파일 디렉터리&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 프로젝트의 전체 코드는 다음과 같다.&lt;/li&gt;&#xA;&lt;li&gt;실제 코드 작성을 해야하는 곳은 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;app.py&lt;/li&gt;&#xA;&lt;li&gt;requirements.txt&lt;/li&gt;&#xA;&lt;li&gt;init.sql&lt;/li&gt;&#xA;&lt;li&gt;docker-compose.yml&lt;/li&gt;&#xA;&lt;li&gt;Dockerfile&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;docker_kubernetes_flask/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── app/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── __init__.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── app.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   └── requirements.txt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── db/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── init.sql&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   └── data/ &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;This will be created by Docker&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── docker-compose.yml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;└── Dockerfile&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;사전준비&#34;&gt;사전준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사전에 &lt;code&gt;Docker&lt;/code&gt;는 Desktop 설치가 되어 있다고 가정한다.&lt;/li&gt;&#xA;&lt;li&gt;코드 편집을 위해서는 &lt;code&gt;Visual Studio Code&lt;/code&gt;를 활용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;docker가-익숙하지-않은-사람들을-위한-1줄-요약&#34;&gt;Docker가 익숙하지 않은 사람들을 위한 1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MySQL 설치하고, Python 설치하고, 두개 또 연동해야 하고, CLI 명령어 또 각각 입력하는거 다 자동화 해줄게요!!&lt;/li&gt;&#xA;&lt;li&gt;즉, 자동화에 익숙해지자!&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;docker-compose와-dockerfile-간단-비교&#34;&gt;docker-compose와 Dockerfile 간단 비교&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;docker-compose.yml : python 컨테이너와 mysql 컨테이너를 각각 한꺼번에 구성하도록 스크립트를 작성함&lt;/li&gt;&#xA;&lt;li&gt;Dockerfile : 여기에서는 python 개발환경을 구성함&lt;/li&gt;&#xA;&lt;li&gt;docker-compose.yml에서 Dockerfile을 호출하여 개발환경을 만들도록 지시할 수 있음&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;전체-코드-흐름-1줄-요약&#34;&gt;전체 코드 흐름 1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;From MySQL to Python Flask&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;initsql과-apppy-간단-설명&#34;&gt;init.sql과 app.py 간단 설명&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;각 두개의 파일은 사전에 미리 작성을 해둔다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;mysql--initsql&#34;&gt;MySQL : init.sql&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 &lt;code&gt;SQL&lt;/code&gt; 코드는 데이터베이스와 테이블을 생성하고, 테이블에 데이터를 삽입하는 작업을 수행.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;test_db&lt;/code&gt; 데이터베이스 생성&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;users&lt;/code&gt; 테이블 생성&lt;/li&gt;&#xA;&lt;li&gt;간단하게 이름 생성&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;DATABASE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;IF&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NOT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;EXISTS&lt;/span&gt; test_db;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;USE test_db;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TABLE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;IF&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NOT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;EXISTS&lt;/span&gt; users (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    id INT AUTO_INCREMENT &lt;span style=&#34;color:#66d9ef&#34;&gt;PRIMARY&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;KEY&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    name VARCHAR(&lt;span style=&#34;color:#ae81ff&#34;&gt;255&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;NOT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;INSERT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;INTO&lt;/span&gt; users (name) &lt;span style=&#34;color:#66d9ef&#34;&gt;VALUES&lt;/span&gt; (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Evan&amp;#39;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;INSERT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;INTO&lt;/span&gt; users (name) &lt;span style=&#34;color:#66d9ef&#34;&gt;VALUES&lt;/span&gt; (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Sara&amp;#39;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;INSERT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;INTO&lt;/span&gt; users (name) &lt;span style=&#34;color:#66d9ef&#34;&gt;VALUES&lt;/span&gt; (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Lotto&amp;#39;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;python--apppy&#34;&gt;Python : app.py&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 &lt;code&gt;Python&lt;/code&gt; 코드는 &lt;code&gt;Flask&lt;/code&gt; 웹 애플리케이션을 설정하여 &lt;code&gt;MySQL&lt;/code&gt; 데이터베이스에 연결하고, 사용자 데이터를 &lt;code&gt;JSON&lt;/code&gt; 형식으로 반환하는 작업을 수행.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; flask &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Flask, jsonify&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; mysql.connector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;app &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Flask(__name__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;get_db_connection&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    connection &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; mysql&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connector&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connect(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        host&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;mysql&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        user&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;root&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        password&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;example&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        database&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;test_db&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; connection&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;@app.route&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;index&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    connection &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; get_db_connection()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    cursor &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; connection&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;cursor()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    cursor&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;execute(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;SELECT * FROM users&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    users &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; cursor&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fetchall()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    cursor&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;close()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    connection&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;close()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    users_list &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [{&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;: user[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;], &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;: user[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]} &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; user &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; users]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; jsonify(users_list)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;__main__&amp;#39;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    app&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;run(host&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;0.0.0.0&amp;#39;&lt;/span&gt;, port&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5000&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;좀더 구체적으로 살펴본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;step-01---라이브러리-불러오기&#34;&gt;step 01 - 라이브러리 불러오기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Flask&lt;/code&gt;: Flask 웹 애플리케이션 프레임워크를 불러오기&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;jsonify&lt;/code&gt;: 데이터를 JSON 형식으로 변환하여 HTTP 응답으로 반환하는 데 사용&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;mysql.connector&lt;/code&gt;: MySQL 데이터베이스에 연결하기 위해 사용&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; flask &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Flask, jsonify&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; mysql.connector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;step-02---flask-application-setup&#34;&gt;step 02 - &lt;strong&gt;Flask Application Setup&lt;/strong&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Flask 애플리케이션 인스턴스를 생성. &lt;code&gt;__name__&lt;/code&gt;은 현재 모듈의 이름을 전달하여 Flask 애플리케이션을 생성하는 데 사용.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;app &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Flask(__name__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;step-03---database-connection-function&#34;&gt;step 03 - &lt;strong&gt;Database Connection Function&lt;/strong&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;get_db_connection&lt;/code&gt; 함수는 MySQL 데이터베이스에 연결하고, 연결 객체를 반환.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;host&lt;/code&gt;, &lt;code&gt;user&lt;/code&gt;, &lt;code&gt;password&lt;/code&gt;, &lt;code&gt;database&lt;/code&gt; 매개변수는 데이터베이스에 연결하기 위한 정보&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;get_db_connection&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    connection &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; mysql&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connector&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connect(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        host&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;mysql&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        user&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;root&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        password&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;example&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        database&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;test_db&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; connection&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;step-04---index-route&#34;&gt;step 04 - &lt;strong&gt;Index Route&lt;/strong&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;@app.route(&#39;/&#39;)&lt;/code&gt;:  해당 Decorator는 URL (&amp;rsquo;/&amp;rsquo;)에 대한 요청을 처리하는 &lt;code&gt;index&lt;/code&gt; 함수를 정의.&lt;/li&gt;&#xA;&lt;li&gt;index 함수의 내용은 다음과 같이 구성됨&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;get_db_connection&lt;/code&gt;을 호출하여 데이터베이스에 연결.&lt;/li&gt;&#xA;&lt;li&gt;연결 객체에서 커서를 생성하고, &lt;code&gt;SELECT * FROM users&lt;/code&gt; 쿼리를 실행하여 &lt;code&gt;users&lt;/code&gt; 테이블의 모든 데이터를 가져오기&lt;/li&gt;&#xA;&lt;li&gt;데이터를 가져온 후 커서와 연결을 닫기&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;users&lt;/code&gt; 데이터를 List Comprehension을 사용하여 딕셔너리 형태로 변환합니다. 각 사용자에 대해 &lt;code&gt;id&lt;/code&gt;와 &lt;code&gt;name&lt;/code&gt; 키를 가지는 딕셔너리를 생성.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 부분은 별도의 HTML 소스코드를 넣지 않기 위해서 진행한 것이니, 해당 자세한 내용을 보기를 원한다면 Flask 웹개발로 더 공부할 것 권장&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;변환된 리스트를 &lt;code&gt;jsonify&lt;/code&gt;를 사용하여 JSON 형식으로 반환.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;@app.route&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;index&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    connection &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; get_db_connection()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    cursor &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; connection&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;cursor()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    cursor&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;execute(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;SELECT * FROM users&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    users &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; cursor&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fetchall()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    cursor&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;close()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    connection&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;close()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    users_list &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [{&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;: user[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;], &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;: user[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]} &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; user &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; users]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; jsonify(users_list)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;step-05---running-the-application&#34;&gt;step 05 - &lt;strong&gt;Running the Application&lt;/strong&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;모듈이 직접 실행될 때만 Flask 애플리케이션을 실행&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;app.run&lt;/code&gt; 메소드를 호출하여 애플리케이션을 시작.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;host=&#39;0.0.0.0&#39;&lt;/code&gt;: 애플리케이션이 모든 네트워크 인터페이스에서 접근 가능하도록 설정.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;port=5000&lt;/code&gt;: 애플리케이션이 5000번 포트에서 실행되도록 설정.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;__main__&amp;#39;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    app&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;run(host&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;0.0.0.0&amp;#39;&lt;/span&gt;, port&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5000&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;python--requirementstxt&#34;&gt;Python : requirements.txt&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;주요 라이브러리 설치 위해 필요한 라이브러리 2개만 설치&lt;/li&gt;&#xA;&lt;li&gt;추후에 독자가 라이브러리 추가 가능&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Flask&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mysql&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;connector&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;python&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;docker-dockerfile&#34;&gt;Docker: Dockerfile&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Dockerfile은 Python 애플리케이션을 컨테이너화하기 위한 스크립트&lt;/li&gt;&#xA;&lt;li&gt;다른 파일과 달리 확장자명이 없다는 것에 주의&lt;/li&gt;&#xA;&lt;li&gt;다양한 옵션에 대해 설명하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;FROM python:3.10-slim&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;WORKDIR /app&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;COPY app/requirements.txt .&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RUN pip install --no-cache-dir -r requirements.txt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;COPY app/ .&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;EXPOSE &lt;span style=&#34;color:#ae81ff&#34;&gt;5000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;CMD &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;python&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;app.py&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;step-01---from&#34;&gt;step 01 - FROM&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;FROM python:3.10-slim&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Base Image를 선택한다. 해당 이미지를 선택하려면 &lt;a href=&#34;https://hub.docker.com/&#34;&gt;Docker Hub&lt;/a&gt; 검색창에서 확인 (Login 필수)&lt;/li&gt;&#xA;&lt;li&gt;각 Base Image를 선택하면 관련 Tag가 존재하며 여기에서 Tags 확인해서 입력하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;꼭 &lt;code&gt;Docker Official Image&lt;/code&gt; 를 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/07/Docker_Compose_Dockerfile_flask_mysql/Screenshot_2024-07-01_at_8.16.09_AM.png&#34; alt=&#34;Screenshot 2024-07-01 at 8.16.09 AM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Streamlit on Google Colab</title>
      <link>https://dschloe.github.io/programming/2024/06/streamlit_on_google_colab/</link>
      <pubDate>Thu, 20 Jun 2024 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/06/streamlit_on_google_colab/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;개발환경설정이 어려운 환경에서 Google Colab 상에서 Streamlit 설치 및 실행을 익히고자 한다.&lt;/li&gt;&#xA;&lt;li&gt;주로 강의 목적으로 사용하기를 바란다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;streamlit-라이브러리-설치&#34;&gt;Streamlit 라이브러리 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 코드를 활용하여 streamlit 라이브러리 설치&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;!pip install -q streamlit&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/06/Streamlit_on_Google_Colab/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;streamlit-코드-작성-샘플&#34;&gt;Streamlit 코드 작성 샘플&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래와 같이 코드를 작성 후, app.py로 내보내기를 한다.&lt;/li&gt;&#xA;&lt;li&gt;magics from Jupyter : [Jupyter’s magics page](&lt;a href=&#34;https://nbviewer.org/github/ipython/ipython/blob/1.x/examples/notebooks/Cell%20Magics.ipynb&#34;&gt;https://nbviewer.org/github/ipython/ipython/blob/1.x/examples/notebooks/Cell Magics.ipynb&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%%&lt;/span&gt;writefile app&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; streamlit &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; st&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; plotly.graph_objs &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; go&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; plotly.subplots &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; make_subplots&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;@st.cache_data&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;load_data&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;load_dataset(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tips&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; df&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;title(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Streamlit with Plotly&amp;#34;&lt;/span&gt;)   &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    tips &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; load_data()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 데이터가공&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    m_tips &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; tips&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;loc[tips[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;sex&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Male&amp;#39;&lt;/span&gt;, :]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    f_tips &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; tips&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;loc[tips[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;sex&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Female&amp;#39;&lt;/span&gt;, :]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 시각화 차트&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fig &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; make_subplots(rows &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        cols &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        subplot_titles&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Male&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Female&amp;#39;&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        shared_yaxes&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        shared_xaxes&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        x_title&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Total Bill($)&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;add_trace(go&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Scatter(x &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; m_tips[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;total_bill&amp;#39;&lt;/span&gt;], y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; m_tips[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tip&amp;#39;&lt;/span&gt;], mode&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;markers&amp;#39;&lt;/span&gt;), row&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, col&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;add_trace(go&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Scatter(x &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; f_tips[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;total_bill&amp;#39;&lt;/span&gt;], y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; f_tips[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tip&amp;#39;&lt;/span&gt;], mode&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;markers&amp;#39;&lt;/span&gt;), row&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, col&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;update_yaxes(title_text&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Tip($)&amp;#34;&lt;/span&gt;, row&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, col&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;update_xaxes(range&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;60&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;update_layout(showlegend&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 중요포인트&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# fig.show()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;plotly_chart(fig, use_container_width&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    main()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/06/Streamlit_on_Google_Colab/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Oracle VM Box 양방향 복사 붙이기</title>
      <link>https://dschloe.github.io/programming/2024/05/oracle_vm_box_ubuntu_bidirect_copy/</link>
      <pubDate>Thu, 23 May 2024 01:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/05/oracle_vm_box_ubuntu_bidirect_copy/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;VirtualBox를 통해 복사 붙이기 등을 하려고 함&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;사전작업-1---우분투-패키지-업그레이드&#34;&gt;사전작업 1 - 우분투 패키지 업그레이드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;터미널을 열고 아래 코드를 순차적으로 입력&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/05/oracle_vm_box_ubuntu_bidirect_copy/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;업그레이 명령어 입력&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt upgrade&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/05/oracle_vm_box_ubuntu_bidirect_copy/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;사전작업-2---게스트-확장-설치&#34;&gt;사전작업 2 - 게스트 확장 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 주요 라이브러리 설치 진행&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install gcc make perl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/05/oracle_vm_box_ubuntu_bidirect_copy/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;게스트 확장 CD 이미지 삽입 메뉴 클릭&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/05/oracle_vm_box_ubuntu_bidirect_copy/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;해당 디렉터리를 열고, 마우스 우클릭 &amp;gt; 터미널에서 열기 실행&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/05/oracle_vm_box_ubuntu_bidirect_copy/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ls 명령어 실행&#xA;&lt;ul&gt;&#xA;&lt;li&gt;VBoxLinuxAdditions.run 파일이 있는지 확인&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/05/oracle_vm_box_ubuntu_bidirect_copy/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ubuntu install on M1</title>
      <link>https://dschloe.github.io/programming/2024/05/ubuntu_install_m1/</link>
      <pubDate>Tue, 21 May 2024 01:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/05/ubuntu_install_m1/</guid>
      <description>&lt;h1&gt;&lt;/h1&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;M1에서 Ubuntu를 설치하는 방법에 대해 기술한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ubuntu-2404-lts-다운로드&#34;&gt;Ubuntu 24.04 LTS 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ubuntu Download를 진행한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다운로드 받을 시, arm으로 다운로드 받아야 한다.&lt;/li&gt;&#xA;&lt;li&gt;다른 아키텍처로 다운로드 받을 시 리눅스가 활성화가 되지 않는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;사이트 : &lt;a href=&#34;https://ubuntu.com/download/server/arm&#34;&gt;https://ubuntu.com/download/server/arm&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/05/ubuntu_install_m1/Screenshot_2024-05-21_at_9.43.12_AM.png&#34; alt=&#34;Screenshot 2024-05-21 at 9.43.12 AM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;최신버전의 경우 잘 되지 않을수도 있다. 따라서 22.04.04 버전으로 변경하였다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사이트 : &lt;a href=&#34;https://cdimage.ubuntu.com/releases/22.04.4/release/&#34;&gt;https://cdimage.ubuntu.com/releases/22.04.4/release/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/05/ubuntu_install_m1/Screenshot_2024-05-21_at_10.46.43_AM.png&#34; alt=&#34;Screenshot 2024-05-21 at 10.46.43 AM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;utm-다운로드&#34;&gt;UTM 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사이트 : &lt;a href=&#34;https://mac.getutm.app/&#34;&gt;https://mac.getutm.app/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/05/ubuntu_install_m1/Screenshot_2024-05-21_at_9.29.15_AM.png&#34; alt=&#34;Screenshot 2024-05-21 at 9.29.15 AM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;utm-가상머신-생성&#34;&gt;UTM 가상머신 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;UTM을 실행하면 아래와 같은 화면이 나온다.&lt;/li&gt;&#xA;&lt;li&gt;Create a New Virtual Machine을 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/05/ubuntu_install_m1/Screenshot_2024-05-21_at_9.30.52_AM.png&#34; alt=&#34;Screenshot 2024-05-21 at 9.30.52 AM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>gcloud installation on Mac, SSH Connection with VSCode</title>
      <link>https://dschloe.github.io/programming/2024/04/gcloud_mac_vscode/</link>
      <pubDate>Mon, 22 Apr 2024 10:00:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/04/gcloud_mac_vscode/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;gcloud를 Mac에서 설치를 하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;참조 : &lt;a href=&#34;https://cloud.google.com/sdk/docs/install-sdk?hl=ko&#34;&gt;https://cloud.google.com/sdk/docs/install-sdk?hl=ko&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/04/gcloud_mac_vscode/Screenshot_2024-04-22_at_6.15.48_PM.png&#34; alt=&#34;Screenshot 2024-04-22 at 6.15.48 PM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;설치파일-다운로드&#34;&gt;설치파일 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;각 사용자 버전에 맞는 설치 파일을 다운로드 받는다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 M1 silicon 버전을 사용하기로 하였다.&lt;/li&gt;&#xA;&lt;li&gt;Desktop &amp;gt; gcloud_install 내부에 해당 파일을 다운로드 받았다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/04/gcloud_mac_vscode/Screenshot_2024-04-22_at_6.16.45_PM.png&#34; alt=&#34;Screenshot 2024-04-22 at 6.16.45 PM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;압축을 풀면 아래와 같이 google-cloud-sdk 폴더 안애 install.sh 파일이 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/04/gcloud_mac_vscode/Screenshot_2024-04-22_at_6.20.54_PM.png&#34; alt=&#34;Screenshot 2024-04-22 at 6.20.54 PM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;설치파일-실행&#34;&gt;설치파일 실행&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;해당 폴더에 있는 파일에 접속해서 install.sh 파일을 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;your_location&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;/google-cloud-sdk/install.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Welcome to the Google Cloud CLI!&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;To help improve the quality of this product, we collect anonymized usage data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;and anonymized stacktraces when crashes are encountered; additional information&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;is available at &amp;lt;https://cloud.google.com/sdk/usage-statistics&amp;gt;. This data is&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;handled in accordance with our privacy policy&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;https://cloud.google.com/terms/cloud-privacy-notice&amp;gt;. You may choose to opt in this&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;collection now &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;by choosing &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Y&amp;#39;&lt;/span&gt; at the below prompt&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, or at any time in the&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;future by running the following command:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    gcloud config set disable_usage_reporting false&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Do you want to help improve the Google Cloud CLI &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;y/N&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;? y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your current Google Cloud CLI version is: 471.0.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;The latest available version is: 472.0.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│                                                     Components                                                     │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├──────────────────┬──────────────────────────────────────────────────────┬──────────────────────────────┬───────────┤&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│      Status      │                         Name                         │              ID              │    Size   │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├──────────────────┼──────────────────────────────────────────────────────┼──────────────────────────────┼───────────┤&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Update Available │ BigQuery Command Line Tool                           │ bq                           │   1.7 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Update Available │ Google Cloud CLI Core Libraries                      │ core                         │  18.4 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ App Engine Go Extensions                             │ app-engine-go                │   4.5 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ Appctl                                               │ appctl                       │  18.5 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ Artifact Registry Go Module Package Helper           │ package-go-module            │   &amp;lt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ Cloud Bigtable Command Line Tool                     │ cbt                          │  16.7 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ Cloud Bigtable Emulator                              │ bigtable                     │   7.0 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ Cloud Datastore Emulator                             │ cloud-datastore-emulator     │  36.2 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ Cloud Firestore Emulator                             │ cloud-firestore-emulator     │  44.8 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ Cloud Pub/Sub Emulator                               │ pubsub-emulator              │  63.3 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ Cloud Run Proxy                                      │ cloud-run-proxy              │  11.3 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ Cloud SQL Proxy v2                                   │ cloud-sql-proxy              │  13.2 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ Google Container Registry&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;#39;&lt;/span&gt;s Docker credential helper │ docker-credential-gcr        │           │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ Kustomize                                            │ kustomize                    │   7.4 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ Log Streaming                                        │ log-streaming                │  11.9 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ Minikube                                             │ minikube                     │  33.6 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ Nomos CLI                                            │ nomos                        │  28.6 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ On-Demand Scanning API extraction helper             │ local-extract                │  13.7 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ Skaffold                                             │ skaffold                     │  22.8 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ Terraform Tools                                      │ terraform-tools              │  63.6 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ anthos-auth                                          │ anthos-auth                  │  20.7 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ config-connector                                     │ config-connector             │  55.6 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ enterprise-certificate-proxy                         │ enterprise-certificate-proxy │   8.3 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ gcloud Alpha Commands                                │ alpha                        │   &amp;lt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ gcloud Beta Commands                                 │ beta                         │   &amp;lt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ gcloud app Java Extensions                           │ app-engine-java              │ 126.2 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ gcloud app PHP Extensions                            │ app-engine-php               │  21.9 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ gcloud app Python Extensions                         │ app-engine-python            │   5.0 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ gcloud app Python Extensions &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;Extra Libraries&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;       │ app-engine-python-extras     │   &amp;lt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ gke-gcloud-auth-plugin                               │ gke-gcloud-auth-plugin       │   7.4 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ kpt                                                  │ kpt                          │  14.4 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ kubectl                                              │ kubectl                      │   &amp;lt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ kubectl-oidc                                         │ kubectl-oidc                 │  20.7 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Not Installed    │ pkg                                                  │ pkg                          │           │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Installed        │ Cloud Storage Command Line Tool                      │ gsutil                       │  11.3 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│ Installed        │ Google Cloud CRC32C Hash Tool                        │ gcloud-crc32c                │   1.2 MiB │&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;└──────────────────┴──────────────────────────────────────────────────────┴──────────────────────────────┴───────────┘&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;To install or remove components at your current SDK version &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;471.0.0&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;, run:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  $ gcloud components install COMPONENT_ID&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  $ gcloud components remove COMPONENT_ID&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;To update your SDK installation to the latest version &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;472.0.0&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;, run:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  $ gcloud components update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Modify profile to update your $PATH and enable shell command completion?&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Do you want to &lt;span style=&#34;color:#66d9ef&#34;&gt;continue&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;Y/n&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;?  y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;The Google Cloud SDK installer will now prompt you to update an rc file to bring&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; the Google Cloud CLIs into your environment.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Enter a path to an rc file to update, or leave blank to use &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;/Users/evan/.bash_profile&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;:  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Backing up &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;/Users/evan/.bash_profile&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; to &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;/Users/evan/.bash_profile.backup&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;/Users/evan/.bash_profile&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; has been updated.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;&amp;gt; Start a new shell &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; the changes to take effect.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Google Cloud CLI works best with Python 3.11 and certain modules.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Download and run Python 3.11 installer? &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;Y/n&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;?  Y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Running Python 3.11 installer, you may be prompted &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; sudo password...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Password: &lt;span style=&#34;color:#75715e&#34;&gt;# your_password&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;installer: Package name is Python&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;installer: Upgrading at base path /&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;installer: The upgrade was successful.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Setting up virtual environment&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Creating virtualenv...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Installing modules...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 89.7/89.7 kB 4.6 MB/s eta 0:00:00&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Installing build dependencies ... &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Getting requirements to build wheel ... &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Preparing metadata &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;pyproject.toml&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; ... &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 59.0/59.0 kB 5.9 MB/s eta 0:00:00&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.0/10.0 MB 33.9 MB/s eta 0:00:00&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 163.8/163.8 kB 16.1 MB/s eta 0:00:00&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.3/5.3 MB 42.0 MB/s eta 0:00:00&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 176.7/176.7 kB 15.4 MB/s eta 0:00:00&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 117.6/117.6 kB 10.4 MB/s eta 0:00:00&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Building wheel &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; crcmod &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;pyproject.toml&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; ... &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Updates are available &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; some Google Cloud CLI components.  To install them,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;please run:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  $ gcloud components update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Virtual env enabled.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;For more information on how to get started, please visit:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  https://cloud.google.com/sdk/docs/quickstarts&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;gcloud CLI를 초기화하려면 &lt;code&gt;gcloud init&lt;/code&gt; 을 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ./google-cloud-sdk/bin/gcloud init&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Welcome! This command will take you through the configuration of gcloud.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your current configuration has been set to: &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;default&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;You can skip diagnostics next time by using the following flag:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  gcloud init --skip-diagnostics&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Network diagnostic detects and fixes local network connection issues.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Checking network connection...done.                                            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Reachability Check passed.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Network diagnostic passed &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;1/1 checks passed&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;You must log in to &lt;span style=&#34;color:#66d9ef&#34;&gt;continue&lt;/span&gt;. Would you like to log in &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;Y/n&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;?  Y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your browser has been opened to visit:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    https://accounts.google.com/o/oauth2/....S256&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;You are logged in as: &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;your_email@gmail.com&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Pick cloud project to use: &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;1&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; chickenbot-a185e&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;2&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; encoded-phalanx-420600&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;3&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; streamlit-gitaction-403105&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;4&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; streamlit-project-416601&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;5&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; Enter a project ID&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;6&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; Create a new project&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Please enter numeric choice or text value &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;must exactly match list item&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;:  &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/04/gcloud_mac_vscode/Screenshot_2024-04-22_at_6.34.04_PM.png&#34; alt=&#34;Screenshot 2024-04-22 at 6.34.04 PM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>gcloud Installation on Windows 11 - New Configuration</title>
      <link>https://dschloe.github.io/programming/2024/04/gcloud_windows11_vscode/</link>
      <pubDate>Sun, 21 Apr 2024 10:00:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/04/gcloud_windows11_vscode/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;신규로 설치를 하는 것은 아래 링크를 참조한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;링크 : &lt;a href=&#34;https://dschloe.github.io/gcp/2023/09/gcloud_installation_windows11/&#34;&gt;https://dschloe.github.io/gcp/2023/09/gcloud_installation_windows11/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;기존에 설치 후, 재설치 할 때의 과정을 리뷰 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;재설치&#34;&gt;재설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;재설치의 마지막 화면은 다음과 같다.&lt;/li&gt;&#xA;&lt;li&gt;Pick configuration to use, Section에서 2번을 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/04/gcloud_windows11_vscode/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이후 CMD 화면이 팝업화가 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Welcome to the Google Cloud CLI! Run &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;gcloud -h&amp;#34;&lt;/span&gt; to get the list of available commands.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;---&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Welcome! This command will take you through the configuration of gcloud.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Settings from your current configuration &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;default&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; are:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;accessibility:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  screen_reader: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;True&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;compute:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  region: asia-northeast3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  zone: asia-northeast3-a&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;core:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  account: your_existing@gmail.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  disable_usage_reporting: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;False&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  project: mulcampfp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Pick configuration to use:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;1&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; Re-initialize this configuration &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;default&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; with new settings&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;2&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; Create a new configuration&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Please enter your numeric choice:  &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 Enter configuration name이 있다. 이 때, 접속하고자 하는 &lt;code&gt;[mulcamp-project-abc]&lt;/code&gt; 프로젝트를 입력한다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 참고하고자 하는 프로젝트 정보에서 Project ID와 매칭되는 것을 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Enter configuration name&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; Names start &lt;span style=&#34;color:#66d9ef&#34;&gt;with&lt;/span&gt; a lower &lt;span style=&#34;color:#66d9ef&#34;&gt;case&lt;/span&gt; letter &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; contain only lower &lt;span style=&#34;color:#66d9ef&#34;&gt;case&lt;/span&gt; letters a&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;z, digits &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hyphens &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;-&amp;#39;&lt;/span&gt;:  mulcamp&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;project&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;abc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your current configuration has been set to: [mulcamp&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;project&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;abc]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;기존 이메일 주소를 선택하거나 또는 다른 이메일을 선택한다. 필자는 1번으로 선택하였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;You can skip diagnostics next time by using the following flag:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  gcloud init &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;skip&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;diagnostics&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Network diagnostic detects &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; fixes local network connection issues&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Checking network connection&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt;done&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Reachability Check passed&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Network diagnostic passed (&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; checks passed)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Choose the account you would like to use to perform operations &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; this configuration:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;] your_email&lt;span style=&#34;color:#a6e22e&#34;&gt;@gmail.com&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;] Log &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;with&lt;/span&gt; a new account&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Please enter your numeric choice: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;로그인 이후에는 기존 이메일 계정에 있는 프로젝트 목록이 활성화 될 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/04/gcloud_windows11_vscode/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Github Actions with GCE, SSH-Key 값 등록</title>
      <link>https://dschloe.github.io/programming/2024/04/gce_githubactions_sshkey/</link>
      <pubDate>Fri, 19 Apr 2024 10:00:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/04/gce_githubactions_sshkey/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Github Actions 강의 중, 애매한 부분을 정리하였다.&lt;/li&gt;&#xA;&lt;li&gt;Github Actions에 대한 전체 코드는 여기에서 다루지는 않는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ssh-key-값-설정&#34;&gt;SSH-Key 값 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;GCE에서 Github와 연동을 위해서는  Key값을 생성해야 한다.&lt;/li&gt;&#xA;&lt;li&gt;본인의 구글클라우드 이메일을 추가하여 아래와 같이 코드를 실행한다.&lt;/li&gt;&#xA;&lt;li&gt;GCP의 ID와 Github의 이메일 주소가 다른 분들이 있다. 이럴 경우 문제가 발생할 수 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;주의 : Github 이메일 주소가 아님&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ssh-keygen -t rsa -b &lt;span style=&#34;color:#ae81ff&#34;&gt;4096&lt;/span&gt; -C &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;your@gmail.com&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;github-ssh-key값-생성&#34;&gt;Github SSH Key값 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ssh의 public 키값을 복사한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cat .ssh/id_rsa.pub &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ssh-rsa AAAAB3...Q&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; your@gmail.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;github-ssh-등록&#34;&gt;Github SSH 등록&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;public key값을 복사하여 아래 SSH and GPG keys 값에 복사한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/04/gce_githubactions_sshkey/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>django-web on GCE</title>
      <link>https://dschloe.github.io/programming/2024/04/djangoweb_on_gce/</link>
      <pubDate>Thu, 18 Apr 2024 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/04/djangoweb_on_gce/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;django-web을 GCE에 설치 및 배포를 간단하게 진행하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;사전준비&#34;&gt;사전준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Google Cloud Platform 회원가입은 미리 진행했고, GCE 인스턴스를 생성할 줄 아는 상태임을 전제로 한다.&lt;/li&gt;&#xA;&lt;li&gt;Miniconda 설치가 끝난 상황임을 가정한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Miniconda Linux 설치 : &lt;a href=&#34;https://docs.anaconda.com/free/miniconda/&#34;&gt;https://docs.anaconda.com/free/miniconda/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Miniconda 설치&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkdir &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;p &lt;span style=&#34;color:#f92672&#34;&gt;~/&lt;/span&gt;miniconda3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;repo&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;anaconda&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;miniconda&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;Miniconda3&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;latest&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;Linux&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;x86_64&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sh &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;O &lt;span style=&#34;color:#f92672&#34;&gt;~/&lt;/span&gt;miniconda3&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;miniconda&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bash &lt;span style=&#34;color:#f92672&#34;&gt;~/&lt;/span&gt;miniconda3&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;miniconda&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sh &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;b &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;u &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;p &lt;span style=&#34;color:#f92672&#34;&gt;~/&lt;/span&gt;miniconda3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rm &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;rf &lt;span style=&#34;color:#f92672&#34;&gt;~/&lt;/span&gt;miniconda3&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;miniconda&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;설치 후, 새로 설치한 미니콘다를 초기화합니다. 다음 명령은 bash 및 zsh 셸을 초기화&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;~/&lt;/span&gt;miniconda3&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;bin&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;conda init bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;~/&lt;/span&gt;miniconda3&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;bin&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;conda init zsh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;django-on-gce&#34;&gt;django on GCE&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;GCE Shell에서 django를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip install django&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;django의 버전을 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;django&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;admin &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5.0.4&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;project 명령어를 입력한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;django&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;admin startproject mysite&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;서버를 실행해본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;경로를 mysite에 이동 시킨 후 아래 명령어를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; python manage&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;py makemigrations&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; python manage&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;py migrate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Operations to perform:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Apply all migrations: admin, auth, contenttypes, sessions&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Running migrations:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying contenttypes&lt;span style=&#34;color:#ae81ff&#34;&gt;.0001&lt;/span&gt;_initial&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt; OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth&lt;span style=&#34;color:#ae81ff&#34;&gt;.0001&lt;/span&gt;_initial&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt; OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying admin&lt;span style=&#34;color:#ae81ff&#34;&gt;.0001&lt;/span&gt;_initial&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt; OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying admin&lt;span style=&#34;color:#ae81ff&#34;&gt;.0002&lt;/span&gt;_logentry_remove_auto_add&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt; OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying admin&lt;span style=&#34;color:#ae81ff&#34;&gt;.0003&lt;/span&gt;_logentry_add_action_flag_choices&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt; OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying contenttypes&lt;span style=&#34;color:#ae81ff&#34;&gt;.0002&lt;/span&gt;_remove_content_type_name&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt; OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth&lt;span style=&#34;color:#ae81ff&#34;&gt;.0002&lt;/span&gt;_alter_permission_name_max_length&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt; OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth&lt;span style=&#34;color:#ae81ff&#34;&gt;.0003&lt;/span&gt;_alter_user_email_max_length&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt; OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth&lt;span style=&#34;color:#ae81ff&#34;&gt;.0004&lt;/span&gt;_alter_user_username_opts&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt; OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth&lt;span style=&#34;color:#ae81ff&#34;&gt;.0005&lt;/span&gt;_alter_user_last_login_null&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt; OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth&lt;span style=&#34;color:#ae81ff&#34;&gt;.0006&lt;/span&gt;_require_contenttypes_0002&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt; OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth&lt;span style=&#34;color:#ae81ff&#34;&gt;.0007&lt;/span&gt;_alter_validators_add_error_messages&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt; OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth&lt;span style=&#34;color:#ae81ff&#34;&gt;.0008&lt;/span&gt;_alter_user_username_max_length&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt; OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth&lt;span style=&#34;color:#ae81ff&#34;&gt;.0009&lt;/span&gt;_alter_user_last_name_max_length&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt; OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth&lt;span style=&#34;color:#ae81ff&#34;&gt;.0010&lt;/span&gt;_alter_group_name_max_length&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt; OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth&lt;span style=&#34;color:#ae81ff&#34;&gt;.0011&lt;/span&gt;_update_proxy_permissions&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt; OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth&lt;span style=&#34;color:#ae81ff&#34;&gt;.0012&lt;/span&gt;_alter_user_first_name_max_length&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt; OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying sessions&lt;span style=&#34;color:#ae81ff&#34;&gt;.0001&lt;/span&gt;_initial&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt; OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; python manage&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;py runserver&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;April &lt;span style=&#34;color:#ae81ff&#34;&gt;18&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2024&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;05&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;13&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;47&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Django version &lt;span style=&#34;color:#ae81ff&#34;&gt;5.0.4&lt;/span&gt;, using settings &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;mysite.settings&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Starting development server at http:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;127.0.0.1&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;8000&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Quit the server &lt;span style=&#34;color:#66d9ef&#34;&gt;with&lt;/span&gt; CONTROL&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;C&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/04/djangoweb_on_gce/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Spark Code 실행 예제</title>
      <link>https://dschloe.github.io/programming/2024/04/spark_code_tutorial/</link>
      <pubDate>Thu, 11 Apr 2024 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/04/spark_code_tutorial/</guid>
      <description>&lt;h2 id=&#34;강의소개&#34;&gt;강의소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인프런에서 Streamlit 관련 강의를 진행하고 있습니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인프런 : &lt;a href=&#34;https://inf.run/YPniH&#34;&gt;https://inf.run/YPniH&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/mQTuD7gx-hw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;현재 러닝 스파크 교재를 배우고 있다.&lt;/li&gt;&#xA;&lt;li&gt;해당 교재는 주로 00.py에서 실행하는 방법으로 안내하고 있지만, Google Colab에서 어떻게 변환하는지 확인해보고자 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;spark-설정&#34;&gt;Spark 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Spark 설치 버전은 아래 링크에서 확인한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;주소 : &lt;a href=&#34;https://spark.apache.org/downloads.html&#34;&gt;https://spark.apache.org/downloads.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/04/spark_code_tutorial/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Download 버튼을 클릭하면 아래와 같은 화면이 나온다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;주소를 복사한다. &lt;strong&gt;&lt;code&gt;https://dlcdn.apache.org/spark/spark-3.5.1/spark-3.5.1-bin-hadoop3.tgz&lt;/code&gt;&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/04/spark_code_tutorial/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pandas DataFrame to MySQL Database using iris Data</title>
      <link>https://dschloe.github.io/programming/2024/04/pandas_2_mysql/</link>
      <pubDate>Fri, 05 Apr 2024 16:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/04/pandas_2_mysql/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이전 강의에 이어서 진행한다. (&lt;a href=&#34;https://dschloe.github.io/sql/2024/04/mysql_select_via_python/&#34;&gt;MySQL Select Clause via Python&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;임의의 Pandas 데이터 프레임에서 MySQL DB로 추가하는 코드를 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;주요-라이브러리-설치&#34;&gt;주요 라이브러리 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래와 같이 주요 라이브러리를 설치한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MySQL과 관련된 주요 Python 라이브러리를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip install mysql-connector mysql-connector-python pymysql SQLAlchemy seaborn pandas&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;코드-작성mysql-connector&#34;&gt;코드 작성(mysql-connector)&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래와 같이 코드를 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 파일명 : db.py&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; mysql.connector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mydb &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; mysql&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connector&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connect(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    host &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;localhost&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    user &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;root&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    passwd &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;evan&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    database &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;muldb&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(mydb)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;iris_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;load_dataset(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;iris&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my_cursor &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; mydb&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;cursor()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;create_table_query  &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;   CREATE TABLE IF NOT EXISTS iris (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    id INT AUTO_INCREMENT PRIMARY KEY,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    sepal_length FLOAT,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    sepal_width FLOAT,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    petal_length FLOAT,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    petal_width FLOAT,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    species VARCHAR(255)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    ); &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my_cursor&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;execute(create_table_query)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;insert_query &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    INSERT INTO iris (sepal_length, sepal_width, petal_length, petal_width, species) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    VALUES (&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%s&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%s&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%s&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%s&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%s&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [tuple(x) &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; x &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; iris_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_numpy()]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; row &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; data:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    my_cursor&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;execute(insert_query, row)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# DB Commit&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mydb&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;commit()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 종료&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my_cursor&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;close()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mydb&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;close()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 Python 파일을 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ python db.py &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;mysql.connector.connection_cext.CMySQLConnection object at 0x0000025FFC155BD0&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 MySQL Workbench에서 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/04/pandas_2_mysql/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>MySQL Select Clause via Python</title>
      <link>https://dschloe.github.io/programming/2024/04/mysql_select_via_python/</link>
      <pubDate>Thu, 04 Apr 2024 20:10:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/04/mysql_select_via_python/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이전 강의에서 출발한다.  &lt;a href=&#34;https://dschloe.github.io/sql/2024/04/conn_db_2_python/&#34;&gt;MySQL Table Creation and Insert Data via Python&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;데이터-조회&#34;&gt;데이터 조회&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 코드를 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; mysql.connector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mydb &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; mysql&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connector&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connect(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    host &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;localhost&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    user &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;root&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    passwd &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;evan&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    database &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;mulcampdb&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(mydb)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my_cursor &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; mydb&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;cursor()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;query &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;   SELECT * FROM users;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my_cursor&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;execute(query)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; my_cursor&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fetchall()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; row &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; result:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(row)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;완료&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;파일을 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ python database.py &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;mysql.connector.connection_cext.CMySQLConnection object at 0x000001FE5A985F10&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Evan&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Evan@gmail.com&amp;#39;&lt;/span&gt;, 30, 1&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Evan&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Evan@gmail.com&amp;#39;&lt;/span&gt;, 30, 2&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Mary&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Mary@gmail.com&amp;#39;&lt;/span&gt;, 20, 3&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Sara&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Sara@gmail.com&amp;#39;&lt;/span&gt;, 25, 4&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;완료&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;pandas-데이터프레임으로-변환&#34;&gt;pandas 데이터프레임으로 변환&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;주어진 결괏값으로 pandas 데이터프레임으로 변환한다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 라이브러리를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; pip install pandas&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;데이터 같이 코드를 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; mysql.connector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mydb &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; mysql&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connector&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connect(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    host &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;localhost&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    user &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;root&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    passwd &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;evan&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    database &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;mulcampdb&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(mydb)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my_cursor &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; mydb&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;cursor(dictionary&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;query &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;   SELECT * FROM users;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my_cursor&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;execute(query)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; my_cursor&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fetchall()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; row &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; result:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(row)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame(result)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(df)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;완료&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;파일을 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ python database.py &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;mysql.connector.connection_cext.CMySQLConnection object at 0x000002C4C47D5490&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Evan&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;email&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Evan@gmail.com&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;age&amp;#39;&lt;/span&gt;: 30, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;user_id&amp;#39;&lt;/span&gt;: 1&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Evan&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;email&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Evan@gmail.com&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;age&amp;#39;&lt;/span&gt;: 30, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;user_id&amp;#39;&lt;/span&gt;: 2&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Mary&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;email&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Mary@gmail.com&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;age&amp;#39;&lt;/span&gt;: 20, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;user_id&amp;#39;&lt;/span&gt;: 3&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Sara&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;email&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Sara@gmail.com&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;age&amp;#39;&lt;/span&gt;: 25, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;user_id&amp;#39;&lt;/span&gt;: 4&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   name           email  age  user_id&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  Evan  Evan@gmail.com   &lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;  Evan  Evan@gmail.com   &lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;  Mary  Mary@gmail.com   &lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;  Sara  Sara@gmail.com   &lt;span style=&#34;color:#ae81ff&#34;&gt;25&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;완료&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;코드-복기&#34;&gt;코드 복기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;커서를 생성하는 코드를 다시 확인해본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 코드는 &lt;code&gt;dictionary=True&lt;/code&gt;는 조회 결과를 &lt;code&gt;Dictionary&lt;/code&gt; 형태로 받기 위한 설정이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my_cursor &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; mydb&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;cursor(dictionary&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이 코드로 인해, pandas DataFrame으로 변환하는 것이 매우 쉬워진다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; my_cursor&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fetchall()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame(result)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(df)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>MySQL Table Creation and Insert Data via Python</title>
      <link>https://dschloe.github.io/programming/2024/04/mysql_data_insert_via_python/</link>
      <pubDate>Thu, 04 Apr 2024 18:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/04/mysql_data_insert_via_python/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이전 강의에서 출발한다.  &lt;a href=&#34;https://dschloe.github.io/sql/2024/04/conn_db_2_python/&#34;&gt;Connect To Database in Python&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;테이블-생성&#34;&gt;테이블 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 코드를 작성하면 테이블이 생성된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; mysql.connector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mydb &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; mysql&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connector&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connect(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    host &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;localhost&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    user &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;root&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    passwd &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;evan&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    database &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;mulcampdb&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(mydb)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my_cursor &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; mydb&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;cursor()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;query &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    CREATE TABLE users (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        name VARCHAR(255)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        , email VARCHAR(255)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        , age INTEGER(10)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        , user_id INTEGER AUTO_INCREMENT PRIMARY KEY&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    );&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my_cursor&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;execute(query)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my_cursor&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;execute(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SHOW TABLES;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; table &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; my_cursor:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(table[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;파일을 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ python database.py &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;mysql.connector.connection_cext.CMySQLConnection object at 0x0000028942314F90&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;users&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;MySQL Workbench에 생성된 테이블이 만들어지는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/04/mysql_data_insert_via_python/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Connect To Database in Python</title>
      <link>https://dschloe.github.io/programming/2024/04/conn_db_2_python/</link>
      <pubDate>Thu, 04 Apr 2024 10:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/04/conn_db_2_python/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Python과 MySQL을 연동하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;프로젝트 폴더에 가상환경이 설치가 되어 있는 것으로 가정한다.&lt;/li&gt;&#xA;&lt;li&gt;MySQL은 기 설치가 되어 있는 것으로 가정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;라이브러리-설치&#34;&gt;라이브러리 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Python과 MySQL을 연동해주는 라이브러리 종류는 다양하게 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; pip install mysql&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;connector mysql&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;connector&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;python&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;파일-작성&#34;&gt;파일 작성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단하게 파일을 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; mysql.connector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mydb &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; mysql&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connector&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connect(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    host &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;localhost&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    user &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;root&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    passwd &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;evan&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(mydb)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;파일을 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; python database&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;py &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;mysql&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connector&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connection_cext&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;CMySQLConnection object at &lt;span style=&#34;color:#ae81ff&#34;&gt;0x000002BF4E606090&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(venv) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;python-코드-활용하여-db-생성&#34;&gt;Python 코드 활용하여 DB 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 코드를 활용하여 &lt;code&gt;Schema&lt;/code&gt;를 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; mysql.connector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mydb &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; mysql&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connector&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connect(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    host &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;localhost&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    user &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;root&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    passwd &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;evan&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(mydb)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my_cursor &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; mydb&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;cursor()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;query &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    CREATE DATABASE mulcampdb&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my_cursor&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;execute(query)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;완료&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;파일을 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; python database&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;py &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;mysql&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connector&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connection_cext&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;CMySQLConnection object at &lt;span style=&#34;color:#ae81ff&#34;&gt;0x0000020BB6504F50&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;완료&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;MySQL Workbench에서 DB가 생성되었는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/04/conn_db_2_python/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>MySQL 삭제, 재설치 가이드 on M1</title>
      <link>https://dschloe.github.io/programming/2024/04/mysql_delete_reinstall/</link>
      <pubDate>Tue, 02 Apr 2024 10:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/04/mysql_delete_reinstall/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;M1에서 MySQL을 설치 하고 Workbench에 접속하는 과정을 설명한다.&lt;/li&gt;&#xA;&lt;li&gt;데이터 로드 시, &lt;code&gt;ASCII&lt;/code&gt; 에러 과정 해결하는 방법도 살펴본다. (임시방편)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;사전학습&#34;&gt;사전학습&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;brew 명령어를 알고 있는 분에 한해 작성을 하였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;주의&#34;&gt;주의&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 코드 복사할 시, &lt;code&gt;$&lt;/code&gt; 는 제외 후 복사한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;mysql-실행-확인-후-프로세스-kill&#34;&gt;MySQL 실행 확인 후 프로세스 Kill&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 MySQL이 실행중인지를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ brew services list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Name  Status  User File&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mysql started evan ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;서비스를 강제 종료한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ brew services stop mysql&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Stopping &lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;mysql&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;... &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;might take a &lt;span style=&#34;color:#66d9ef&#34;&gt;while&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;&amp;gt; Successfully stopped &lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;mysql&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;label: homebrew.mxcl.mysql&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;관련-파일-삭제&#34;&gt;관련 파일 삭제&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;재 설치를 위해서는 기존에 설치된 파일 목록 등을 모두 제거한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ which mysql&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/opt/homebrew/bin/mysql&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Homebrew로 기존에 설치했다면 아래 명령어를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ brew uninstall --force mysql&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Uninstalling mysql... &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;323&lt;/span&gt; files, 312.8MB&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;다음 라인을 한줄씩 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo rm -rf /usr/local/mysql&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo rm -rf /usr/local/bin/mysql&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo rm -rf /usr/local/var/mysql&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo rm -rf /usr/local/Cellar/mysql&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo rm -rf /usr/local/mysql*&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo rm -rf /tmp/mysql.sock.lock&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo rm -rf /tmp/mysqlx.sock.lock&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo rm -rf /tmp/mysql.sock&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo rm -rf /tmp/mysqlx.sock&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo rm -rf /Library/StartupItems/MySQLCOM&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo rm -rf /Library/PreferencePanes/My*&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;mysqlworkbench-삭제&#34;&gt;MySQLWorkbench 삭제&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Applications 폴더에서 해당 MySQLWorkbench 파일을 찾아 삭제한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/04/mysql_delete_reinstall/Screenshot_2024-04-02_at_1.20.31_PM.png&#34; alt=&#34;Screenshot 2024-04-02 at 1.20.31 PM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Github Actions Hello World From Python Script</title>
      <link>https://dschloe.github.io/programming/2024/03/github_actions_python/</link>
      <pubDate>Wed, 13 Mar 2024 03:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/03/github_actions_python/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Python Script&lt;/code&gt;를 활용하여 Hell World를 출력한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;강의소개&#34;&gt;강의소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인프런에서 Streamlit 관련 강의를 진행하고 있습니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인프런 : &lt;a href=&#34;https://inf.run/YPniH&#34;&gt;https://inf.run/YPniH&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/mQTuD7gx-hw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;이전-게시글&#34;&gt;이전 게시글&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;링크 확인 : &lt;a href=&#34;https://dschloe.github.io/python/2024/03/github_actions_hello_world/&#34;&gt;Github Actions Hello World&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;mainpy-작성&#34;&gt;main.py 작성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단하게 아래 코드를 작성한다.&lt;/li&gt;&#xA;&lt;li&gt;코드 작성은 Github에서도 가능하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; sys&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(sys&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;version)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hello, World&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Add file &amp;gt; Create new file 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/03/github_actions_python/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Github Actions Hello World</title>
      <link>https://dschloe.github.io/programming/2024/03/github_actions_hello_world/</link>
      <pubDate>Wed, 13 Mar 2024 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/03/github_actions_hello_world/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Github Actions 에서 Hello World를 출력하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;강의소개&#34;&gt;강의소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인프런에서 Streamlit 관련 강의를 진행하고 있습니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인프런 : &lt;a href=&#34;https://inf.run/YPniH&#34;&gt;https://inf.run/YPniH&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/mQTuD7gx-hw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;사전준비&#34;&gt;사전준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Github에 적당한 Repo를 준비한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;메뉴선택&#34;&gt;메뉴선택&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 그림에서 Actions 메뉴를 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/03/github_actions_hello_world/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 그림에서 &lt;code&gt;set up a workflow yourself&lt;/code&gt; 선택&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/03/github_actions_hello_world/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;yaml-파일-수정&#34;&gt;YAML 파일 수정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;.github/workflows/main.yaml&lt;/code&gt; 파일 선택 후 수정&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/03/github_actions_hello_world/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Streamlit ML Multiclass Classification Model Prediction Sample (feat. Pipeline)</title>
      <link>https://dschloe.github.io/programming/2024/03/streamlit_model_prediction_obesity/</link>
      <pubDate>Wed, 06 Mar 2024 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/03/streamlit_model_prediction_obesity/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Kaggle 데이터셋을 활용하여 Streamlit ML Multiclass Classification Model을 배포한다.&lt;/li&gt;&#xA;&lt;li&gt;각 코드에 대한 자세한 설명은 여기에서는 생략한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;데이터-수집&#34;&gt;데이터 수집&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에 활용하는 캐글 데이터 수집은 아래 대회에서 train 데이터만 가져왔다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Multi-Class Prediction of Obesity Risk : &lt;a href=&#34;https://www.kaggle.com/competitions/playground-series-s4e2&#34;&gt;https://www.kaggle.com/competitions/playground-series-s4e2&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/03/streamlit_model_prediction_obesity/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Dataset Description은 아래에서 확인하도록 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;링크 : &lt;a href=&#34;https://www.kaggle.com/competitions/playground-series-s4e2/data&#34;&gt;https://www.kaggle.com/competitions/playground-series-s4e2/data&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;train.csv 파일만 다운로드 받았다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/03/streamlit_model_prediction_obesity/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;모델-개발&#34;&gt;모델 개발&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 코드는 모델을 개발하는 코드이다.&lt;/li&gt;&#xA;&lt;li&gt;주어진 데이터셋에서 종속변수 &lt;code&gt;NObeyesdad&lt;/code&gt;을 예측하는 모델을 구성했다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일명 : &lt;code&gt;model.py&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.model_selection &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; train_test_split&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.compose &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; ColumnTransformer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.preprocessing &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; StandardScaler, OneHotEncoder&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.ensemble &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; RandomForestClassifier&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.pipeline &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Pipeline&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.metrics &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; classification_report&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; joblib &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; dump, load&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;DATA_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;./data/train.csv&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(DATA_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Separate features and target variable&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop([&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;id&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NObeyesdad&amp;#39;&lt;/span&gt;], axis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; data[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NObeyesdad&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Split the dataset into training and testing sets&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train, X_test, y_train, y_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_test_split(X, y, test_size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.2&lt;/span&gt;, random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Identify numerical and categorical columns&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;num_columns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; X&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;select_dtypes(include&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;float64&amp;#39;&lt;/span&gt;])&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cat_columns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; X&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;select_dtypes(include&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;object&amp;#39;&lt;/span&gt;])&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Create the preprocessing pipeline&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;preprocessor &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ColumnTransformer(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    transformers&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;num&amp;#39;&lt;/span&gt;, StandardScaler(), num_columns),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cat&amp;#39;&lt;/span&gt;, OneHotEncoder(handle_unknown&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ignore&amp;#39;&lt;/span&gt;), cat_columns)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Create the full pipeline&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pipeline &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Pipeline(steps&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;preprocessor&amp;#39;&lt;/span&gt;, preprocessor),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;classifier&amp;#39;&lt;/span&gt;, RandomForestClassifier())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Train the model&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pipeline&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train, y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 모델 저장&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model_directory &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;model&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;exists(model_directory):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;makedirs(model_directory)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model_path &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;join(model_directory, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NObeyesdad_prediction_pipeline.joblib&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dump(pipeline, model_path)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 코드에서 핵심은 모델을 저장하는 것이며, 또한 &lt;code&gt;OneHotEncoder(handle_unknown=&#39;ignore&#39;)&lt;/code&gt; 을 지정하는 것이다.&lt;/li&gt;&#xA;&lt;li&gt;해당하는 폴더에 &lt;code&gt;model&lt;/code&gt; 폴더가 없으면 &lt;code&gt;model&lt;/code&gt; 폴더를 생성하고 &lt;code&gt;NObeyesdad_prediction_pipeline.joblib&lt;/code&gt; 이름으로 모델을 저장한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;파일-실행&#34;&gt;파일 실행&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;model.py&lt;/code&gt; 를 실행하여 모델을 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;python model.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;streamlit-app-개발&#34;&gt;Streamlit App 개발&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 코드는 Streamlit App 개발을 하는 코드이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일명 : &lt;code&gt;app.py&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; streamlit &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; st&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; joblib &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; load&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Assuming your model is saved in the &amp;#39;model&amp;#39; directory with the name &amp;#39;obesity_prediction_pipeline.joblib&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model_directory &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;model&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model_path &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;join(model_directory, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NObeyesdad_prediction_pipeline.joblib&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;predict_NObeyesdad_level&lt;/span&gt;(model_path, Gender, Age, Height, Weight, family_history_with_overweight, FAVC, FCVC, NCP, CAEC, SMOKE, CH2O, SCC, FAF, TUE, CALC, MTRANS):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 모델 불러오기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    pipeline &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; load(model_path)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 데이터프레임 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame([{&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Gender&amp;#39;&lt;/span&gt;: Gender, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Age&amp;#39;&lt;/span&gt;: Age, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Height&amp;#39;&lt;/span&gt;: Height, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Weight&amp;#39;&lt;/span&gt;: Weight,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;family_history_with_overweight&amp;#39;&lt;/span&gt;: family_history_with_overweight, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;FAVC&amp;#39;&lt;/span&gt;: FAVC,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;FCVC&amp;#39;&lt;/span&gt;: FCVC, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NCP&amp;#39;&lt;/span&gt;: NCP, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;CAEC&amp;#39;&lt;/span&gt;: CAEC, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;SMOKE&amp;#39;&lt;/span&gt;: SMOKE, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;CH2O&amp;#39;&lt;/span&gt;: CH2O,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;SCC&amp;#39;&lt;/span&gt;: SCC, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;FAF&amp;#39;&lt;/span&gt;: FAF, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;TUE&amp;#39;&lt;/span&gt;: TUE, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;CALC&amp;#39;&lt;/span&gt;: CALC, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;MTRANS&amp;#39;&lt;/span&gt;: MTRANS&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 예측 값 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    prediction &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pipeline&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(df)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; prediction[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;title(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Obesity Level Prediction Model&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;write(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Predict obesity levels based on personal and health-related attributes.&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Create input fields for each feature&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    Gender &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;selectbox(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Gender&amp;#39;&lt;/span&gt;, [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Male&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Female&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    Age &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;number_input(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Age&amp;#39;&lt;/span&gt;, min_value&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.0&lt;/span&gt;, format&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    Height &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;number_input(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Height (in meters)&amp;#39;&lt;/span&gt;, min_value&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.0&lt;/span&gt;, format&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    Weight &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;number_input(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Weight (in kg)&amp;#39;&lt;/span&gt;, min_value&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.0&lt;/span&gt;, format&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    family_history_with_overweight &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;selectbox(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Family history with overweight&amp;#39;&lt;/span&gt;, [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;yes&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;no&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    FAVC &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;selectbox(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Frequent consumption of high caloric food&amp;#39;&lt;/span&gt;, [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;yes&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;no&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    FCVC &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;number_input(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Frequency of consumption of vegetables&amp;#39;&lt;/span&gt;, min_value&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.0&lt;/span&gt;, max_value&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3.0&lt;/span&gt;, step&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    NCP &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;number_input(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Number of main meals&amp;#39;&lt;/span&gt;, min_value&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1.0&lt;/span&gt;, max_value&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;4.0&lt;/span&gt;, step&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    CAEC &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;selectbox(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Consumption of food between meals&amp;#39;&lt;/span&gt;, [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;No&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Sometimes&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Frequently&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Always&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    SMOKE &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;selectbox(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Do you smoke?&amp;#39;&lt;/span&gt;, [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;yes&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;no&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    CH2O &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;number_input(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Consumption of water daily (liters)&amp;#39;&lt;/span&gt;, min_value&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.0&lt;/span&gt;, format&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    SCC &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;selectbox(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Calories consumption monitoring&amp;#39;&lt;/span&gt;, [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;yes&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;no&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    FAF &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;number_input(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Physical activity frequency (per week)&amp;#39;&lt;/span&gt;, min_value&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.0&lt;/span&gt;, format&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    TUE &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;number_input(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Time using technology devices (hours)&amp;#39;&lt;/span&gt;, min_value&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.0&lt;/span&gt;, format&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    CALC &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;selectbox(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Consumption of alcohol&amp;#39;&lt;/span&gt;, [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Never&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Sometimes&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Frequently&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Always&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    MTRANS &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;selectbox(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Mode of transportation&amp;#39;&lt;/span&gt;, [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Automobile&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Bike&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Motorbike&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Public_Transportation&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Walking&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;button(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Predict Obesity Level&amp;#39;&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; predict_NObeyesdad_level(model_path, Gender, Age, Height, Weight, family_history_with_overweight, FAVC, FCVC, NCP, CAEC, SMOKE, CH2O, SCC, FAF, TUE, CALC, MTRANS)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;success(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Predicted Obesity Level: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;result&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    main()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 코드에서 핵심은 &lt;code&gt;predict_tip&lt;/code&gt; 함수이다. &lt;code&gt;pipeline&lt;/code&gt;으로  모델을 설계하면 곧바로 &lt;code&gt;predict()&lt;/code&gt; 저장된 모델을 불러온 후, 함수 사용이 가능하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;테스트&#34;&gt;테스트&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;테스트 결과는 아래와 같이 나온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;streamlit run app.py &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/03/streamlit_model_prediction_obesity/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Streamlit ML Model Prediction Sample (feat. Pipeline)</title>
      <link>https://dschloe.github.io/programming/2024/03/streamlit_model_prediction_tip/</link>
      <pubDate>Tue, 05 Mar 2024 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/03/streamlit_model_prediction_tip/</guid>
      <description>&lt;h2 id=&#34;강의소개&#34;&gt;강의소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인프런에서 Streamlit 관련 강의를 진행하고 있습니다.&lt;/li&gt;&#xA;&lt;li&gt;인프런 : &lt;a href=&#34;https://inf.run/YPniH&#34;&gt;https://inf.run/YPniH&lt;/a&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/mQTuD7gx-hw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;tips 데이터셋을 활용하여 Streamlit ML Model을 배포한다.&lt;/li&gt;&#xA;&lt;li&gt;각 코드에 대한 자세한 설명은 여기에서는 생략한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;모델-개발&#34;&gt;모델 개발&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 코드는 모델을 개발하는 코드이다.&lt;/li&gt;&#xA;&lt;li&gt;주어진 데이터셋에서 tip을 예측하는 모델을 구성했다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일명 : &lt;code&gt;model.py&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; streamlit &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; st&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.model_selection &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; train_test_split&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.linear_model &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; LinearRegression&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.compose &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; ColumnTransformer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.pipeline &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Pipeline&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.preprocessing &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; OneHotEncoder&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; joblib &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; dump, load&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 데이터셋 불러오기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tips &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;load_dataset(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tips&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 데이터셋 컬럼 추출&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;categorical_features &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;sex&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;smoker&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;day&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;time&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;numerical_features &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;total_bill&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;size&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# pipeline 모델 만들기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;preprocessor &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ColumnTransformer(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    transformers&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;num&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;passthrough&amp;#39;&lt;/span&gt;, numerical_features),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cat&amp;#39;&lt;/span&gt;, OneHotEncoder(), categorical_features)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pipeline &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Pipeline(steps&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;preprocessor&amp;#39;&lt;/span&gt;, preprocessor),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                           (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;model&amp;#39;&lt;/span&gt;, LinearRegression())])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 데이터셋 분류 / 종속 변수 tip을 예측하는 모델&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; tips&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tip&amp;#39;&lt;/span&gt;, axis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; tips[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tip&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 데이터셋 분류&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train, X_test, y_train, y_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_test_split(X, y, test_size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.2&lt;/span&gt;, random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 모델 학습&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pipeline&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train, y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 모델 저장&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model_directory &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;model&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;exists(model_directory):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;makedirs(model_directory)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model_path &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;join(model_directory, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tip_prediction_pipeline.joblib&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dump(pipeline, model_path)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 코드에서 핵심은 모델을 저장하는 것이다. 마지막 코드이다.&lt;/li&gt;&#xA;&lt;li&gt;해당하는 폴더에 &lt;code&gt;model&lt;/code&gt; 폴더가 없으면 &lt;code&gt;model&lt;/code&gt; 폴더를 생성하고 &lt;code&gt;tip_prediction_pipeline.joblib&lt;/code&gt; 이름으로 모델을 저장한다.&lt;/li&gt;&#xA;&lt;li&gt;model.py를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;python model.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;정상적으로 모델이 만들어졌으면, model 폴더가 생겼을 것이고, 그 다음에 해당 모델이 저장되어 있을 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;streamlit-app-개발&#34;&gt;Streamlit App 개발&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 코드는 Streamlit App 개발을 하는 코드이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일명 : &lt;code&gt;app.py&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; streamlit &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; st&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; joblib &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; load&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model_directory &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;model&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model_path &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;join(model_directory, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tip_prediction_pipeline.joblib&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;predict_tip&lt;/span&gt;(model_path, total_bill, size, sex, smoker, day, time):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 모델 불러오기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    pipeline &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; load(model_path)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 예측 데이터 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame([{&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;total_bill&amp;#39;&lt;/span&gt;: total_bill, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;size&amp;#39;&lt;/span&gt;: size, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;sex&amp;#39;&lt;/span&gt;: sex, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;smoker&amp;#39;&lt;/span&gt;: smoker, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;day&amp;#39;&lt;/span&gt;: day, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;time&amp;#39;&lt;/span&gt;: time}])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 예측값 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    prediction &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pipeline&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(df)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; prediction[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;title(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;팁 예측 모델&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;write(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;total_bill과 다른 요인을 고려하여 tip 예측 모델 생성&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    total_bill &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;number_input(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Total Bill ($)&amp;#39;&lt;/span&gt;, min_value&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.0&lt;/span&gt;, format&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    size &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;number_input(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Size of the Party&amp;#39;&lt;/span&gt;, min_value&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, step&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    sex &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;selectbox(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Sex&amp;#39;&lt;/span&gt;, [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Male&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Female&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    smoker &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;selectbox(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Smoker&amp;#39;&lt;/span&gt;, [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Yes&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;No&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    day &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;selectbox(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Day&amp;#39;&lt;/span&gt;, [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Thur&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Fri&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Sat&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Sun&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    time &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;selectbox(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Time&amp;#39;&lt;/span&gt;, [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Lunch&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Dinner&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;button(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;예상 Tip 예측&amp;#39;&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; predict_tip(model_path, total_bill, size, sex, smoker, day, time)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;success(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;예측 Tip: $&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;result&lt;span style=&#34;color:#e6db74&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;.2f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    main()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 코드에서 핵심은 &lt;code&gt;predict_tip&lt;/code&gt; 함수이다. &lt;code&gt;pipeline&lt;/code&gt;으로  모델을 설계하면 곧바로 &lt;code&gt;predict()&lt;/code&gt; 저장된 모델을 불러온 후, 함수 사용이 가능하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;테스트&#34;&gt;테스트&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;테스트 결과는 아래와 같이 나온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;streamlit run app.py &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/03/streamlit_model_prediction_tip/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>openAI API, Text &amp; Image 생성 예제</title>
      <link>https://dschloe.github.io/programming/2024/03/openai_api_text_image_generation/</link>
      <pubDate>Fri, 01 Mar 2024 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/03/openai_api_text_image_generation/</guid>
      <description>&lt;h2 id=&#34;강의소개&#34;&gt;강의소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인프런에서 Streamlit 관련 강의를 진행하고 있습니다.&lt;/li&gt;&#xA;&lt;li&gt;인프런 : &lt;a href=&#34;https://inf.run/YPniH&#34;&gt;https://inf.run/YPniH&lt;/a&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/mQTuD7gx-hw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;소스-참조&#34;&gt;소스 참조&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;후루카와 히데카즈 저/트랜스메이트 역. (2023). GPT-4, ChatGPT, 라마인덱스, 랭체인을 활용한 인공지능 프로그래밍 한권으로 끝내는 OpenAI API 기반 LLM 애플리케이션 구축. 위키북스, 판매처 : &lt;a href=&#34;https://www.yes24.com/Product/Goods/122533123&#34;&gt;https://www.yes24.com/Product/Goods/122533123&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;라이브러리-설치&#34;&gt;라이브러리 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;openai 패키지를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install openai&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Collecting openai&#xA;  Obtaining dependency information for openai from https://files.pythonhosted.org/packages/26/a1/75474477af2a1dae3a25f80b72bbaf20e8296191ece7fff2f67984206f33/openai-1.12.0-py3-none-any.whl.metadata&#xA;  Downloading openai-1.12.0-py3-none-any.whl.metadata (18 kB)&#xA;.&#xA;.&#xA;.&#xA;[notice] A new release of pip is available: 23.2.1 -&amp;gt; 24.0&#xA;[notice] To update, run: python.exe -m pip install --upgrade pip&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;환경변수-준비&#34;&gt;환경변수 준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;python-dotenv를 설치 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install python&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;dotenv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Collecting python-dotenv&#xA;  Obtaining dependency information for python-dotenv from https://files.pythonhosted.org/packages/6a/3e/b68c118422ec867fa7ab88444e1274aa40681c606d59ac27de5a5588f082/python_dotenv-1.0.1-py3-none-any.whl.metadata&#xA;  Downloading python_dotenv-1.0.1-py3-none-any.whl.metadata (23 kB)&#xA;Downloading python_dotenv-1.0.1-py3-none-any.whl (19 kB)&#xA;Installing collected packages: python-dotenv&#xA;Successfully installed python-dotenv-1.0.1&#xA;&#xA;[notice] A new release of pip is available: 23.2.1 -&amp;gt; 24.0&#xA;[notice] To update, run: python.exe -m pip install --upgrade pip&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;env-파일-저장&#34;&gt;.env 파일 저장&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;.env 파일 생성 후, OpenAI Key값을 아래와 같이 저장한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;OPENAI_API_KEY = &amp;#39;your_id&amp;#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;저장한-값-불러오기&#34;&gt;저장한 값 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;OPENAI_API_KEY를 불러오고 싶다면 다음 코드를 사용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; dotenv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;env_file &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; dotenv&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;find_dotenv()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dotenv&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;load_dotenv(env_file)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;environ[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;OPENAI_API_KEY&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;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&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;프롬프트-준비&#34;&gt;프롬프트 준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;여러줄에 걸친 문자열 정의&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;prompt &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#39;&amp;#39;다음 이야기를 써주세요기타를 좋아하지만 컴맹인 여고생이 어떤 계기로 록밴드에 가입하고, 낯선 인간관계를 통해 활동하게 되는 이야기&amp;#39;&amp;#39;&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;각 매개변수에 대한 설명은&#xA;&lt;a href=&#34;https://platform.openai.com/docs/api-reference/chat/create&#34;&gt;https://platform.openai.com/docs/api-reference/chat/create&lt;/a&gt; 링크&#xA;참조&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; openai &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; OpenAI&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;client &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; OpenAI(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# This is the default and can be omitted    api_key=os.environ.get(&amp;#34;OPENAI_API_KEY&amp;#34;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;response &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; client&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;chat&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;completions&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;create(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  model&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;gpt-3.5-turbo&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  messages&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;role&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;system&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;content&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;이 채팅은 좋습니다. 남동생과 대하를 하겠습니다. &amp;#34;&lt;/span&gt;},&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;role&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;user&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;content&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;안녕&amp;#34;&lt;/span&gt;},&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;role&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;assistant&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;content&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;남동생은 현재 컴퓨터를 하고 있습니다.&amp;#34;&lt;/span&gt;},&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;role&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;user&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;content&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;너 지금 뭐하고 있어?&amp;#34;&lt;/span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   temperature&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;response&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;choices[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;message&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;content&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;#39;남동생은 지금 사용자와 대화하고 있습니다. 대하를 하고 있습니다.&amp;#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;이미지-생성&#34;&gt;이미지 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;텍스트에서 이미지 생성을 하는 예제는 다음과 같다.&lt;/li&gt;&#xA;&lt;li&gt;image generation 생성 및 매개변수에 대한 공식 문서는 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참고 :&#xA;&lt;a href=&#34;https://platform.openai.com/docs/guides/images/introduction?context=node&#34;&gt;https://platform.openai.com/docs/guides/images/introduction?context=node&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; openai &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; OpenAI&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;client &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; OpenAI(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# This is the default and can be omitted    api_key=os.environ.get(&amp;#34;OPENAI_API_KEY&amp;#34;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;response &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; client&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;images&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;generate(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  model&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;dall-e-3&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  prompt&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;cat dancing on car&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;1024x1024&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  quality&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;standard&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  n&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;image_url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; response&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;data[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;url&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;image_url&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;#39;https://oaidalleapiprodscus.blob.core.windows.net/private/org-znknr4OkH2n7N79B7CFhmUj9/user-fyfrdMeg75Lew6QIXrb6JCzr/img-QI9YCiwm7w4N99SeSaFuverT.png?st=2024-02-27T05%3A20%3A01Z&amp;amp;se=2024-02-27T07%3A20%3A01Z&amp;amp;sp=r&amp;amp;sv=2021-08-06&amp;amp;sr=b&amp;amp;rscd=inline&amp;amp;rsct=image/png&amp;amp;skoid=6aaadede-4fb3-4698-a8f6-684d7786b067&amp;amp;sktid=a48cca56-e6da-484e-a814-9c849652bcb3&amp;amp;skt=2024-02-26T20%3A01%3A40Z&amp;amp;ske=2024-02-27T20%3A01%3A40Z&amp;amp;sks=b&amp;amp;skv=2021-08-06&amp;amp;sig=O9MYsIZUoSy2jjDjTVLeHbhPGyWtnHP%2BfFEJUgVNSvU%3D&amp;#39;&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>st-pages 라이브러리 소개</title>
      <link>https://dschloe.github.io/programming/2024/02/st_pages_library/</link>
      <pubDate>Wed, 28 Feb 2024 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/02/st_pages_library/</guid>
      <description>&lt;h2 id=&#34;강의소개&#34;&gt;강의소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인프런에서 Streamlit 관련 강의를 진행하고 있습니다.&lt;/li&gt;&#xA;&lt;li&gt;인프런 : &lt;a href=&#34;https://inf.run/YPniH&#34;&gt;https://inf.run/YPniH&lt;/a&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/mQTuD7gx-hw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Streamlit 생태계에 기반한 Components를 살펴본다.&lt;/li&gt;&#xA;&lt;li&gt;st-pages 라이브러리를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;components&#34;&gt;Components&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Components는 Streamlit Community와 Creators가 직접 개발한 Streamlit 관련 라이브러리를 말한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참고 : &lt;a href=&#34;https://streamlit.io/components&#34;&gt;https://streamlit.io/components&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;여기에는 다양한 라이브러리들이 존재한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/02/st_pages_library/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;활용법-주의&#34;&gt;활용법 주의&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이러한 라이브러리들을 활용할 때는 Github의 최근 개발 이력을 살펴볼 필요가 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;예: spacy-streamlit, &lt;a href=&#34;https://github.com/explosion/spacy-streamlit&#34;&gt;https://github.com/explosion/spacy-streamlit&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/02/st_pages_library/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>OpenAI API 인증키 발급</title>
      <link>https://dschloe.github.io/programming/2024/02/openai_api_key/</link>
      <pubDate>Tue, 27 Feb 2024 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/02/openai_api_key/</guid>
      <description>&lt;h2 id=&#34;강의소개&#34;&gt;강의소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인프런에서 Streamlit 관련 강의를 진행하고 있습니다.&lt;/li&gt;&#xA;&lt;li&gt;인프런 : &lt;a href=&#34;https://inf.run/YPniH&#34;&gt;https://inf.run/YPniH&lt;/a&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/mQTuD7gx-hw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;OpenAI API 인증키 발급&lt;/li&gt;&#xA;&lt;li&gt;OpenAI 회원가입을 이미 한 것으로 전제&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;인증키-발급&#34;&gt;인증키 발급&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 사이트에서 로그인을 한다. &lt;a href=&#34;https://openai.com/blog/openai-api&#34;&gt;https://openai.com/blog/openai-api&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/02/openai_api_key/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;API를 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/02/openai_api_key/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;왼쪽 메뉴에서 API Keys를 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/02/openai_api_key/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;API Key 획득을 위해 Create New Secret Key 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/02/openai_api_key/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>creating multipages in streamlit web using official docs</title>
      <link>https://dschloe.github.io/programming/2024/02/streamlit_multipages_01/</link>
      <pubDate>Sun, 25 Feb 2024 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/02/streamlit_multipages_01/</guid>
      <description>&lt;h2 id=&#34;강의소개&#34;&gt;강의소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인프런에서 Streamlit 관련 강의를 진행하고 있습니다.&lt;/li&gt;&#xA;&lt;li&gt;인프런 : &lt;a href=&#34;https://inf.run/YPniH&#34;&gt;https://inf.run/YPniH&lt;/a&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/mQTuD7gx-hw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;streamli을 활용한 멀티페이지 개념 및 구현에 대한 내용을 다룬다.&lt;/li&gt;&#xA;&lt;li&gt;공식문서 참고 :&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Create a multipage app :&lt;/strong&gt; &lt;a href=&#34;https://docs.streamlit.io/get-started/tutorials/create-a-multipage-app&#34;&gt;https://docs.streamlit.io/get-started/tutorials/create-a-multipage-app&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Multipage apps :&lt;/strong&gt; &lt;a href=&#34;https://docs.streamlit.io/library/advanced-features/multipage-apps&#34;&gt;https://docs.streamlit.io/library/advanced-features/multipage-apps&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;streamlit에서-multipage란-무엇인가&#34;&gt;Streamlit에서 multipage란 무엇인가?&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;앱의 크기가 커질수록 다중 페이지 구성은 관리와 탐색의 용이성을 제공함.&lt;/li&gt;&#xA;&lt;li&gt;Streamlit은 이를 쉽게 가능하게 하며, 클릭 한 번으로 해당 페이지에 빠르게 이동할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;폴더-및-파일-구조&#34;&gt;폴더 및 파일 구조&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Home.py&lt;/code&gt; 파일을 만든 후에는 엔트리포인트 파일과 관련된 &lt;code&gt;pages/about.py&lt;/code&gt; 파일을 만들어 페이지를 추가할 수 있다. 다음은 다중 페이지 앱에 유효한 디렉토리 구조는 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/02/streamlit_multipages_01/Screenshot_2024-02-25_at_11.44.33_AM.png&#34; alt=&#34;Screenshot 2024-02-25 at 11.44.33 AM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>취업준비생을 위한 Github 포트폴리오 정리</title>
      <link>https://dschloe.github.io/programming/2024/02/github_portfolio/</link>
      <pubDate>Mon, 05 Feb 2024 00:01:28 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/02/github_portfolio/</guid>
      <description>&lt;h2 id=&#34;강의소개&#34;&gt;강의소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인프런에서 Streamlit 관련 강의를 진행하고 있습니다.&lt;/li&gt;&#xA;&lt;li&gt;인프런 : &lt;a href=&#34;https://inf.run/YPniH&#34;&gt;https://inf.run/YPniH&lt;/a&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/mQTuD7gx-hw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Github에서 포트폴리오 정리하는 방법에 대해 기술합니다.&lt;/li&gt;&#xA;&lt;li&gt;취업준비생들의 취업을 진심으로 응원합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;취업준비생들에게-개발이란&#34;&gt;취업준비생들에게 개발이란&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Github에 배포를 하겠다는 뜻은 앞으로 계속적으로 발전 시키겠다는 것을 의미합니다.&lt;/li&gt;&#xA;&lt;li&gt;그런데, 개발은 혼자 할 수 없기 때문에 다른 사람들의 참여를 독려하겠다는 것과 같습니다.&lt;/li&gt;&#xA;&lt;li&gt;가장 좋은 시나리오는 간단하게 배포를 진행하고 프로젝트의 전반적인 취지를 설명한 후 함께 발전시켜 나갈 동료를 구하는 것입니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/02/github_portfolio/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>출간 기념, Streamlit으로 프로젝트 한방에 끝내기 with 파이썬 개정판 (2024, Sara &amp; Evan)</title>
      <link>https://dschloe.github.io/programming/2024/02/book_intro/</link>
      <pubDate>Sun, 04 Feb 2024 00:01:28 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/02/book_intro/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;개정판 책을 출간하였습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/02/book_intro/book_intro.jpg&#34; alt=&#34;book.jpg&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;streamlit이란&#34;&gt;Streamlit이란&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Streamlit은 데이터 분석가가 간단한 코드 몇줄로 빠르게 웹앱을 만들어 줄 수 있는 Python 라이브러리입니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;웹사이트 : &lt;a href=&#34;https://streamlit.io/&#34;&gt;https://streamlit.io/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;누가-읽어야-할까요&#34;&gt;누가 읽어야 할까요?&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 분석가 : 웹개발은 모르지만 대시보드를 만들어야 하는 분&lt;/li&gt;&#xA;&lt;li&gt;국비교육 수강중인 비전공자 : Java 웹개발로 머신러닝 플랫폼을 만들어야 하는 분&lt;/li&gt;&#xA;&lt;li&gt;개별적인 포트폴리오가 필요한 취업준비생 : ML/DL 알고리즘 익히는 것도 어려운데, 웹개발은 언제 배우죠?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;데모-페이지&#34;&gt;데모 페이지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기초문법 포함 &lt;code&gt;2달&lt;/code&gt;이면 충분히 아래 데모 페이지와 같이 만들 수 있습니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데모 페이지 : &lt;a href=&#34;https://dschloe-streamlit-book-seoul-app-w9me9j.streamlit.app/&#34;&gt;https://dschloe-streamlit-book-seoul-app-w9me9j.streamlit.app/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/06/book_intro/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>django tutorial - pyburger 3</title>
      <link>https://dschloe.github.io/programming/2024/01/django_pyburger_3/</link>
      <pubDate>Wed, 24 Jan 2024 04:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/01/django_pyburger_3/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;멀티캠퍼스 수업 보조자료로 활용하기 위해 아래 교재 내용을 발췌하였음을 알립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/django_pyburger_3/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;판매처 : &lt;a href=&#34;https://product.kyobobook.co.kr/detail/S000201056504&#34;&gt;https://product.kyobobook.co.kr/detail/S000201056504&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;github에서-프로젝트-내려받기&#34;&gt;Github에서 프로젝트 내려받기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 경로에서 프로젝트를 내려 받는다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사이트 : &lt;a href=&#34;https://github.com/dschloe/pyburger&#34;&gt;https://github.com/dschloe/pyburger&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Download Zip을 선택하여 프로젝트를 내려 받는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/django_pyburger_3/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 명령어를 실행하여 Local의 적당한 곳에서 다운로드 받는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;폴더-수정&#34;&gt;폴더 수정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;.DS_Store 파일은 삭제한다&lt;/li&gt;&#xA;&lt;li&gt;폴더명은 pyburger로 변경한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/django_pyburger_3/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;vs-code로-폴더-열기&#34;&gt;VS Code로 폴더 열기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래와 같이 VS Code로 pyburger 폴더를 연다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/django_pyburger_3/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;프로젝트-설정&#34;&gt;프로젝트 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가상환경을 설정하고 django를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ virtualenv venv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ source venv/Scripts/activate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ pip install &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;django&amp;lt;5&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;첫번째-확인사항&#34;&gt;첫번째 확인사항&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;runserver를 실행하여 정상적으로 작동하는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ python manage.py runserver&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/django_pyburger_3/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>django tutorial - pyburger 2</title>
      <link>https://dschloe.github.io/programming/2024/01/django_pyburger_2/</link>
      <pubDate>Wed, 24 Jan 2024 03:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/01/django_pyburger_2/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;멀티캠퍼스 수업 보조자료로 활용하기 위해 아래 교재 내용을 발췌하였음을 알립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/django_pyburger_2/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;판매처 : &lt;a href=&#34;https://product.kyobobook.co.kr/detail/S000201056504&#34;&gt;https://product.kyobobook.co.kr/detail/S000201056504&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;별도의-app-추가&#34;&gt;별도의 app 추가&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;application을 생성하는 명령어를 활용하여 app을 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;python manage.py startapp burgers&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;트리 구조는 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ tree -L &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|-- burgers&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|   |-- __init__.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|   |-- admin.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|   |-- apps.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|   |-- migrations&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|   |-- models.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|   |-- tests.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|   &lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;-- views.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|-- config&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|   |-- __init__.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|   |-- __pycache__&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|   |-- asgi.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|   |-- settings.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|   |-- urls.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|   |-- views.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|   &lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;-- wsgi.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|-- db.sqlite3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|-- manage.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|-- templates&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|   |-- burger_list.html&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|   &lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;-- main.html&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;-- templates.zip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;새-application을-django-등록&#34;&gt;새 Application을 Django 등록&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;confing/settings.py&lt;/code&gt; 에서 INSTALLED_APPS 리스트에 아래와 같이 추가&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;INSTALLED_APPS &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;burgers&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;django.contrib.admin&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;django.contrib.auth&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;django.contrib.contenttypes&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;django.contrib.sessions&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;django.contrib.messages&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;django.contrib.staticfiles&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;model-클래스-구현&#34;&gt;Model 클래스 구현&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Model 클래스 정의하기 전에 햄버거를 나타낼 수 있는 정보를 몇 가지 정리한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이름&lt;/li&gt;&#xA;&lt;li&gt;가격&lt;/li&gt;&#xA;&lt;li&gt;칼로리&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;burgers/models.py 에서 아래와 같이 코드를 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; django.db &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; models&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Create your models here.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Burger&lt;/span&gt;(models&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Model):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    name  &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; models&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;CharField(max_length&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    price &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; models&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;IntegerField(default&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    calories &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; models&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;IntegerField(default&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;데이터베이스-마이그레이션&#34;&gt;데이터베이스 마이그레이션&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;새로운 테이블을 만들기 위해 다음 명령어를 사용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;python manage&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;py migrate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/django_pyburger_2/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>django tutorial - pyburger 1</title>
      <link>https://dschloe.github.io/programming/2024/01/django_pyburger_1/</link>
      <pubDate>Wed, 24 Jan 2024 02:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/01/django_pyburger_1/</guid>
      <description>&lt;h1 id=&#34;django-pyburger---1-맛보기&#34;&gt;Django Pyburger - 1, 맛보기&lt;/h1&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;멀티캠퍼스 수업 보조자료로 활용하기 위해 아래 교재 내용을 발췌하였음을 알립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/django_pyburger_1/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;판매처 : &lt;a href=&#34;https://product.kyobobook.co.kr/detail/S000201056504&#34;&gt;https://product.kyobobook.co.kr/detail/S000201056504&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;django-설치&#34;&gt;Django 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;터미널에서 django를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip install &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;django&amp;lt;5&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/django_pyburger_1/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;django-버전-확인&#34;&gt;Django 버전 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;터미널에서 Django의 버전을 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;django-admin --version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;4.2.9&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;django-프로젝트-생성&#34;&gt;Django 프로젝트 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 명령어를 실행하여 django 프로젝트를 생성한다.&lt;/li&gt;&#xA;&lt;li&gt;djang-admin은 터미널에서 실행할 수 있는 프로그램이며, django 프로젝트를 관리하는 여러 기능들을 가지고 있음&lt;/li&gt;&#xA;&lt;li&gt;startproject는 django 프로젝트의 기반 구조를 만드는 기능&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;django-admin startproject config .&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;생성된 파일 목록을 확인한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Git Bash에서 트리 구조 확인 : &lt;a href=&#34;https://frozenrainyoo.tistory.com/3&#34;&gt;https://frozenrainyoo.tistory.com/3&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ tree -L &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|-- README.md&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|-- config&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|   |-- __init__.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|   |-- asgi.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|   |-- settings.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|   |-- urls.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|   &lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;-- wsgi.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|-- manage.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;-- venv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    |-- Lib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    |-- Scripts&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;-- pyvenv.cfg&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt; directories, &lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt; files&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;개발용-서버-동작-확인&#34;&gt;개발용 서버 동작 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;명령어는 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때 &lt;a href=&#34;http://manage.py&#34;&gt;manage.py&lt;/a&gt; 가 있는 프로젝트 경로에서 실행해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;python manage.py runserver&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/django_pyburger_1/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>SQLitebroswer 설치 (M1, Mac)</title>
      <link>https://dschloe.github.io/programming/2024/01/sqlitebroswer_install_m1_mac/</link>
      <pubDate>Wed, 24 Jan 2024 01:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/01/sqlitebroswer_install_m1_mac/</guid>
      <description>&lt;h1 id=&#34;sqlitebroswer-설치-m1-mac&#34;&gt;SQLitebroswer 설치 (M1, Mac)&lt;/h1&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SQLitebroswer 설치를 진행해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;설치&#34;&gt;설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;주소 : &lt;a href=&#34;https://sqlitebrowser.org/&#34;&gt;https://sqlitebrowser.org/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Download 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/SQLitebroswer_install_M1_Mac/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;자신의 OS에 맞는 버전을 선택해 다운로드 후 설치&lt;/li&gt;&#xA;&lt;li&gt;필자는 Apple Silicon 버전을 선택했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/SQLitebroswer_install_M1_Mac/Screenshot_2024-01-24_at_12.25.34_AM.png&#34; alt=&#34;Screenshot 2024-01-24 at 12.25.34 AM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 그림과 같이 추가하면 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/SQLitebroswer_install_M1_Mac/Screenshot_2024-01-24_at_12.26.49_AM.png&#34; alt=&#34;Screenshot 2024-01-24 at 12.26.49 AM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>SQLitebroswer 설치 (Windows 11)</title>
      <link>https://dschloe.github.io/programming/2024/01/sqlitebroswer_install_windows/</link>
      <pubDate>Wed, 24 Jan 2024 00:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/01/sqlitebroswer_install_windows/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SQLitebroswer 설치를 진행해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;설치&#34;&gt;설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;주소 : &lt;a href=&#34;https://sqlitebrowser.org/&#34;&gt;https://sqlitebrowser.org/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Download 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/SQLitebroswer_install_windows/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;자신의 OS에 맞는 버전을 선택해 다운로드 후 설치&lt;/li&gt;&#xA;&lt;li&gt;필자는 Standard installer for 64-bit Windows 다운로드 받았다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/SQLitebroswer_install_windows/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치 프로그램을 실행한 후, 아래와 같이 순차적으로 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/SQLitebroswer_install_windows/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/SQLitebroswer_install_windows/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/SQLitebroswer_install_windows/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/SQLitebroswer_install_windows/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/SQLitebroswer_install_windows/Untitled%206.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/SQLitebroswer_install_windows/Untitled%207.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;끝.&lt;/p&gt;</description>
    </item>
    <item>
      <title>kaggle 한글폰트 적용</title>
      <link>https://dschloe.github.io/programming/2024/01/kaggle_korean_font/</link>
      <pubDate>Mon, 15 Jan 2024 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/01/kaggle_korean_font/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;캐글에서 한글폰트를 적용하는 방법에 대해 알아본다.&lt;/li&gt;&#xA;&lt;li&gt;가장 간편한 방법은 폰트를 업로드 한 뒤 업데이트 하는 방식이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;폰트-확인&#34;&gt;폰트 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;폰트는 아래 사이트에서 다운로드 받는다.&lt;/li&gt;&#xA;&lt;li&gt;사이트 : &lt;a href=&#34;https://hangeul.naver.com/font&#34;&gt;https://hangeul.naver.com/font&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;여기에서 나눔글꼴을 다운로드 받았다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/kaggle_korean_font/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;폰트-압축풀기&#34;&gt;폰트 압축풀기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다운로드 폰트를 압축 풀기 하면 매우 다양한 폰트가 확인이 된다.&lt;/li&gt;&#xA;&lt;li&gt;여기에서 나눔스퀘어 &amp;gt; NanumFontSetup_TTF_SQUARE 파일에서 폰트 목록을 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/kaggle_korean_font/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;폰트-업로드&#34;&gt;폰트 업로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 현재 사용하는 캐글 노트북에 추가한다.&lt;/li&gt;&#xA;&lt;li&gt;임의의 font 폴더명을 입력했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/kaggle_korean_font/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Create 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/kaggle_korean_font/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;업로드 이후에 폴더에 폰트가 들어간 것을 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/kaggle_korean_font/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>statsmodels를 활용한 회귀분석 (feat. 범주형 데이터)</title>
      <link>https://dschloe.github.io/programming/2024/01/statsmodels_category_variable_regression/</link>
      <pubDate>Fri, 12 Jan 2024 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/01/statsmodels_category_variable_regression/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;statsmodels를 활용하여 범주형 데이터가 포함된 회귀식을 산정해본다.&lt;/li&gt;&#xA;&lt;li&gt;범주형 데이터의 특정 값을 변동하는 방법을 배운다.&lt;/li&gt;&#xA;&lt;li&gt;더불어서 R로 간단한 회귀식도 만들어보자!&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;강의소개&#34;&gt;강의소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인프런에서 Streamlit 관련 강의를 진행하고 있습니다.&lt;/li&gt;&#xA;&lt;li&gt;인프런 : &lt;a href=&#34;https://inf.run/YPniH&#34;&gt;https://inf.run/YPniH&lt;/a&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/mQTuD7gx-hw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;라이브러리-확인&#34;&gt;라이브러리 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;statsmodels의 라이브러리는 현재 0.14.1 버전이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;라이브러리 참조 : &lt;a href=&#34;https://www.statsmodels.org/stable/index.html&#34;&gt;https://www.statsmodels.org/stable/index.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; statsmodels&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(statsmodels&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;0.14.1&#xA;0.12.2&#xA;1.5.3&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;데이터-불러오기&#34;&gt;데이터 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;seaborn에서 tips 데이터를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tips &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;load_dataset(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tips&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tips&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/statsmodels_category_variable_regression/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>conda vs virtualenv 라이브러리 관리 비교</title>
      <link>https://dschloe.github.io/programming/2024/01/conda_virtualenv_package_manager/</link>
      <pubDate>Thu, 04 Jan 2024 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2024/01/conda_virtualenv_package_manager/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파이썬에는 가상환경이 다양하게 존재한다.&lt;/li&gt;&#xA;&lt;li&gt;이 중, conda와 virtualenv 가상환경에서 라이브러리 관리를 어떻게 하는지 비교를 해보도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;프로젝트-폴더-생성&#34;&gt;프로젝트 폴더 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;폴더명은 virtualTest로 명명했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;conda&#34;&gt;Conda&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 가상환경을 만들어본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;conda create -n virtualTest python&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;3.10&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/conda_virtualenv_package_manager/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;conda 가상환경에 접속하는 방법은 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;conda activate virtualTest&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/conda_virtualenv_package_manager/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;environmentyml&#34;&gt;environment.yml&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;라이브러리 관리를 위해 아래와 같이 샘플 코드를 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;name: virtualTest&#xA;channels:&#xA;  - defaults&#xA;dependencies:&#xA;  - python=3.10&#xA;  - numpy&#xA;  - pandas&#xA;  - pip:&#xA;    - streamlit&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;실행 코드는 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;conda env create -f environment.yml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;라이브러리 추가 설치를 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;conda install matplotlib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;추가된 라이브러리를 추출한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;conda env export &amp;gt; env_file.yml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;파일을 확인하면 아래와 같이 복잡하게 나타난다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2024/01/conda_virtualenv_package_manager/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Matplotlib &amp; Seaborn with bar chart</title>
      <link>https://dschloe.github.io/programming/2023/12/matplotlib_seaborn_barchart/</link>
      <pubDate>Sun, 03 Dec 2023 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/12/matplotlib_seaborn_barchart/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 코드는 다음 유투브 영상에서 다룬 내용 중 다루지 못한 내용을 추가한 블로그입니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;youtube&#34;&gt;Youtube&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;유투브 영상은 다음과 같습니다. 전체 강의자료 및 데이터셋은 udemy 또는 inflern에서 확인 가능합니다.&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/iWjsYhuH5Hs?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;가상의-데이터셋-생성&#34;&gt;가상의 데이터셋 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 라이브러리를 불러온 후, 가상의 데이터셋을 만듭니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;years &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;2007&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2008&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;months &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;1&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;2&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;3&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;4&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;5&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;6&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;7&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;8&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;9&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;10&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;11&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;12&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;random&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;seed(&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)  &lt;span style=&#34;color:#75715e&#34;&gt;# For reproducibility&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;year&amp;#39;&lt;/span&gt;: np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;repeat(years, &lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;month&amp;#39;&lt;/span&gt;: months &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;house_prices&amp;#39;&lt;/span&gt;: np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;random&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;randint(&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;500&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df_random &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame(data)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;데이터셋은 크게 year, month, house_prices로 구성되어 있습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df_random&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/12/matplotlib_seaborn_barchart/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Exploring Unique Values in DataFrame Object Columns</title>
      <link>https://dschloe.github.io/programming/2023/11/unique_values_df/</link>
      <pubDate>Sun, 26 Nov 2023 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/11/unique_values_df/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;pandas 데이터프레임의 여러 개체 유형(문자열) 열에서 고유 값을 조사하려면 해당 열을 선택한 다음 unique()를 적용하여 고유 값을 추출한다. 이를 위한 단계별 접근 방식은 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1단계 : 여러 컬럼 중에서 문자열 컬럼만 추출한다.&lt;/li&gt;&#xA;&lt;li&gt;2단계 : unique() 함수를 활용하여 unique()값만 가져온다.&lt;/li&gt;&#xA;&lt;li&gt;3단계 : 결괏값은 dictionary 형태로 담는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;가상-데이터-생성&#34;&gt;가상 데이터 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;임의의 가상 데이터를 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Name&amp;#39;&lt;/span&gt;: [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Evan&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Bob&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Evan&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Bob&amp;#39;&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;City&amp;#39;&lt;/span&gt;: [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;New York&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Los Angeles&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;New York&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;SF&amp;#39;&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Job&amp;#39;&lt;/span&gt;: [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Engineer&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Engineer&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Engineer&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Artist&amp;#39;&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;num1&amp;#39;&lt;/span&gt; : [&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame(data)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(df)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;   Name         City       Job  num1&#xA;0  Evan     New York  Engineer     1&#xA;1   Bob  Los Angeles  Engineer     2&#xA;2  Evan     New York  Engineer     3&#xA;3   Bob           SF    Artist     4&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;object-컬럼-추출&#34;&gt;object 컬럼 추출&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# object 컬럼명 도출&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;object_cols &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;select_dtypes(include&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;object&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(object_cols)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;   Name         City       Job&#xA;0  Evan     New York  Engineer&#xA;1   Bob  Los Angeles  Engineer&#xA;2  Evan     New York  Engineer&#xA;3   Bob           SF    Artist&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;dictionary-comprehension-활용한-고윳값-추출&#34;&gt;dictionary comprehension 활용한 고윳값 추출&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;dictionary comprehension을 사용한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;object_cols.columns&lt;/code&gt;는 고유값을 찾고자 하는 열들의 이름을 포함하는 리스트이다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;for col in object_cols.columns&lt;/code&gt;: 이 반복문은 &lt;code&gt;object_cols.columns&lt;/code&gt;에 있는 각 열 이름에 대해 반복한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;df[col].unique()&lt;/code&gt;: 이 부분은 DataFrame df에서 col 열의 고유값들을 추출합니다. unique() 함수는 해당 열에서 중복을 제거한 값들의 배열을 반환한다.&lt;/li&gt;&#xA;&lt;li&gt;{col: df[col].unique() for &amp;hellip;}: 이 구조는 각 열 이름(col)을 키로, 해당 열의 고유값 배열을 값으로 하는 딕셔너리를 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 각 컬럼별 고유값만 추출한다.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;unique_values &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {col: df[col]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;unique() &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; col &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; object_cols&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;unique_values&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;{&#39;Name&#39;: array([&#39;Evan&#39;, &#39;Bob&#39;], dtype=object),&#xA; &#39;City&#39;: array([&#39;New York&#39;, &#39;Los Angeles&#39;, &#39;SF&#39;], dtype=object),&#xA; &#39;Job&#39;: array([&#39;Engineer&#39;, &#39;Artist&#39;], dtype=object)}&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>빅데이터 분석기사 실기 준비 (작업 제2유형) 준비</title>
      <link>https://dschloe.github.io/programming/2023/11/ds_certificate_type2/</link>
      <pubDate>Sun, 26 Nov 2023 00:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/11/ds_certificate_type2/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;작업 2유형(머신러닝)을 보다 쉽게 대비할 수 있도록 튜토리얼을 준비했습니다.&lt;/li&gt;&#xA;&lt;li&gt;핵심 키워드 : Python 머신러닝은 pipeline 코드로 기억하자&lt;/li&gt;&#xA;&lt;li&gt;본 코드는 구글 코랩에서 작성하였습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;유투브&#34;&gt;유투브&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;유투브에서 강의 영상을 시청할 수 있습니다. (&lt;code&gt;구독&lt;/code&gt;과 &lt;code&gt;좋아요&lt;/code&gt;)&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/CuNIhzPtQ1E?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;데이터-출처&#34;&gt;데이터 출처&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 데이터는 &lt;a href=&#34;https://www.dataq.or.kr/www/board/view.do?bbsKey=eyJiYnNhdHRyU2VxIjoxLCJiYnNTZXEiOjUwOTM0M30=&amp;amp;boardKind=notice&#34;&gt;K-Data&lt;/a&gt;에서 가져왔습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;구글-드라이브-연동&#34;&gt;구글 드라이브 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터를 가져오기 위해 구글 드라이브와 연동합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; drive&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;drive&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mount(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/content/drive&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Mounted at /content/drive&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;라이브러리-불러오기&#34;&gt;라이브러리 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 라이브러리들을 모두 암기하시기를 바랍니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.model_selection &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; train_test_split&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.preprocessing &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; StandardScaler, OneHotEncoder&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.compose &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; ColumnTransformer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.pipeline &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Pipeline&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## from sklearn.metrics import make_scorer, mean_squared_error&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## from sklearn.ensemble import RandomForestRegressor&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.metrics &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; roc_auc_score&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.ensemble &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; RandomForestClassifier&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;데이터-가져오기&#34;&gt;데이터 가져오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 드라이브에서 데이터를 가져옵니다.&lt;/li&gt;&#xA;&lt;li&gt;시험장에서는 데이터 가져오기는 자동으로 설정이 되어 있습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;DATA_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/content/drive/MyDrive/Colab Notebooks/2024/빅분기/[Dataset] 작업형 제2유형/&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(DATA_PATH &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;X_test.csv&amp;#34;&lt;/span&gt;, encoding&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cp949&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(DATA_PATH &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;X_train.csv&amp;#34;&lt;/span&gt;, encoding&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cp949&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y_train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(DATA_PATH &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;y_train.csv&amp;#34;&lt;/span&gt;, encoding&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cp949&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(X_test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, X_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, y_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;(2482, 10) (3500, 10) (3500, 2)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;데이터-정보-확인하기&#34;&gt;데이터 정보 확인하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;분류 문제임을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(y_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head(&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;   cust_id  gender&#xA;0        0       0&#xA;1        1       0&#xA;2        2       1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;문자열과 숫자 데이터가 적절하게 섞인 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(X_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head(&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;   cust_id      총구매액     최대구매액       환불금액   주구매상품 주구매지점  내점일수   내점당구매건수  \&#xA;0        0  68282840  11264000  6860000.0      기타   강남점    19  3.894737   &#xA;1        1   2136000   2136000   300000.0     스포츠   잠실점     2  1.500000   &#xA;2        2   3197000   1639000        NaN  남성 캐주얼   관악점     2  2.000000   &#xA;&#xA;     주말방문비율  구매주기  &#xA;0  0.527027    17  &#xA;1  0.000000     1  &#xA;2  0.000000     1  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(X_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;info())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;pandas.core.frame.DataFrame&#39;&amp;gt;&#xA;RangeIndex: 3500 entries, 0 to 3499&#xA;Data columns (total 10 columns):&#xA; #   Column   Non-Null Count  Dtype  &#xA;---  ------   --------------  -----  &#xA; 0   cust_id  3500 non-null   int64  &#xA; 1   총구매액     3500 non-null   int64  &#xA; 2   최대구매액    3500 non-null   int64  &#xA; 3   환불금액     1205 non-null   float64&#xA; 4   주구매상품    3500 non-null   object &#xA; 5   주구매지점    3500 non-null   object &#xA; 6   내점일수     3500 non-null   int64  &#xA; 7   내점당구매건수  3500 non-null   float64&#xA; 8   주말방문비율   3500 non-null   float64&#xA; 9   구매주기     3500 non-null   int64  &#xA;dtypes: float64(3), int64(5), object(2)&#xA;memory usage: 273.6+ KB&#xA;None&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(y_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;info())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;pandas.core.frame.DataFrame&#39;&amp;gt;&#xA;RangeIndex: 3500 entries, 0 to 3499&#xA;Data columns (total 2 columns):&#xA; #   Column   Non-Null Count  Dtype&#xA;---  ------   --------------  -----&#xA; 0   cust_id  3500 non-null   int64&#xA; 1   gender   3500 non-null   int64&#xA;dtypes: int64(2)&#xA;memory usage: 54.8 KB&#xA;None&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;데이터-전처리&#34;&gt;데이터 전처리&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;2회-6회 시험까지 결측치는 존재하지 않았지만, 언제든지 결측치 처리 문제는 나올 수 있음.&lt;/li&gt;&#xA;&lt;li&gt;결측치를 처리할 때는 &lt;code&gt;fillna()&lt;/code&gt; 메서드를 사용한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;숫자는 각 컬럼의 평균대치, 문자는 최빈도값 대치를 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;isnull()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sum()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;cust_id       0&#xA;총구매액          0&#xA;최대구매액         0&#xA;환불금액       2295&#xA;주구매상품         0&#xA;주구매지점         0&#xA;내점일수          0&#xA;내점당구매건수       0&#xA;주말방문비율        0&#xA;구매주기          0&#xA;dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;여기에서는 특정 컬럼의 결측치가 많아서 삭제 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; X_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;환불금액&amp;#34;&lt;/span&gt;, axis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;isnull()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sum()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;cust_id    0&#xA;총구매액       0&#xA;최대구매액      0&#xA;주구매상품      0&#xA;주구매지점      0&#xA;내점일수       0&#xA;내점당구매건수    0&#xA;주말방문비율     0&#xA;구매주기       0&#xA;dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;주구매상품&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value_counts()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;기타        595&#xA;가공식품      546&#xA;농산물       339&#xA;화장품       264&#xA;시티웨어      213&#xA;디자이너      193&#xA;수산품       153&#xA;캐주얼       101&#xA;명품        100&#xA;섬유잡화       98&#xA;골프         82&#xA;스포츠        69&#xA;일용잡화       64&#xA;모피/피혁      57&#xA;육류         57&#xA;남성 캐주얼     55&#xA;구두         54&#xA;건강식품       47&#xA;차/커피       44&#xA;피혁잡화       40&#xA;아동         40&#xA;축산가공       35&#xA;주방용품       32&#xA;셔츠         30&#xA;젓갈/반찬      29&#xA;주방가전       26&#xA;트래디셔널      23&#xA;남성정장       22&#xA;생활잡화       15&#xA;주류         14&#xA;가구         10&#xA;커리어         9&#xA;대형가전        8&#xA;란제리/내의      8&#xA;식기          7&#xA;액세서리        5&#xA;침구/수예       4&#xA;통신/컴퓨터      3&#xA;보석          3&#xA;남성 트랜디      2&#xA;소형가전        2&#xA;악기          2&#xA;Name: 주구매상품, dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;주구매지점&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value_counts()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;본  점     1077&#xA;잠실점       474&#xA;분당점       436&#xA;부산본점      245&#xA;영등포점      241&#xA;일산점       198&#xA;강남점       145&#xA;광주점       114&#xA;노원점        90&#xA;청량리점       86&#xA;대전점        70&#xA;미아점        69&#xA;부평점        57&#xA;동래점        49&#xA;관악점        46&#xA;인천점        34&#xA;안양점        29&#xA;포항점        11&#xA;대구점         7&#xA;센텀시티점       6&#xA;울산점         6&#xA;전주점         5&#xA;창원점         4&#xA;상인점         1&#xA;Name: 주구매지점, dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;컬럼-분리&#34;&gt;컬럼 분리&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;cust_id는 별도로 분리한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train_id &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; X_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;pop(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;cust_id&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(X_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;info())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;pandas.core.frame.DataFrame&#39;&amp;gt;&#xA;RangeIndex: 3500 entries, 0 to 3499&#xA;Data columns (total 8 columns):&#xA; #   Column   Non-Null Count  Dtype  &#xA;---  ------   --------------  -----  &#xA; 0   총구매액     3500 non-null   int64  &#xA; 1   최대구매액    3500 non-null   int64  &#xA; 2   주구매상품    3500 non-null   object &#xA; 3   주구매지점    3500 non-null   object &#xA; 4   내점일수     3500 non-null   int64  &#xA; 5   내점당구매건수  3500 non-null   float64&#xA; 6   주말방문비율   3500 non-null   float64&#xA; 7   구매주기     3500 non-null   int64  &#xA;dtypes: float64(2), int64(4), object(2)&#xA;memory usage: 218.9+ KB&#xA;None&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_test_id &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; X_test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;pop(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;cust_id&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(X_test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;info())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;pandas.core.frame.DataFrame&#39;&amp;gt;&#xA;RangeIndex: 2482 entries, 0 to 2481&#xA;Data columns (total 9 columns):&#xA; #   Column   Non-Null Count  Dtype  &#xA;---  ------   --------------  -----  &#xA; 0   총구매액     2482 non-null   int64  &#xA; 1   최대구매액    2482 non-null   int64  &#xA; 2   환불금액     871 non-null    float64&#xA; 3   주구매상품    2482 non-null   object &#xA; 4   주구매지점    2482 non-null   object &#xA; 5   내점일수     2482 non-null   int64  &#xA; 6   내점당구매건수  2482 non-null   float64&#xA; 7   주말방문비율   2482 non-null   float64&#xA; 8   구매주기     2482 non-null   int64  &#xA;dtypes: float64(3), int64(4), object(2)&#xA;memory usage: 174.6+ KB&#xA;None&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;문자데이터와 숫자데이터 컬럼명만 추출한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cat_cols &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; X_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;select_dtypes(exclude &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;number)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;tolist()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;num_cols &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; X_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;select_dtypes(include &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;number)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;tolist()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(cat_cols)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(num_cols)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[&#39;주구매상품&#39;, &#39;주구매지점&#39;]&#xA;[&#39;총구매액&#39;, &#39;최대구매액&#39;, &#39;내점일수&#39;, &#39;내점당구매건수&#39;, &#39;주말방문비율&#39;, &#39;구매주기&#39;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;데이터셋-분리&#34;&gt;데이터셋 분리&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터셋 분리의 기본 원칙은 최대한 데이터의 분포가 일정해야 한다는 것이다.&lt;/li&gt;&#xA;&lt;li&gt;평소 분석을 할 때는 하나씩 다 확인을 해야하지만, 시험장에서는 분류모델이 문제일 경우에는 y_train 데이터를 기준으로 층화추출을 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_tr, X_val, y_tr, y_val &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_test_split(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    X_train, y_train[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;gender&amp;#39;&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    stratify &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; y_train[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;gender&amp;#39;&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    test_size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.3&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_tr&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, X_val&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, y_tr&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, y_val&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;((2450, 8), (1050, 8), (2450,), (1050,))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;모델-만들기&#34;&gt;모델 만들기&lt;/h2&gt;&#xA;&lt;h3 id=&#34;모델-만들기-1---입문자&#34;&gt;모델 만들기 1 - 입문자&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기본 모델만 만들고 싶다면 아래 코드만 기억한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;column_transformer &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ColumnTransformer([&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;scaler&amp;#34;&lt;/span&gt;, StandardScaler(), num_cols),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;ohd_encoder&amp;#34;&lt;/span&gt;, OneHotEncoder(handle_unknown&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ignore&amp;#39;&lt;/span&gt;), cat_cols)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;], remainder&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;passthrough&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pipeline &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Pipeline([&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;preprocessing&amp;#34;&lt;/span&gt;, column_transformer),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;clf&amp;#34;&lt;/span&gt;, RandomForestClassifier(random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pipeline&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_tr, y_tr)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/11/ds_certificate_type2/pipeline.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python 설치 Windows 11</title>
      <link>https://dschloe.github.io/programming/2023/11/python_install/</link>
      <pubDate>Fri, 24 Nov 2023 00:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/11/python_install/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Python 설치 과정을 유투브로 정리하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 튜토리얼은 &lt;a href=&#34;https://dschloe.github.io/ds-projects/2023/06/book_intro/&#34;&gt;Streamlit으로 프로젝트 한방에 끝내기 with 파이썬(2023, Sara &amp;amp; Evan)&lt;/a&gt; 교재를 동영상으로 변환하는 작업의 일환입니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;유투브&#34;&gt;유투브&lt;/h2&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/BqkwJ5zCMb0?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;</description>
    </item>
    <item>
      <title>BigQuery Connect to Google Analytics</title>
      <link>https://dschloe.github.io/programming/2023/10/bigquery_to_ga4/</link>
      <pubDate>Thu, 26 Oct 2023 15:00:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/10/bigquery_to_ga4/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;BigQuery에서 Google Adwords 데이터와 Google Analytics를 불러올 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;전제조건&#34;&gt;전제조건&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 클라우드 사용법은 어느정도 알고 있는 상태를 전제로 한다.&lt;/li&gt;&#xA;&lt;li&gt;Google Analytics를 이미 활용하고 있다는 것을 전제로 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;google-analytics&#34;&gt;Google Analytics&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;왼쪽 메뉴에서 관리 &amp;gt; 제품 링크를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/10/bigquery_to_ga4/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/10/bigquery_to_ga4/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;BigQuery 링크 클릭 &amp;gt; 연결 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/10/bigquery_to_ga4/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;BigQuery 프로젝트를 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/10/bigquery_to_ga4/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;활성화중인 프로젝트를 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/10/bigquery_to_ga4/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 위치를 지정한다. 본 프로젝트에서는 서울로 명명한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/10/bigquery_to_ga4/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;내보내기 유형은 &lt;code&gt;매일&lt;/code&gt;로 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/10/bigquery_to_ga4/Untitled%206.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사용자 데이터는 일별로 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/10/bigquery_to_ga4/Untitled%207.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Streamlit App Deployment Compute Engine with Github Action in GCP</title>
      <link>https://dschloe.github.io/programming/2023/10/streamlit_gcp_githubaction/</link>
      <pubDate>Wed, 25 Oct 2023 10:00:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/10/streamlit_gcp_githubaction/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Google Compute Engine에서 Gihub Action을 구현하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;프로젝트-생성&#34;&gt;프로젝트 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;새 프로젝트 버튼을 클릭 후 프로젝트 명을 &lt;code&gt;streamlit-gitaction&lt;/code&gt;으로 명명한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/10/streamlit_gcp_githubaction/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;instance-생성&#34;&gt;Instance 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Compute Engine &amp;gt; VM Instance&lt;/code&gt; 선택 후, 새로운 인스턴스를 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/10/streamlit_gcp_githubaction/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;처음 사용하는 경우 사용 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/10/streamlit_gcp_githubaction/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;최초 작업에는 결제 필요 버튼이 나올 수 있다. 결제 사용 설정을 눌러 결제를 추가한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/10/streamlit_gcp_githubaction/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/10/streamlit_gcp_githubaction/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 회사 계정을 사용한 것이므로 이렇게 나오지만, 일반 사용자는 화면이 다를 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;VM 인스턴스를 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/10/streamlit_gcp_githubaction/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>MySQL Workbench File Import Error in Mac</title>
      <link>https://dschloe.github.io/programming/2023/10/mysql_import_error_mac/</link>
      <pubDate>Wed, 04 Oct 2023 10:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/10/mysql_import_error_mac/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MySQL Workbench에서 File을 불러올 때 에러가 발생했을 때 대처 요령을 소개한다.&lt;/li&gt;&#xA;&lt;li&gt;Workbench에서 File을 불러올 때 가끔 아래와 같은 아래가 발생하곤 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/10/mysql_import_error_mac/Screenshot_2023-10-04_at_11.33.28_AM.png&#34; alt=&#34;Screenshot 2023-10-04 at 11.33.28 AM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;해결방법은 MySQL Shell Script에서 직접 파일을 불러오는 방식이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;mysql-재접속&#34;&gt;MySQL 재접속&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기존에 Workbench에 접속해 있었다면 우선 종료를 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/10/mysql_import_error_mac/Screenshot_2023-10-04_at_11.35.16_AM.png&#34; alt=&#34;Screenshot 2023-10-04 at 11.35.16 AM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;재접속 전 Edit Connection 버튼을 클릭한다.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/10/mysql_import_error_mac/Screenshot_2023-10-04_at_11.36.03_AM.png&#34; alt=&#34;Screenshot 2023-10-04 at 11.36.03 AM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Advanced Tab을 클릭한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Others 메뉴에서 &lt;code&gt;OPT_LOCAL_INFILE=1&lt;/code&gt; 을 입력한다.&lt;/li&gt;&#xA;&lt;li&gt;Test Connection 버튼을 클릭하여 정상적으로 접속이 되는지 재 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/10/mysql_import_error_mac/Screenshot_2023-10-04_at_11.36.43_AM.png&#34; alt=&#34;Screenshot 2023-10-04 at 11.36.43 AM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Streamlit App Deployment with nohup in Google Compute Engine</title>
      <link>https://dschloe.github.io/programming/2023/09/streamlit_nohup_on_gce/</link>
      <pubDate>Thu, 28 Sep 2023 16:10:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/09/streamlit_nohup_on_gce/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Streamlit과 Bigquery를 연동하는 코드를 구현한다.&lt;/li&gt;&#xA;&lt;li&gt;가상환경 설정 부터 VS Code 연동까지 준비가 안되어 있다면 이전 글을 참조하기를 바란다.&lt;/li&gt;&#xA;&lt;li&gt;만약 GCP가 처음이신 분들은 이전 글을 순차적으로 읽어본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/gcp/2023/09/spark_installation_gcp/&#34;&gt;Spark Installation with GCP (Sept. 2023)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/gcp/2023/09/compute_engine_github/&#34;&gt;Compute Engine with Github in GCP&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/gcp/2023/09/python_library_installation/&#34;&gt;Python Library Installation on Compute Engine in GCP&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/gcp/2023/09/gcp_with_vscode/&#34;&gt;GCP with VS Code SSH Connection&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/gcp/2023/09/gcloud_installation_windows11/&#34;&gt;gcloud Installation on Windows 11&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/gcp/2023/09/streamlit_bigquery_gce/&#34;&gt;Streamlit with Bigquery On Compute Engine&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요-1&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Streamlit Sample 코드를 작성한 후 배포를 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;VS Code 접속 시 고정 IP를 할당한다.&lt;/li&gt;&#xA;&lt;li&gt;이 때 터미널이 종료되거나 사용자가 로그아웃해도 계속 실행되도록 nohup을 사용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;nohup의-기본-개념&#34;&gt;Nohup의 기본 개념&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;nohup은 &amp;ldquo;no hang up&amp;quot;의 약자로, 백그라운드에서 다른 명령을 실행하는 데 사용되는 UNIX 명령으로, 로그아웃한 후에도 계속 실행됨.&lt;/li&gt;&#xA;&lt;li&gt;원격 서버에서 장기간 실행되는 프로세스를 시작하려는 경우 세션 연결이 끊어지거나 터미널이 닫힐 때 프로세스가 종료되지 않도록 하려는 경우에 특히 유용함.&lt;/li&gt;&#xA;&lt;li&gt;foreground에서 명령이나 프로세스를 실행할 때 터미널이나 셸 세션이 종료되면 해당 명령이나 프로세스가 종료될 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;nohup을 사용하면 기본적으로 터미널에서 프로세스를 분리하고 종료(HUP) 신호를 수신하지 못하도록 하여 로그아웃하거나 연결을 끊어도 프로세스가 완료될 때까지 실행할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;Python에서 nohup을 실행할 때는 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;출력(로그 및 오류)을 특정 파일로 리디렉션하려면 다음 명령을 사용할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;이렇게 하면 Streamlit 앱의 표준 출력과 표준 오류가 모두 streamlit.log라는 파일로 리디렉션 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nohup streamlit run my_app.py &amp;gt; streamlit.log 2&amp;gt;&amp;amp;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; &amp;amp;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Streamlit 앱을 중지해야 하는 경우 ps 명령을 사용하여 프로세스 ID를 찾은 다음 종료 명령을 사용하면 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ps aux | grep &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;streamlit run&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;그러면 Streamlit과 관련된 프로세스 목록이 표시된다. 삭제하고자 하는 프로세스 ID를 찾아서 종료한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;kill -9 PROCESS_ID&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;고정-ip-할당&#34;&gt;고정 IP 할당&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;왼쪽 사이드바 메뉴 &amp;gt; VPC 네트워크 &amp;gt; IP 주소 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/streamlit_nohup_on_gce/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Streamlit with Bigquery On Compute Engine</title>
      <link>https://dschloe.github.io/programming/2023/09/streamlit_bigquery_gce/</link>
      <pubDate>Fri, 22 Sep 2023 10:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/09/streamlit_bigquery_gce/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Streamlit과 Bigquery를 연동하는 코드를 구현한다.&lt;/li&gt;&#xA;&lt;li&gt;가상환경 설정 부터 VS Code 연동까지 준비가 안되어 있다면 이전 글을 참조하기를 바란다.&lt;/li&gt;&#xA;&lt;li&gt;만약 GCP가 처음이신 분들은 이전 글을 순차적으로 읽어본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/gcp/2023/09/spark_installation_gcp/&#34;&gt;Spark Installation with GCP (Sept. 2023)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/gcp/2023/09/compute_engine_github/&#34;&gt;Compute Engine with Github in GCP&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/gcp/2023/09/python_library_installation/&#34;&gt;Python Library Installation on Compute Engine in GCP&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/gcp/2023/09/gcp_with_vscode/&#34;&gt;GCP with VS Code SSH Connection&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/gcp/2023/09/gcloud_installation_windows11/&#34;&gt;gcloud Installation on Windows 11&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;인스턴스-시작&#34;&gt;인스턴스 시작&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인스턴스가 중지가 되어 있다면 다시 시작을 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/streamlit_bigquery_gce/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;bigquery-client-라이브러리-설치&#34;&gt;BigQuery Client 라이브러리 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;클라이언트 라이브러리를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip install --upgrade google-cloud-bigquery&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/streamlit_bigquery_gce/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>gcloud Installation on Windows 11</title>
      <link>https://dschloe.github.io/programming/2023/09/gcloud_installation_windows11/</link>
      <pubDate>Thu, 21 Sep 2023 10:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/09/gcloud_installation_windows11/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Windows 11에서 gcloud 설치를 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;참조 문서 : &lt;a href=&#34;https://cloud.google.com/sdk/docs/install-sdk?hl=ko&#34;&gt;https://cloud.google.com/sdk/docs/install-sdk?hl=ko&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;gcloud-cli-최신-버전44500-설치&#34;&gt;&lt;strong&gt;gcloud CLI 최신 버전(445.0.0) 설치&lt;/strong&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;[Google Cloud CLI 설치 프로그램] (&lt;a href=&#34;https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe?hl=ko&#34;&gt;https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe?hl=ko&lt;/a&gt;) 다운로드 한다.&lt;/li&gt;&#xA;&lt;li&gt;또는 PowerShell 터미널을 열고 다음 PowerShell 명령어를 실행한다.&lt;/li&gt;&#xA;&lt;li&gt;여기에서는 설치 프로그램을 다운로드 받아서 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/gcloud_installation_windows11/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/gcloud_installation_windows11/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/gcloud_installation_windows11/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/gcloud_installation_windows11/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/gcloud_installation_windows11/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/gcloud_installation_windows11/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/gcloud_installation_windows11/Untitled%206.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/gcloud_installation_windows11/Untitled%207.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Finish 버튼을 클릭하면 설치는 완료가 된 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;gcloud-연동&#34;&gt;gcloud 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 Finish 버튼과 함께 로그인을 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/gcloud_installation_windows11/Untitled%208.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인증절차가 시작완료되면 웹 페이지가 변경되고 터미널 환경도 변경된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/gcloud_installation_windows11/Untitled%209.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;현재 필자의 프로젝트는 3번에 해당되기 때문에 3번을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/gcloud_installation_windows11/Untitled%2010.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>GCP with VS Code SSH Connection</title>
      <link>https://dschloe.github.io/programming/2023/09/gcp_with_vscode/</link>
      <pubDate>Wed, 20 Sep 2023 10:00:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/09/gcp_with_vscode/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SSH Key를 이용하여 로컬에서 원격으로 GCP 프로젝트에 접속을 한다.&lt;/li&gt;&#xA;&lt;li&gt;만약 GCP가 처음이신 분들은 이전 글을 순차적으로 읽어본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/gcp/2023/09/spark_installation_gcp/&#34;&gt;Spark Installation with GCP (Sept. 2023)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/gcp/2023/09/compute_engine_github/&#34;&gt;Compute Engine with Github in GCP&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/gcp/2023/09/python_library_installation/&#34;&gt;Python Library Installation on Compute Engine in GCP&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ssh-key-생성하기&#34;&gt;SSH Key 생성하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;puTTYgen에서 public / private key 값을 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/gcp_with_vscode/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Generate 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/gcp_with_vscode/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/gcp_with_vscode/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Private Key를 OpenSSH 방식으로 Export 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Key Comment에 구글 계정을 입력한다.&lt;/li&gt;&#xA;&lt;li&gt;password도 입력한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/gcp_with_vscode/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/gcp_with_vscode/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Public Key는 모두 복사한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;gcp-메타데이터-등록&#34;&gt;GCP 메타데이터 등록&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Compute Engine &amp;gt; 메타데이터 접속하여 SSH 키에 붙여 넣는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/gcp_with_vscode/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python Library Installation on Compute Engine in GCP</title>
      <link>https://dschloe.github.io/programming/2023/09/python_library_installation/</link>
      <pubDate>Tue, 19 Sep 2023 15:00:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/09/python_library_installation/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기 설치된  Compute Engine에 라이브러리를 설치하고 간단하게 Streamlit 배포를 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;만약 GCP가 처음이신 분들은 이전 글을 순차적으로 읽어본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/gcp/2023/09/spark_installation_gcp/&#34;&gt;Spark Installation with GCP (Sept. 2023)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/gcp/2023/09/compute_engine_github/&#34;&gt;Compute Engine with Github in GCP&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;requirementstxt&#34;&gt;requirements.txt&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Github Repo에서 Add file &amp;gt; Create new file을 클릭 후, 아래 주요 라이브러리를 입력한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일명 : &lt;code&gt;requirements.txt&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/python_library_installation/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/python_library_installation/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;라이브러리명은 다음과 같다. 입력 후, Commit Changes 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pyspark&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;3.1.1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pandas&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;streamlit&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;matplotlib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/python_library_installation/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;현재 파일 목록은 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/python_library_installation/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Compute Engine with Github in GCP</title>
      <link>https://dschloe.github.io/programming/2023/09/compute_engine_github/</link>
      <pubDate>Tue, 19 Sep 2023 14:00:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/09/compute_engine_github/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Google Cloud Project에서 Github 계정을 연동하는 과정을 보여준다.&lt;/li&gt;&#xA;&lt;li&gt;처음 GCP를 사용하는 독자분들은 이전 글을 참조해서 설정을 먼저 진행한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조 : &lt;a href=&#34;https://dschloe.github.io/gcp/2023/09/spark_installation_gcp/&#34;&gt;https://dschloe.github.io/gcp/2023/09/spark_installation_gcp/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/compute_engine_github/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;터미널-열기&#34;&gt;터미널 열기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기존 인스턴스는 중지를 시켰기 때문에 이를 다시 시작/재개 버튼을 눌러 활성화 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/compute_engine_github/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;시작 버튼 클릭과 함께 오늘도 비용을 지불해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/compute_engine_github/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;브라우저 창에서 열기를 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/compute_engine_github/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;git-설치&#34;&gt;Git 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;터미널에 Git을 설치하는 방법은 다음 명령어를 순차적으로 입력한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;base&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; ~$ sudo apt-get update -y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;base&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; ~$ sudo apt-get upgrade -y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;base&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; ~$ sudo apt install git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;base&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; ~$ git --version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;git-repo-생성&#34;&gt;Git Repo 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Github에서 Repo를 만든다. (Repo : mulcampFP)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;보안을 위해 &lt;code&gt;Private&lt;/code&gt;으로 지정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/compute_engine_github/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Spark Installation with GCP (Sept. 2023)</title>
      <link>https://dschloe.github.io/programming/2023/09/spark_installation_gcp/</link>
      <pubDate>Tue, 19 Sep 2023 10:00:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/09/spark_installation_gcp/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Spark를 구글 클라우드에 설치하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;프로젝트 시작부터 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;프로젝트-시작&#34;&gt;프로젝트 시작&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 화면에서 새로운 프로젝트를 시작한다.&lt;/li&gt;&#xA;&lt;li&gt;프로젝트명 : mulcampFP&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/spark_installation_gcp/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;vm-시작하기&#34;&gt;VM 시작하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;VM 만들기를 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/spark_installation_gcp/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;활성 결제 계정이 없으면 결제계정을 등록한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/spark_installation_gcp/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;결제계정이 등록되면 다음과 같이 화면이 나오면 VM 설정이 가능하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/spark_installation_gcp/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;결제계정까지 완료가 되었으면 다음과 같이 Compute Engine API를 사용 버튼을 클릭해준다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/spark_installation_gcp/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이름은 mulcamp-gcp 지역은 서울로 했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/spark_installation_gcp/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;비용에 따라 성능을 선택할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/spark_installation_gcp/Untitled%206.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;호스트 유지보수 시, VM 인스턴스는 마이그레이션을 권장한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/spark_installation_gcp/Untitled%207.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>MySQL Workbench ERD - 1</title>
      <link>https://dschloe.github.io/programming/2023/09/mysql_workbench_erd/</link>
      <pubDate>Fri, 15 Sep 2023 11:00:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/09/mysql_workbench_erd/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MySQL Workbench를 통해 ERD 작업을 수행하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-1---메뉴-선택&#34;&gt;Step 1 - 메뉴 선택&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;상단 메뉴에서 &lt;code&gt;Database&lt;/code&gt; &amp;gt; &lt;code&gt;Reverse Engineer&lt;/code&gt; 를 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/MySQL_Workbench_ERD/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-2---reverse-engineer-database&#34;&gt;Step 2 - Reverse Engineer Database&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Next 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/MySQL_Workbench_ERD/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-3---connect-to-mysql-server&#34;&gt;Step 3 - Connect to MySQL Server&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;팝업창에서 root 또는 사용자 비밀번호 입력 후, 확인 버튼을 누르면 아래와 같이 연결이 될 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/MySQL_Workbench_ERD/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-4---schema-선택&#34;&gt;Step 4 - Schema 선택&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;classicmodels&lt;/code&gt; 스키마를 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/MySQL_Workbench_ERD/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-4---connect-to-mysql-server&#34;&gt;Step 4 - Connect to MySQL Server&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;비밀번호를 입력한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/MySQL_Workbench_ERD/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>MySQL Error Code 1175 해결</title>
      <link>https://dschloe.github.io/programming/2023/09/mysql_error_code_1175/</link>
      <pubDate>Thu, 14 Sep 2023 17:00:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/09/mysql_error_code_1175/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Delete 문법을 진행하는데, 아래와 같은 에러가 발생하였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/mysql_error_code_1175/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;옵션 설정을 변경하여 코드를 재실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;safe-mode-끄기&#34;&gt;Safe Mode 끄기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 코드를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;SET SQL_SAFE_UPDATES &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; 0;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Edit &amp;gt; Preferences &amp;gt; SQL Editor &amp;gt; Other&lt;/code&gt; 에서 Safe Updates 체크되어 있는 것을 삭제한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/mysql_error_code_1175/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;코드-재-실행&#34;&gt;코드 재 실행&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Delete 코드를 재 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;DELETE FROM tasks WHERE start_date &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; DATE&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;2023-09-14&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/mysql_error_code_1175/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;정상적으로 Delete 코드가 실행된 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>MySQL 실습 데이터 추가</title>
      <link>https://dschloe.github.io/programming/2023/09/mysql_data_insert/</link>
      <pubDate>Thu, 14 Sep 2023 10:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/09/mysql_data_insert/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;강의를 위한 CSV 파일을 Workbench를 통해 업로드를 하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;교재&#34;&gt;교재&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;판매처 : &lt;a href=&#34;https://www.yes24.com/Product/Goods/86544423&#34;&gt;https://www.yes24.com/Product/Goods/86544423&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/mysql_data_insert/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;workbench-접속&#34;&gt;Workbench 접속&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Local instance MySQL을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/mysql_data_insert/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;최초 설치 진행시 진행한 &lt;code&gt;password&lt;/code&gt;를 입력한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/mysql_data_insert/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;로그인한 화면은 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/mysql_data_insert/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;sample-데이터-다운로드&#34;&gt;Sample 데이터 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사이트 : &lt;a href=&#34;https://www.mysqltutorial.org/mysql-sample-database.aspx&#34;&gt;https://www.mysqltutorial.org/mysql-sample-database.aspx&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Download MySQL Sample Database&lt;/code&gt;를 클릭하여 다운로드 받는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/mysql_data_insert/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;압축파일을 풀면 아래와 같이 &lt;code&gt;mysqlsampledatabase.sql&lt;/code&gt; 파일을 확인하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/mysql_data_insert/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;쿼리-불러오기&#34;&gt;쿼리 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MySQL Workbench을 열고 File &amp;gt; Open SQL Script를 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/mysql_data_insert/Untitled%206.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;mysqlsampledatabase.sql&lt;/code&gt; 파일을 연다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/mysql_data_insert/Untitled%207.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>MySQL 설치 (윈도우 11 기반)</title>
      <link>https://dschloe.github.io/programming/2023/09/my_sql_install_windows11/</link>
      <pubDate>Wed, 13 Sep 2023 11:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/09/my_sql_install_windows11/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MySQL 설치를 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;mysql-다운로드&#34;&gt;MySQL 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사이트 : &lt;a href=&#34;https://dev.mysql.com/downloads/windows/installer/8.0.html&#34;&gt;https://dev.mysql.com/downloads/windows/installer/8.0.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/my_sql_install_windows11/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 화면에서 2번째를 선택한다. 선택 시, 로그인을 해야 하는 상황이 올수도 있다. 회원 가입 후, 재 진행 한다.&lt;/li&gt;&#xA;&lt;li&gt;다음 화면에서 &lt;code&gt;Download Now&lt;/code&gt;버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/my_sql_install_windows11/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;mysql-설치&#34;&gt;MySQL 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다운로드 설치 프로그램을 실행한다.&lt;/li&gt;&#xA;&lt;li&gt;아래 메뉴에서 선택적으로 설치가 가능하다.&lt;/li&gt;&#xA;&lt;li&gt;여기에서는 &lt;code&gt;Full&lt;/code&gt; 을 선택하고 설치를 진행하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/my_sql_install_windows11/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Execute&lt;/code&gt; 버튼을 클릭하여 설치를 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/my_sql_install_windows11/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Next 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/my_sql_install_windows11/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;포트 번호 (3306)를 기억한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/my_sql_install_windows11/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단하게 접속을 진행하기 위해 두번째 메뉴 선택 후, Next 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/my_sql_install_windows11/Untitled%206.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>MySQL 완전 삭제 (윈도우 11 기반)</title>
      <link>https://dschloe.github.io/programming/2023/09/mysql_delete_windows11/</link>
      <pubDate>Wed, 13 Sep 2023 11:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/09/mysql_delete_windows11/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기 설치된 MySQL을 완전 삭제하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;MySQL은 제어판 및 프로그램 제거를 통해서 삭제가 되지 않고, 이런 상태에서 제거할 경우, 재 설치 시 에러가 발생할 가능성이 높음&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;프로그램-추가--제거&#34;&gt;프로그램 추가 / 제거&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MySQL과 관련된 모든 프로그램을 삭제한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/mysql_delete_windows11/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;appdata에서-mysql-폴더-삭제&#34;&gt;appdata에서 MySQL 폴더 삭제&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;window 버튼 + R을 누른 후, 아래와 같이 &lt;code&gt;%appdata%&lt;/code&gt; 입력 후 확인 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/mysql_delete_windows11/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MySQL 폴더를 삭제한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/mysql_delete_windows11/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;programdata에서-mysql-관련-폴더-삭제&#34;&gt;ProgramData에서 MySQL 관련 폴더 삭제&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Windows + R 실행 후, &lt;code&gt;%ProgramData%&lt;/code&gt; 입력 후 확인 버튼을 누른다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/mysql_delete_windows11/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>VS Code with AWS EC2 접속</title>
      <link>https://dschloe.github.io/programming/2023/09/vscode_aws_conn/</link>
      <pubDate>Mon, 11 Sep 2023 10:13:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/09/vscode_aws_conn/</guid>
      <description>&lt;h2 id=&#34;vscode---remote-ssh-설치&#34;&gt;&lt;strong&gt;&lt;strong&gt;VSCode - Remote SSH 설치&lt;/strong&gt;&lt;/strong&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;putty 같은 SSH 툴로 vi 에디터 이용해서 수정&lt;/li&gt;&#xA;&lt;li&gt;매우 불편함&lt;/li&gt;&#xA;&lt;li&gt;vscode에서 직접 EC2에 접속하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;aws-extension-확장팩-설치&#34;&gt;AWS Extension 확장팩 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래와 같이 확장팩을 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/vscode_aws_conn/Screenshot_2023-09-08_at_4.15.10_PM.png&#34; alt=&#34;Screenshot 2023-09-08 at 4.15.10 PM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;remote-ssh-extension-확장팩-설치&#34;&gt;Remote SSH Extension 확장팩 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Remote - SSH 확장팩을 아래와 같이 설치를 진행하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/vscode_aws_conn/Screenshot_2023-09-08_at_4.27.47_PM.png&#34; alt=&#34;Screenshot 2023-09-08 at 4.27.47 PM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치가 완료가 되면 SSH 연결할 호스트를 입력한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ssh &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;계정&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;@&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;ip주소&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ssh aa@1.1.1.1 &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/vscode_aws_conn/Screenshot_2023-09-08_at_4.29.30_PM.png&#34; alt=&#34;Screenshot 2023-09-08 at 4.29.30 PM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;/User/evan/.ssh/config 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/vscode_aws_conn/Screenshot_2023-09-08_at_4.30.40_PM.png&#34; alt=&#34;Screenshot 2023-09-08 at 4.30.40 PM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>AWS EC2 접속 (with pem &amp; ppk file)</title>
      <link>https://dschloe.github.io/programming/2023/09/aws_server_conn/</link>
      <pubDate>Sun, 10 Sep 2023 10:13:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/09/aws_server_conn/</guid>
      <description>&lt;h1 id=&#34;멀티캠퍼스-aws-서버-관련-정리&#34;&gt;멀티캠퍼스 AWS 서버 관련 정리&lt;/h1&gt;&#xA;&lt;h2 id=&#34;실습용-서버-실행&#34;&gt;실습용 서버 실행&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://console.aws.amazon.com/console/home&#34;&gt;https://console.aws.amazon.com/console/home&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;계정 ID(12자리) 또는 계정 별칭 : your account&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ID : your id / PW : your password&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/aws_server_conn/fig01.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;실습용 서버 사용자 정보 참조하여 로그인 (강의 때 공유)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;비밀번호 변경&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본인 비밀번호는 반드시 기억한다. (강사비번 : ****)&lt;/li&gt;&#xA;&lt;li&gt;Slack 강사 DM으로 남겨주세요.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/aws_server_conn/fig02.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;ec2-실행&#34;&gt;EC2 실행&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우측 상단 리전 정보를 ‘오사카’로 변경 후 서비스 검색창에서 EC2 검색&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/aws_server_conn/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;변경된 상태에서 EC2 검색&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/aws_server_conn/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/aws_server_conn/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Google Apps Script 기본문법 - 2</title>
      <link>https://dschloe.github.io/programming/2023/09/google_apps_script2/</link>
      <pubDate>Tue, 05 Sep 2023 10:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/09/google_apps_script2/</guid>
      <description>&lt;h2 id=&#34;조건문&#34;&gt;조건문&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;if 조건문 코드는 아래와 같음&lt;/li&gt;&#xA;&lt;li&gt;여러개의 조건문은 &amp;amp;&amp;amp; 연산자 또는 || 연산자를 사용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-jsx&#34; data-lang=&#34;jsx&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;myFunction_01&lt;/span&gt;() {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;number&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;number&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;큰 수입니다!&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  } &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;작은 수입니다.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/google_apps_script2/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-jsx&#34; data-lang=&#34;jsx&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;myFunction_02&lt;/span&gt;() {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;currentTemperature&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;25&lt;/span&gt;; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;isWeekend&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;thresholdTemperature&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;35&lt;/span&gt;; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;currentTemperature&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;thresholdTemperature&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;isWeekend&lt;/span&gt;) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;집에 계세요!&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  } &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;currentTemperature&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;thresholdTemperature&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;isWeekend&lt;/span&gt;) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;외출하세요!&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  } &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;판단을 보류합니다!&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/google_apps_script2/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;반복문&#34;&gt;반복문&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;반복문을 활용하여 구구단을 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-jsx&#34; data-lang=&#34;jsx&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;myFunction_03&lt;/span&gt;() {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;numRows&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;// Number of rows in the table&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;numColumns&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;// Number of columns in the table&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;numRows&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;++&lt;/span&gt;) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;row&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;j&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;j&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;numColumns&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;j&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;++&lt;/span&gt;) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;result&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;j&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#a6e22e&#34;&gt;row&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;result&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;\t&amp;#39;&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;// Use &amp;#39;\t&amp;#39; to separate columns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;Logger&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;row&lt;/span&gt;); &lt;span style=&#34;color:#75715e&#34;&gt;// Log the row to the Apps Script log&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/google_apps_script2/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Google Apps Script 기본문법 - 1</title>
      <link>https://dschloe.github.io/programming/2023/09/google_apps_script_1/</link>
      <pubDate>Mon, 04 Sep 2023 10:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/09/google_apps_script_1/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Google Apps Script의 기본문법을 배우도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;변수와 상수, 배열, 객체등을 테스트 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;자바스크립트-기초&#34;&gt;자바스크립트 기초&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기초 문법을 배우도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;아래와 같이 코드 생성 후 실행을 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-jsx&#34; data-lang=&#34;jsx&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;myFunction&lt;/span&gt;() {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;Logger&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hello World&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/google_apps_script_1/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;여러 함수를 만들고 선택적으로 실행이 가능하다.&lt;/li&gt;&#xA;&lt;li&gt;주석 처리는 크게 &lt;code&gt;//&lt;/code&gt; &lt;code&gt;/* */&lt;/code&gt; 으로 할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-jsx&#34; data-lang=&#34;jsx&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;myFunction01_1&lt;/span&gt;() {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;Logger&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hello World&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;myFunction01_2&lt;/span&gt;() {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hello GAS!&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;// 주석 입력&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;/*&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;  여러 행에 걸쳐 주석을 입력한다. &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;  */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/google_apps_script_1/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>M1 환경설정 XGBoost &amp; LightGBM with Streamlit in Python</title>
      <link>https://dschloe.github.io/programming/2023/09/m1_settings_xgboost_lightgbm/</link>
      <pubDate>Fri, 01 Sep 2023 11:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/09/m1_settings_xgboost_lightgbm/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;M1에서 Python 환경설정을 해본다.&lt;/li&gt;&#xA;&lt;li&gt;XGBoost &amp;amp; LightGBM 및 Streamlit 설치를 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;아나콘다-설치&#34;&gt;아나콘다 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;m1 버전의 아나콘다를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/m1_settings_xgboost_lightgbm/fig01.png&#34; alt=&#34;fig01.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/m1_settings_xgboost_lightgbm/Screenshot_2023-09-02_at_12.06.58_AM.png&#34; alt=&#34;Screenshot 2023-09-02 at 12.06.58 AM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;깃헙-레포-생성&#34;&gt;깃헙 레포 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 github repo를 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/m1_settings_xgboost_lightgbm/Screenshot_2023-09-02_at_12.14.00_AM.png&#34; alt=&#34;Screenshot 2023-09-02 at 12.14.00 AM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;conda-가상환경-설정&#34;&gt;Conda 가상환경 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;git clone 명령어를 통해 repo를 로컬로 다운로드 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;evan$ git clone https://github.com/yourname/m1_streamlit.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Cloning into &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;m1_streamlit&amp;#39;&lt;/span&gt;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Enumerating objects: 4, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Counting objects: 100% &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;4/4&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Compressing objects: 100% &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;3/3&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Total &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;delta 0&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, reused &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;delta 0&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, pack-reused &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Receiving objects: 100% &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;4/4&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;conda 명령어를 통해 가상환경을 설치한다.&lt;/li&gt;&#xA;&lt;li&gt;그 후에 가상환경에 접속 후, Python 설치 및 주요 라이브러리를 설치한다.&lt;/li&gt;&#xA;&lt;li&gt;설치 중간에 메시지가 나오면 Y를 입력 후 계속 설치 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;evan$ cd m1_streamlit&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;m1_streamlit evan$ conda create -n mulcamp python&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;3.10.3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;m1_streamlit evan$ conda activate mulcamp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;mulcamp&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; m1_streamlit evan$ conda install numpy scipy scikit-learn pandas&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/09/m1_settings_xgboost_lightgbm/Screenshot_2023-09-02_at_12.21.46_AM.png&#34; alt=&#34;Screenshot 2023-09-02 at 12.21.46 AM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kaggle - Colab API 연동</title>
      <link>https://dschloe.github.io/programming/2023/08/kaggle_colab_api_connect/</link>
      <pubDate>Sun, 27 Aug 2023 11:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/08/kaggle_colab_api_connect/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;API 토큰을 내려받은 후, 구글 코랩에서 데이터를 다운로드 받도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;api-토큰-발급&#34;&gt;API 토큰 발급&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Kaggle Profile&lt;/code&gt; - &lt;code&gt;Settings&lt;/code&gt; - &lt;code&gt;API&lt;/code&gt;를 순차적으로 클릭 후, &lt;code&gt;Create New Token&lt;/code&gt; 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/kaggle_colab_API_connect/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 화면처럼 다운로드를 받을 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/kaggle_colab_API_connect/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;google-colab-api-코드-업로드&#34;&gt;Google Colab API 코드 업로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 해당 파일을 바탕화면 등 적당한 곳에 위치시킨 후 아래 코드를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# kaggle.json 파일을 업로드하세요.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; files&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;files&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;upload()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/kaggle_colab_API_connect/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/kaggle_colab_API_connect/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;마지막으로 &lt;code&gt;~/.kaggle&lt;/code&gt; 폴더를 만들고 키 파일을 복사한 후, 보안을 위해 현재 사용자만 이 파일을 읽을 수 있도록 하는 명령어(&lt;code&gt;chmod 600&lt;/code&gt;)를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;!mkdir ~/.kaggle&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;!cp kaggle.json ~/.kaggle/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;!chmod &lt;span style=&#34;color:#ae81ff&#34;&gt;600&lt;/span&gt; ~/.kaggle/kaggle.json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;캐글-데이터-다운로드&#34;&gt;캐글 데이터 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 사용할 데이터를 내려받는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;!kaggle competitions download -c dogs-vs-cats&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;만약 &lt;code&gt;403 Forbidden&lt;/code&gt; 에러 발생 시, 이는 데이터셋에 연관된 규칙에 미동의한 상태로 동의를 진행해야 한다. &lt;a href=&#34;https://www.kaggle.com/c/dogs-vs-cats/rules&#34;&gt;https://www.kaggle.com/c/dogs-vs-cats/rules&lt;/a&gt; 페이지로 이동 후, &lt;code&gt;I Understand and Accept&lt;/code&gt; 버튼을 누른다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/kaggle_colab_API_connect/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Google Colab Plotly Graph 안 보일 때</title>
      <link>https://dschloe.github.io/programming/2023/08/google_colab_plotly_not_showing/</link>
      <pubDate>Thu, 10 Aug 2023 07:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/08/google_colab_plotly_not_showing/</guid>
      <description>&lt;h2 id=&#34;현상&#34;&gt;현상&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;plotly 라이브러리를 활용하여 Google Colab에서 시각화를 할 때 그래프가 보이지 않는 현상이 존재함&lt;/li&gt;&#xA;&lt;li&gt;여러 방법론이 등장하지만, 공식문서에 따라서 어떻게 활용하는지 확인하도록 함&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;google-colab&#34;&gt;Google Colab&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 구글 코랩에서 간단한 시각화 코드를 작성하고 코드를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; plotly &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plotly&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 5.13.1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;샘플 코드는 아래와 같음&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; plotly.graph_objects &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; go&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame({&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Fruit&amp;#34;&lt;/span&gt;: [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Apples&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Oranges&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Bananas&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Apples&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Oranges&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Bananas&amp;#34;&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Contestant&amp;#34;&lt;/span&gt;: [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Alex&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Alex&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Alex&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Jordan&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Jordan&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Jordan&amp;#34;&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Number Eaten&amp;#34;&lt;/span&gt;: [&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;})&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; go&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Figure()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;add_trace(go&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Bar(name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Alex&amp;#34;&lt;/span&gt;, x &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; temp[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Fruit&amp;#39;&lt;/span&gt;], y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; temp[temp[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Contestant&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Alex&amp;#39;&lt;/span&gt;][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Number Eaten&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;values))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;add_trace(go&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Bar(name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Jordan&amp;#34;&lt;/span&gt;, x &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; temp[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Fruit&amp;#39;&lt;/span&gt;], y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; temp[temp[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Contestant&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Jordan&amp;#39;&lt;/span&gt;][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Number Eaten&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;values))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;update_layout(barmode&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;group&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(type(fig))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;시각화가-나타나지-않을-경우&#34;&gt;시각화가 나타나지 않을 경우&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;만약 시각화가 나타나지 않는다면 설정이 제대로 되어 있지 않았을 가능성이 있다.&lt;/li&gt;&#xA;&lt;li&gt;공식문서를 참조하면 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;공식문서 : &lt;a href=&#34;https://plotly.com/python/renderers/&#34;&gt;https://plotly.com/python/renderers/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;공식 문서에서의 설명을 보면 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/google_colab_plotly_not_showing/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Scrapy Tutorial - 다중페이지 크롤링</title>
      <link>https://dschloe.github.io/programming/2023/08/multipage_crawling_scrapy/</link>
      <pubDate>Tue, 08 Aug 2023 07:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/08/multipage_crawling_scrapy/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 Scrapy를 통해서 다중 페이지를 크롤링 하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;target-페이지&#34;&gt;Target 페이지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;타겟 웹사이트 : &lt;a href=&#34;https://www.audible.com/search&#34;&gt;https://www.audible.com/search&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/multipage_crawling_scrapy/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;프로젝트-시작&#34;&gt;프로젝트 시작&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;프로젝트 시작은 다음과 같이 할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ scrapy startproject multiCam_tutorial&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;New Scrapy project &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;multiCam_tutorial&amp;#39;&lt;/span&gt;, using template directory &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;C:\Users\j2hoo\OneDrive\Desktop\your_project_folder\venv\Lib\site-packages\scrapy\templates\project&amp;#39;&lt;/span&gt;, created in:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\j&lt;/span&gt;2hoo&lt;span style=&#34;color:#ae81ff&#34;&gt;\O&lt;/span&gt;neDrive&lt;span style=&#34;color:#ae81ff&#34;&gt;\D&lt;/span&gt;esktop&lt;span style=&#34;color:#ae81ff&#34;&gt;\y&lt;/span&gt;our_path&lt;span style=&#34;color:#ae81ff&#34;&gt;\m&lt;/span&gt;ultiCam_tutorial&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;You can start your first spider with:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    cd multiCam_tutorial&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    scrapy genspider example example.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;해당 multiCam_tutorial 경로에서 다음 명령어를 실행하여 타겟 사이트를 설정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ scrapy genspider audible www.audible.com/search&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Created spider &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;audible&amp;#39;&lt;/span&gt; using template &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;basic&amp;#39;&lt;/span&gt; in module:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  multiCam_tutorial.spiders.audible&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;audible.py 파일을 찾아 코드를 확인한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Scrapy Tutorial - 기본편</title>
      <link>https://dschloe.github.io/programming/2023/08/scrapy_tutorial_1/</link>
      <pubDate>Tue, 08 Aug 2023 06:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/08/scrapy_tutorial_1/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Scrapy Tutorial 설치 과정 및 기본 크롤링 과정을 살펴본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;라이브러리-설치&#34;&gt;라이브러리 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;라이브러리 설치는 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip install scrapy&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;프로젝트-시작&#34;&gt;프로젝트 시작&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Django와 비슷하게 터미널 명령어는 startproject라고 입력한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ scrapy startproject multiCam_tutorial&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;New Scrapy project &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;multiCam_tutorial&amp;#39;&lt;/span&gt;, using template directory &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;C:\Users\j2hoo\OneDrive\Desktop\your_project_folder\venv\Lib\site-packages\scrapy\templates\project&amp;#39;&lt;/span&gt;, created in:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\j&lt;/span&gt;2hoo&lt;span style=&#34;color:#ae81ff&#34;&gt;\O&lt;/span&gt;neDrive&lt;span style=&#34;color:#ae81ff&#34;&gt;\D&lt;/span&gt;esktop&lt;span style=&#34;color:#ae81ff&#34;&gt;\y&lt;/span&gt;our_path&lt;span style=&#34;color:#ae81ff&#34;&gt;\m&lt;/span&gt;ultiCam_tutorial&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;You can start your first spider with:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    cd multiCam_tutorial&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    scrapy genspider example example.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;파일 구조는 아래와 같이 여러개의 파일로 구성되었다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/scrapy_tutorial_1/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;타겟 주소는 아래와 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;주소 : &lt;a href=&#34;https://www.worldometers.info/world-population/population-by-country/&#34;&gt;https://www.worldometers.info/world-population/population-by-country/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ scrapy genspider worldometer www.worldometers.info/world-population/population-by-country&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Created spider &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;worldometer&amp;#39;&lt;/span&gt; using template &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;basic&amp;#39;&lt;/span&gt; in module:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  multiCam_tutorial.spiders.worldometer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/scrapy_tutorial_1/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Django - ExcelCalCulator_7</title>
      <link>https://dschloe.github.io/programming/2023/08/django_excel_calculator_7/</link>
      <pubDate>Thu, 03 Aug 2023 06:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/08/django_excel_calculator_7/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Django 한 그릇 뚝딱&lt;/code&gt; 교재의 내용에서 멀티캠퍼스 강의에 맞게 일부 수정함&lt;/li&gt;&#xA;&lt;li&gt;2019년 버전이고 현재는 2023년이기 때문에 소스코드 변경 사항이 필요할 거 같아서 글을 남김&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;교재-홍보&#34;&gt;교재 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교재 구매 : &lt;a href=&#34;https://www.yes24.com/Product/Goods/83568594&#34;&gt;https://www.yes24.com/Product/Goods/83568594&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/django_excel_calculator_7/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-01---이전-글&#34;&gt;Step 01 - 이전 글&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1편 : &lt;a href=&#34;https://dschloe.github.io/python/2023/08/django_excel_calculator_1/&#34;&gt;https://dschloe.github.io/python/2023/08/django_excel_calculator_1/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;2편 : &lt;a href=&#34;https://dschloe.github.io/python/2023/08/django_excel_calculator_2/&#34;&gt;https://dschloe.github.io/python/2023/08/django_excel_calculator_2/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;3편 : &lt;a href=&#34;https://dschloe.github.io/python/2023/08/django_excel_calculator_3/&#34;&gt;https://dschloe.github.io/python/2023/08/django_excel_calculator_3/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;4편 : &lt;a href=&#34;https://dschloe.github.io/python/2023/08/django_excel_calculator_4/&#34;&gt;https://dschloe.github.io/python/2023/08/django_excel_calculator_4/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;5편 : &lt;a href=&#34;https://dschloe.github.io/python/2023/08/django_excel_calculator_5/&#34;&gt;https://dschloe.github.io/python/2023/08/django_excel_calculator_5/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;6편 : &lt;a href=&#34;https://dschloe.github.io/python/2023/08/django_excel_calculator_6/&#34;&gt;https://dschloe.github.io/python/2023/08/django_excel_calculator_6/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-02---프로젝트-완성하기&#34;&gt;Step 02 - 프로젝트 완성하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지금까지 구현한 기능과 미완료된 기능을 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/django_excel_calculator_7/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-03---로그인-실패-시-보이는-화면을-구현&#34;&gt;Step 03 - 로그인 실패 시 보이는 화면을 구현&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;우선 사용자가 로그인 실패 시, 보이는 화면으로 구현한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Django - ExcelCalCulator_6</title>
      <link>https://dschloe.github.io/programming/2023/08/django_excel_calculator_6/</link>
      <pubDate>Thu, 03 Aug 2023 05:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/08/django_excel_calculator_6/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Django 한 그릇 뚝딱&lt;/code&gt; 교재의 내용에서 멀티캠퍼스 강의에 맞게 일부 수정함&lt;/li&gt;&#xA;&lt;li&gt;2019년 버전이고 현재는 2023년이기 때문에 소스코드 변경 사항이 필요할 거 같아서 글을 남김&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;교재-홍보&#34;&gt;교재 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교재 구매 : &lt;a href=&#34;https://www.yes24.com/Product/Goods/83568594&#34;&gt;https://www.yes24.com/Product/Goods/83568594&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/django_excel_calculator_6/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-01---이전-글&#34;&gt;Step 01 - 이전 글&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1편 : &lt;a href=&#34;https://dschloe.github.io/python/2023/08/django_excel_calculator_1/&#34;&gt;https://dschloe.github.io/python/2023/08/django_excel_calculator_1/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;2편 : &lt;a href=&#34;https://dschloe.github.io/python/2023/08/django_excel_calculator_2/&#34;&gt;https://dschloe.github.io/python/2023/08/django_excel_calculator_2/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;3편 : &lt;a href=&#34;https://dschloe.github.io/python/2023/08/django_excel_calculator_3/&#34;&gt;https://dschloe.github.io/python/2023/08/django_excel_calculator_3/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;4편 : &lt;a href=&#34;https://dschloe.github.io/python/2023/08/django_excel_calculator_4/&#34;&gt;https://dschloe.github.io/python/2023/08/django_excel_calculator_4/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;5편 : &lt;a href=&#34;https://dschloe.github.io/python/2023/08/django_excel_calculator_5/&#34;&gt;https://dschloe.github.io/python/2023/08/django_excel_calculator_5/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-02---프로젝트-완성하기&#34;&gt;Step 02 - 프로젝트 완성하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지금까지 구현한 기능과 미완료된 기능을 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/django_excel_calculator_6/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-03---엑셀-결과-화면-출력-위한-세션값-저장&#34;&gt;Step 03 - 엑셀 결과 화면 출력 위한 세션값 저장&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 calculate 함수의 마지막에 엑셀 결과 화면으로 데이터와 함께 url을 이동시켜본다.&lt;/li&gt;&#xA;&lt;li&gt;views.py에 코드를 추가한다.&lt;/li&gt;&#xA;&lt;li&gt;파일 경로 : ExcelCalculate &amp;gt; calculate &amp;gt; views.py&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; django.shortcuts &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; render, redirect&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; django.http &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; HttpResponse&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Create your views here.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;calculate&lt;/span&gt;(request):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    file &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; request&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;FILES[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;fileInput&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;# 사용자가 등록한 파일의 이름: &amp;#34;&lt;/span&gt;, file)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_excel(file, sheet_name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Sheet1&amp;#34;&lt;/span&gt;, header&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# grade별 value 리스트 만들기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    grade_dic &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    total_row_num &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; len(df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;index)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; i &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; range(total_row_num):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;loc[i, :]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;grade &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; grade_dic&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;keys():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            grade_dic[data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;grade] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            grade_dic[data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;grade]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;append(data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# print(grade_dic)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# grade별 최솟값 최댓값 평균값 구하기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    grade_calculate_dic &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; key &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; grade_dic&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;keys():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        grade_calculate_dic[key] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        grade_calculate_dic[key][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;min&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; min(grade_dic[key])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        grade_calculate_dic[key][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;max&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; max(grade_dic[key])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        grade_calculate_dic[key][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;avg&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; float(sum(grade_dic[key])) &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; len(grade_dic[key])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 결과 출력&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    grade_list &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; list(grade_calculate_dic&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;keys())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    grade_list&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sort()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; key &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; grade_list:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;# grade: &amp;#34;&lt;/span&gt;, key)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;min:&amp;#34;&lt;/span&gt;, grade_calculate_dic[key][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;min&amp;#39;&lt;/span&gt;], end&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/ max:&amp;#34;&lt;/span&gt;, grade_calculate_dic[key][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;max&amp;#39;&lt;/span&gt;], end&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/ avg:&amp;#34;&lt;/span&gt;, grade_calculate_dic[key][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;avg&amp;#39;&lt;/span&gt;], end&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\n\n&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 아래 코드와 동일&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;groupby(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;grade&amp;#39;&lt;/span&gt;)[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;value&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;agg([&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;min&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;max&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;mean&amp;#34;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(result)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 이메일 주소 도메인별 인원 구하기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    email_domain_dic &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; i &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; range(total_row_num):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;loc[i, :]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        email_domain &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; data[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;email&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;split(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;@&amp;#34;&lt;/span&gt;)[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; email_domain &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; email_domain_dic&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;keys():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            email_domain_dic[email_domain] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            email_domain_dic[email_domain] &lt;span style=&#34;color:#f92672&#34;&gt;+=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;## EMAIL 도메인별 사용 인원&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; key &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; email_domain_dic&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;keys():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;#&amp;#34;&lt;/span&gt;, key, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;: &amp;#34;&lt;/span&gt;, email_domain_dic[key], &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;명&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;domain&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;email&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;apply(&lt;span style=&#34;color:#66d9ef&#34;&gt;lambda&lt;/span&gt; x : x&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;split(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;@&amp;#34;&lt;/span&gt;)[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    result2 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;groupby(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;domain&amp;#39;&lt;/span&gt;)[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;value&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;agg(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;count&amp;#34;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sort_values(ascending&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(result2)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 세션 추가&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    grade_calculate_dic_to_session &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; key &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; grade_list:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        grade_calculate_dic_to_session[int(key)] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        grade_calculate_dic_to_session[int(key)][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;max&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; float(grade_calculate_dic[key][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;max&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        grade_calculate_dic_to_session[int(key)][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;avg&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; float(grade_calculate_dic[key][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;avg&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        grade_calculate_dic_to_session[int(key)][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;min&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; float(grade_calculate_dic[key][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;min&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     request&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;session[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;grade_calculate_dic&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; grade_calculate_dic_to_session&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      request&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;session[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;email_domain_dic&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; email_domain_dic&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# return HttpResponse(&amp;#34;calculate, calculate function!&amp;#34;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; redirect(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/result&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;세션 추가 이하의 코드를 살펴보면 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;pandas의 기본 자료형은 numpy 기반인데, 장고에서는 numpy 기반의 자료형이 아닌 파이썬 기본 자료형으로 변환해주어야 한다.&lt;/li&gt;&#xA;&lt;li&gt;따라서, 정수형 숫자로 된 것으로 int형으로 유리수 형태의 숫자를 float형으로 자료를 변환한다.&lt;/li&gt;&#xA;&lt;li&gt;형 변환을 하고 나서 해당 값들을 결과 화면에서 사용하려고 세션에 저장해준다.&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 &lt;code&gt;redirect(”/result”)&lt;/code&gt; 로 처리하였다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;결과 화면을 관리하는 함수는 main app에 있는 result 함수이다. 따라서, 해당 url로 갈 수 있도록 처리한 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-04---result-함수-수정&#34;&gt;Step 04 - result 함수 수정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;파일 경로 : ExcelCalculate &amp;gt; main &amp;gt; views.py&lt;/p&gt;</description>
    </item>
    <item>
      <title>Django - ExcelCalCulator_5</title>
      <link>https://dschloe.github.io/programming/2023/08/django_excel_calculator_5/</link>
      <pubDate>Thu, 03 Aug 2023 04:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/08/django_excel_calculator_5/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Django 한 그릇 뚝딱&lt;/code&gt; 교재의 내용에서 멀티캠퍼스 강의에 맞게 일부 수정함&lt;/li&gt;&#xA;&lt;li&gt;2019년 버전이고 현재는 2023년이기 때문에 소스코드 변경 사항이 필요할 거 같아서 글을 남김&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;교재-홍보&#34;&gt;교재 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교재 구매 : &lt;a href=&#34;https://www.yes24.com/Product/Goods/83568594&#34;&gt;https://www.yes24.com/Product/Goods/83568594&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/django_excel_calculator_5/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-01---이전-글&#34;&gt;Step 01 - 이전 글&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1편 : &lt;a href=&#34;https://dschloe.github.io/python/2023/08/django_excel_calculator_1/&#34;&gt;https://dschloe.github.io/python/2023/08/django_excel_calculator_1/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;2편 : &lt;a href=&#34;https://dschloe.github.io/python/2023/08/django_excel_calculator_2/&#34;&gt;https://dschloe.github.io/python/2023/08/django_excel_calculator_2/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;3편 : &lt;a href=&#34;https://dschloe.github.io/python/2023/08/django_excel_calculator_3/&#34;&gt;https://dschloe.github.io/python/2023/08/django_excel_calculator_3/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;4편 : &lt;a href=&#34;https://dschloe.github.io/python/2023/08/django_excel_calculator_4/&#34;&gt;https://dschloe.github.io/python/2023/08/django_excel_calculator_4/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-02---파일-업로드-하기&#34;&gt;Step 02 - 파일 업로드 하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;로그인을 통해 메인 화면으로 왔다면, 파일 업로드 기능 구현&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-03---파일-업로드-기능-구현&#34;&gt;Step 03 - 파일 업로드 기능 구현&lt;/h2&gt;&#xA;&lt;h3 id=&#34;check---1--indexhtml-구현&#34;&gt;check - 1 : index.html 구현&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일 경로 : ExcelCalculate &amp;gt; main &amp;gt; templates &amp;gt; main &amp;gt; index.html&lt;/li&gt;&#xA;&lt;li&gt;파일 제출 버튼을 눌렀을 때 가려는 url을 등록한다.&lt;/li&gt;&#xA;&lt;li&gt;또한 &lt;code&gt;enctype=&amp;quot;multipart/form-data&amp;quot;&lt;/code&gt; 를 추가한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이것을 사용해야 파일의 내용이 올바르게 전달된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;        &amp;lt;div class=&amp;#34;content&amp;#34;&amp;gt;&#xA;            &amp;lt;div class=&amp;#34;fileInputDiv&amp;#34;&amp;gt;&#xA;                &amp;lt;form action=&amp;#34;**calculate/**&amp;#34; method=&amp;#34;POST&amp;#34; enctype=&amp;#34;multipart/form-data&amp;#34;&amp;gt;{% csrf_token %}&#xA;                    &amp;lt;div class=&amp;#34;input-group&amp;#34;&amp;gt;&#xA;                        하단 버튼을 통해 파일을 업로드 해주세요.(.xls 확장자의 파일만 가능합니다.)&amp;lt;br&amp;gt;&#xA;                        &amp;lt;input id=&amp;#34;fileInput&amp;#34; name=&amp;#34;fileInput&amp;#34; type=&amp;#34;file&amp;#34; class=&amp;#34;form-control&amp;#34;&amp;gt;&#xA;                        &amp;lt;input type=&amp;#34;submit&amp;#34; class=&amp;#34;btn btn-success btn-lg&amp;#34; value=&amp;#34;파일 제출&amp;#34;&amp;gt;&#xA;                    &amp;lt;/div&amp;gt;&#xA;                &amp;lt;/form&amp;gt;&#xA;            &amp;lt;/div&amp;gt;&#xA;        &amp;lt;/div&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;calculate/&lt;/code&gt; 경로는 초기에 &lt;code&gt;ExcelCalculate &amp;gt; ExcelCalculate &amp;gt; urls.py&lt;/code&gt;에서 이미 설정해놨다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;링크 참조 :&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; django.contrib &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; admin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; django.urls &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; path, include&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;urlpatterns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    path(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;email/&amp;#39;&lt;/span&gt;, include(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;sendEmail.urls&amp;#39;&lt;/span&gt;), name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;email&amp;#34;&lt;/span&gt;), &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    path(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;calculate/&amp;#39;&lt;/span&gt;, include(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;calculate.urls&amp;#39;&lt;/span&gt;), name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;calculate&amp;#34;&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    path(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;, include(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;main.urls&amp;#39;&lt;/span&gt;), name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;main&amp;#34;&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    path(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;admin/&amp;#34;&lt;/span&gt;, admin&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;site&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;urls),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;ExcelCalcalculate &amp;gt; calculate &amp;gt; urls.py&lt;/code&gt; 에서도 이미 설정을 해놨다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; django.urls &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; path&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; . &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; views&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;urlpatterns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    path(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;, views&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;calculate, name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;calculate_do&amp;#34;&lt;/span&gt;), &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;check---2--viewspy-구현&#34;&gt;check - 2 : views.py 구현&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일 경로 : &lt;code&gt;ExcelCalculate &amp;gt; calculate &amp;gt; views.py&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;이 때, &lt;code&gt;request.POST&lt;/code&gt;가 아닌 &lt;code&gt;request.FILES&lt;/code&gt;를 이용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Create your views here.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;calculate&lt;/span&gt;(request):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    file &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; request&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;FILES[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;fileInput&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;# 사용자가 등록한 파일의 이름: &amp;#34;&lt;/span&gt;, file)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; HttpResponse(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;calculate, calculate function!&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;check---3--테스트&#34;&gt;check - 3 : 테스트&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 data.xlsx 파일을 업로드 한다.&lt;/li&gt;&#xA;&lt;li&gt;파일 제출 버튼을 누를 시, 웹에서는 정상적으로 &lt;code&gt;calculate, calculate function!&lt;/code&gt; 출력이 되어야 하고 터미널에서는 아래와 같이 print() 문구가 나와야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/django_excel_calculator_5/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Django - ExcelCalCulator_4</title>
      <link>https://dschloe.github.io/programming/2023/08/django_excel_calculator_4/</link>
      <pubDate>Thu, 03 Aug 2023 03:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/08/django_excel_calculator_4/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Django 한 그릇 뚝딱&lt;/code&gt; 교재의 내용에서 멀티캠퍼스 강의에 맞게 일부 수정함&lt;/li&gt;&#xA;&lt;li&gt;2019년 버전이고 현재는 2023년이기 때문에 소스코드 변경 사항이 필요할 거 같아서 글을 남김&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;교재-홍보&#34;&gt;교재 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교재 구매 : &lt;a href=&#34;https://www.yes24.com/Product/Goods/83568594&#34;&gt;https://www.yes24.com/Product/Goods/83568594&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/django_excel_calculator_4/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-01---이전-글&#34;&gt;Step 01 - 이전 글&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1편 : &lt;a href=&#34;https://dschloe.github.io/python/2023/08/django_excel_calculator_1/&#34;&gt;https://dschloe.github.io/python/2023/08/django_excel_calculator_1/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;2편 : &lt;a href=&#34;https://dschloe.github.io/python/2023/08/django_excel_calculator_2/&#34;&gt;https://dschloe.github.io/python/2023/08/django_excel_calculator_2/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;3편 : &lt;a href=&#34;https://dschloe.github.io/python/2023/08/django_excel_calculator_3/&#34;&gt;https://dschloe.github.io/python/2023/08/django_excel_calculator_3/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-02---로그인-기능-구현&#34;&gt;Step 02 - 로그인 기능 구현&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;로그인된 사용자만 이용할 수 있도록 구현&lt;/li&gt;&#xA;&lt;li&gt;이 때, 현재 사용자가 로그인된 사용자인지 판단하려고 세션 사용&lt;/li&gt;&#xA;&lt;li&gt;회원 가입 통한 과정 이외에도 정상적인 로그인 과정에서도 세션 처리 진행&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-03---로그인-처리-구현&#34;&gt;Step 03 - 로그인 처리 구현&lt;/h2&gt;&#xA;&lt;h3 id=&#34;check---1--signinhtml-구현&#34;&gt;check - 1 : signin.html 구현&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일 경로 : ExcelCalculate &amp;gt; main &amp;gt; templates &amp;gt; main &amp;gt; signin.html&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;h3&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;안녕하세요&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; 로그인을 진행해주세요&lt;span style=&#34;color:#f92672&#34;&gt;.&amp;lt;/&lt;/span&gt;h3&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;br&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;form action&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;signin/login&amp;#34;&lt;/span&gt; method&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;POST&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;{&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt; csrf_token &lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;div class&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;input-group&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;check---2--urlspy&#34;&gt;check - 2 : urls.py&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;urls.py에서도 처리해준다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Django - ExcelCalCulator_3</title>
      <link>https://dschloe.github.io/programming/2023/08/django_excel_calculator_3/</link>
      <pubDate>Thu, 03 Aug 2023 02:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/08/django_excel_calculator_3/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Django 한 그릇 뚝딱&lt;/code&gt; 교재의 내용에서 멀티캠퍼스 강의에 맞게 일부 수정함&lt;/li&gt;&#xA;&lt;li&gt;2019년 버전이고 현재는 2023년이기 때문에 소스코드 변경 사항이 필요할 거 같아서 글을 남김&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;교재-홍보&#34;&gt;교재 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교재 구매 : &lt;a href=&#34;https://www.yes24.com/Product/Goods/83568594&#34;&gt;https://www.yes24.com/Product/Goods/83568594&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/django_excel_calculator_3/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-01---이전-글&#34;&gt;Step 01 - 이전 글&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1편 : &lt;a href=&#34;https://dschloe.github.io/python/2023/08/django_excel_calculator_1/&#34;&gt;https://dschloe.github.io/python/2023/08/django_excel_calculator_1/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;2편 : &lt;a href=&#34;https://dschloe.github.io/python/2023/08/django_excel_calculator_2/&#34;&gt;https://dschloe.github.io/python/2023/08/django_excel_calculator_2/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-02---인증하기-구현&#34;&gt;Step 02 - 인증하기 구현&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;자신의 이메일로 발송된 인증 코드를 입력한 후, “인증하기” 버튼을 누르면, &lt;code&gt;main app&lt;/code&gt; 의 &lt;code&gt;[views.py](http://views.py)&lt;/code&gt; 파일에 만들어 놓은 &lt;code&gt;verify&lt;/code&gt; 함수로 오도록 설정한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;verifyCode.html&lt;/code&gt; url을 설정한다.&lt;/li&gt;&#xA;&lt;li&gt;파일 경로 : ExcelCalculate &amp;gt; main &amp;gt; templates &amp;gt; main &amp;gt; verifyCode.html&lt;/li&gt;&#xA;&lt;li&gt;46번 줄의 form 태그 action 값을 verify로 설정&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;h3&lt;/span&gt;&amp;gt;이메일로 전송된 메일의 인증코드를 입력해주세요.&amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;h3&lt;/span&gt;&amp;gt;&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;br&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;form&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;action&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;verify&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;method&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;POST&amp;#34;&lt;/span&gt;&amp;gt;{% csrf_token %}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;div&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;class&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;input-group&amp;#34;&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 &lt;code&gt;main app &amp;gt; views.py&lt;/code&gt;에 &lt;code&gt;verify 함수&lt;/code&gt;를 구현한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사용자가 입력한 code 값을 받아왔고, 쿠키에 저장된 code 값을 가져온다.&lt;/li&gt;&#xA;&lt;li&gt;두 값을 비교해 일치할 때는 해당 사용자의 user_validate 값을 1로 변경시켜준다.&lt;/li&gt;&#xA;&lt;li&gt;user의 user_validate 값은 1로 변경시켜 준 후, 해당 변경 사항을 저장한다.&lt;/li&gt;&#xA;&lt;li&gt;한번 더 쿠키 값을 세팅하려고 redirect 함수에 메인 화면을 넘겨 준 결괏 값은 response로 받아와서 해당 response에 대해 이전에 설정한 2개의 쿠키값을 삭제하고, 로그인된 유저의 정보를 쿠키로 설정하며 response를 반환해 준다.&lt;/li&gt;&#xA;&lt;li&gt;만약 두 값이 일치하지 않는 경우, 다시 인증 코드 입력 화면으로 &lt;code&gt;redirect&lt;/code&gt; 시켜 준다.&lt;/li&gt;&#xA;&lt;li&gt;코드 구현 후, 회원 가입을 재 진행한다. 이메일로 전송된 인증 코드를 입력 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; django.shortcuts &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; render, redirect&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; random &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; .models &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sendEmail.views &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Create your views here.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;index&lt;/span&gt;(request):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#75715e&#34;&gt;# 생략&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;signup&lt;/span&gt;(request):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#75715e&#34;&gt;# 생략&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;join&lt;/span&gt;(request):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#75715e&#34;&gt;# 생략&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;signin&lt;/span&gt;(request):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#75715e&#34;&gt;# 생략&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;verifyCode&lt;/span&gt;(request):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#75715e&#34;&gt;# 생략&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;verify&lt;/span&gt;(request):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    user_code &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; request&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;POST[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;verifyCode&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    cookie_code &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; request&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;COOKIES&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;code&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; user_code &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; cookie_code:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        user &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; User&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;objects&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(id &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; request&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;COOKIES&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;user_id&amp;#39;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        user&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;user_validate &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        user&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;save()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        response &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; redirect(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;main_index&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        response&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;delete_cookie(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;code&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        response&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;delete_cookie(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;user_id&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        response&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;set_cookie(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;user&amp;#39;&lt;/span&gt;, user)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; response&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; redirect(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;main_verifyCode&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;result&lt;/span&gt;(request):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#75715e&#34;&gt;# 생략&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;인증이 이루어진 과정은 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/django_excel_calculator_3/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Django - ExcelCalCulator_2</title>
      <link>https://dschloe.github.io/programming/2023/08/django_excel_calculator_2/</link>
      <pubDate>Thu, 03 Aug 2023 01:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/08/django_excel_calculator_2/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Django 한 그릇 뚝딱&lt;/code&gt; 교재의 내용에서 멀티캠퍼스 강의에 맞게 일부 수정함&lt;/li&gt;&#xA;&lt;li&gt;2019년 버전이고 현재는 2023년이기 때문에 소스코드 변경 사항이 필요할 거 같아서 글을 남김&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;교재-홍보&#34;&gt;교재 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교재 구매 : &lt;a href=&#34;https://www.yes24.com/Product/Goods/83568594&#34;&gt;https://www.yes24.com/Product/Goods/83568594&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/django_excel_calculator_2/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-01---이전-글&#34;&gt;Step 01 - 이전 글&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1편 : &lt;a href=&#34;https://dschloe.github.io/python/2023/08/django_excel_calculator_1/&#34;&gt;https://dschloe.github.io/python/2023/08/django_excel_calculator_1/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-02---이메일-인증으로-회원-가입&#34;&gt;Step 02 - 이메일 인증으로 회원 가입&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;절차는 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;회원 가입 화면에서 개인정보 입력 후 &lt;code&gt;회원 가입하기&lt;/code&gt; 버튼 클릭 때 해당 정보로 유저 데이터 생성 및 DB에 저장, 이 때 인증되지 않은 유저로 등록&lt;/li&gt;&#xA;&lt;li&gt;DB에 저장 후, 입력한 이메일로 인증 코드 발송&lt;/li&gt;&#xA;&lt;li&gt;발송된 인증 코드는 유저 이름과 함께 쿠키로 저장 후 인증 코드 입력 화면으로 전환&lt;/li&gt;&#xA;&lt;li&gt;인증 코드 입력 화면에서 인증 코드 입력 후 &lt;code&gt;인증하기&lt;/code&gt; 버튼 클릭 때 입력된 코드와 쿠키에 저장된 인증 코드 비교 후 회원 성공/실패 처리&lt;/li&gt;&#xA;&lt;li&gt;성공 때는 회원의 인증 값을 &lt;code&gt;true&lt;/code&gt; 로 설정, 실패 때 해당 회원정보 삭제&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-03---db-설정&#34;&gt;Step 03 - DB 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사용자 정보를 저장할 수 있는 모델을 만들어야 한다.&lt;/li&gt;&#xA;&lt;li&gt;회원 가입 시 필요한 기본 정보 : 이름, 이메일, 비밀번호, 그리고 사용자의 인증여부를 체크해 주는 정보를 가지게 된다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일 경로 : ExcelCalculate &amp;gt; main &amp;gt; models.py&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; django.db &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; models&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Create your models here.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;User&lt;/span&gt;(models&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Model):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    user_name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; models&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;CharField(max_length &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    user_email &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; models&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;EmailField(unique&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    user_password &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; models&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;CharField(max_length&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    user_validate &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; models&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;BooleanField(default&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;User 모델을 정의했다면, 이를 반영하기 위해서 아래 명령어들을 통해 &lt;code&gt;migrations&lt;/code&gt; 파일을 만들고 &lt;code&gt;migrate&lt;/code&gt; 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; python manage&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;py makemigrations&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Migrations &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;main&amp;#39;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  main\migrations\&lt;span style=&#34;color:#ae81ff&#34;&gt;0001&lt;/span&gt;_initial&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; Create model User&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; python manage&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;py migrate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Operations to perform:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Apply all migrations: admin, auth, contenttypes, main, sessions&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Running migrations:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying main&lt;span style=&#34;color:#ae81ff&#34;&gt;.0001&lt;/span&gt;_initial&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt; OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-04---회원가입-url-설정&#34;&gt;Step 04 - 회원가입 url 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;회원 가입 때 사용자 데이터를 저장하기 위해, 먼저 &lt;code&gt;signup.html&lt;/code&gt; 에서 회원 가입 버튼 클릭 때 이동할 &lt;code&gt;url&lt;/code&gt; 설정을 하도록 한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Django - ExcelCalCulator_1</title>
      <link>https://dschloe.github.io/programming/2023/08/django_excel_calculator_1/</link>
      <pubDate>Thu, 03 Aug 2023 00:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/08/django_excel_calculator_1/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Django 한 그릇 뚝딱&lt;/code&gt; 교재의 내용에서 멀티캠퍼스 강의에 맞게 일부 수정함&lt;/li&gt;&#xA;&lt;li&gt;2019년 버전이고 현재는 2023년이기 때문에 소스코드 변경 사항이 필요할 거 같아서 글을 남김&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;교재-홍보&#34;&gt;교재 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교재 구매 : &lt;a href=&#34;https://www.yes24.com/Product/Goods/83568594&#34;&gt;https://www.yes24.com/Product/Goods/83568594&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/django_excel_calculator_1/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-01---github-repo-생성&#34;&gt;Step 01 - Github Repo 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래와 같이 Github Repo를 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/django_excel_calculator_1/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-02---가상환경-생성-및-라이브러리-설치&#34;&gt;Step 02 - 가상환경 생성 및 라이브러리 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;virtualenv&lt;/code&gt; 명령어를 활용하여 가상환경을 설치한다.&lt;/li&gt;&#xA;&lt;li&gt;실행 경로 : ExcelCalculate-with-Django&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ virtualenv venv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;created virtual environment CPython3.9.13.final.0-64 in 2305ms&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  creator CPython3Windows&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;dest&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\j&lt;/span&gt;2hoo&lt;span style=&#34;color:#ae81ff&#34;&gt;\O&lt;/span&gt;neDrive&lt;span style=&#34;color:#ae81ff&#34;&gt;\D&lt;/span&gt;esktop&lt;span style=&#34;color:#ae81ff&#34;&gt;\E&lt;/span&gt;xcelCalculate-with-Django&lt;span style=&#34;color:#ae81ff&#34;&gt;\v&lt;/span&gt;env, clear&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False, no_vcs_ignore&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False, global&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  seeder FromAppData&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;download&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False, pip&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;bundle, setuptools&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;bundle, wheel&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;bundle, via&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;copy, app_data_dir&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\j&lt;/span&gt;2hoo&lt;span style=&#34;color:#ae81ff&#34;&gt;\A&lt;/span&gt;ppData&lt;span style=&#34;color:#ae81ff&#34;&gt;\L&lt;/span&gt;ocal&lt;span style=&#34;color:#ae81ff&#34;&gt;\p&lt;/span&gt;ypa&lt;span style=&#34;color:#ae81ff&#34;&gt;\v&lt;/span&gt;irtualenv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    added seed packages: pip&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;23.1.2, setuptools&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;68.0.0, wheel&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;0.40.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  activators BashActivator,BatchActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;가상환경 접속 방법은 Windows와 Mac/Linux 계열이 다르다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>네이버 API 사용 신청 (2023 Aug)</title>
      <link>https://dschloe.github.io/programming/2023/08/naver_api/</link>
      <pubDate>Wed, 02 Aug 2023 14:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/08/naver_api/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;크롤링을 위해 네이버 API 사용을 신청해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-01---사이트-접속&#34;&gt;Step 01 - 사이트 접속&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;네이버 개발자센터 사이트에 접속한다.&lt;/li&gt;&#xA;&lt;li&gt;URL : &lt;a href=&#34;https://developers.naver.com/main/&#34;&gt;https://developers.naver.com/main/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/naver_api/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-02---로그인&#34;&gt;Step 02 - 로그인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;화면 우측 상단에서 로그인을 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-03---api-이용신청-및-application-등록&#34;&gt;Step 03 - API 이용신청 및 Application 등록&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;상단 메뉴에서 Application 클릭 후, 내 애플리케이션을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/naver_api/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;확인 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/naver_api/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이용약관에 동의한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/naver_api/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;계정 정보를 등록 및 휴대폰 인증을 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/naver_api/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;애플리케이션을 등록한다. (아무이름을 작성한다)&lt;/li&gt;&#xA;&lt;li&gt;개인 PC로 접속하기 위해 WEB 설정 - localhost를 입력한다.&lt;/li&gt;&#xA;&lt;li&gt;사용 API는 여기에서는 간단하게 검색만 지정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/naver_api/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>크롬드라이버 설정 방법 - Windows (2023 Aug)</title>
      <link>https://dschloe.github.io/programming/2023/08/chrome_driver_settings_windows/</link>
      <pubDate>Tue, 01 Aug 2023 14:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/08/chrome_driver_settings_windows/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;selenium 4.10&lt;/code&gt; 버전에서 크롬드라이버 설정하는 방법에 대해 기술하고자 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;크롬-버전-확인&#34;&gt;크롬 버전 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;크롬 버전 확인은 아래와 같이 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 설정을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/chrome_driver_settings_windows/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Chrome 정보를 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/chrome_driver_settings_windows/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본인의 크롬 버전을 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/chrome_driver_settings_windows/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;크롬-드라이버-다운로드&#34;&gt;크롬 드라이버 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;싸이트 : &lt;a href=&#34;https://chromedriver.chromium.org/downloads&#34;&gt;https://chromedriver.chromium.org/downloads&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/chrome_driver_settings_windows/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;여기에서 각 크롬버전에 맞게 들어간다.&lt;/li&gt;&#xA;&lt;li&gt;그런데 간혹 최신버전은 빨간색 글씨 처럼 별도로 접근해 들어가야 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참고 : &lt;a href=&#34;https://googlechromelabs.github.io/chrome-for-testing/&#34;&gt;https://googlechromelabs.github.io/chrome-for-testing/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/chrome_driver_settings_windows/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자의 경우 크롬 버전은 &lt;code&gt;115.0.5790.110&lt;/code&gt; 이지만 Status가 X로 되어 있다. 이럴 경우 &lt;code&gt;115.0.5790.102&lt;/code&gt; 버전을 선택 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/08/chrome_driver_settings_windows/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>PowerShell 실행정책 Unrestricted 설정 방법</title>
      <link>https://dschloe.github.io/programming/2023/07/powershell_executionpolicy/</link>
      <pubDate>Mon, 31 Jul 2023 14:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/07/powershell_executionpolicy/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;vagrant 가상환경 설치 중 몇몇 수강생 분들의 에러 확인&lt;/li&gt;&#xA;&lt;li&gt;PowerShell 실행정책에 따라, 잘 안되는 것을 확인&lt;/li&gt;&#xA;&lt;li&gt;그런데 choco 실행 전에는 아래와 같이 설정을 하라고 되어 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/07/powershell_executionpolicy/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그런데, 일부 수강생중에는 설치 시 에러가 나는 것을 확인, 따라서 이를 모두 unrestricted로 변경 후, 재 설치를 진행해본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이전 글 참조 : &lt;a href=&#34;https://dschloe.github.io/settings/2023/7/window_vagrant_ubutun18_04_python/&#34;&gt;https://dschloe.github.io/settings/2023/7/window_vagrant_ubutun18_04_python/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;choco-설정의-내용-재-확인&#34;&gt;choco 설정의 내용 재 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;choco 공식 홈피에서 제공한대로 설정을 해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PS C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\j&lt;/span&gt;2hoo&amp;gt; Get-ExecutionPolicy&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Restricted&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 상황에서 첫번째 명령어를 입력한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PS C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\j&lt;/span&gt;2hoo&amp;gt; Set-ExecutionPolicy AllSigned&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PS C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\j&lt;/span&gt;2hoo&amp;gt; Get-ExecutionPolicy&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;AllSigned&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;현재 전체 실행 정책 목록을 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PS C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\j&lt;/span&gt;2hoo&amp;gt; Get-ExecutionPolicy -List&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/07/powershell_executionpolicy/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>윈도우 우분투 가상 환경 설치 (feat.chocolatey)</title>
      <link>https://dschloe.github.io/programming/2023/07/window_vagrant_ubutun18_04_python/</link>
      <pubDate>Sun, 30 Jul 2023 14:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/07/window_vagrant_ubutun18_04_python/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;크롤링 교재에서 윈도우에 우분투 가상 환경을 설치하는 부분이 있어서 실제로 잘 되는지 테스트를 해보았다.&lt;/li&gt;&#xA;&lt;li&gt;향후 교재를 활용한다면, 해당 가상환경에서 진행 하는 것도 고려할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;가상환경은 vagrant를 활용했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;교재&#34;&gt;교재&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파이썬을 활용한 크롤러 개발과 스크레이핑 입문&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/07/window_vagrant_ubutun18_04_python/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-01-chocolatey-설치&#34;&gt;Step 01. Chocolatey 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;윈도우에서 많이 활용되는 패키지 매니저가 바로 Chocolatey 이다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 3가지를 확인해야 한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;첫번째 PowerShel&lt;/code&gt;이 설치 되어 있어야 하며, 최소 지원 버전은 3이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PowerShell 버전 확인&lt;/li&gt;&#xA;&lt;li&gt;PowerShell 탭을 열고 &lt;code&gt;$PSVersionTable&lt;/code&gt; 명령어를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PS C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\j&lt;/span&gt;2hoo&amp;gt; $PSVersionTable&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Name                           Value&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;----                           -----&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PSVersion                      5.1.22621.1778&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PSEdition                      Desktop&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PSCompatibleVersions           &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;1.0, 2.0, 3.0, 4.0...&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;BuildVersion                   10.0.22621.1778&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;CLRVersion                     4.0.30319.42000&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;WSManStackVersion              3.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PSRemotingProtocolVersion      2.3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;SerializationVersion           1.1.0.1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/07/window_vagrant_ubutun18_04_python/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Django Gmail 발송 예제 (2023년 버전)</title>
      <link>https://dschloe.github.io/programming/2023/07/django_email_sample/</link>
      <pubDate>Thu, 27 Jul 2023 00:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/07/django_email_sample/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;최근 django 강의를 진행하면서, Gmail로 이메일을 발송 하는 예제에서 인증 코드 진행하는 부분이 오래된 것을 확인&lt;/li&gt;&#xA;&lt;li&gt;업그레이드 된 버전을 소개한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;가상환경-및-django-라이브러리-설치&#34;&gt;가상환경 및 django 라이브러리 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 빈 폴더를 생성 후, 가상환경을 생성한다.&lt;/li&gt;&#xA;&lt;li&gt;(옵션) virtualenv 라이브러리 미 설치 시&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; pip install virtualenv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;기 설치가 되어 있다면 아래 코드를 순차적으로 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; virtualenv venv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; source venv&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;Scripts&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;activate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;가상환경에 접속해 있다면 &lt;code&gt;django&lt;/code&gt;를 설치 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; pip install django&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;장고-프로젝트-및-앱-설치&#34;&gt;장고 프로젝트 및 앱 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 장고 프로젝트를 설정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; django&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;admin startproject djangogmail&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이제 해당 프로젝트 폴더에서 1개의 app을 만들어준다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; cd djangogmail&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; python manage&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;py startapp main&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;앱을 등록해준다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일 경로 : djangogmail &amp;gt; djangogmail &amp;gt; settings.py&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;INSTALLED_APPS &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;django.contrib.admin&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;django.contrib.auth&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;django.contrib.contenttypes&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;django.contrib.sessions&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;django.contrib.messages&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;django.contrib.staticfiles&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;main&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;runserver를 실행하여 장고 기본 화면이 나오는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; python manage&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;py runserver&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/07/django_email_sample/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Django Project ToDoList - 5</title>
      <link>https://dschloe.github.io/programming/2023/07/django_todolist_5/</link>
      <pubDate>Wed, 26 Jul 2023 00:40:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/07/django_todolist_5/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Django 한 그릇 뚝딱&lt;/code&gt; 교재의 내용에서 멀티캠퍼스 강의에 맞게 일부 수정함&lt;/li&gt;&#xA;&lt;li&gt;2019년 버전이고 현재는 2023년이기 때문에 소스코드 변경 사항이 필요할 거 같아서 글을 남김&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;교재-홍보&#34;&gt;교재 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교재 구매 : &lt;a href=&#34;https://www.yes24.com/Product/Goods/83568594&#34;&gt;https://www.yes24.com/Product/Goods/83568594&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/07/Django_ToDoList_%285%29/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-01---이전-내용-확인&#34;&gt;Step 01 - 이전 내용 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 글을 처음 봤다면, 이전 블로그를 참조하기를 바란다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;첫번째 글 : &lt;a href=&#34;https://dschloe.github.io/python/2023/07/django_todolist_1/&#34;&gt;https://dschloe.github.io/python/2023/07/django_todolist_1/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;두번째 글 : &lt;a href=&#34;https://dschloe.github.io/python/2023/07/django_todolist_2/&#34;&gt;https://dschloe.github.io/python/2023/07/django_todolist_2/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;세번째 글 : &lt;a href=&#34;https://dschloe.github.io/python/2023/07/django_todolist_3/&#34;&gt;https://dschloe.github.io/python/2023/07/django_todolist_3/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;네번째 글 : &lt;a href=&#34;https://dschloe.github.io/python/2023/07/django_todolist_4/&#34;&gt;https://dschloe.github.io/python/2023/07/django_todolist_4/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-02---데이터-삭제-방법-개요-및-html-수정&#34;&gt;Step 02 - 데이터 삭제 방법 개요 및 HTML 수정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;완료 버튼을 눌렀을 시, 데이터를 삭제하는 기능을 구현한다.&lt;/li&gt;&#xA;&lt;li&gt;HTML 코드를 살펴보면 완료 버튼이 존재한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;완료 버튼을 클릭할 때, &lt;code&gt;form&lt;/code&gt; 태그 내에 있는 &lt;code&gt;input&lt;/code&gt; 태그의 값이 함께 넘어오고, &lt;code&gt;input&lt;/code&gt;의 &lt;code&gt;value&lt;/code&gt; 값을 이용해 &lt;code&gt;DB&lt;/code&gt;에서 알맞은 데이터를 찾아 삭제한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;div&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;class&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;toDoDiv&amp;#34;&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;ul&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;class&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;list-group&amp;#34;&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    {% for todo in todos %}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;form&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;action&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;method&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;GET&amp;#34;&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;div&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;class&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;input-group&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;todo1&amp;#39;&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                            &amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;li&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;class&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;list-group-item&amp;#34;&lt;/span&gt;&amp;gt;{{ todo.content }}&amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;li&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                            &amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;input&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;type&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;hidden&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;id&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;todoNum&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;todoNum&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;value&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;{{ todo.id }}&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;input&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                            &amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;span&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;class&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;input-group-addon&amp;#34;&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                &amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;button&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;type&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;submit&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;class&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;custom-btn btn btn-danger&amp;#34;&lt;/span&gt;&amp;gt;완료&amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;button&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                            &amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;span&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;div&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;form&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    {% endfor %}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;ul&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;div&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;form 태그의 action은 아직 정의되지 않았는데, 완료 버튼을 클릭 시, form 태그의 action값을 설정하도록 한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Django Project ToDoList - 4</title>
      <link>https://dschloe.github.io/programming/2023/07/django_todolist_4/</link>
      <pubDate>Wed, 26 Jul 2023 00:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/07/django_todolist_4/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Django 한 그릇 뚝딱&lt;/code&gt; 교재의 내용에서 멀티캠퍼스 강의에 맞게 일부 수정함&lt;/li&gt;&#xA;&lt;li&gt;2019년 버전이고 현재는 2023년이기 때문에 소스코드 변경 사항이 필요할 거 같아서 글을 남김&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;교재-홍보&#34;&gt;교재 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교재 구매 : &lt;a href=&#34;https://www.yes24.com/Product/Goods/83568594&#34;&gt;https://www.yes24.com/Product/Goods/83568594&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/07/Django_ToDoList_%284%29/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-01---이전-내용-확인&#34;&gt;Step 01 - 이전 내용 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 글을 처음 봤다면, 이전 블로그를 참조하기를 바란다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;첫번째 글 : &lt;a href=&#34;https://dschloe.github.io/python/2023/07/django_todolist_1/&#34;&gt;https://dschloe.github.io/python/2023/07/django_todolist_1/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;두번째 글 : &lt;a href=&#34;https://dschloe.github.io/python/2023/07/django_todolist_2/&#34;&gt;https://dschloe.github.io/python/2023/07/django_todolist_2/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;세번째 글 : &lt;a href=&#34;https://dschloe.github.io/python/2023/07/django_todolist_3/&#34;&gt;https://dschloe.github.io/python/2023/07/django_todolist_3/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-02---남은-과제&#34;&gt;Step 02 - 남은 과제&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사용자가 입력한 문자열을 데이터베이스에 저장하기&lt;/li&gt;&#xA;&lt;li&gt;DB에 저장된 내용을 보여 주기&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-03---모델에-데이터-저장&#34;&gt;Step 03 - 모델에 데이터 저장&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;먼저, &lt;code&gt;my_to_do_app&lt;/code&gt; 폴더에 있는 &lt;code&gt;[views.py](http://views.py)&lt;/code&gt; 파일에서 &lt;code&gt;model&lt;/code&gt;을 사용하려면 &lt;code&gt;[models.py](http://models.py)&lt;/code&gt; 파일을 불러와야 한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Django Project ToDoList - 3</title>
      <link>https://dschloe.github.io/programming/2023/07/django_todolist_3/</link>
      <pubDate>Wed, 26 Jul 2023 00:20:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/07/django_todolist_3/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Django 한 그릇 뚝딱&lt;/code&gt; 교재의 내용에서 멀티캠퍼스 강의에 맞게 일부 수정함&lt;/li&gt;&#xA;&lt;li&gt;2019년 버전이고 현재는 2023년이기 때문에 소스코드 변경 사항이 필요할 거 같아서 글을 남김&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;교재-홍보&#34;&gt;교재 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교재 구매 : &lt;a href=&#34;https://www.yes24.com/Product/Goods/83568594&#34;&gt;https://www.yes24.com/Product/Goods/83568594&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/07/Django_ToDoList_%283%29/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-01---이전-내용-확인&#34;&gt;Step 01 - 이전 내용 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 글을 처음 봤다면, 이전 블로그를 참조하기를 바란다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;첫번째 글 : &lt;a href=&#34;https://dschloe.github.io/python/2023/07/django_todolist_1/&#34;&gt;https://dschloe.github.io/python/2023/07/django_todolist_1/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;두번째 글 : &lt;a href=&#34;https://dschloe.github.io/python/2023/07/django_todolist_2/&#34;&gt;https://dschloe.github.io/python/2023/07/django_todolist_2/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-02---modelpy-작성-및-장고-서버-반영&#34;&gt;Step 02 - model.py 작성 및 장고 서버 반영&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ToDo에 대한 데이터를 다룰 예정이며, 다음과 같이 코드를 작성한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일 경로 : &lt;code&gt;ToDoList &amp;gt; my_to_do_app &amp;gt; models.py&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; django.db &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; models&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Create your models here.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Todo&lt;/span&gt;(models&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Model):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    content &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; models&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;CharField(max_length&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;255&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 코드를 실제 Django 서버에 등록해줘야 한다. 다음과 같은 명령어를 입력한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실행 경로는 &lt;code&gt;[manage.py](http://manage.py)&lt;/code&gt; 이 있는 곳에서 아래 코드를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;db.sqlite3  manage.py*  my_to_do_app/  ToDoList/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ python manage.py makemigrations&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Migrations &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;my_to_do_app&amp;#39;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  my_to_do_app&lt;span style=&#34;color:#ae81ff&#34;&gt;\m&lt;/span&gt;igrations&lt;span style=&#34;color:#ae81ff&#34;&gt;\0&lt;/span&gt;001_initial.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    - Create model Todo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;그런데, 아직 데이터베이스 모델과 같은 테이블이 생성된 것은 아니다. 다음 명령어를 추가한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ python manage.py migrate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth.0001_initial... OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying admin.0001_initial... OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying admin.0002_logentry_remove_auto_add... OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying admin.0003_logentry_add_action_flag_choices... OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying contenttypes.0002_remove_content_type_name... OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth.0002_alter_permission_name_max_length... OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth.0003_alter_user_email_max_length... OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth.0004_alter_user_username_opts... OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth.0005_alter_user_last_login_null... OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth.0006_require_contenttypes_0002... OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth.0007_alter_validators_add_error_messages... OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth.0008_alter_user_username_max_length... OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth.0009_alter_user_last_name_max_length... OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth.0010_alter_group_name_max_length... OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth.0011_update_proxy_permissions... OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying auth.0012_alter_user_first_name_max_length... OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying my_to_do_app.0001_initial... OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Applying sessions.0001_initial... OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-03---db-확인&#34;&gt;Step 03 - DB 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실제 Django 프로젝트 DB에 접근해서 확인하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ python manage.py dbshell&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;SQLite version 3.39.3 2022-09-05 11:02:23&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Enter &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;.help&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; usage hints.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sqlite&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;테이블을 확인하기 위해서 다음 명령어를 이용한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;my_to_do_app_todo 테이블이 만들어졌음을 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sqlite&amp;gt; .tables&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;auth_group                  django_admin_log&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;auth_group_permissions      django_content_type       &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;auth_permission             django_migrations&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;auth_user                   django_session&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;auth_user_groups            my_to_do_app_todo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;auth_user_user_permissions&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;테이블이 가진 정보를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sqlite&amp;gt; PRAGMA table_info&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;my_to_do_app_todo&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;0|id|INTEGER|1&lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1|content|varchar&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;255&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;|1&lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;SELECT 명령어를 통해 데이터가 있는지 확인해본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아무런 데이터가 없기 때문에 조회는 되지 않는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sqlite&amp;gt; SELECT * FROM my_to_do_app_todo;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-04---html--코드-해석&#34;&gt;Step 04 - HTML  코드 해석&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;index.html&lt;/code&gt; 파일을 연다.&lt;/li&gt;&#xA;&lt;li&gt;44번째 줄의 &lt;code&gt;form 태그&lt;/code&gt;를  살펴본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/07/Django_ToDoList_%283%29/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Django Project ToDoList - 2</title>
      <link>https://dschloe.github.io/programming/2023/07/django_todolist_2/</link>
      <pubDate>Wed, 26 Jul 2023 00:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/07/django_todolist_2/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Django 한 그릇 뚝딱&lt;/code&gt; 교재의 내용에서 멀티캠퍼스 강의에 맞게 일부 수정함&lt;/li&gt;&#xA;&lt;li&gt;2019년 버전이고 현재는 2023년이기 때문에 소스코드 변경 사항이 필요할 거 같아서 글을 남김&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;교재-홍보&#34;&gt;교재 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교재 구매 : &lt;a href=&#34;https://www.yes24.com/Product/Goods/83568594&#34;&gt;https://www.yes24.com/Product/Goods/83568594&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/07/Django_ToDoList_%282%29/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-01---이전-내용-확인&#34;&gt;Step 01 - 이전 내용 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 글을 처음 봤다면, 이전 블로그를 참조하기를 바란다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;첫번째 글 : &lt;a href=&#34;https://dschloe.github.io/python/2023/07/django_todolist_1/&#34;&gt;https://dschloe.github.io/python/2023/07/django_todolist_1/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-02---html-템플릿-사용&#34;&gt;Step 02 - HTML 템플릿 사용&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;HTML과 CSS가 적용된 기본 템플릿은 다음 github 저장소에서 다운로드 받을 수 있다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;책 저자 깃허브 : &lt;a href=&#34;https://github.com/doorBW/Django_with_PracticeExamples&#34;&gt;https://github.com/doorBW/Django_with_PracticeExamples&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;my_to_do_app&lt;/code&gt; 폴더에 가면  &lt;code&gt;templates&lt;/code&gt; 폴더는 처음에는 존재하지 않는다. 따라서, 새로운 폴더를 생성하여 폴더명을 &lt;code&gt;templates&lt;/code&gt;라고 명명한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Django Project ToDoList - 1</title>
      <link>https://dschloe.github.io/programming/2023/07/django_todolist_1/</link>
      <pubDate>Tue, 25 Jul 2023 00:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/07/django_todolist_1/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Django 한 그릇 뚝딱&lt;/code&gt; 교재의 내용에서 멀티캠퍼스 강의에 맞게 일부 수정함&lt;/li&gt;&#xA;&lt;li&gt;2019년 버전이고 현재는 2023년이기 때문에 소스코드 변경 사항이 필요할 거 같아서 글을 남김&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;교재-홍보&#34;&gt;교재 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교재 구매 : &lt;a href=&#34;https://www.yes24.com/Product/Goods/83568594&#34;&gt;https://www.yes24.com/Product/Goods/83568594&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/07/Django_ToDoList_%281%29/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-01---깃허브-repo-생성&#34;&gt;Step 01 - 깃허브 Repo 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래와 같이 깃허브에서 Repo를 생성한다.&lt;/li&gt;&#xA;&lt;li&gt;Repo명 : &lt;code&gt;ToDoList-with-Django&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/07/Django_ToDoList_%281%29/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-02---바탕화면으로-git-clone&#34;&gt;Step 02 - 바탕화면으로 Git Clone&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때 중요한 것은 본인 경로에 한글이 없도록 하는 것이 중요하다.&lt;/li&gt;&#xA;&lt;li&gt;간혹 한글이 있는 경우 인코딩 문제로 라이브러리 설치 등 되지 않을 수가 있다.&lt;/li&gt;&#xA;&lt;li&gt;복사할 때는 &lt;code&gt;$&lt;/code&gt; 는 제외한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git clone https://github.com/your_account_id/ToDoList-with-Django.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/07/Django_ToDoList_%281%29/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>대전 공기관 태블로 강의 실습</title>
      <link>https://dschloe.github.io/programming/2023/07/tableau_lecture/</link>
      <pubDate>Tue, 18 Jul 2023 01:03:28 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/07/tableau_lecture/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 튜토리얼은 실제 공기관에서 진행할 때 수강생들이 직접 보고 할 수 있도록 만든 샘플 자료입니다.&lt;/li&gt;&#xA;&lt;li&gt;무단 복사 및 블로그 게시는 금지입니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-01-tableau-public-다운로드&#34;&gt;Step 01. Tableau Public 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 경로에서 Tableau Public를 다운로드 받는다. [만들기] - [Tableau Desktop Public Edition 다운로드]&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참고 : &lt;a href=&#34;https://public.tableau.com/app/discover&#34;&gt;https://public.tableau.com/app/discover&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/07/tableau_lecture/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/07/tableau_lecture/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/07/tableau_lecture/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-02-tableau-desktop-설치-시작&#34;&gt;Step 02. Tableau Desktop 설치 시작&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/07/tableau_lecture/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/07/tableau_lecture/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-03-태블로-화면-확인-및-파일-불러오기&#34;&gt;Step 03. 태블로 화면 확인 및 파일 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 화면에서 &lt;code&gt;Microsoft Excel&lt;/code&gt; 파일 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/07/tableau_lecture/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/07/tableau_lecture/Untitled%206.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-04-워크시트-1---지역별-근로자-수-현황&#34;&gt;Step 04. 워크시트 1 - 지역별 근로자 수 현황&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;엑셀 데이터를 불러온 후, 시트로 이동한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/07/tableau_lecture/Untitled%207.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>필자의 직무전환, 이직, 그리고 연봉 점프업 1편</title>
      <link>https://dschloe.github.io/programming/2023/07/salary1/</link>
      <pubDate>Mon, 17 Jul 2023 01:03:28 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/07/salary1/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;수강생들이 가장 궁금해 하는 연봉에 대한 여러가지 이야기&lt;/li&gt;&#xA;&lt;li&gt;그리고 필자의 이야기&lt;/li&gt;&#xA;&lt;li&gt;마케팅, SI, 스타트업, 그리고 프리랜서의 이야기&lt;/li&gt;&#xA;&lt;li&gt;약 2편에 걸쳐서 연재할 예정&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;어느-오픈-카톡방에서&#34;&gt;어느 오픈 카톡방에서..&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;필자가 주로 애용하는 오픈 카톡방이 있다. 다양한 정보와 수다를 즐기는 곳인데, 여기에 아래와 같은 글이 공유되었다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조 : &lt;a href=&#34;https://www.linkedin.com/posts/soojung-shin-30398b75_%EC%97%B0%EB%B4%89-%EC%A0%90%ED%94%84%EC%97%85%EC%9D%98-%EB%B9%84%EB%B0%80-13%EC%82%B0%EC%97%85%EA%B5%AC%EC%A1%B0-%EA%B4%80%EC%A0%90-%EB%8B%B9%EC%8B%A0%EC%9D%98-%EC%B2%AB%EB%B2%88%EC%A7%B8-%ED%9A%8C%EC%82%AC%EA%B0%80-%EB%AF%B8%EB%9E%98-%EB%8B%B9%EC%8B%A0-activity-7085875919009054720-S4zM?utm_source=li_share&amp;amp;utm_content=feedcontent&amp;amp;utm_medium=g_dt_web&amp;amp;utm_campaign=copy&#34;&gt;연봉 점프업의 비밀 1/3(산업구조 관점) by Soojung Shin&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/07/salary1/fig01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;이 글을 읽으니 필자의 과거 행적이 스쳐 지나갔다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;첫번째-꿈은-선교-그리고-ngo&#34;&gt;첫번째 꿈은 선교 그리고 NGO&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;20대의 꿈은 쉽게 말하면 돈을 버는 직업은 아니었다. 20대만 해도 커리어의 중요성 보다는 그저 가치 중심으로 살았다. 기본적인 철학.&lt;/li&gt;&#xA;&lt;li&gt;사고 전환의 계기 : 호주 워킹홀리데이(2011년)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지금은 호주 달러가 매우 약했지만, 운이 좋았던 탓인지 그 당시에는 미국 달러보다 높았다. 이 때 나는 호주에서 약 4개월의 일을 했다. 투잡, 쓰리잡을 하면서, 소위 허드렛일을 하면서 저축한돈이 약 1천 2백만원 가량 되었다 (세금 환급 포함)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;그 당시 한국에서 일을 하는 걸 선택하는 대신, 호주에서 일했던 경험이 나에게는 신선한 충격이었다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;같은 일을 하더라도 어느 지역, 어느 나라에서 하느냐에 따라 모을 수 있는 자산의 크기는 달랐다.&lt;/li&gt;&#xA;&lt;li&gt;이 4개월의 경험이 9년 후, 향후 내가 프리랜서와 현재 일을 선택하는데 주저함이 없도록 만들어 버렸다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;호주에서 돌아와도 여전히 선교와 NGO의 꿈은 놓지 않았고, 관련 대학원에 진학했다. 그리고 여기에서 또 한번의 충격을 받는다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;석사를 졸업한 형의 2014년 NGO 월급여 150만원 &amp;ndash;&amp;gt; 2년 뒤 그 형은 NGO를 그만두고 멕시칸 음식을 팔기 시작했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;it-기술-그리고-빅데이터의-시대에의-적응&#34;&gt;IT 기술 그리고 빅데이터의 시대에의 적응&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;첫번째 꿈을 접고 난 후, 방황을 했던 필자는 지도교수님이 잠깐 알려준 데이터 마이닝에 꽂히기 시작했다. 그리고 그 선택이 현재의 인생이 되었다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.datacamp.com/&#34;&gt;DataCamp&lt;/a&gt;를 통해 당시 핫했던 R을 공부하기 시작했다. 다행스러웠던 것은 그래도 영어를 충실히 배웠기 때문에, 영어로 공부하는 것에 대해 거부감이 없었다. 그렇게 독학을 1년 넘게 하기 시작했다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때, 기초 프로그래밍, 통계, 머신러닝 등을 모두 독학했다.&lt;/li&gt;&#xA;&lt;li&gt;공모전에도 혼자 나가기 시작했다. 성과를 낸 건 아니었다. 그러나 공모전에 혼자 나가면서 데이터 분석의 개념과 방향성에 대해 잡히기 시작했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;그런데, 중요한 것은 이것들은 모두 다른 일을 하면서 직장을 마치고 난 후, 주말에 꾸준하게 공부했다라는 것이다. 여기에서 수강생들에게 조언하는 것이 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그리고 이 지점이 내가 읽어보라고 추천하는 글과 다른 지점이다.&lt;/li&gt;&#xA;&lt;li&gt;현실적으로 모든 수강생이 좋은 회사에 들어갈수는 없다. 현재 나의 전공, 나이, 학력이 중요하다.&lt;/li&gt;&#xA;&lt;li&gt;진로 컨설팅을 할 때, 나이가 어리고, 어느정도 대학 학사를 보유했다면 필자는 수강생에게 보다 높은 곳을 지원할 것을 권한다. 지원해서 인턴이라도 할 수 있으면 하라고 권한다. 첫직장에 삼성전자 인턴 경험을 했다고 가정해보자. 두번째 직장을 구하는 것은 훨씬 쉽다.&lt;/li&gt;&#xA;&lt;li&gt;문제는 그렇지 못한 전공, 나이, 학력을 가지고 있을 때다. 가장 고민이 되는 사람들은 30대 초반의 비전공자, 전문대/고졸이다. 이 수강생이 좋은 회사에 신입으로 들어갈 확률은? 필자는 0으로 본다. 그럼 시작해야 할 곳은 좋지 못할 직장에서 시작할 가능성이 크다. 이 지점이 바로 모순점이다. 첫번째 직장이 중요하다고 하는데, 30대 초반의 비전공자, 전문대/고졸 출신에게 좋지 못할 직장에서 시작하라고 권하는 것이 맞는 컨설팅인가?&lt;/li&gt;&#xA;&lt;li&gt;필자는 맞다고 본다. 그런데, 선택 기준이 있다. 선택 기준은 SI 업체, 마케팅 대행 업체에 들어간다고 해도 고객사가 누구냐에 따라 달라진다.&lt;/li&gt;&#xA;&lt;li&gt;기본적으로 IT/빅데이터 산업 구조는 하청구조이다. 하청이라는 것은 원청이 존재하고, 원천에서 사업을 발주하여 여러 SI업체에 외주를 준다. 이 때, 본인이 능력을 발휘하여 고객사에게 인정을 받았다면, 비록 현실은 SI업체에서 저임금을 받고 있지만, 실력은 이미 고객사(대기업) 수준으로 인정을 받았다는 것을 의미한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;첫번째-직무---마케팅-관련&#34;&gt;첫번째 직무 - 마케팅 관련&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자가 경험했던 시나리오다. 필자가 IT/빅데이터 직무를 시작했을 때의 스펙은 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자의 나이 30대 초반, 학점은행 경영학사, IT/빅데이터 관련 자격증 없음, 국비교육 2회 수료&lt;/li&gt;&#xA;&lt;li&gt;당시, 대기업에 들어갈 확률 0 / 공기업에 취업할 확률 0&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;그래서, 필자는 경력이 중요하다고 판단했고, 그 경력을 이루기 위해 중소업체에 100여군데에 이력서를 내기 시작했다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때, 면접까지 간 업체의 수는 5군데 남짓. 이 시기가 독학으로 공부한지 1년이 넘을 때다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;처음에는 SI 업체에 가고 싶었다. 그러나 받아주는 곳은 한군데도 없었다. 그게 그 때 당시의 내 실력이었다.&lt;/li&gt;&#xA;&lt;li&gt;그래서, 마케팅 관련쪽으로도 지원서를 넣기 시작했고, 그리고 프랜차이즈컨설팅 업체로 이직하게 되었다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;원했던 직무는 아니었다. 그러나 대안이 없었다. SI업체에서 경력을 쌓고 싶었지만 받아주는 곳이 없었던 필자에게 그 와 유사한 일을 시작할 수 있는 것만으로도 감사할 따름이었다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;일하면서 배운 기술 : Google Analytics, Google Tag Manager, Data Studio, 제안서&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;두번째-직무---데이터분석-관련&#34;&gt;두번째 직무 - 데이터분석 관련&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;일을 하면서, 원래 가고자 했던 SI 업체에 이력서를 계속 넣었다. 일을 하면서도 이력서를 넣는 일은 마다하지 않았고, 공부도 틈날 때마다 계속 했다. 이 때에도 약 50여군데는 넣었던 거 같다.&lt;/li&gt;&#xA;&lt;li&gt;그리고 드디어 기회를 잡았다. 대표님이 당시 LG CNS 출신이셨고, 이제 막 회사를 차렸다. 입사할 당시, 나와 같이 경력이 미천한 사람만 4명 있었다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;강남역 조그만 사무실에서 대표님 포함 5명 + 그 외 다양한 자문을 주신 분들이 있었다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;여기에서 매우 귀중한 기회를 잡게 된다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;회사의 업력이 짧았기 때문에, 단독으로 공기관 입찰은 불가했다. 그런데, 당시 다른 회사에 얹혀서 프로젝트를 하던 중(보통 하청의 재하청이라 말함) 담당 프로젝트 매니저로부터 강의를 제안 받는다. R로 하는 머신러닝 강의&lt;/li&gt;&#xA;&lt;li&gt;당시 필자는 이미 R로 DataCamp를 통해서 꾸준하게 공부를 해왔던 터라, 강의 준비할 시간은 있었다.&lt;/li&gt;&#xA;&lt;li&gt;그런데, 강의 경력은? 없었다. 그런데 강의를 하라고 부탁을 받은 것이다. 그리고 대표님도, 이 회사에 R을 할 수 있는 사람은 나뿐이라, 내가 꼭 해야 한다는 것이다.&lt;/li&gt;&#xA;&lt;li&gt;이 강의가 인생의 전환 포인트가 되었다. 향후 세번째 회사로 이직할 때도 그 회사 대표님이 이 강의를 언급하면서, 짧은 경력에 어떻게 여기에서 강의를 했느냐고 물어볼 정도였으니&amp;hellip;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;업무 성과의 중요성 : 그리고 오퍼를 받기 시작함&#xA;&lt;ul&gt;&#xA;&lt;li&gt;약 3일간의 강의를 진행하였고, 그 후에 3번의 강의를 더하게 된다.&lt;/li&gt;&#xA;&lt;li&gt;그런데, 분석 관련 미팅 및 프로젝트를 하게 되면서 고객사로부터 계약직 제의를 받기 시작했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이 때, 필자는 이직 타이밍을 재기 시작했다.&lt;/li&gt;&#xA;&lt;li&gt;일하면서 배운 기술 : IT기술 영업, 제안서, AWS, AZURE, GCP 클라우드, Python, SQL, 그리고 IT 프로그래밍 강의&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;세번째-직무---빅데이터-팀장&#34;&gt;세번째 직무 - 빅데이터 팀장&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;수강생들에게 하고 싶은 말이 여기에 있다. 첫번째 직장이 중요하다! 그러나, 더 중요한 것은 SI에서 일을 시작했다면, 고객사로부터 인정을 받는 것이 중요하다. 고객사로부터 인정을 받았다면, 그 때가 이직할 타이밍이고, 그리고 이직할 타이밍에서 중요한 건 내가 이직하려고 하는 회사의 산업구조를 이해하는 것이 중요하다.&lt;/li&gt;&#xA;&lt;li&gt;이 부분은 2편에서 연재할 예정&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;직무를-전환할-때-반드시-필요한-것-2가지&#34;&gt;직무를 전환할 때 반드시 필요한 것 2가지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1일 블로그와 깃허브&lt;/li&gt;&#xA;&lt;li&gt;필자의 수업을 들었던 수강생들과 가끔 저녁 및 식사를 할 때가 종종 있다. 그럼, 그 친구들이 나로부터 들었던 말 중 기억나는 것을 얘기할 때 마다, 1일 블로그와 깃허브를 종종 말한다.&lt;/li&gt;&#xA;&lt;li&gt;필자가 가장 아쉬워 하는 것 중의 하나가, 만약 2013년, 14년, 16년 프로그래밍을 처음 접하던 시절부터 블로그와 깃허브를 꾸준히 했더라면.. 하는 아쉬움이 늘 존재한다.&lt;/li&gt;&#xA;&lt;li&gt;블로그는 본격적으로 프리로 전환한 2020년부터 하기 시작했다. 만약 그 전부터 꾸준히 했더라면, 어땠을까? 하는 아쉬움이 늘 존재한다. 그랬다면 최소 1000개의 글이 내 블로그에 존재할지도 모르겠다.&lt;/li&gt;&#xA;&lt;li&gt;신입에게 내 성실성과 꾸준함을 객관화 시킬 수 있는 것은 어쩌면 프로그래밍 관련 블로그 뿐일지도 모른다.&lt;/li&gt;&#xA;&lt;li&gt;참고로 이 글은 3년간 작성한 글의 &lt;code&gt;447&lt;/code&gt;번째 글이 될 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>2023년 상반기 결산 - 좋은 인연, 박사학위, 자격증, 출판, 유럽여행</title>
      <link>https://dschloe.github.io/programming/2023/07/review/</link>
      <pubDate>Sat, 15 Jul 2023 01:03:28 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/07/review/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;블로그를 3년간 운영하면서 회고 또는 결산하는 글을 써본적은 없었다.&lt;/li&gt;&#xA;&lt;li&gt;요즘에 역 시차적응 때문인지.. 최근 중요한 결정을 내린 후폭풍인지.. 새벽에 자주 잠이 깨는데, 일어난 김에 몇가지 회고의 글을 남겨보려고 한다. (글쓰는 현재 지금 시각 새벽 2시다..)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;좋은-인연&#34;&gt;좋은 인연&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;상반기에도 좋은 인연이 생겼다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;수많은 학생들, 새로운 기회의 확장, 새로운 학교 및 새로운 과정에서의 여러 만남들&#xA;&lt;ul&gt;&#xA;&lt;li&gt;2개 기관은 작년에 이어서 진행한 건, 1개 기관은 신규로 진행한 건&lt;/li&gt;&#xA;&lt;li&gt;강의 평가가 모두 좋게 나와서 감사할 뿐이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;취업준비생 및 재직자 대상으로 약 100여명 넘는 사람들을 만난 듯 하다.&lt;/li&gt;&#xA;&lt;li&gt;모두 원하는 일과 취업 잘되기를 기도 및 소망한다.&lt;/li&gt;&#xA;&lt;li&gt;과거 3년전에 만났던 수강생도 최근에 결혼을 했다. 결혼하거든 연락 꼭 주세요 ㅎㅎ&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;상반기 가장 좋은 인연은 공저자 &lt;code&gt;Sara&lt;/code&gt;를 만난 것이다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>(파이썬) 빅데이터 분석기사 실기 - 제2유형, 회귀</title>
      <link>https://dschloe.github.io/programming/2023/06/dataq_02_reg/</link>
      <pubDate>Thu, 22 Jun 2023 00:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/06/dataq_02_reg/</guid>
      <description>&lt;h2 id=&#34;작업형-2유형-최종정리&#34;&gt;작업형 2유형 최종정리&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;작업형1 : 3문제 (30점), 데이터 전처리&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;작업형2 : 1문제 (40점), 분류/회귀 예측 모델링&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;작업형3 : 2문제 (30점), 가설 검정&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;주요-라이브러리&#34;&gt;주요 라이브러리&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;palmerpenguins : 팔머펭귄 데이터셋의 목표는 iris 데이터셋의 대안으로 데이터 탐색 및 시각화를 위한 데이터셋 제공.&lt;/li&gt;&#xA;&lt;li&gt;scikit-learn : 머신러닝을 위한 라이브러리&lt;/li&gt;&#xA;&lt;li&gt;lightgbm : LightGBM은 Microsoft에서 개발한 오픈 소스 기계 학습 라이브러리로, 대용량 데이터셋에서 빠른 속도와 높은 성능을 제공하는 것이 특징&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;주의&#34;&gt;주의&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;각 코드에 대한 설명은 별도로 하지 않습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;데이터-파일-불러오기&#34;&gt;데이터 파일 불러오기&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; palmerpenguins &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; load_penguins &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguins &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; load_penguins()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguins[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ID&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; penguins&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reset_index()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;index &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguins&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/06/dataq_02_reg/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>(파이썬) 빅데이터 분석기사 실기 - 제2유형, 분류</title>
      <link>https://dschloe.github.io/programming/2023/06/dataq_02_clf/</link>
      <pubDate>Wed, 21 Jun 2023 00:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/06/dataq_02_clf/</guid>
      <description>&lt;h2 id=&#34;작업형-2유형-최종정리&#34;&gt;작업형 2유형 최종정리&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;작업형1 : 3문제 (30점), 데이터 전처리&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;작업형2 : 1문제 (40점), 분류/회귀 예측 모델링&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;작업형3 : 2문제 (30점), 가설 검정&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;주요-라이브러리&#34;&gt;주요 라이브러리&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;palmerpenguins : 팔머펭귄 데이터셋의 목표는 iris 데이터셋의 대안으로 데이터 탐색 및 시각화를 위한 데이터셋 제공.&lt;/li&gt;&#xA;&lt;li&gt;scikit-learn : 머신러닝을 위한 라이브러리&lt;/li&gt;&#xA;&lt;li&gt;lightgbm : LightGBM은 Microsoft에서 개발한 오픈 소스 기계 학습 라이브러리로, 대용량 데이터셋에서 빠른 속도와 높은 성능을 제공하는 것이 특징&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;주의&#34;&gt;주의&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;각 코드에 대한 설명은 별도로 하지 않습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;데이터-불러오기&#34;&gt;데이터 불러오기&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; palmerpenguins &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; load_penguins &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguins &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; load_penguins()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguins[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ID&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; penguins&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reset_index()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;index &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguins&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/06/dataq_02_clf/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>(파이썬) 빅데이터 분석기사 실기 준비 - 제3유형</title>
      <link>https://dschloe.github.io/programming/2023/06/dataq_03/</link>
      <pubDate>Tue, 20 Jun 2023 00:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/06/dataq_03/</guid>
      <description>&lt;h2 id=&#34;작업형-3유형-최종정리&#34;&gt;작업형 3유형 최종정리&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;작업형1 : 3문제 (30점), 데이터 전처리&lt;/li&gt;&#xA;&lt;li&gt;작업형2 : 1문제 (40점), 분류/회귀 예측 모델링&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;작업형3 : 2문제 (30점), 가설 검정&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;라이브러리-확인&#34;&gt;라이브러리 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파이썬에서 가설검정을 위한 통계와 관련된 라이브러리는 크게 2가지이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;scipy : SciPy는 수치 계산, 최적화, 선형 대수, 신호 및 이미지 처리, 통계 분석 등과 같은 과학적 계산 작업을 수행하는 데 사용됨&lt;/li&gt;&#xA;&lt;li&gt;statsmodels : Statsmodels는 통계 분석과 추정을 위한 파이썬 라이브러리로, 선형 회귀, 로지스틱 회귀, 시계열 분석, 비모수적 추정 등 다양한 통계 모델을 지원함.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;SciPy와 Statsmodels는 각각의 독립성과 기능을 가지고 있으며, 과학적 계산과 통계 분석을 위한 파이썬 생태계에서 함께 사용되는 보완적인 라이브러리임.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;주의&#34;&gt;주의&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;여기에서는 각 검정의 구체적인 원리 설명은 하지 않는다.&lt;/li&gt;&#xA;&lt;li&gt;코드 위주로만 확인을 하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;one-sample-t-test&#34;&gt;One Sample T-Test&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가설검정&#xA;&lt;ul&gt;&#xA;&lt;li&gt;귀무가설 : 붓꽃의 sepal_length의 평균은 5.5이다.&lt;/li&gt;&#xA;&lt;li&gt;대립가설 : 붓꽃의 sepal_length의 평균은 5.5이 아니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;iris_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;load_dataset(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;iris&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;iris_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/06/dataq_03/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python Pandas 날짜 데이터 다루기</title>
      <link>https://dschloe.github.io/programming/2023/06/dealing_dates/</link>
      <pubDate>Sat, 17 Jun 2023 00:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/06/dealing_dates/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;연도, 월, 주만 있는 컬럼을 날짜 데이터 타입으로 변경하려면 어떻게 해야할까?&lt;/li&gt;&#xA;&lt;li&gt;약간의 트릭이 필요하다&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;데이터-생성&#34;&gt;데이터 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가상의 데이터를 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;year&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;2020&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;month&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;week&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;company&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;A회사&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;revenue_pct&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#ae81ff&#34;&gt;49&lt;/span&gt;},&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;year&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;2020&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;month&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;week&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;company&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;B회사&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;revenue_pct&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#ae81ff&#34;&gt;51&lt;/span&gt;},&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;year&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;2021&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;month&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;week&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;company&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;A회사&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;revenue_pct&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#ae81ff&#34;&gt;37&lt;/span&gt;},&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;year&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;2021&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;month&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;week&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;company&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;B회사&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;revenue_pct&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#ae81ff&#34;&gt;63&lt;/span&gt;},&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;year&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;2022&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;month&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;week&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;company&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;A회사&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;revenue_pct&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#ae81ff&#34;&gt;70&lt;/span&gt;},&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;year&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;2022&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;month&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;week&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;company&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;B회사&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;revenue_pct&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt;},&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame(data)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/06/dealing_dates/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;chatgpt-방식&#34;&gt;ChatGPT 방식&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;chatGPT에서 알려준 방식으로 진행해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;date&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_datetime(df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;year&amp;#34;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;astype(str) &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;week&amp;#34;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;astype(str) &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;1&amp;#39;&lt;/span&gt;, format&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;%Y%W%w&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/06/dealing_dates/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기대했던 것은 2022-12-1 일 방식인데, 2022-01-03이다.&lt;/li&gt;&#xA;&lt;li&gt;만약, 전체데이터가 있다면, date 날짜가 중복될 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;수정된-방식&#34;&gt;수정된 방식&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래와 같이 수정하도록 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;두번째 라인 코드 &lt;code&gt;7-6&lt;/code&gt; 은 일종의 특정 일자를 지정하는 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;date&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_datetime(df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;year&amp;#34;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;astype(str) &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;-&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;month&amp;#34;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;astype(str))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;date&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;date&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_timedelta(df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;week&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;, unit&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;D&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/06/dealing_dates/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>출간 기념, Streamlit으로 프로젝트 한방에 끝내기 with 파이썬(2023, Sara &amp; Evan)</title>
      <link>https://dschloe.github.io/programming/2023/06/book_intro/</link>
      <pubDate>Thu, 01 Jun 2023 01:03:28 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/06/book_intro/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;책을 출간하였습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/06/book_intro/book.jpg&#34; alt=&#34;book.jpg&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;streamlit이란&#34;&gt;Streamlit이란&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Streamlit은 데이터 분석가가 간단한 코드 몇줄로 빠르게 웹앱을 만들어 줄 수 있는 Python 라이브러리입니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;웹사이트 : &lt;a href=&#34;https://streamlit.io/&#34;&gt;https://streamlit.io/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;누가-읽어야-할까요&#34;&gt;누가 읽어야 할까요?&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 분석가 : 웹개발은 모르지만 대시보드를 만들어야 하는 분&lt;/li&gt;&#xA;&lt;li&gt;국비교육 수강중인 비전공자 : Java 웹개발로 머신러닝 플랫폼을 만들어야 하는 분&lt;/li&gt;&#xA;&lt;li&gt;개별적인 포트폴리오가 필요한 취업준비생 : ML/DL 알고리즘 익히는 것도 어려운데, 웹개발은 언제 배우죠?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;데모-페이지&#34;&gt;데모 페이지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기초문법 포함 &lt;code&gt;2달&lt;/code&gt;이면 충분히 아래 데모 페이지와 같이 만들 수 있습니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데모 페이지 : &lt;a href=&#34;https://dschloe-streamlit-book-seoul-app-w9me9j.streamlit.app/&#34;&gt;https://dschloe-streamlit-book-seoul-app-w9me9j.streamlit.app/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/06/book_intro/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Streamlit와 BigQuery 활용한 배포 (API)</title>
      <link>https://dschloe.github.io/programming/2023/05/streamlit_bigquery/</link>
      <pubDate>Thu, 18 May 2023 10:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/05/streamlit_bigquery/</guid>
      <description>&lt;h2 id=&#34;사전학습&#34;&gt;사전학습&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 글을 읽기전에 한번 &lt;a href=&#34;https://dschloe.github.io/python/2022/12/streamlit_bigquery/&#34;&gt;Streamlit 라이브러리를 활용한 배포 - BigQuery 사용&lt;/a&gt; 을 읽고 오기를 바란다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;실습-순서&#34;&gt;실습 순서&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;서울시 부동산 실거래가를 API 크롤링으로 가져온다.&lt;/li&gt;&#xA;&lt;li&gt;JSON 형태의 데이터를 pandas 데이터프레임으로 변환한다.&lt;/li&gt;&#xA;&lt;li&gt;데이터프레임을 BigQuery에 전체 데이터를 저장한다.&lt;/li&gt;&#xA;&lt;li&gt;저장된 데이터프레임을 BigQuery에서 일부 컬럼만 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;실습-1---api-크롤링에서-빅쿼리로-데이터-저장&#34;&gt;실습 1 - API 크롤링에서 빅쿼리로 데이터 저장&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;.streamlit/secrets.toml&lt;/code&gt; 을 열고 아래와 같이 설정한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;seoul_api_key&lt;/code&gt;는 서울 열린데이터 광장을 의미한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;gcp_service_account&lt;/code&gt; 아래 내용은 &lt;code&gt;api key&lt;/code&gt;를 &lt;code&gt;json&lt;/code&gt; 파일로 열면 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# .streamlit/secrets.toml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;public_data_api&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;seoul_api_key&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;your_api_key&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;gcp_service_account&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;type&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;service_account&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;project_id&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;your_project_id&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;private_key_id&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;your_private_key_id&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;private_key&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;your_private_key&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;client_email&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;your_client_email&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;client_id&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;your_client_id&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;auth_uri&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://accounts.google.com/o/oauth2/auth&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;token_uri&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://oauth2.googleapis.com/token&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;auth_provider_x509_cert_url&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://www.googleapis.com/oauth2/v1/certs&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;client_x509_cert_url&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;your_client_x509_cert_url&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;utils.py&lt;/code&gt;를 생성하고 아래와 같이 설정을 저장한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; streamlit &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; st&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.oauth2 &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; service_account&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;SERVICE_KEY &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;secrets&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;public_data_api&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;seoul_api_key&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Create API client.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;credentials &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; service_account&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Credentials&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;from_service_account_info(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Very Important Point&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;secrets[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;gcp_service_account&amp;#34;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;[aptCrawling.py](http://aptCrawling.py)&lt;/code&gt; 를 아래와 같이 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# -*- coding:utf-8 -*-&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; requests&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Google Cloud&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.cloud &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; bigquery&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas_gbq&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# API Key Settings&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; utils &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; credentials, SERVICE_KEY&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;client &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; bigquery&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Client(credentials&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;credentials)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;aptCrawling&lt;/span&gt;(SERVICE_KEY):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; j &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; range(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;http://openapi.seoul.go.kr:8088/&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;SERVICE_KEY&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;/json/tbLnOpendataRtmsV/&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;((j&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1000&lt;/span&gt;)&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;j&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1000&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(url)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        req &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; requests&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(url)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        content &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; req&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        con &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; content[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tbLnOpendataRtmsV&amp;#39;&lt;/span&gt;][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;row&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame(con)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;concat([data, result])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reset_index(drop&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    data[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;DEAL_YMD&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_datetime(data[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;DEAL_YMD&amp;#39;&lt;/span&gt;], format&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;%Y%m&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%d&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;save2BQ&lt;/span&gt;(data):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    table_name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;seoul.realestate&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    project_id &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;streamlit-dashboard-369600&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Save the DataFrame to BigQuery&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    pandas_gbq&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_gbq(data,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                      table_name,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                      project_id&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;project_id, if_exists&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;replace&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; aptCrawling(SERVICE_KEY)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    save2BQ(data)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;아래와 같이 실행해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ python aptCrawling.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;http://openapi.seoul.go.kr:8088/your_api_key/json/tbLnOpendataRtmsV/1/1000&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;100%|████████████████████████████████████████████████████████████| 1/1 &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;00:00&amp;lt;?, ?it/s&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 BigQuery 콘솔에서 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/05/streamlit_bigquery/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kaggle Wandb API 설정</title>
      <link>https://dschloe.github.io/programming/2023/05/kaggle_wandb/</link>
      <pubDate>Wed, 17 May 2023 11:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/05/kaggle_wandb/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Wandb에 접속 후, 활용해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;회원가입&#34;&gt;회원가입&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;회원가입을 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;사이트 : &lt;a href=&#34;https://wandb.ai/site&#34;&gt;https://wandb.ai/site&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/05/kaggle_wandb/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;여기에서 Github로 로그인을 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/05/kaggle_wandb/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Authorize wandb를 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/05/kaggle_wandb/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Create your account 항목에 Full name과 회사명을 입력한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/05/kaggle_wandb/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래와 같이 지정했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/05/kaggle_wandb/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교육 목적으로 선택했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/05/kaggle_wandb/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;팀 이름명을 지정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/05/kaggle_wandb/Untitled%206.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;추후에 설정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/05/kaggle_wandb/Untitled%207.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;API Key가 나타난다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/05/kaggle_wandb/Untitled%208.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;어딘가에 인증키를 저장해둔다. db3cce8abed215f7b3770979a0006861dbcfe4f2&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;추후-확인-시&#34;&gt;추후 확인 시&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;User Settings을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/05/kaggle_wandb/Untitled%209.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Scroll Down 하면 API 키값이 나타난다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/05/kaggle_wandb/Untitled%2010.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;캐글 노트북 상단 메뉴 [Add-ones] - [Secrets]를 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/05/kaggle_wandb/Untitled%2011.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Streamlit Matplotlib 한글폰트 적용 예제</title>
      <link>https://dschloe.github.io/programming/2023/05/streamlit_korean_fonts/</link>
      <pubDate>Tue, 16 May 2023 00:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/05/streamlit_korean_fonts/</guid>
      <description>&lt;h1 id=&#34;streamlit-matplotlib-seaborn-한글폰트-적용&#34;&gt;Streamlit Matplotlib-Seaborn 한글폰트 적용&lt;/h1&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;배포 시, matplotlib &amp;amp; seaborn 한글 폰트 적용 하는 방법에 대해 알아본다.&lt;/li&gt;&#xA;&lt;li&gt;나눔고딕 폰트를 적용해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;폰트-다운로드&#34;&gt;폰트 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사이트 : &lt;a href=&#34;https://fonts.google.com/specimen/Nanum+Gothic&#34;&gt;https://fonts.google.com/specimen/Nanum+Gothic&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/05/streamlit_korean_fonts/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;개발환경-세팅&#34;&gt;개발환경 세팅&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;git clone 명령어를 활용하여 프로젝트 repo를 다운로드 받는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/05/streamlit_korean_fonts/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가상환경을 설정한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;virtualenv venv&lt;/code&gt; 실행한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;source venv/Scripts/activate&lt;/code&gt; 실행하여 가상환경에 접속한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ virtualenv venv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;created virtual environment CPython3.9.13.final.0-64 in 606ms&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  creator CPython3Windows&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;dest&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\Y&lt;/span&gt;ONSAI&lt;span style=&#34;color:#ae81ff&#34;&gt;\D&lt;/span&gt;esktop&lt;span style=&#34;color:#ae81ff&#34;&gt;\s&lt;/span&gt;treamlit-korean-fonts&lt;span style=&#34;color:#ae81ff&#34;&gt;\v&lt;/span&gt;env, clear&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False, no_vcs_ignore&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False, global&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  seeder FromAppData&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;download&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False, pip&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;bundle, setuptools&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;bundle, wheel&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;bundle, via&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;copy, app_data_dir&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\Y&lt;/span&gt;ONSAI&lt;span style=&#34;color:#ae81ff&#34;&gt;\A&lt;/span&gt;ppData&lt;span style=&#34;color:#ae81ff&#34;&gt;\L&lt;/span&gt;ocal&lt;span style=&#34;color:#ae81ff&#34;&gt;\p&lt;/span&gt;ypa&lt;span style=&#34;color:#ae81ff&#34;&gt;\v&lt;/span&gt;irtualenv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    added seed packages: pip&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;23.1.2, setuptools&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;67.6.1, wheel&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;0.40.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  activators BashActivator,BatchActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ source venv/Scripts/activate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;requirements.txt 파일에 다음 라이브러리만 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;streamlit&#xA;matplotlib&#xA;seaborn&#xA;pandas&#xA;numpy&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;폰트-폴더-설정&#34;&gt;폰트 폴더 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;customFonts 폴더를 만들고 다운로드 받은 폴더를 추가한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/05/streamlit_korean_fonts/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>R 4.2.3 설치 - Windows</title>
      <link>https://dschloe.github.io/programming/2023/04/r_4_2_3_install/</link>
      <pubDate>Tue, 04 Apr 2023 18:38:15 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/04/r_4_2_3_install/</guid>
      <description>&lt;h2 id=&#34;r-프로그램-설치&#34;&gt;R 프로그램 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;싸이트 : &lt;a href=&#34;https://www.r-project.org/&#34;&gt;https://www.r-project.org/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;download R 클릭&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/04/R_4_2_3_install/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;0-Cloud 선택&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/04/R_4_2_3_install/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;각 OS에 맞는 버전 설치, 여기서는 Windows 선택&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/04/R_4_2_3_install/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Windows의 경우 아래와 같이 나타난다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/04/R_4_2_3_install/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Download R-4.2.3 for Windows 설치&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/04/R_4_2_3_install/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다운로드 받은 설치 파일을 관리자 권한으로 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/04/R_4_2_3_install/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;언어는 한국어로 해도 상관없지만, 필자는 주로 영어로 선택해서 했기 때문에, 영어로 진행하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/04/R_4_2_3_install/Untitled%206.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;특별하게 주의 깊게 살펴서 해야 할 항목은 없기 때문에, Next 버튼을 순차적으로 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/04/R_4_2_3_install/Untitled%207.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/04/R_4_2_3_install/Untitled%208.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Google Clound &amp; WSL2 Ubuntu 20.04 개발환경 설정</title>
      <link>https://dschloe.github.io/programming/2023/02/gcp_wsl2_settings/</link>
      <pubDate>Sun, 26 Feb 2023 10:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/02/gcp_wsl2_settings/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;GCP&lt;/code&gt;에서 개발환경을 설정하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Local PC&lt;/code&gt;에서 &lt;code&gt;GCP&lt;/code&gt;로 접속을 하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;사전준비&#34;&gt;사전준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;WSL2 Ubuntu 설치 과정은 여기에서 다루지 않는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/02/gcp_wsl2_settings/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;개발환경-설치&#34;&gt;개발환경 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Python3 설치한다. (본인에게 맞는 언어를 선택한다)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install -y python3 python3-pip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;python3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;최신-버전41701-gcloud-cli-설치&#34;&gt;최신 버전(417.0.1) gcloud CLI 설치&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참고자료 : &lt;a href=&#34;https://cloud.google.com/sdk/docs/install-sdk?hl=ko&#34;&gt;https://cloud.google.com/sdk/docs/install-sdk?hl=ko&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;gcloud CLI를 설치하기 전 운영체제가 다음 요구사항을 충족하는지 확인합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo apt-get install apt-transport-https ca-certificates gnupg&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;패키지 소스로 gcloud CLI 배포 URI를 추가합니다. 배포판에서 서명 옵션을 지원하는 경우 다음 명령어를 실행합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main&amp;#34;&lt;/span&gt; | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Google Cloud 공개 키를 가져옵니다. 배포판의 &lt;code&gt;apt-key&lt;/code&gt; 명령어가 &lt;code&gt;--keyring&lt;/code&gt; 인수를 지원하는 경우 다음 명령어를 실행합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;gcloud CLI를 업데이트하고 설치합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo apt-get update &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo apt-get install google-cloud-cli&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;shell-재시작-후-설치-확인&#34;&gt;Shell 재시작 후 설치 확인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 명령어를 통해 설치가 정상적으로 되었는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ exec -l $SHELL&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ gcloud version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Google Cloud SDK 419.0.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alpha 2023.02.17&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;beta 2023.02.17&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bq 2.0.85&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bundled-python3-unix 3.9.16&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;core 2023.02.17&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gcloud-crc32c 1.0.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gsutil 5.20&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;시작하기&#34;&gt;시작하기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;시작하려면 &lt;code&gt;[gcloud init](https://cloud.google.com/sdk/gcloud/reference/init?hl=ko)&lt;/code&gt;을 실행합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ gcloud init&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Welcome! This command will take you through the configuration of gcloud.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your current configuration has been set to: &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;default&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;You can skip diagnostics next time by using the following flag:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  gcloud init --skip-diagnostics&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Network diagnostic detects and fixes local network connection issues.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Checking network connection...done.                                                                      &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Reachability Check passed.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Network diagnostic passed &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;1/1 checks passed&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;You must log in to &lt;span style=&#34;color:#66d9ef&#34;&gt;continue&lt;/span&gt;. Would you like to log in &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;Y/n&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;?  Y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Go to the following link in your browser:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    https://accounts.google.com/o/oauth2/auth?response_type&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Enter authorization code: your_code&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;You are logged in as: &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;your_email@gmail.com&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Pick cloud project to use: &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;1&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; Enter a project ID&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;2&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; Create a new project&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Please enter numeric choice or text value &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;must exactly match list item&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;:  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your current project has been set to: &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;your_project_name&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Some things to try next:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;* Run &lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;gcloud --help&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt; to see the Cloud Platform services you can interact with. And run &lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;gcloud help COMMAND&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt; to get help on any gcloud command.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;* Run &lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;gcloud topic --help&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt; to learn about advanced features of the SDK like arg files and output formatting&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;* Run &lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;gcloud cheat-sheet&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt; to see a roster of go-to &lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;gcloud&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt; commands.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;wm-설정&#34;&gt;WM 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 화면에서 VM을 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/02/gcp_wsl2_settings/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Matplotlib 한글폰트 적용 예제 - Windows 10</title>
      <link>https://dschloe.github.io/programming/2023/02/matplotlib_koreanfont/</link>
      <pubDate>Wed, 22 Feb 2023 00:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/02/matplotlib_koreanfont/</guid>
      <description>&lt;h2 id=&#34;강의소개&#34;&gt;강의소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인프런에서 Streamlit 관련 강의를 진행하고 있습니다.&lt;/li&gt;&#xA;&lt;li&gt;인프런 : &lt;a href=&#34;https://inf.run/YPniH&#34;&gt;https://inf.run/YPniH&lt;/a&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/mQTuD7gx-hw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;한글폰트를 다운로드 받아서 matplotlib에 적용하는 코드를 작성해본다.&lt;/li&gt;&#xA;&lt;li&gt;주요 코드를 기억해서 업무에 활용해보도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;폰트-다운로드&#34;&gt;폰트 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;일반적으로 자주 사용하는 폰트를 다운로드 받는다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참고 : &lt;a href=&#34;https://www.kopus.org/biz-electronic-font2/&#34;&gt;https://www.kopus.org/biz-electronic-font2/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/02/matplotlib_koreanfont/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;스크롤을 내리면 &lt;code&gt;TTF 다운로드&lt;/code&gt; 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/02/matplotlib_koreanfont/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;폰트-설치&#34;&gt;폰트 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다운로드 받은 폰트를 압축을 푼다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/02/matplotlib_koreanfont/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>가계금융복지조사 데이터 수집</title>
      <link>https://dschloe.github.io/programming/2023/02/mdis_data_load/</link>
      <pubDate>Sat, 18 Feb 2023 00:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/02/mdis_data_load/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;통계청(&lt;a href=&#34;https://mdis.kostat.go.kr/&#34;&gt;https://mdis.kostat.go.kr/&lt;/a&gt;) 에서는 마이크로데이터를 제공하고 있음&lt;/li&gt;&#xA;&lt;li&gt;해당 사이트에서 회원가입은 필수로 진행해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;mdis-다운로드-서비스-이용&#34;&gt;MDIS 다운로드 서비스 이용&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;2022년 기준 가계금융복지조사 데이터를 다운로드 받는다.&lt;/li&gt;&#xA;&lt;li&gt;다운로드 서비스/소득소비자산/가계금융복지조사/가구마스터(제공)/2022년도를 아래와 같이 순차적으로 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/02/mdis_data_load/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/02/mdis_data_load/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/02/mdis_data_load/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다운로드받을 데이터의 형태와 해당 데이터를 입수할 때 필요한 ‘통계 툴 읽기 스크립트’를 선택한다.&lt;/li&gt;&#xA;&lt;li&gt;Python 스크립트는 제공하지 않아서, R로 선택을 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/02/mdis_data_load/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/02/mdis_data_load/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/02/mdis_data_load/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 그림에서 마이페이지를 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/02/mdis_data_load/Untitled%206.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/02/mdis_data_load/Untitled%207.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker Streamlit Sample</title>
      <link>https://dschloe.github.io/programming/2023/02/docker_streamlit_app_windows10/</link>
      <pubDate>Wed, 15 Feb 2023 00:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/02/docker_streamlit_app_windows10/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;도커를 활용하여 Streamlit 배포를 진행해본다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Dockerfile&lt;/code&gt;의 의미에 대해 이해한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;dockerfile&#34;&gt;Dockerfile&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Docker 이미지를 빌드하기 위한 일련의 명령어를 포함하는 텍스트 파일&lt;/li&gt;&#xA;&lt;li&gt;컨테이너에서 애플리케이션이 실행될 때 필요한 환경과 종속성을 정의하는 방법을 제공&lt;/li&gt;&#xA;&lt;li&gt;패키지 설치, 파일 복사 및 환경 변수 설정 등의 지시어가 포함&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;사전준비&#34;&gt;사전준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;github에 sample 프로젝트를 올려둔다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;예제 : &lt;a href=&#34;https://github.com/streamlit/streamlit-example&#34;&gt;https://github.com/streamlit/streamlit-example&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;필자는 독립적으로 &lt;code&gt;github repository&lt;/code&gt;를 작성했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;소스코드-예제&#34;&gt;소스코드 예제&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;소스코드는 크게 아래와 같이 작성했다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 app.py는 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import numpy as np &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import pandas as pd &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import matplotlib &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import sklearn &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import scipy&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import plotly&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import streamlit as st&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;def main&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st.write&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;np.__version__&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st.write&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;pd.__version__&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st.write&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;matplotlib.__version__&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st.write&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;sklearn.__version__&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st.write&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;scipy.__version__&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st.write&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;plotly.__version__&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    main&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;그 다음은 &lt;code&gt;requirements.txt&lt;/code&gt; 파일을 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;streamlit&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;numpy&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;scipy&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pandas&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;matplotlib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plotly&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;scikit-learn&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;작성된 코드가 잘 실행되는지 로컬호스트에서 확인을 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ streamlit run app.py &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  You can now view your Streamlit app in your browser.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Local URL: http://localhost:8501&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Network URL: http://192.168.0.49:8501&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/02/docker_streamlit_app_windows10/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker 기본 문법</title>
      <link>https://dschloe.github.io/programming/2023/02/docker_basic/</link>
      <pubDate>Tue, 14 Feb 2023 00:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/02/docker_basic/</guid>
      <description>&lt;h2 id=&#34;무작정-도커-시작하기&#34;&gt;무작정 도커 시작하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;docker&lt;/code&gt;에 &lt;code&gt;Ubuntu&lt;/code&gt;를 설치하고 실행해본다.&lt;/li&gt;&#xA;&lt;li&gt;현재 파일 목록들을 살펴본다.&lt;/li&gt;&#xA;&lt;li&gt;빠져 나올 때는 &lt;code&gt;EXIT&lt;/code&gt;를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\h&lt;/span&gt;uman&amp;gt;docker run -it ubuntu:18.04&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Unable to find image &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ubuntu:18.04&amp;#39;&lt;/span&gt; locally&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;18.04: Pulling from library/ubuntu&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;72d9f18d70f3: Pull complete&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Digest: sha256:a3765b4d74747b5e9bdd03205b3fbc4fa19a02781c185f97f24c8f4f84ed7bbf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Status: Downloaded newer image &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; ubuntu:18.04&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;root@7a7a49e2d83e:/# ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;root@7a7a49e2d83e:/#&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;현재 도커 컨테이너 리스트를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ docker ps -a&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;CONTAINER ID   IMAGE          COMMAND       CREATED        STATUS         PORTS     NAMES&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;7a7a49e2d83e   ubuntu:18.04   &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/bin/bash&amp;#34;&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;18&lt;/span&gt; hours ago   Up &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt; minutes             practical_euler&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;STATUS가 Docker 컨테이너 재진입&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;docker exec -it 7a7a49e2d83e /bin/bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;현재 운영중인 도커를 멈추고 싶다면 아래와 같이 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;docker stop 7a7a49e2d83e&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;재활성화 하고 싶다면 아래와 같이 작업한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;docker start 7a7a49e2d83e&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;컨테이너-이미지화&#34;&gt;컨테이너 이미지화&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;해당되는 도커를 이미지화 해서 배포하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;우선 docker login을 진행한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조 : &lt;a href=&#34;https://docs.docker.com/engine/reference/commandline/login/&#34;&gt;https://docs.docker.com/engine/reference/commandline/login/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ docker login -u your_id&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Password:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Login Succeeded&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Authenticating with existing credentials...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Login Succeeded&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Logging in with your password grants your terminal complete access to your account.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;For better security, log in with a limited-privilege personal access token. Learn more at https://docs.docker.com/go/access-tokens/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;기존 컨테이너 ID &lt;code&gt;7a7a49e2d83e&lt;/code&gt;를 이미지로 변환한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;새로운 &lt;code&gt;Repository&lt;/code&gt; 이름은 &lt;code&gt;mlearn&lt;/code&gt; 이라고 한다.&lt;/li&gt;&#xA;&lt;li&gt;태그 이름은 &lt;code&gt;latest&lt;/code&gt; 라고 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;docker commit 7a7a49e2d83e your_id/mlearn:latest&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;도커 이미지가 만들어졌는지 확인한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;ubuntu&lt;/code&gt; 이미지를 다운받았기 때문에 size가 비슷한 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ docker images&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;REPOSITORY        TAG       IMAGE ID       CREATED          SIZE&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;your_id/mlearn    latest    b26bdf7b071e   &lt;span style=&#34;color:#ae81ff&#34;&gt;29&lt;/span&gt; minutes ago   63.1MB&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ubuntu            18.04     5d2df19066ac   &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt; weeks ago      63.1MB&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hello-world       latest    feb5d9fea6a5   &lt;span style=&#34;color:#ae81ff&#34;&gt;16&lt;/span&gt; months ago    13.3kB&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;도커 이미지를 push 하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;docker push your_id/mlearn:latest&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;호스트-os의-홈-폴더-마운트하기&#34;&gt;호스트 OS의 홈 폴더 마운트하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;호스트 OS의 홈 폴더를 마운트 하기 위해서는 컨테이너 실행 시 &lt;code&gt;-v&lt;/code&gt; 옵션을 지정한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;:&lt;/code&gt; 기준으로 왼쪽은 로컬 PC, 오른쪽은 가상환경 내 경로임을 잊지 말자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ docker run -it -v C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\h&lt;/span&gt;uman&lt;span style=&#34;color:#ae81ff&#34;&gt;\D&lt;/span&gt;esktop&lt;span style=&#34;color:#ae81ff&#34;&gt;\d&lt;/span&gt;ockerhome:/home mlearn&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;home 폴더에서 temp 폴더를 생성하면 아래와 같이 폴더가 만들어지는 것을 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;root@5c950356cfc3:/# cd home/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;root@5c950356cfc3:/home# mkdir temp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/02/docker_basic/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Git 배치파일 Windows</title>
      <link>https://dschloe.github.io/programming/2023/02/git_batchfile_windows/</link>
      <pubDate>Fri, 10 Feb 2023 00:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/02/git_batchfile_windows/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;배치파일로 생성 후, 작업 스케줄러를 활용하여 자동으로 커밋을 실행하는 코드를 작성한다.&lt;/li&gt;&#xA;&lt;li&gt;다른 예제도 같이 살펴본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/settings/2022/11/windows_batch_file/&#34;&gt;윈도우 배치 파일 - 파이썬 가상환경 적용&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;배치파일-생성하기&#34;&gt;배치파일 생성하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;프로젝트 폴더에 배치파일을 실행한다.&lt;/li&gt;&#xA;&lt;li&gt;파일명은 &lt;code&gt;submit.bat&lt;/code&gt; 로 지정했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set root&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\h&lt;/span&gt;uman&lt;span style=&#34;color:#ae81ff&#34;&gt;\D&lt;/span&gt;esktop&lt;span style=&#34;color:#ae81ff&#34;&gt;\s&lt;/span&gt;treamlit-predictions&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;call git add .&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;call git commit -m &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;updated from batch file&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;call git push&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;배치파일-실행하기&#34;&gt;배치파일 실행하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 해당 폴더에서 &lt;code&gt;submit.bat&lt;/code&gt; 파일을 더블클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/02/git_batchfile_windows/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;더블 클릭하면 자동으로 배치파일이 실행되면서 해당 명령어들이 순차적으로 돌아가는 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/02/git_batchfile_windows/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Streamlit &amp; ChatGPT API 배포 예제</title>
      <link>https://dschloe.github.io/programming/2023/02/streamlit_openai_example/</link>
      <pubDate>Thu, 09 Feb 2023 01:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/02/streamlit_openai_example/</guid>
      <description>&lt;h2 id=&#34;강의소개&#34;&gt;강의소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인프런에서 Streamlit 관련 강의를 진행하고 있습니다.&lt;/li&gt;&#xA;&lt;li&gt;인프런 : &lt;a href=&#34;https://inf.run/YPniH&#34;&gt;https://inf.run/YPniH&lt;/a&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/mQTuD7gx-hw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ChatGPT API 배포 예제 흐름도를 보여주도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;Streamlit 회원가입, OpenAI 회원가입은 완료했다는 가정하에 본 블로그를 읽기 바란다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Streamlit : &lt;a href=&#34;https://share.streamlit.io/&#34;&gt;https://share.streamlit.io/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;OpenAI : &lt;a href=&#34;https://openai.com/api/&#34;&gt;https://openai.com/api/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;api-key-생성&#34;&gt;API Key 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 화면에서 View API Keys를 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/02/streamlit_openai_example/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 화면에서 &lt;code&gt;Create new secret key&lt;/code&gt; 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/02/streamlit_openai_example/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>지도시각화 예제 - QGIS를 활용한 geojson 파일 만들기</title>
      <link>https://dschloe.github.io/programming/2023/02/qgis_create_geojson/</link>
      <pubDate>Sun, 05 Feb 2023 00:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/02/qgis_create_geojson/</guid>
      <description>&lt;h2 id=&#34;강의소개&#34;&gt;강의소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인프런에서 Streamlit 관련 강의를 진행하고 있습니다.&lt;/li&gt;&#xA;&lt;li&gt;인프런 : &lt;a href=&#34;https://inf.run/YPniH&#34;&gt;https://inf.run/YPniH&lt;/a&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/mQTuD7gx-hw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;installation&#34;&gt;Installation&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Map 시각화를 위한 주요 라이브러리를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip install numpy pandas matplotlib seaborn jupyterlab geopandas pydeck&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;enabling-pydeck-for-jupyter&#34;&gt;Enabling pydeck for Jupyter&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Jupyter는 더 복잡한 서버/클라이언트 상호 작용을 허용할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;사용자 또는 시스템 관리자가 주피터에서 사용할 수 있도록 pydeck를 사용하도록 설정해야 한다.&lt;/li&gt;&#xA;&lt;li&gt;바이너리 데이터 전송, 데이터 선택 및 시간 경과에 따른 데이터 업데이트는 파이덱이 주피터 환경에서 사용 가능한 경우에만 대화식으로 작동할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;Jupyter 노트북의 Pydeck를 활성화하려면:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ jupyter nbextension install --sys-prefix --symlink --overwrite --py pydeckInstalling your_url -&amp;gt; pydeckRemoving: your_urlSymlinking:your_url -&amp;gt; your_url- Validating: ok    To initialize this nbextension in the browser every time the notebook &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;or other app&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; loads:          jupyter nbextension enable pydeck --py --sys-prefix&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;jupyter nbextension enable --sys-prefix --py pydeck&#xA;Enabling notebook extension pydeck/extensionRequires...&#xA;      - Validating: ok&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;법정동-병합-데이터-만들기&#34;&gt;법정동 병합 데이터 만들기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Python에서 법정동 병합 데이터 만드는 방법을 숙지하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;지도 데이터를 다운로드 받는다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조 : &lt;a href=&#34;http://www.gisdeveloper.co.kr/?p=2332&#34;&gt;http://www.gisdeveloper.co.kr/?p=2332&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;지도 경계 작업을 수행할 QGIS 파일을 다운로드 받는다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다운로드 : &lt;a href=&#34;https://qgis.org/ko/site/&#34;&gt;https://qgis.org/ko/site/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;참조 : &lt;a href=&#34;https://mjs1995.tistory.com/186&#34;&gt;https://mjs1995.tistory.com/186&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;qgis-설치&#34;&gt;QGIS 설치&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치는 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/02/qgis_create_geojson/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Streamlit 라이브러리를 활용한 배포 예제 - sqlite</title>
      <link>https://dschloe.github.io/programming/2023/02/streamlite_with_sqlite/</link>
      <pubDate>Wed, 01 Feb 2023 00:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/02/streamlite_with_sqlite/</guid>
      <description>&lt;h2 id=&#34;강의소개&#34;&gt;강의소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인프런에서 Streamlit 관련 강의를 진행하고 있습니다.&lt;/li&gt;&#xA;&lt;li&gt;인프런 : &lt;a href=&#34;https://inf.run/YPniH&#34;&gt;https://inf.run/YPniH&lt;/a&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/mQTuD7gx-hw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단한 프로젝트라도 DB와 연동하는 작업은 매우 중요하다.&lt;/li&gt;&#xA;&lt;li&gt;클라우드 DB를 사용하기 위해서는 클라우드 회원가입 등 번거로운 절차를 거쳐야 하며, 또한 비용도 추가될 수도 있다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;SQLite&lt;/code&gt;를 사용하면 간단한 DB 작업도 진행할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;Streamlit + SQLite 연동 작업을 간단히 하도록 해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;sqlite&#34;&gt;SQLite&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 핸들링을 하기 위해서는 Python 기초 문법, Pandas 라이브러리를 배워야 한다.&lt;/li&gt;&#xA;&lt;li&gt;Pandas는 본 블로그에서 CSV 파일을 읽고 저장을 하는데 사용을 하게 된다.&lt;/li&gt;&#xA;&lt;li&gt;SQLite는 입문자가 시작할 수 있는 가장 간단한 DB이다.&lt;/li&gt;&#xA;&lt;li&gt;개별 PC에 로컬 파일을 생성하며, 이 파일에 대해 PostgresDB와 거의 동일한 쿼리를 실행할 수 있습니다.&lt;/li&gt;&#xA;&lt;li&gt;웹싸이트 : &lt;a href=&#34;https://sqlite.org/index.html&#34;&gt;https://sqlite.org/index.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;streamlit&#34;&gt;Streamlit&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Python으로 웹을 가장 빠르게 만드는 방법은 Streamlit 이다.&lt;/li&gt;&#xA;&lt;li&gt;다중 페이지 등을 제작할 수 있는 방법론이 나오기도 했다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;****%5Bhttps://docs.streamlit.io/library/get-started/multipage-apps/create-a-multipage-app%5D(https://docs.streamlit.io/library/get-started/multipage-apps/create-a-multipage-app)&#34;&gt;****Create a multipage app&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;가장 좋은 장점은 SQLite를 사용할 수 있다는 점이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;streamlit-code&#34;&gt;Streamlit Code&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 전체 코드를 작성하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; sqlite3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; streamlit &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; st&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;create_connection&lt;/span&gt;(db_file):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34; create a database connection to the SQLite database&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        specified by the db_file&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    :param db_file: database file&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    :return: Connection object or None&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    conn &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;try&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        conn &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sqlite3&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connect(db_file)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;except&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Exception&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; e:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;write(e)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; conn&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;create_database&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;markdown(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;# Create Database&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;write(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;A database in SQLite is just a file on same server. &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    By convention their names always end in .db&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    db_filename &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;text_input(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;DB Filename&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    create_db &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;button(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Create Database&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; create_db:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; db_filename&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;endswith(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;.db&amp;#39;&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            conn &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; create_connection(db_filename)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;write(conn) &lt;span style=&#34;color:#75715e&#34;&gt;# success message?&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;: &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;write(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;DB filename must end with .db, please retry.&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;upload_data&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;markdown(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;# Upload Data&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# https://discuss.streamlit.io/t/uploading-csv-and-excel-files/10866/2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    sqlite_dbs &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [file &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; file &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;listdir(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;.&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; file&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;endswith(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;.db&amp;#39;&lt;/span&gt;)]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    db_filename &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;selectbox(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;DB Filename&amp;#39;&lt;/span&gt;, sqlite_dbs)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    table_name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;text_input(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Table Name to Insert&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    conn &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; create_connection(db_filename)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    uploaded_file &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;file_uploader(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Choose a file&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; uploaded_file &lt;span style=&#34;color:#f92672&#34;&gt;is&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;#read csv&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;try&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(uploaded_file)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_sql(name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;table_name, con&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;conn)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;write(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Data uploaded successfully. These are the first 5 rows.&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;dataframe(df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head(&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;except&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Exception&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; e:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;write(e)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;run_query&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;markdown(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;# Run Query&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    sqlite_dbs &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [file &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; file &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;listdir(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;.&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; file&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;endswith(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;.db&amp;#39;&lt;/span&gt;)]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    db_filename &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;selectbox(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;DB Filename&amp;#39;&lt;/span&gt;, sqlite_dbs)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    query &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;text_area(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SQL Query&amp;#34;&lt;/span&gt;, height&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    conn &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; create_connection(db_filename)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    submitted &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;button(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Run Query&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; submitted:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;try&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            query &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; conn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;execute(query)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            cols &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [column[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;] &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; column &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; query&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;description]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            results_df&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;from_records(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; query&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fetchall(), &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                columns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; cols&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;dataframe(results_df)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;except&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Exception&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; e:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;write(e)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sidebar&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;markdown(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;# Run Query&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;page_names_to_funcs &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Create Database&amp;#34;&lt;/span&gt;: create_database,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Upload Data&amp;#34;&lt;/span&gt;: upload_data,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Run Query&amp;#34;&lt;/span&gt;: run_query,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;selected_page &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sidebar&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;selectbox(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Select a page&amp;#34;&lt;/span&gt;, page_names_to_funcs&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;keys())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;page_names_to_funcs[selected_page]()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;코드-설명-1---python-packages&#34;&gt;코드 설명 1 - Python Packages&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;코드는 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; sqlite3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; streamlit &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; st&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;sqlite3&lt;/code&gt;와 &lt;code&gt;os&lt;/code&gt;는 Python의 내장 패키지이며 별도로 설치할 필요가 없다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pandas&lt;/code&gt;와  &lt;code&gt;streamlit&lt;/code&gt; 라이브러리는 &lt;code&gt;pip install ~&lt;/code&gt; 로 설치를 해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;코드-설명-2---create_connectiondb_file&#34;&gt;코드 설명 2 - create_connection(db_file)&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;코드는 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;create_connection&lt;/span&gt;(db_file):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34; create a database connection to the SQLite database specified by the db_file&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    :param db_file: database file&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    :return: Connection object or None&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    conn &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;try&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        conn &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sqlite3&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connect(db_file)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;except&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Exception&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; e:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;write(e)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; conn&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;해당 함수의 역할은 &lt;code&gt;db_file&lt;/code&gt; 파라미터 값을 받으면 &lt;code&gt;sqlite3.connect&lt;/code&gt; 연동이 되도록 설계 한다.&lt;/li&gt;&#xA;&lt;li&gt;만약, 해당 DB file이 정상적으로 연결이 되면 &lt;code&gt;conn&lt;/code&gt; 저장이 되도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;만약, 없다면 예외처리로 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;코드-설명-3---create_database-&#34;&gt;코드 설명 3 - create_database ()&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;코드는 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;create_database&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;markdown(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;# Create Database&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;write(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;A database in SQLite is just a file on same server. &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    By convention their names always end in .db&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    db_filename &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;text_input(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;DB Filename&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    create_db &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;button(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Create Database&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; create_db:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; db_filename&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;endswith(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;.db&amp;#39;&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            conn &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; create_connection(db_filename)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;write(conn) &lt;span style=&#34;color:#75715e&#34;&gt;# success message?&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;: &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;write(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;DB filename must end with .db, please retry.&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Create Database&lt;/code&gt; 버튼을 클릭하면&#xA;&lt;ul&gt;&#xA;&lt;li&gt;DB명이 정상적으로 &lt;code&gt;db명.db&lt;/code&gt; 처럼 들어오게 되면 &lt;code&gt;database&lt;/code&gt;가 생성이 된다.&lt;/li&gt;&#xA;&lt;li&gt;만약, 잘못된 이름이 입력되면 에러 메시지를 내보내어 다시 입력하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;코드-설명-4---update_data&#34;&gt;코드 설명 4 - update_data()&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;코드는 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;upload_data&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;markdown(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;# Upload Data&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# https://discuss.streamlit.io/t/uploading-csv-and-excel-files/10866/2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    sqlite_dbs &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [file &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; file &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;listdir(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;.&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; file&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;endswith(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;.db&amp;#39;&lt;/span&gt;)]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    db_filename &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;selectbox(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;DB Filename&amp;#39;&lt;/span&gt;, sqlite_dbs)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    table_name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;text_input(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Table Name to Insert&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    conn &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; create_connection(db_filename)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    uploaded_file &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;file_uploader(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Choose a file&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; uploaded_file &lt;span style=&#34;color:#f92672&#34;&gt;is&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;#read csv&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;try&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(uploaded_file)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_sql(name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;table_name, con&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;conn)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;write(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Data uploaded successfully. These are the first 5 rows.&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;dataframe(df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head(&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;except&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Exception&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; e:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;write(e)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 코드는 csv 파일을 업로드하여 특정 DB에 테이블로 추가하는 코드이다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;sqlite_dbs&lt;/code&gt; 객체는 저장된 &lt;code&gt;.db&lt;/code&gt; 종류를 보여준다. 즉, 데이터베이스를 지정하는 코드라고 보면 된다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;table_name&lt;/code&gt; 객체는 사용자가 직접 테이블 이름을 입력한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;uploaded_file&lt;/code&gt; 객체는 파일을 업로더 하도록 도와준다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;if 조건문&lt;/code&gt;은  정상적으로 파일이 업로드가 되면, pandas 데이터 프레임으로 읽고, table로 해당 객체를 저장하는 명령어를 의미한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;코드-설명-5---run_query&#34;&gt;코드 설명 5 - run_query()&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;코드는 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;run_query&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;markdown(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;# Run Query&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    sqlite_dbs &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [file &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; file &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;listdir(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;.&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; file&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;endswith(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;.db&amp;#39;&lt;/span&gt;)]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    db_filename &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;selectbox(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;DB Filename&amp;#39;&lt;/span&gt;, sqlite_dbs)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    query &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;text_area(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SQL Query&amp;#34;&lt;/span&gt;, height&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    conn &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; create_connection(db_filename)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    submitted &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;button(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Run Query&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; submitted:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;try&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            query &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; conn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;execute(query)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            cols &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [column[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;] &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; column &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; query&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;description]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            results_df&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;from_records(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; query&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fetchall(), &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                columns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; cols&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;dataframe(results_df)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;except&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Exception&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; e:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;write(e)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sidebar&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;markdown(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;# Run Query&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 코드는 &lt;code&gt;DB명을 지정 후&lt;/code&gt;, 쿼리를 작성하도록 하는 것이다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Run Query&lt;/code&gt; 버튼을 클릭하면, 해당 쿼리를 실행한다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 실행 결과는 크게 세가지로 나눠서 진행이 된다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;쿼리 실행 시, cols 객체는 결과 테이블의 컬럼명을 리스트로 저장한다.&lt;/li&gt;&#xA;&lt;li&gt;쿼리 실행 시, query.fetchall() 각 데이터를 리스트로 저장한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;각 쿼리는 &lt;code&gt;from_records&lt;/code&gt;를 통해서 데이터 프레임으로 저장된다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조 : &lt;a href=&#34;https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.from_records.html&#34;&gt;https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.from_records.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;코드-설명-6---사이드바&#34;&gt;코드 설명 6 - 사이드바&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;코드는 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    page_names_to_funcs &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Create Database&amp;#34;&lt;/span&gt;: create_database,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Upload Data&amp;#34;&lt;/span&gt;: upload_data,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Run Query&amp;#34;&lt;/span&gt;: run_query,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    selected_page &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; st&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sidebar&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;selectbox(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Select a page&amp;#34;&lt;/span&gt;, page_names_to_funcs&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;keys())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    page_names_to_funcs[selected_page]()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;__main__&amp;#39;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    main()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;page_names_to_funcs&lt;/code&gt; 딕셔너리 value 값에 저장된 것은 지정한 사용자 정의 함수이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;시연-이미지&#34;&gt;시연 이미지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Create Database 화면이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/02/streamlite_with_sqlite/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>서울시 부동산 실거래가 정보 API 크롤링 2 - 크롤링편 (XML)</title>
      <link>https://dschloe.github.io/programming/2023/01/seoul_real_estate_02/</link>
      <pubDate>Tue, 31 Jan 2023 19:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/01/seoul_real_estate_02/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Open API&lt;/code&gt;를 통해서 부동산 실거래가 정보를 pandas 데이터프레임으로 변환하는 코드를 구현한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;요청인자-확인&#34;&gt;요청인자 확인&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/01/seoul_real_estate_02/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;샘플 URL은 크게 2가지를 제공한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;서울시 부동산 실거래가 정보&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://openapi.seoul.go.kr:8088/(&#34;&gt;http://openapi.seoul.go.kr:8088/(&lt;/a&gt;인증키)/xml/tbLnOpendataRtmsV/1/5/&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;서울시 부동산 실거래가 정보(마곡일성트루엘플래닛)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://openapi.seoul.go.kr:8088/(&#34;&gt;http://openapi.seoul.go.kr:8088/(&lt;/a&gt;인증키)/xml/tbLnOpendataRtmsV/1/5/2022/11500/강서구/10500/일반/0758/0002/마곡일성트루엘플래닛/오피스텔&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;/li&gt;&#xA;&lt;li&gt;출력 예제는 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&amp;lt;?xml version=&amp;#34;1.0&amp;#34; encoding=&amp;#34;UTF-8&amp;#34;?&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;tbLnOpendataRtmsV&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;list_total_count&amp;gt;&lt;/span&gt;2639192&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/list_total_count&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;RESULT&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;CODE&amp;gt;&lt;/span&gt;INFO-000&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/CODE&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;MESSAGE&amp;gt;&lt;/span&gt;정상 처리되었습니다&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/MESSAGE&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/RESULT&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;row&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;ACC_YEAR&amp;gt;&lt;/span&gt;2023&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/ACC_YEAR&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;SGG_CD&amp;gt;&lt;/span&gt;11545&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/SGG_CD&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;SGG_NM&amp;gt;&lt;/span&gt;금천구&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/SGG_NM&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BJDONG_CD&amp;gt;&lt;/span&gt;10100&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BJDONG_CD&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BJDONG_NM&amp;gt;&lt;/span&gt;가산동&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BJDONG_NM&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;LAND_GBN&amp;gt;&lt;/span&gt;1&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/LAND_GBN&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;LAND_GBN_NM&amp;gt;&lt;/span&gt;대지&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/LAND_GBN_NM&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BONBEON&amp;gt;&lt;/span&gt;0776&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BONBEON&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BUBEON&amp;gt;&lt;/span&gt;0000&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BUBEON&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BLDG_NM&amp;gt;&lt;/span&gt;가산대명벨리온&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BLDG_NM&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;DEAL_YMD&amp;gt;&lt;/span&gt;20230127&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/DEAL_YMD&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;OBJ_AMT&amp;gt;&lt;/span&gt;12300&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/OBJ_AMT&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BLDG_AREA&amp;gt;&lt;/span&gt;16.28&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BLDG_AREA&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;TOT_AREA&amp;gt;&lt;/span&gt;25.630000&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/TOT_AREA&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;FLOOR&amp;gt;&lt;/span&gt;8&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/FLOOR&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;RIGHT_GBN/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;CNTL_YMD/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BUILD_YEAR&amp;gt;&lt;/span&gt;2017&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BUILD_YEAR&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;HOUSE_TYPE&amp;gt;&lt;/span&gt;오피스텔&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/HOUSE_TYPE&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;REQ_GBN&amp;gt;&lt;/span&gt;중개거래&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/REQ_GBN&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;RDEALER_LAWDNM&amp;gt;&lt;/span&gt;서울 금천구&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/RDEALER_LAWDNM&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/row&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;row&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;ACC_YEAR&amp;gt;&lt;/span&gt;2023&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/ACC_YEAR&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;SGG_CD&amp;gt;&lt;/span&gt;11500&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/SGG_CD&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;SGG_NM&amp;gt;&lt;/span&gt;강서구&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/SGG_NM&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BJDONG_CD&amp;gt;&lt;/span&gt;10500&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BJDONG_CD&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BJDONG_NM&amp;gt;&lt;/span&gt;마곡동&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BJDONG_NM&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;LAND_GBN&amp;gt;&lt;/span&gt;1&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/LAND_GBN&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;LAND_GBN_NM&amp;gt;&lt;/span&gt;대지&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/LAND_GBN_NM&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BONBEON&amp;gt;&lt;/span&gt;0793&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BONBEON&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BUBEON&amp;gt;&lt;/span&gt;0000&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BUBEON&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BLDG_NM&amp;gt;&lt;/span&gt;유림트윈파크&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BLDG_NM&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;DEAL_YMD&amp;gt;&lt;/span&gt;20230127&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/DEAL_YMD&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;OBJ_AMT&amp;gt;&lt;/span&gt;13900&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/OBJ_AMT&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BLDG_AREA&amp;gt;&lt;/span&gt;19.99&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BLDG_AREA&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;TOT_AREA&amp;gt;&lt;/span&gt;30.300000&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/TOT_AREA&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;FLOOR&amp;gt;&lt;/span&gt;6&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/FLOOR&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;RIGHT_GBN/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;CNTL_YMD/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BUILD_YEAR&amp;gt;&lt;/span&gt;2015&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BUILD_YEAR&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;HOUSE_TYPE&amp;gt;&lt;/span&gt;오피스텔&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/HOUSE_TYPE&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;REQ_GBN&amp;gt;&lt;/span&gt;중개거래&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/REQ_GBN&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;RDEALER_LAWDNM&amp;gt;&lt;/span&gt;서울 강서구&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/RDEALER_LAWDNM&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/row&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;row&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;ACC_YEAR&amp;gt;&lt;/span&gt;2023&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/ACC_YEAR&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;SGG_CD&amp;gt;&lt;/span&gt;11500&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/SGG_CD&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;SGG_NM&amp;gt;&lt;/span&gt;강서구&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/SGG_NM&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BJDONG_CD&amp;gt;&lt;/span&gt;10300&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BJDONG_CD&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BJDONG_NM&amp;gt;&lt;/span&gt;화곡동&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BJDONG_NM&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;LAND_GBN&amp;gt;&lt;/span&gt;1&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/LAND_GBN&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;LAND_GBN_NM&amp;gt;&lt;/span&gt;대지&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/LAND_GBN_NM&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BONBEON&amp;gt;&lt;/span&gt;1115&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BONBEON&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BUBEON&amp;gt;&lt;/span&gt;0034&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BUBEON&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BLDG_NM&amp;gt;&lt;/span&gt;casagio&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BLDG_NM&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;DEAL_YMD&amp;gt;&lt;/span&gt;20230127&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/DEAL_YMD&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;OBJ_AMT&amp;gt;&lt;/span&gt;22100&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/OBJ_AMT&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BLDG_AREA&amp;gt;&lt;/span&gt;29.98&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BLDG_AREA&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;TOT_AREA&amp;gt;&lt;/span&gt;21.430000&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/TOT_AREA&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;FLOOR&amp;gt;&lt;/span&gt;2&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/FLOOR&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;RIGHT_GBN/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;CNTL_YMD/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BUILD_YEAR&amp;gt;&lt;/span&gt;2019&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BUILD_YEAR&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;HOUSE_TYPE&amp;gt;&lt;/span&gt;연립다세대&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/HOUSE_TYPE&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;REQ_GBN&amp;gt;&lt;/span&gt;직거래&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/REQ_GBN&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;RDEALER_LAWDNM/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/row&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;row&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;ACC_YEAR&amp;gt;&lt;/span&gt;2023&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/ACC_YEAR&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;SGG_CD&amp;gt;&lt;/span&gt;11320&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/SGG_CD&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;SGG_NM&amp;gt;&lt;/span&gt;도봉구&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/SGG_NM&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BJDONG_CD&amp;gt;&lt;/span&gt;10600&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BJDONG_CD&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BJDONG_NM&amp;gt;&lt;/span&gt;방학동&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BJDONG_NM&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;LAND_GBN&amp;gt;&lt;/span&gt;1&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/LAND_GBN&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;LAND_GBN_NM&amp;gt;&lt;/span&gt;대지&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/LAND_GBN_NM&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BONBEON&amp;gt;&lt;/span&gt;0632&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BONBEON&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BUBEON&amp;gt;&lt;/span&gt;0023&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BUBEON&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BLDG_NM&amp;gt;&lt;/span&gt;(632-23)&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BLDG_NM&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;DEAL_YMD&amp;gt;&lt;/span&gt;20230126&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/DEAL_YMD&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;OBJ_AMT&amp;gt;&lt;/span&gt;12500&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/OBJ_AMT&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BLDG_AREA&amp;gt;&lt;/span&gt;41.58&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BLDG_AREA&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;TOT_AREA&amp;gt;&lt;/span&gt;30.760000&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/TOT_AREA&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;FLOOR&amp;gt;&lt;/span&gt;1&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/FLOOR&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;RIGHT_GBN/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;CNTL_YMD/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BUILD_YEAR&amp;gt;&lt;/span&gt;1986&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BUILD_YEAR&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;HOUSE_TYPE&amp;gt;&lt;/span&gt;연립다세대&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/HOUSE_TYPE&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;REQ_GBN&amp;gt;&lt;/span&gt;직거래&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/REQ_GBN&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;RDEALER_LAWDNM/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/row&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;row&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;ACC_YEAR&amp;gt;&lt;/span&gt;2023&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/ACC_YEAR&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;SGG_CD&amp;gt;&lt;/span&gt;11410&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/SGG_CD&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;SGG_NM&amp;gt;&lt;/span&gt;서대문구&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/SGG_NM&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BJDONG_CD&amp;gt;&lt;/span&gt;11200&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BJDONG_CD&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BJDONG_NM&amp;gt;&lt;/span&gt;대현동&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BJDONG_NM&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;LAND_GBN&amp;gt;&lt;/span&gt;1&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/LAND_GBN&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;LAND_GBN_NM&amp;gt;&lt;/span&gt;대지&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/LAND_GBN_NM&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BONBEON&amp;gt;&lt;/span&gt;0101&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BONBEON&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BUBEON&amp;gt;&lt;/span&gt;0007&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BUBEON&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BLDG_NM&amp;gt;&lt;/span&gt;혜우&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BLDG_NM&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;DEAL_YMD&amp;gt;&lt;/span&gt;20230126&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/DEAL_YMD&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;OBJ_AMT&amp;gt;&lt;/span&gt;80000&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/OBJ_AMT&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BLDG_AREA&amp;gt;&lt;/span&gt;129.27&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BLDG_AREA&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;TOT_AREA&amp;gt;&lt;/span&gt;0.000000&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/TOT_AREA&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;FLOOR&amp;gt;&lt;/span&gt;10&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/FLOOR&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;RIGHT_GBN/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;CNTL_YMD/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;BUILD_YEAR&amp;gt;&lt;/span&gt;1996&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/BUILD_YEAR&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;HOUSE_TYPE&amp;gt;&lt;/span&gt;아파트&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/HOUSE_TYPE&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;REQ_GBN&amp;gt;&lt;/span&gt;직거래&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/REQ_GBN&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;RDEALER_LAWDNM/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/row&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/tbLnOpendataRtmsV&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;각 요청인자에 대한 정보는 아래 싸이트에서 확인이 가능하다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조 : &lt;a href=&#34;https://data.seoul.go.kr/dataList/OA-21275/S/1/datasetView.do&#34;&gt;https://data.seoul.go.kr/dataList/OA-21275/S/1/datasetView.do&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/01/seoul_real_estate_02/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>서울시 부동산 실거래가 정보 API 크롤링 1 - 인증키 발급편</title>
      <link>https://dschloe.github.io/programming/2023/01/seoul_real_estate_01/</link>
      <pubDate>Mon, 30 Jan 2023 10:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/01/seoul_real_estate_01/</guid>
      <description>&lt;h2 id=&#34;회원가입&#34;&gt;회원가입&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;회원가입 : &lt;a href=&#34;https://www.seoul.go.kr/member/join/regist01.do?SITE_GB=GB071&#34;&gt;회원가입 | 서울특별시청 (seoul.go.kr)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/01/seoul_real_estate_01/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;모두 동의합니다를 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/01/seoul_real_estate_01/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/01/seoul_real_estate_01/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본인인증 절차를 거친다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/01/seoul_real_estate_01/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/01/seoul_real_estate_01/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;회원정보를 입력한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/01/seoul_real_estate_01/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;부가서비스 신청은 옵션이기 때문에 여기서 별도로 다루지는 않겠다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/01/seoul_real_estate_01/Untitled%206.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;회원가입이 완료가 되었다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/01/seoul_real_estate_01/Untitled%207.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;서울-열린데이터-광장-로그인&#34;&gt;서울 열린데이터 광장 로그인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 데이터 수집을 위해, 해당 사이트에 로그인을 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/01/seoul_real_estate_01/Untitled%208.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;찾고 싶은 데이터를 입력해주세요&lt;/code&gt; &lt;code&gt;부동산&lt;/code&gt;을 입력하고 검색을 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/01/seoul_real_estate_01/Untitled%209.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;여기에서 서울시 부동산 실거래가 정보 탭을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/01/seoul_real_estate_01/Untitled%2010.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;하단에 인증키 신청을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/01/seoul_real_estate_01/Untitled%2011.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;작성이 끝나면 바로 API 발급이 부여가 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/01/seoul_real_estate_01/Untitled%2012.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>OpenCV 개발환경 윈도우 버전</title>
      <link>https://dschloe.github.io/programming/2023/01/opencv_install_windows/</link>
      <pubDate>Thu, 19 Jan 2023 10:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2023/01/opencv_install_windows/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Windows에서 Opencv 개발환경을 구축한다.&lt;/li&gt;&#xA;&lt;li&gt;아나콘다를 설치하지 않고 구축한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;사전-준비&#34;&gt;사전 준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파이썬 설치는 이미 진행된 것으로 가정한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치 웹사이트 : &lt;a href=&#34;https://www.python.org/&#34;&gt;https://www.python.org/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;또한 가상환경을 이미 설치한 것으로 가정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;주요-설치-명령어&#34;&gt;주요 설치 명령어&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;opencv-python&lt;/code&gt;은 &lt;code&gt;OpenCV&lt;/code&gt;의 메인 모듈을 포함하고, &lt;code&gt;opencv-contrib-python&lt;/code&gt;은 메인 모듈과 &lt;code&gt;Extras&lt;/code&gt; 모듈을 포함한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치 시, &lt;code&gt;NumPy&lt;/code&gt;는 자동으로 설치 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;matplotlib&lt;/code&gt; 라이브러리는 파이썬 기본 시각화 라이브러리이다.&lt;/li&gt;&#xA;&lt;li&gt;pafy 라이브러리는 Youtube의 메타 데이터를 수집/검색하거나 다운로드 할 수 있도록 도와줌&lt;/li&gt;&#xA;&lt;li&gt;youtube_dl 라이브러리는 터미널에서 사용 가능한 라이브러리이다.&lt;/li&gt;&#xA;&lt;li&gt;pygame은 파이썬에서 제공하는 게임 라이브러리이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip install opencv-contrib-python&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip install matplotlib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip install pafy youtube_dl pygame&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;그런데, python 3.11.* 버전에서는 pygame이 설치가 안될 수 있다. 이럴 경우 &lt;code&gt;downgrade&lt;/code&gt;를 통해 설치를 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip install pygame --pre&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;테스트&#34;&gt;테스트&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 opencv 라이브러리가 잘 작동하는지 테스트 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;이미지-출력&#34;&gt;이미지 출력&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 &lt;code&gt;opencv&lt;/code&gt; 라이브러리를 활용하여 아래 코드를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; cv2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;imgFile &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;RGB_paint.png&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;img &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; cv2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;imread(imgFile)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cv2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;imshow(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;image&amp;#39;&lt;/span&gt;, img)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cv2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;waitKey()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cv2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;destroyAllWindows()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2023/01/opencv_install_windows/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>GROUP BY 1의 의미와 사용법 예제</title>
      <link>https://dschloe.github.io/programming/2022/12/groupby_1/</link>
      <pubDate>Thu, 22 Dec 2022 14:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/12/groupby_1/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;GROUP  BY 1의 구체적인 의미에 대해 파악을 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;데이터-개요&#34;&gt;데이터 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;주어진 데이터는 아래와 같다.&lt;/li&gt;&#xA;&lt;li&gt;이 데이터는 미국의 과거 및 현재 국회의원 데이터셋을 사용한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조 : &lt;a href=&#34;https://github.com/unitedstates/congress-legislators&#34;&gt;https://github.com/unitedstates/congress-legislators&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;SELECT&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;FROM&lt;/span&gt; legislators_terms;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/12/groupby_1/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;쿼리-예제&#34;&gt;쿼리 예제&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 쿼리는 리텐션을 구하는 쿼리를 작성하기 위해 작성했다.&lt;/li&gt;&#xA;&lt;li&gt;먼저, 각 의원이 첫 임기를 시작한 날짜를 first_term으로 정의한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;SELECT&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;id_bioguide&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;, &lt;span style=&#34;color:#66d9ef&#34;&gt;MIN&lt;/span&gt;(term_start) &lt;span style=&#34;color:#66d9ef&#34;&gt;AS&lt;/span&gt; first_term&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;FROM&lt;/span&gt; legislators_terms&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;GROUP&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;BY&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/12/groupby_1/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;GROUP BY 1&lt;/code&gt; 대신에 &lt;code&gt;GROUP BY id_bioguide&lt;/code&gt;로 변경하여 코드를 작성해본다.&lt;/li&gt;&#xA;&lt;li&gt;당연한 말이지만, 결과는 동일하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;SELECT&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;id_bioguide&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;, &lt;span style=&#34;color:#66d9ef&#34;&gt;MIN&lt;/span&gt;(term_start) &lt;span style=&#34;color:#66d9ef&#34;&gt;AS&lt;/span&gt; first_term&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;FROM&lt;/span&gt; legislators_terms&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;GROUP&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;BY&lt;/span&gt; id_bioguide;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/12/groupby_1/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Streamlit 라이브러리를 활용한 배포 - BigQuery 사용</title>
      <link>https://dschloe.github.io/programming/2022/12/streamlit_bigquery/</link>
      <pubDate>Fri, 02 Dec 2022 15:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/12/streamlit_bigquery/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Streamlit 라이브러리와 BigQuery를 사용하여 배포를 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;GCP 클라우드 프로젝트 설정 과정은 생략한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;bigquery-api-사용설정&#34;&gt;BigQuery API 사용설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Project API&lt;/code&gt;에서 &lt;code&gt;ENABLE APIS AND SERVICES&lt;/code&gt; 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/12/streamlit_bigquery/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;빅쿼리 API를 탐색한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;키워드명 : &lt;strong&gt;&lt;strong&gt;BigQuery API&lt;/strong&gt;&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/12/streamlit_bigquery/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/12/streamlit_bigquery/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;manage&lt;/code&gt; 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/12/streamlit_bigquery/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인증키를 다운로드 받도록 한다. (&lt;code&gt;CREATE CREDENTIALS&lt;/code&gt;클릭)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/12/streamlit_bigquery/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래와 같이 지정 후, 스크롤을 내려서 &lt;code&gt;NEXT&lt;/code&gt; 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/12/streamlit_bigquery/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;임의의 &lt;code&gt;Service account ID&lt;/code&gt; 작성 후, &lt;code&gt;CREATE AND CONTINUE&lt;/code&gt; 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/12/streamlit_bigquery/Untitled%206.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;프로젝트 권한을 부여 후, &lt;code&gt;CONTINUE&lt;/code&gt; 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/12/streamlit_bigquery/Untitled%207.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Streamlit 라이브러리를 활용한 배포 예제</title>
      <link>https://dschloe.github.io/programming/2022/11/streamlit_deploy/</link>
      <pubDate>Tue, 29 Nov 2022 09:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/11/streamlit_deploy/</guid>
      <description>&lt;h2 id=&#34;사전준비&#34;&gt;사전준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;배포를 하기 위해서는 필수로 진행해야 할 사전준비가 필요하다.&lt;/li&gt;&#xA;&lt;li&gt;Git &amp;amp; Github 설치 과정은 생략한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;step-01---streamlit-회원가입&#34;&gt;Step 01 - Streamlit 회원가입&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://share.streamlit.io/signup&#34;&gt;https://share.streamlit.io/signup&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;아래 이미지에서 &lt;code&gt;Continue with Github&lt;/code&gt; 와 같이 회원가입을 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/11/streamlit_deploy/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/11/streamlit_deploy/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Set up your account를 작성한다. 작성이 끝나면 다음과 같은 화면이 나오면 정상적으로 등록이 된 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/11/streamlit_deploy/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;step-02---github-레포-설정&#34;&gt;Step 02 - Github 레포 설정&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Gitub 레포를 설정한다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 주의해야 할 것은 Public으로 설정을 해야한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;.gitignore 파일도 Setting 하는 것이 좋다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/11/streamlit_deploy/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Google Analytics 4 설치 - Hugo 깃허브</title>
      <link>https://dschloe.github.io/programming/2022/11/ga4_install/</link>
      <pubDate>Sun, 27 Nov 2022 01:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/11/ga4_install/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Google Analytics 4 설치 과정을 정리하였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;사전준비&#34;&gt;사전준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 글에서는 Google Analytics 4 관련 설명은 생략한다.&lt;/li&gt;&#xA;&lt;li&gt;어느정도 관련 도구를 이해한다는 전제 조건에서 글을 정리한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;단계별-설치-과정&#34;&gt;단계별 설치 과정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;단계별로 설치 과정을 알아보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-ga4-추적-id-가져오기&#34;&gt;(1) GA4 추적 ID 가져오기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Google Analytics 4 에서 추적 코드를 받는다.&lt;/li&gt;&#xA;&lt;li&gt;추적 코드는 &lt;code&gt;Admin&lt;/code&gt; - &lt;code&gt;Data Streams&lt;/code&gt;에서 확인이 가능하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/11/ga4_install/figure_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;Add stream&lt;/code&gt; 에서 Hugo Website 주소를 입력한 후 설정을 하면 된다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;그럼 MEASUREMENT ID 확인이 가능하다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;G-XXXXXXX 시작하는 ID만 있으면 충분하다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/11/ga4_install/figure_02.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;그 외 나머지 GA4 설정은 관련 자료를 참고해서 설정한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>윈도우 배치 파일 - 파이썬 가상환경 적용</title>
      <link>https://dschloe.github.io/programming/2022/11/windows_batch_file/</link>
      <pubDate>Mon, 21 Nov 2022 01:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/11/windows_batch_file/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Python 가상환경을 만든 후, 자동으로 배치 파일이 돌아가도록 하는 코드를 작성하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-01---라이브러리-설치&#34;&gt;Step 01 - 라이브러리 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가상환경을 만든 후, pandas 라이브러리를 설치하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ virtualenv venv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ./venv/Scripts/activate &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;만약 에러가 아래와 에러가 생길 경우,&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ .\venv\Scripts\activate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.\venv\Scripts\activate &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt; 이 시스템에서 스크립트를 실&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;행할 수 없으므로 C:\Users\h\Desktop\python_batch\venv\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Scripts\activate.ps1 파일을 로드할 수 없습니다. 자세한&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; 내용은 about_Execution_Policies(https&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;//go.microsoft.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;com/fwlink/&lt;span style=&#34;color:#66d9ef&#34;&gt;?&lt;/span&gt;LinkID=&lt;span style=&#34;color:#ae81ff&#34;&gt;135170&lt;/span&gt;)를 참조하십시오.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;위치 줄&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; 문자&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+ .\venv\Scripts\activate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+ ~~~~~~~~~~~~~~~~~~~~~~~&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    + CategoryInfo          &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt; 보안 오류&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt; (&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;) [], PSSec&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;uri    tyException&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    + FullyQualifiedErrorId &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt; UnauthorizedAccess&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;PowerShell을 관리자 권한으로 실행 후 아래 코드를 입력한다. (Y 입력)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PS C:\WINDOWS\system32&amp;gt; Set-ExecutionPolicy Unrestricted&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;실행 규칙 변경&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;실행 정책은 신뢰하지 않는 스크립트로부터 사용자를 보호합니다. 실행 정책을 변경하면 about_Execution_Policies 도움말&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;항목(https&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;//go.microsoft.com/fwlink/&lt;span style=&#34;color:#66d9ef&#34;&gt;?&lt;/span&gt;LinkID=&lt;span style=&#34;color:#ae81ff&#34;&gt;135170&lt;/span&gt;)에 설명된 보안 위험에 노출될 수 있습니다. 실행 정책을&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;변경하시겠습니까?&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[&lt;span style=&#34;color:#66d9ef&#34;&gt;Y&lt;/span&gt;] 예(Y)  [&lt;span style=&#34;color:#66d9ef&#34;&gt;A&lt;/span&gt;] 모두 예(A)  [&lt;span style=&#34;color:#66d9ef&#34;&gt;N&lt;/span&gt;] 아니요(N)  [&lt;span style=&#34;color:#66d9ef&#34;&gt;L&lt;/span&gt;] 모두 아니요(L)  [&lt;span style=&#34;color:#66d9ef&#34;&gt;S&lt;/span&gt;] 일시 중단(S)  [?] 도움말 (기본값은 &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;N&amp;#34;&lt;/span&gt;)&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt; Y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-02---apppy-작성&#34;&gt;Step 02 - app.py 작성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;app.py는 아래와 같이 작성한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;iris.csv 파일은 검색하면 금방 나오기 때문에, 아무거나 다운로드 받는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/iris.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(df)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    main()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-03---myprojectcmd-파일-작성&#34;&gt;Step 03 - myproject.cmd 파일 작성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래와 같이 batchFile.bat 파일을 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;call C:\Users\h\Desktop\python_batch\venv\Scripts\activate&#xA;@cd C:\Users\h\Desktop\python_batch&#xA;python app.py&#xA;pause&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;step-04---환경변수-설정&#34;&gt;Step 04 - 환경변수 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;경로는 프로젝트에서 &lt;code&gt;venv&lt;/code&gt; 까지 지정하면 된다.&lt;/li&gt;&#xA;&lt;li&gt;이 부분은 각자 프로젝트가 다르기 때문에 본인 프로젝트 경로를 지정해야 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;C:\Users\h\Desktop\python_batch\venv&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/11/windows_batch_file/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Heroku를 활용한 카카오챗봇 배포 - DB조회편</title>
      <link>https://dschloe.github.io/programming/2022/11/heroku_db_query_iris/</link>
      <pubDate>Mon, 14 Nov 2022 15:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/11/heroku_db_query_iris/</guid>
      <description>&lt;h2 id=&#34;읽기-전-공지&#34;&gt;읽기 전 공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 글은 2022년 11월 28일까지만 유효합니다. 무료 버전이 사라지기 때문에, 앞으로 어떻게 될지는 현재 글 쓰는 시점에서는 모릅니다. 이 부분에 주의해서 참고 하시기를 바랍니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://inf.run/bqTn&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://inf.run/Uf3Z&#34;&gt;[비전공자 대환영] 캐글 데이터를 활용한 Optuna with MLFlow - 캐글다지기&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;머신러닝 하이퍼파라미터 튜닝 등을 배우고 싶다면 다음 강의를 참고하세요.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad2.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Heroku를 활용한 카카오챗봇 배포 - 응용편</title>
      <link>https://dschloe.github.io/programming/2022/11/heroku_deploy_final_calculation/</link>
      <pubDate>Thu, 10 Nov 2022 15:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/11/heroku_deploy_final_calculation/</guid>
      <description>&lt;h2 id=&#34;읽기-전-공지&#34;&gt;읽기 전 공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 글은 2022년 11월 28일까지만 유효합니다. 무료 버전이 사라지기 때문에, 앞으로 어떻게 될지는 현재 글 쓰는 시점에서는 모릅니다. 이 부분에 주의해서 참고 하시기를 바랍니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://inf.run/bqTn&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://inf.run/Uf3Z&#34;&gt;[비전공자 대환영] 캐글 데이터를 활용한 Optuna with MLFlow - 캐글다지기&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;머신러닝 하이퍼파라미터 튜닝 등을 배우고 싶다면 다음 강의를 참고하세요.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad2.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Heroku를 활용한 카카오챗봇 배포 - 인사말편</title>
      <link>https://dschloe.github.io/programming/2022/11/heroku_deploy_final_greeting/</link>
      <pubDate>Thu, 10 Nov 2022 11:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/11/heroku_deploy_final_greeting/</guid>
      <description>&lt;h2 id=&#34;읽기-전-공지&#34;&gt;읽기 전 공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 글은 2022년 11월 28일까지만 유효합니다. 무료 버전이 사라지기 때문에, 앞으로 어떻게 될지는 현재 글 쓰는 시점에서는 모릅니다. 이 부분에 주의해서 참고 하시기를 바랍니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://inf.run/bqTn&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://inf.run/Uf3Z&#34;&gt;[비전공자 대환영] 캐글 데이터를 활용한 Optuna with MLFlow - 캐글다지기&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;머신러닝 하이퍼파라미터 튜닝 등을 배우고 싶다면 다음 강의를 참고하세요.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad2.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Heroku를 활용한 배포 - DB 연결편</title>
      <link>https://dschloe.github.io/programming/2022/11/heroku_deploy_final/</link>
      <pubDate>Wed, 09 Nov 2022 01:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/11/heroku_deploy_final/</guid>
      <description>&lt;h2 id=&#34;읽기-전-공지&#34;&gt;읽기 전 공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 글은 2022년 11월 28일까지만 유효합니다. 무료 버전이 사라지기 때문에, 앞으로 어떻게 될지는 현재 글 쓰는 시점에서는 모릅니다. 이 부분에 주의해서 참고 하시기를 바랍니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://inf.run/bqTn&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://inf.run/Uf3Z&#34;&gt;[비전공자 대환영] 캐글 데이터를 활용한 Optuna with MLFlow - 캐글다지기&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;머신러닝 하이퍼파라미터 튜닝 등을 배우고 싶다면 다음 강의를 참고하세요.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad2.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker Installation in Windows</title>
      <link>https://dschloe.github.io/programming/2022/10/docker_windows/</link>
      <pubDate>Sat, 29 Oct 2022 14:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/10/docker_windows/</guid>
      <description>&lt;h2 id=&#34;사전-준비&#34;&gt;사전 준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;WSL2가 설치가 되어 있어야 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참고 : &lt;a href=&#34;https://dschloe.github.io/settings/wsl2_install_on_windows/&#34;&gt;https://dschloe.github.io/settings/wsl2_install_on_windows/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;도커-설치&#34;&gt;도커 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;해당 싸이트에 접속한다. (참조 : &lt;a href=&#34;https://www.docker.com/products/docker-desktop/&#34;&gt;https://www.docker.com/products/docker-desktop/&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/10/docker_windows/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;관리자 권한으로 실행&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/10/docker_windows/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치가 완료가 되면 Close and Log Out 버튼이 나오면 클릭하면 윈도우 로그아웃이 진행되기 때문에, 다시 재 로그인을 하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;아래 그림 메뉴 우측 상단에 Sign In 버튼을 클릭해 로그인을 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/10/docker_windows/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;도커 Settings 창에 들어가서 아래 그림처럼 변경후 Apply &amp;amp; Restart 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/10/docker_windows/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;테스트&#34;&gt;테스트&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PowerShell에서 도커 명령어가 실행되는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PS C:\Users\h&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; docker ps&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PS C:\Users\h&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; docker &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Docker version &lt;span style=&#34;color:#ae81ff&#34;&gt;20.10.20&lt;/span&gt;, build &lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;fdeb9c&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PS C:\Users\h&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; wsl &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;l &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;v&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  NAME                   STATE           VERSION&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; Ubuntu                 Running         &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  docker&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;desktop         Running         &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  docker&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;desktop&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;data    Running         &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>WSL2 설치 윈도우 10</title>
      <link>https://dschloe.github.io/programming/2022/10/wsl2_install_on_windows/</link>
      <pubDate>Tue, 25 Oct 2022 14:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/10/wsl2_install_on_windows/</guid>
      <description>&lt;h2 id=&#34;step-0-설정을-통해--hyper-v-역할-활성화&#34;&gt;Step 0. 설정을 통해  Hyper-V 역할 활성화&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Windows 기능 사용/사용 안 함&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/10/wsl2_install_on_windows/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;재부팅을 해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-1-wsl2-설치-과정&#34;&gt;Step 1. WSL2 설치 과정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Windows PowerShell 관리자로 실행 후 다음 명령어 입력&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 명령어 실행 후, 재부팅 필수&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi&#34;&gt;x64 머신용 최신 WSL2 Linux 커널 업데이트 패키지&lt;/a&gt;를 다운로드 받아 안내에 따라 설치합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/10/wsl2_install_on_windows/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Windows Powershell 열고 아래 코드 실행&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ wsl --set-default-version &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;WSL 2와의 주요 차이점에 대한 자세한 내용은 https://aka.ms/wsl2를 참조하세요&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;마이크로소프트-스토어에서-리눅스-설치&#34;&gt;&lt;strong&gt;마이크로소프트 스토어에서 리눅스 설치&lt;/strong&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;마이크로소프트 스토어(Microsoft Store) 앱을 열고 Ubuntu를 검색한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/10/wsl2_install_on_windows/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Excel with MySQL 연동</title>
      <link>https://dschloe.github.io/programming/2022/10/excel_with_mysql/</link>
      <pubDate>Sun, 09 Oct 2022 14:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/10/excel_with_mysql/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;엑셀 VBA 강의 중 Excel에서 MySQL DB와 연동하는 방법 의뢰를 받음&lt;/li&gt;&#xA;&lt;li&gt;엑셀은 MySQL과 연결이 (생각보다) 매우 쉽게 할 수 있도록 설계 되어 있었음&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;사전준비&#34;&gt;사전준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MySQL 설치 과정은 다음 자료를 참고한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://hongong.hanbit.co.kr/mysql-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C-%EB%B0%8F-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0mysql-community-8-0/&#34;&gt;https://hongong.hanbit.co.kr/mysql-다운로드-및-설치하기mysql-community-8-0/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;버전-확인&#34;&gt;버전 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 필자는 윈도우 11에서 작업중임&lt;/li&gt;&#xA;&lt;li&gt;필자의 엑셀 정보는 아래와 같음&#xA;&lt;ul&gt;&#xA;&lt;li&gt;[계정] - [Excel 정보] 클릭하면 아래와 같음&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/10/excel_with_mysql/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자의 MySQL 정보는 아래와 같음&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/10/excel_with_mysql/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;필수-설치-프로그램-다운로드-및-설치&#34;&gt;필수 설치 프로그램 다운로드 및 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.microsoft.com/ko-kr/download/details.aspx?id=48217&#34;&gt;https://www.microsoft.com/ko-kr/download/details.aspx?id=48217&lt;/a&gt;  에 접속 후 다운로드 받은 후 설치를 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/10/excel_with_mysql/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Plotly 그래프 - 막대 그래프 색상 변경</title>
      <link>https://dschloe.github.io/programming/2022/09/plotly_07_bar_color/</link>
      <pubDate>Mon, 19 Sep 2022 12:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/09/plotly_07_bar_color/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;특정 컬럼의 색상을 변경하는 코드를 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;기본-그래프-작성&#34;&gt;기본 그래프 작성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 아래와 같은 기본 그래프를 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; plotly.express &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; px &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tips &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; px&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;tips()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tips_mean_day &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; tips&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;groupby(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;day&amp;#34;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mean()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reset_index()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tips_mean_day&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/09/plotly_07_bar_color/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; px&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;bar(tips_mean_day, x &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;day&amp;#39;&lt;/span&gt;, y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tip&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/09/plotly_07_bar_color/newplot_01.png&#34; alt=&#34;newplot_01.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;sun-색상-변경&#34;&gt;Sun 색상 변경&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Sun 값의 막대 그래프의 색상을 변경하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 marker.color를 활용하여 색상을 먼저 지정한 뒤, X축 라벨의 순서를 후에 재정렬한 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;data[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;marker&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;color &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;#ff0000&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;#ff0000&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;black&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;#ff0000&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;layout&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;xaxis&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;categoryarray &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Thur&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Fri&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Sat&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Sun&amp;#34;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/09/plotly_07_bar_color/newplot_01%201.png&#34; alt=&#34;newplot_01.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;투명도-설정&#34;&gt;투명도 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Sun을 제외한 나머지 컬럼에 대한 투명도를 설정한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조 : &lt;a href=&#34;https://plotly.com/python-api-reference/generated/plotly.graph_objects.bar.html#plotly.graph_objects.bar.Marker.opacity&#34;&gt;https://plotly.com/python-api-reference/generated/plotly.graph_objects.bar.html#plotly.graph_objects.bar.Marker.opacity&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;data[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;marker&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;color &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;#ff0000&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;#ff0000&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;black&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;#ff0000&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;data[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;marker&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;opacity &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;0.3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0.3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0.3&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;layout&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;xaxis&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;categoryarray &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Thur&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Fri&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Sat&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Sun&amp;#34;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/09/plotly_07_bar_color/newplot_02.png&#34; alt=&#34;newplot_02.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Plotly 그래프 - 막대 그래프 X축 라벨 변경하기</title>
      <link>https://dschloe.github.io/programming/2022/09/plotly_06_bargraphedit_xlabel/</link>
      <pubDate>Wed, 14 Sep 2022 12:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/09/plotly_06_bargraphedit_xlabel/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기존에 작성한 그래프를 목적에 맞게 수정 및 변경할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;Figure Object를 활용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;데이터-불러오기-및-가공&#34;&gt;데이터 불러오기 및 가공&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;tips  데이터를 불러온 뒤, 데이터를 가공하여 평균 값을 구한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; plotly.express &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; px &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tips &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; px&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;tips()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tips_mean_day &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; tips&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;groupby(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;day&amp;#34;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mean()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reset_index()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tips_mean_day&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/09/plotly_06_bargraphedit_xlabel/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;막대-그래프-작성하기&#34;&gt;막대 그래프 작성하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기본 막대그래프를 작성한다.&lt;/li&gt;&#xA;&lt;li&gt;그런데, X축의 값을 보면 요일별로 정리가 안된 것을 확인할 수 있다. 이 부분을 수정하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; px&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;bar(tips_mean_day, x &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;day&amp;#39;&lt;/span&gt;, y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tip&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/09/plotly_06_bargraphedit_xlabel/newplot_01.png&#34; alt=&#34;newplot_01.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;막대-그래프의-x-라벨-변경하기&#34;&gt;막대 그래프의 X 라벨 변경하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 막대그래프의 순서를 변경하도록 한다. 세가지 방법이 있다. 첫번째는 최초 그래프를 생성할 때, category_orders 에 그래프의 순서를 지정하는 방법이 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; px&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;bar(tips_mean_day, x &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;day&amp;#39;&lt;/span&gt;, y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tip&amp;#39;&lt;/span&gt;, category_orders&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;{&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;day&amp;#34;&lt;/span&gt;: [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Thur&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Fri&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Sat&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Sun&amp;#34;&lt;/span&gt;]})&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/09/plotly_06_bargraphedit_xlabel/newplot_02.png&#34; alt=&#34;newplot_02.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Plotly 그래프 - Plotly Express</title>
      <link>https://dschloe.github.io/programming/2022/09/plotly_05_express/</link>
      <pubDate>Tue, 13 Sep 2022 12:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/09/plotly_05_express/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;High-Level API 형태인 Plotly Express에 대해 학습하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Plotly Express&lt;/code&gt;는 간단하게 말하면 &lt;code&gt;Pandas Dataframe&lt;/code&gt;과 직접적으로 연동이 가능하다.&lt;/li&gt;&#xA;&lt;li&gt;보다 직관적으로 그래프를 시각화할 수 있기 때문에 초기 밑그림을 그릴 때는 &lt;code&gt;Plotly Express&lt;/code&gt;로 작성하는 것이 좋다.&lt;/li&gt;&#xA;&lt;li&gt;전체 설명 참고자료 : &lt;a href=&#34;https://plotly.com/python/plotly-express/&#34;&gt;Plotly Express in Python&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;plotly-express-요약&#34;&gt;Plotly Express 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Plotly Express Function은 &lt;a href=&#34;%5Bhttps://plotly.com/python/graph-objects/%5D(https://plotly.com/python/graph-objects/)&#34;&gt;graph_objects&lt;/a&gt;를 기반으로 작성되며, 그래프의 반환값도 &lt;code&gt;plotly.graph_objects&lt;/code&gt; 형태이다.&lt;/li&gt;&#xA;&lt;li&gt;공식 문서에는 약 30개 이상이 그래프 유형이 존재하는 것으로 알려지고 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조 : &lt;a href=&#34;%5Bhttps://plotly.com/python-api-reference/plotly.express.html%5D(https://plotly.com/python-api-reference/plotly.express.html)&#34;&gt;plotly.express: high-level interface for data visualization&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;plotly-express-그래프-종류&#34;&gt;Plotly Express 그래프 종류&lt;/h2&gt;&#xA;&lt;p&gt;Plotly Express currently includes the following functions:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Plotly 그래프 - 테마 변경하기</title>
      <link>https://dschloe.github.io/programming/2022/09/plotly_04_theme_changes/</link>
      <pubDate>Mon, 12 Sep 2022 12:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/09/plotly_04_theme_changes/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;plotly 그래프의 테마를 변경하는 방법에 대해 알아본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;그래프-테마의-종류-확인하기&#34;&gt;그래프 테마의 종류 확인하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 기본 그래프를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; plotly.graph_objects &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; go&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;weekly_sales &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; dict({&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data&amp;#34;&lt;/span&gt;: [{&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;bar&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;x&amp;#34;&lt;/span&gt;: [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Monday&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Tuesday&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Wednesday&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Thursday&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Friday&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Saturday&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Sunday&amp;#34;&lt;/span&gt;], &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;y&amp;#34;&lt;/span&gt;: [&lt;span style=&#34;color:#ae81ff&#34;&gt;28&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;27&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;25&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;31&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;32&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;35&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;36&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }], &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;layout&amp;#34;&lt;/span&gt; : {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;title&amp;#34;&lt;/span&gt;: {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;text&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Sales of the week&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                          &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;x&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;0.5&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;font&amp;#34;&lt;/span&gt;: {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;color&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;red&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;size&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt;}}}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;})&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; go&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Figure(weekly_sales)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/09/plotly_04_theme_changes/newplot.png&#34; alt=&#34;newplot.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그래프 테마를 변경하기 위해 우선 종류를 확인해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plotly&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;io&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;templates&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Templates configuration&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-----------------------&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    Default template: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;plotly&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    Available templates:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ggplot2&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;seaborn&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;simple_white&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;plotly&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;plotly_white&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;plotly_dark&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;presentation&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;xgridoff&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ygridoff&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;gridon&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;none&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;그래프-테마-변경하기&#34;&gt;그래프 테마 변경하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그래프 테마를 변경하도록 하기 위해서는 간단하게 아래와 같이 적용하면 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;layout&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;template &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ggplot2&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/09/plotly_04_theme_changes/newplot_02.png&#34; alt=&#34;newplot_02.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Plotly 그래프 - 이미지 내보내기</title>
      <link>https://dschloe.github.io/programming/2022/09/plotly_03_exports/</link>
      <pubDate>Sun, 11 Sep 2022 12:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/09/plotly_03_exports/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Plotly 그래프를 다양한 방법으로 내보내는 코드를 작성해본다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그에서는 HTML, PNG 두가지 형태로 내보내는 방법을 숙지한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;html로-내보내기&#34;&gt;HTML로 내보내기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;plotly figures는 HTML 및 자바스크립트로 구성되어 있다.&lt;/li&gt;&#xA;&lt;li&gt;소스코드는 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;write_html(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;html_plot.html&amp;#39;&lt;/span&gt;, config&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;{&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;toImageButtonOptions&amp;#39;&lt;/span&gt;:{&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;format&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;svg&amp;#39;&lt;/span&gt;}})&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/09/plotly_03_exports/Screen_Shot_2022-09-11_at_4.00.12_PM.png&#34; alt=&#34;Screen Shot 2022-09-11 at 4.00.12 PM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;image로-내보내기&#34;&gt;image로 내보내기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이미지로 내보내기 위해서는 아래와 같이 소스코드를 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;write_image(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;path/to/image_file.svg&amp;#39;&lt;/span&gt;,height&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;600&lt;/span&gt;, width&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;850&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;그런데, 실행 시, 다음과 에러가 나올 경우 아래와 같이 라이브러리를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;---------------------------------------------------------------------------&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;ValueError&lt;/span&gt;                                Traceback (most recent call last)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;ipython&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;input&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;11&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;691564193&lt;/span&gt;a43&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;module&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;----&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;write_image(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;img/tutorial.png&amp;#39;&lt;/span&gt;, height &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;600&lt;/span&gt;, width &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;850&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;Library&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;Frameworks&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;Python&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;framework&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;Versions&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3.8&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;lib&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;python3&lt;span style=&#34;color:#ae81ff&#34;&gt;.8&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;site&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;packages&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;plotly&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;basedatatypes&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;py &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; write_image(self, &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;args, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;kwargs)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;3819&lt;/span&gt;         &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; plotly.io &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pio&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;3820&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;3821&lt;/span&gt;         &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; pio&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;write_image(self, &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;args, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;kwargs)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;3822&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;3823&lt;/span&gt;     &lt;span style=&#34;color:#75715e&#34;&gt;# Static helpers&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;Library&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;Frameworks&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;Python&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;framework&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;Versions&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3.8&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;lib&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;python3&lt;span style=&#34;color:#ae81ff&#34;&gt;.8&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;site&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;packages&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;plotly&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;io&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;_kaleido&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;py &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; write_image(fig, file, format, scale, width, height, validate, engine)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;266&lt;/span&gt;     &lt;span style=&#34;color:#75715e&#34;&gt;# -------------&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;267&lt;/span&gt;     &lt;span style=&#34;color:#75715e&#34;&gt;# Do this first so we don&amp;#39;t create a file if image conversion fails&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;268&lt;/span&gt;     img_data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; to_image(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;269&lt;/span&gt;         fig,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;270&lt;/span&gt;         format&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;format,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;Library&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;Frameworks&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;Python&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;framework&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;Versions&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3.8&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;lib&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;python3&lt;span style=&#34;color:#ae81ff&#34;&gt;.8&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;site&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;packages&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;plotly&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;io&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;_kaleido&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;py &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; to_image(fig, format, width, height, scale, validate, engine)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;132&lt;/span&gt;     &lt;span style=&#34;color:#75715e&#34;&gt;# Raise informative error message if Kaleido is not installed&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;133&lt;/span&gt;     &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; scope &lt;span style=&#34;color:#f92672&#34;&gt;is&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;134&lt;/span&gt;         &lt;span style=&#34;color:#66d9ef&#34;&gt;raise&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;ValueError&lt;/span&gt;(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;135&lt;/span&gt;             &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    136 Image export using the &amp;#34;kaleido&amp;#34; engine requires the kaleido package,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;ValueError: &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Image export using the &amp;#34;kaleido&amp;#34; engine requires the kaleido package,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;which can be installed using pip:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    $ pip install -U kaleido&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip install &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;U kaleido&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;다음 코드를 재 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;write_image(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;img/tutorial.png&amp;#39;&lt;/span&gt;, height &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;600&lt;/span&gt;, width &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;850&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;해당되는 경로에서 실제 이미지가 내보내기가 되었는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/09/plotly_03_exports/Screen_Shot_2022-09-11_at_4.18.57_PM.png&#34; alt=&#34;Screen Shot 2022-09-11 at 4.18.57 PM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Plotly 그래프 - Figure Object 이해하기</title>
      <link>https://dschloe.github.io/programming/2022/09/plotly_02_figure_object/</link>
      <pubDate>Sat, 10 Sep 2022 12:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/09/plotly_02_figure_object/</guid>
      <description>&lt;h2 id=&#34;figure-object&#34;&gt;Figure Object&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Figure Object는 크게 두가지로 구성(Attribute)이 되어 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;data : 여기에서는 그래프와 관련된 각종 정보가 담긴 데이터를 의미한다. 예를 들면, 산점도를 그린다면, X와 Y값의 정보를 확인할 수 있다. 그래프의 색상도 정의할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;layout : data외의 모든 것은 layout에 속한다. 기본적으로 layout은 그래프의 Styling 요소들이 들어 있다. 예를 들면, X축, Y축의 제목, 색상 등을 변경하고자 할 때는 layout에 접근해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;간단하게 Figure Object를 정의해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; plotly.graph_objects &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; go&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; go&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Figure()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/09/plotly_02_figure_object/tutorial_02.png&#34; alt=&#34;tutorial_02.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Plotly 그래프 시작하기 - 필수 사전 준비</title>
      <link>https://dschloe.github.io/programming/2022/09/plotly_01_started/</link>
      <pubDate>Fri, 09 Sep 2022 12:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/09/plotly_01_started/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Plotly 그래프의 기본 생태계를 익히도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;Plotly 그래프를 작성하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;라이브러리-불러오기&#34;&gt;라이브러리 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 코드는  모두 Local 가상환경을 설치한 후, Jupyter Lab에서 작성했다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;해당 설치 과정은 본 블로그에서는 생략한다.&lt;/li&gt;&#xA;&lt;li&gt;참조 : &lt;a href=&#34;https://dojang.io/mod/page/view.php?id=2470&#34;&gt;https://dojang.io/mod/page/view.php?id=2470&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;현재 plotly 버전은 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; plotly&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(plotly&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5.1.0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;로컬 환경에서 Jupyter notebook에서 plotly 그래프가 간혹 나타나지 않는 경우가 있다. 그런 경우, 아래와 같이 추가로 설치를 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;jupyter labextension install jupyterlab-plotly&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;설치가 완료되었다면, 아래와 같은 코드를 추가로 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; plotly&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plotly&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;offline&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;init_notebook_mode(connected&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;그래프-테스트&#34;&gt;그래프 테스트&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저, 아래와 같은 샘플 코드를 실행했을 때, Jupyter Lab 상에 그래프 창이 나오면 정상이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; plotly.graph_objects &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; go&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;weekly_sales &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; dict({&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data&amp;#34;&lt;/span&gt;: [{&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;bar&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;x&amp;#34;&lt;/span&gt;: [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Monday&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Tuesday&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Wednesday&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Thursday&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Friday&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Saturday&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Sunday&amp;#34;&lt;/span&gt;], &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;y&amp;#34;&lt;/span&gt;: [&lt;span style=&#34;color:#ae81ff&#34;&gt;28&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;27&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;25&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;31&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;32&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;35&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;36&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }], &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;layout&amp;#34;&lt;/span&gt; : {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;title&amp;#34;&lt;/span&gt;: {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;text&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Sales of the week&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                          &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;x&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;0.5&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;font&amp;#34;&lt;/span&gt;: {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;color&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;red&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;size&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt;}}}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;})&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; go&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Figure(weekly_sales)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/09/plotly_01_started/Screen_Shot_2022-09-08_at_5.28.19_PM.png&#34; alt=&#34;Screen Shot 2022-09-08 at 5.28.19 PM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Flask Web Resume Using Templates</title>
      <link>https://dschloe.github.io/programming/2022/09/flask_web_resume/</link>
      <pubDate>Sat, 03 Sep 2022 10:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/09/flask_web_resume/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Flask 웹개발을 통해 간단한 Resume를 작성해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;가상환경&#34;&gt;가상환경&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;프로젝트 폴더에 가상환경을 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;virtualenv venv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;created virtual environment CPython3.9.12.final.0-64 in 5343ms&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  creator CPython3Windows&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;dest&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\h&lt;/span&gt;uman&lt;span style=&#34;color:#ae81ff&#34;&gt;\D&lt;/span&gt;esktop&lt;span style=&#34;color:#ae81ff&#34;&gt;\f&lt;/span&gt;lask-resume-evan-examples&lt;span style=&#34;color:#ae81ff&#34;&gt;\v&lt;/span&gt;env, clear&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False, no_vcs_ignore&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False, global&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  seeder FromAppData&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;download&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False, pip&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;bundle, setuptools&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;bundle, wheel&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;bundle, via&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;copy,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;app_data_dir&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\h&lt;/span&gt;uman&lt;span style=&#34;color:#ae81ff&#34;&gt;\A&lt;/span&gt;ppData&lt;span style=&#34;color:#ae81ff&#34;&gt;\L&lt;/span&gt;ocal&lt;span style=&#34;color:#ae81ff&#34;&gt;\p&lt;/span&gt;ypa&lt;span style=&#34;color:#ae81ff&#34;&gt;\v&lt;/span&gt;irtualenv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    added seed packages: pip&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;22.2.2, setuptools&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;63.2.0, wheel&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;0.37.1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  activators BashActivator,BatchActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;라이브러리-설치&#34;&gt;라이브러리 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가상환경에 접속 후, &lt;code&gt;Flask&lt;/code&gt; 라이브러리를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip install Flask&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;[app.py](http://app.py)&lt;/code&gt; 에 다음과 같이 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; flask &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Flask, render_template&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;app &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Flask(__name__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;@app.route&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;index&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    first_name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Evan&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; render_template(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;index.html&amp;#39;&lt;/span&gt;, f_name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; first_name)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;templates&lt;/code&gt;에서 &lt;code&gt;index.html&lt;/code&gt; 파일을 만든다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dash App Using Flask Factory Pattern and Blueprint - 2</title>
      <link>https://dschloe.github.io/programming/2022/08/dash_app_factory_pattern_2/</link>
      <pubDate>Fri, 26 Aug 2022 09:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/08/dash_app_factory_pattern_2/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://inf.run/bqTn&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기존 Flask-Dash-Heroku 연동 예제를 업그레이드 한다.&lt;/li&gt;&#xA;&lt;li&gt;Flask Factory Application의 기본 개념 및 Blueprint의 기본 개념을 이해한다.&lt;/li&gt;&#xA;&lt;li&gt;Dash App을 Flask Factory Application에 맞추어 가공 한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;리뷰&#34;&gt;리뷰&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기존 필자가 작성해두었던 Flask-Dash-Heroku App을 리뷰한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조 : &lt;a href=&#34;https://dschloe.github.io/python/dash/flask_dash_heroku/&#34;&gt;Flask-Dash-Heroku 연동&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;참조 : &lt;a href=&#34;https://dschloe.github.io/python/dash/dash_app_factory_pattern_1/&#34;&gt;Dash App Using Flask Factory Pattern and Blueprint - 1&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;미리보기&#34;&gt;미리보기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음과 같이 메뉴가 있도록 코드를 작성할 예정이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/08/dash_app_factory_pattern_2/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dash App Using Flask Factory Pattern and Blueprint - 1</title>
      <link>https://dschloe.github.io/programming/2022/08/dash_app_factory_pattern_1/</link>
      <pubDate>Thu, 25 Aug 2022 09:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/08/dash_app_factory_pattern_1/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://inf.run/bqTn&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기존 Flask-Dash-Heroku 연동 예제를 업그레이드 한다.&lt;/li&gt;&#xA;&lt;li&gt;Flask Factory Application의 기본 개념 및 Blueprint의 기본 개념을 이해한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;리뷰&#34;&gt;리뷰&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기존 필자가 작성해두었던 Flask-Dash-Heroku App을 리뷰한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조 : &lt;a href=&#34;https://dschloe.github.io/python/dash/flask_dash_heroku/&#34;&gt;Flask-Dash-Heroku 연동&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;미리보기&#34;&gt;미리보기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음과 같이 메뉴가 있도록 코드를 작성할 예정이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/08/dash_app_factory_pattern_1/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Grafana 설치 및 대시보드 만들기 - 기본편</title>
      <link>https://dschloe.github.io/programming/2022/08/grafana_install/</link>
      <pubDate>Sat, 20 Aug 2022 13:11:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/08/grafana_install/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Grafana 대시보드를 다운로드 받고, 그래프를 작성한다.&lt;/li&gt;&#xA;&lt;li&gt;DB 연동을 통해 대시보드를 작성해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;설치&#34;&gt;설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Grafana Download 사이트 : &lt;a href=&#34;https://grafana.com/grafana/download?edition=oss&amp;amp;platform=windows&#34;&gt;https://grafana.com/grafana/download?edition=oss&amp;amp;platform=windows&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;오픈소스로 다운로드 받는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/08/grafana_install/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치가 끝난 이후에는 &lt;a href=&#34;http://localhost:3000/login%EC%97%90&#34;&gt;localhost:3000/login에&lt;/a&gt; 접속을 할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/08/grafana_install/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Sign in 페이지가 나오면 admin을 각각 입력하면, 패스워드 변경하는 입력이 나오면 그 때 각자 본인에게 맞는 패스워드로 변경한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 12345678로 지정했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;첫번째-대시보드&#34;&gt;첫번째 대시보드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Dashboard를 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/08/grafana_install/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Add a new panel를 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/08/grafana_install/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 그림에서 Data source를 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/08/grafana_install/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Query 탭에 Grafana를 선택한 상태에서 우측 상단의 Apply 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/08/grafana_install/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Flask-Dash-Heroku 연동</title>
      <link>https://dschloe.github.io/programming/2022/08/flask_dash_heroku/</link>
      <pubDate>Thu, 18 Aug 2022 09:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/08/flask_dash_heroku/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Flask 및 Dash를 활용하여 간단한 대시보드를 생성할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;기존 구현한 대시보드를 Heroku에 배포할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;사전준비&#34;&gt;사전준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파이썬 가상환경 설치 및 기존 라이브러리에 대한 이해가 어느정도 있음을 가정한 상태에서 본 블로그를 작성했음을 유의한다.&lt;/li&gt;&#xA;&lt;li&gt;Heroku 회원가입 및 로그인이 되어 있어야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-1-github-repo생성&#34;&gt;Step 1. Github Repo생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Github Repo 생성 시, 중복되지 않을 법한 이름으로 생성&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자 Repo : flask-heroku-dash-evan1234&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;해당 Repo를 로컬로 가져온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://github.com/your_name/your_unique_repo.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-2-가상환경-설치-및-주요-라이브러리-설치&#34;&gt;Step 2. 가상환경 설치 및 주요 라이브러리 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 가상환경을 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;virtualenv venv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;가상환경에 접속한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;source venv/Scripts/activate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;주요 라이브러리를 설치한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;pandas : 데이터 불러오기 및 가공&lt;/li&gt;&#xA;&lt;li&gt;dash &amp;amp; plotly : 동적 시각화 대시보드 제공 라이브러리&lt;/li&gt;&#xA;&lt;li&gt;Flask : Flask 웹 프레임워크&lt;/li&gt;&#xA;&lt;li&gt;SQLAlchemy : 데이터베이스 연동 프레임워크&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip install dash plotly Flask pandas gunicorn psycopg2-binary SQLAlchemy Flask-SQLAlchemy&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-3-기본-배포-테스트&#34;&gt;Step 3. 기본 배포 테스트&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 본격적인 코드에 앞서 기본적으로 배포가 되는지 확인한다.&lt;/li&gt;&#xA;&lt;li&gt;필요한 파일 &lt;a href=&#34;http://app.py&#34;&gt;&lt;code&gt;app.py&lt;/code&gt;&lt;/a&gt;, &lt;code&gt;Procfile&lt;/code&gt;, &lt;code&gt;runtime.txt&lt;/code&gt;, &lt;code&gt;requirements.txt&lt;/code&gt; 파일이 필요하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-apppy&#34;&gt;(1) app.py&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래와 같이 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# -*- coding:utf-8 -*-&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; flask &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Flask&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;app &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Flask(__name__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;@app.route&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;index&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hello World&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;2-procfile-파일-작성&#34;&gt;(2) Procfile 파일 작성&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;대문자 및 소문자 정확하게 기재해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;web: gunicorn app:app&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;3-runtimetxt-파일-작성&#34;&gt;(3) runtime.txt 파일 작성&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;python-3.9.12&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;4-requirementstxt-파일-작성&#34;&gt;(4) requirements.txt 파일 작성&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;해당 파일은 기존에 설치했던 라이브러리를 모두 호출하는 형식이어야 한다.&lt;/li&gt;&#xA;&lt;li&gt;프로젝트 &lt;code&gt;Root&lt;/code&gt; 경로에서 아래와 같이 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip freeze &amp;gt; requirements.txt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;전체 파일 구조를 확인하면 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;app.py  Procfile  README.md  requirements.txt  runtime.txt  venv/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;5-wsgipy--파일-작성&#34;&gt;(5) wsgi.py  파일 작성&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 wsgi는 일종의 프로토콜인데, Python Application이 웹 서버와 통신하기 위한 표준 인터페이스를 제공한다.&lt;/li&gt;&#xA;&lt;li&gt;자세한 내용은 관련 문서를 참조한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조 : &lt;a href=&#34;https://uwsgi-docs.readthedocs.io/en/latest/WSGIquickstart.html#deploying-flask&#34;&gt;https://uwsgi-docs.readthedocs.io/en/latest/WSGIquickstart.html#deploying-flask&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;코드는 다음과 같이 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; app &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; app&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    app&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;run(threaded&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;, port&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5000&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;5-배포-시작&#34;&gt;(5) 배포 시작&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 명령어를 순차적으로 입력하여 실행한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;heroku login 시, Web UI에서 실제 ID와 Password를 입력해야 한다.&lt;/li&gt;&#xA;&lt;li&gt;heroku create github repo와 동일하게 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;heroku login&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;heroku create your_project_repo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git add .&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git commit -m &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;initial updated&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git push &lt;span style=&#34;color:#75715e&#34;&gt;# github repo에 추가&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git push heroku main&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;6-배포-사이트-확인&#34;&gt;(6) 배포 사이트 확인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실제로 정상적으로 배포가 완료가 되었다면 실제 웹사이트 URL을 클릭 후, 아래와 같이 확인할 수 있어야 한다.&lt;/li&gt;&#xA;&lt;li&gt;배포가 진행이 안된다면, 그 다음 코드를 입력하는 것은 의미가 없기 때문에 확인 후 넘어가도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/08/flask_dash_heroku/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mecab 사용자 단어 사전 추가 in R, windows 10</title>
      <link>https://dschloe.github.io/programming/2022/08/mecab_user_dic_in_r/</link>
      <pubDate>Wed, 17 Aug 2022 17:38:15 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/08/mecab_user_dic_in_r/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Mecab에서 사용자 단어를 추가하고 직접 사용하는 예제를 만들어본다.&lt;/li&gt;&#xA;&lt;li&gt;사전에 Mecab은 설치가 되어 있다고 가정한다. 만약 처음 설치한다면, 다음 참조 링크에서 설치를 진행한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조 : &lt;strong&gt;&lt;strong&gt;&lt;a href=&#34;https://dschloe.github.io/r/newpkgs/rcppmecab_install/&#34;&gt;RcppMeCab 패키지 설치 (Windows)&lt;/a&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;문제점&#34;&gt;문제점&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래그림과 같이 ‘사회적경제’라는 단어가 잡히지 않는 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/08/mecab_user_dic_in_R/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;해결방법&#34;&gt;해결방법&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저, 사전 위치를 찾는다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;mecab &amp;gt; user-dic 폴더 내에 nnp.csv 파일을 찾는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/08/mecab_user_dic_in_R/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;서식에 관한 구체적인 내용을 참조링크를 확인한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://docs.google.com/spreadsheets/d/1-9blXKjtjeKZqsf4NzHeYJCrr49-nXeRF6D80udfcwY/edit#gid=1718487366&#34;&gt;품사태그 설명&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/08/mecab_user_dic_in_R/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;nnp.csv 파일을 메모장으로 열고 수정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/08/mecab_user_dic_in_R/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Flask Heroku Pandas Postgres 튜토리얼</title>
      <link>https://dschloe.github.io/programming/2022/08/flask_heroku_pandas_posgres/</link>
      <pubDate>Tue, 09 Aug 2022 10:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/08/flask_heroku_pandas_posgres/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://inf.run/bqTn&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Flask 기본적인 작동 원리를 배운다.&lt;/li&gt;&#xA;&lt;li&gt;Postgres와 SQLAlchemy를 활용한다.&lt;/li&gt;&#xA;&lt;li&gt;Heroku에 배포를 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;사전준비&#34;&gt;사전준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Github에 각 개인에게 맞는 Github Repo를 생성한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;주의 : 반드시 Unique하게 작성해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;가상환경 설정을 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;PostgreSQL DB 설정은 다음을 참조한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/settings/postgresql_install_windows/&#34;&gt;Postgre SQL Installation on Windows 10&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;virtualenv venv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;주요 라이브러리를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip install Flask psycopg2 SQLAlchemy pandas gunicorn&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;배포&#34;&gt;배포&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;프로젝트 시작 전에는 항상 선 배포를 하고 시작한다.&lt;/li&gt;&#xA;&lt;li&gt;app.py를 만들어본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# -*- coding: utf-8 -*-&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; flask &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Flask&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;app &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Flask(__name__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;@app.route&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;index&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hello World!&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;3개의 파일이 필요하다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Scikit-Learn ML Model with Java</title>
      <link>https://dschloe.github.io/programming/2022/08/sklearn2java/</link>
      <pubDate>Fri, 05 Aug 2022 11:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/08/sklearn2java/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://inf.run/vc9P&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;scikit-learn 모델을 JAVA에서 구동 시켜야 한다.&lt;/li&gt;&#xA;&lt;li&gt;크게 3가지 방법론이 존재한다.(원문 참조 : &lt;a href=&#34;https://towardsdatascience.com/moving-from-python-to-java-to-deploy-your-machine-learning-model-to-production-560ca7d9c870&#34;&gt;Moving from Python to Java to deploy your machine learning model to production&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;embed : Java 코드 내에서 직접 Python 코드 구현 방법. &lt;a href=&#34;https://www.jython.org/&#34;&gt;Jython&lt;/a&gt;을 이용하지만, 문제는 Scikit-Learn은 지원하지 않는다. 따라서 일반적으로 Flask API를 통해서 지원하기도 한다.&lt;/li&gt;&#xA;&lt;li&gt;transpile : Scikit-Learn 모델을 전달하는 방법. &lt;a href=&#34;https://github.com/nok/sklearn-porter&#34;&gt;sklearn-porter&lt;/a&gt;나 &lt;a href=&#34;https://github.com/BayesWitnesses/m2cgen&#34;&gt;m2cgen&lt;/a&gt;를 고려할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;redevelop : Scikit-Learn 모델을 &lt;a href=&#34;https://h2o.ai/&#34;&gt;H20&lt;/a&gt;나 Spark의 &lt;a href=&#34;https://spark.apache.org/mllib/&#34;&gt;MLib&lt;/a&gt;을 구현한 후 배포하는 방법이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;새로운-제안&#34;&gt;새로운 제안&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그러나 다각도로 여러 시도 및 라이브러리가 존재함.&lt;/li&gt;&#xA;&lt;li&gt;오늘 소개할 라이브러니느 sklearn2pmml임.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;github 참조 : &lt;a href=&#34;https://github.com/jpmml/sklearn2pmml&#34;&gt;https://github.com/jpmml/sklearn2pmml&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;JAVA가 설치가 되어 있어야 함.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;로컬 환경은 각자 환경변수를 추가해야 함. 이 부분은 생략함.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;구글 코랩에서는 아래와 같이 설치가 가능함.&lt;/li&gt;&#xA;&lt;li&gt;Java 코드 참조 : &lt;a href=&#34;https://medium.com/analytics-vidhya/using-scikit-learn-model-into-java-app-96d776b84c44&#34;&gt;Using scikit-learn model into Java app&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;apt update &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;q&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;apt&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;get install &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;q openjdk&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;11&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;jdk&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;headless&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;env JAVA_HOME &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/usr/lib/jvm/java-11-openjdk-amd64&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Hit:1 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64  InRelease&#xA;Get:2 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran40/ InRelease [3,626 B]&#xA;Get:3 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]&#xA;Hit:4 http://ppa.launchpad.net/c2d4u.team/c2d4u4.0+/ubuntu bionic InRelease&#xA;Hit:5 http://archive.ubuntu.com/ubuntu bionic InRelease&#xA;Get:6 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]&#xA;Ign:7 https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64  InRelease&#xA;Hit:8 http://ppa.launchpad.net/cran/libgit2/ubuntu bionic InRelease&#xA;Hit:9 https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64  Release&#xA;Hit:10 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu bionic InRelease&#xA;Get:11 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]&#xA;Hit:12 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu bionic InRelease&#xA;Get:14 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [2,867 kB]&#xA;Get:15 http://archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [1,075 kB]&#xA;Get:16 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [2,297 kB]&#xA;Get:17 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [3,302 kB]&#xA;Fetched 9,797 kB in 6s (1,534 kB/s)&#xA;Reading package lists...&#xA;Building dependency tree...&#xA;Reading state information...&#xA;49 packages can be upgraded. Run &#39;apt list --upgradable&#39; to see them.&#xA;Reading package lists...&#xA;Building dependency tree...&#xA;Reading state information...&#xA;openjdk-11-jdk-headless is already the newest version (11.0.15+10-0ubuntu0.18.04.1).&#xA;The following package was automatically installed and is no longer required:&#xA;  libnvidia-common-460&#xA;Use &#39;apt autoremove&#39; to remove it.&#xA;0 upgraded, 0 newly installed, 0 to remove and 49 not upgraded.&#xA;env: JAVA_HOME=&amp;quot;/usr/lib/jvm/java-11-openjdk-amd64&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치가 끝난 후에는 sklearn2pmml을 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install sklearn2pmml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/&#xA;Collecting sklearn2pmml&#xA;  Downloading sklearn2pmml-0.84.2.tar.gz (6.3 MB)&#xA;[K     |████████████████████████████████| 6.3 MB 5.1 MB/s &#xA;[?25hRequirement already satisfied: joblib&amp;gt;=0.13.0 in /usr/local/lib/python3.7/dist-packages (from sklearn2pmml) (1.1.0)&#xA;Requirement already satisfied: scikit-learn&amp;gt;=0.18.0 in /usr/local/lib/python3.7/dist-packages (from sklearn2pmml) (1.0.2)&#xA;Requirement already satisfied: sklearn-pandas&amp;gt;=0.0.10 in /usr/local/lib/python3.7/dist-packages (from sklearn2pmml) (1.8.0)&#xA;Requirement already satisfied: numpy&amp;gt;=1.14.6 in /usr/local/lib/python3.7/dist-packages (from scikit-learn&amp;gt;=0.18.0-&amp;gt;sklearn2pmml) (1.21.6)&#xA;Requirement already satisfied: scipy&amp;gt;=1.1.0 in /usr/local/lib/python3.7/dist-packages (from scikit-learn&amp;gt;=0.18.0-&amp;gt;sklearn2pmml) (1.4.1)&#xA;Requirement already satisfied: threadpoolctl&amp;gt;=2.0.0 in /usr/local/lib/python3.7/dist-packages (from scikit-learn&amp;gt;=0.18.0-&amp;gt;sklearn2pmml) (3.1.0)&#xA;Requirement already satisfied: pandas&amp;gt;=0.11.0 in /usr/local/lib/python3.7/dist-packages (from sklearn-pandas&amp;gt;=0.0.10-&amp;gt;sklearn2pmml) (1.3.5)&#xA;Requirement already satisfied: pytz&amp;gt;=2017.3 in /usr/local/lib/python3.7/dist-packages (from pandas&amp;gt;=0.11.0-&amp;gt;sklearn-pandas&amp;gt;=0.0.10-&amp;gt;sklearn2pmml) (2022.1)&#xA;Requirement already satisfied: python-dateutil&amp;gt;=2.7.3 in /usr/local/lib/python3.7/dist-packages (from pandas&amp;gt;=0.11.0-&amp;gt;sklearn-pandas&amp;gt;=0.0.10-&amp;gt;sklearn2pmml) (2.8.2)&#xA;Requirement already satisfied: six&amp;gt;=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil&amp;gt;=2.7.3-&amp;gt;pandas&amp;gt;=0.11.0-&amp;gt;sklearn-pandas&amp;gt;=0.0.10-&amp;gt;sklearn2pmml) (1.15.0)&#xA;Building wheels for collected packages: sklearn2pmml&#xA;  Building wheel for sklearn2pmml (setup.py) ... [?25l[?25hdone&#xA;  Created wheel for sklearn2pmml: filename=sklearn2pmml-0.84.2-py3-none-any.whl size=6298569 sha256=f6a564303dd11e9ce38b6c7b4ec4e8a4632499c61d3ee69f40070a1f1983ef80&#xA;  Stored in directory: /root/.cache/pip/wheels/bb/e4/71/d3c8f75fae8d7f387f82099ec8cdd6b83cf1dccaeb3561c7b6&#xA;Successfully built sklearn2pmml&#xA;Installing collected packages: sklearn2pmml&#xA;Successfully installed sklearn2pmml-0.84.2&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;샘플-코드-작성&#34;&gt;샘플 코드 작성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단한 모형을 구축한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.datasets &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; load_diabetes&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.tree &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; DecisionTreeRegressor&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.model_selection &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; train_test_split&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn2pmml &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; PMMLPipeline, sklearn2pmml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 데이터 불러오기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; load_diabetes()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame(columns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;feature_names, data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;data&amp;#39;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame(columns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;target&amp;#39;&lt;/span&gt;], data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;target&amp;#39;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 데이터셋 분리하기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train, X_test, y_train, y_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_test_split(X, y, test_size &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0.1&lt;/span&gt;, random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Pipeline 구축하기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pipeline &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; PMMLPipeline([ (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;regressor&amp;#39;&lt;/span&gt;, DecisionTreeRegressor()) ])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 모형 학습 시키기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pipeline&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train, y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;PMMLPipeline(steps=[(&#39;regressor&#39;, DecisionTreeRegressor())])&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 모형을 테스트 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.metrics &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; mean_absolute_error&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y_pred &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pipeline&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(X_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;MAE: &amp;#39;&lt;/span&gt;, mean_absolute_error(y_pred, y_test))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;MAE:  65.42222222222222&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 모형을 pmml 파일 형태로 저장한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 모델 내보내기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sklearn2pmml(pipeline, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;model.pmml&amp;#39;&lt;/span&gt;, with_repr &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;scikit-learn-model-into-java&#34;&gt;Scikit-Learn Model into JAVA&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;해당 모형을 이제 이제 Java에서 가져오도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;Java 코드에서는 &lt;a href=&#34;https://github.com/autodeployai/pmml4s&#34;&gt;pmml4s library&lt;/a&gt;를 이용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-Java&#34; data-lang=&#34;Java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; org.pmml4s.model.Model;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; java.util.*;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Main&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;final&lt;/span&gt; Model model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Model.&lt;span style=&#34;color:#a6e22e&#34;&gt;fromFile&lt;/span&gt;(Main.&lt;span style=&#34;color:#a6e22e&#34;&gt;class&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getClassLoader&lt;/span&gt;().&lt;span style=&#34;color:#a6e22e&#34;&gt;getResource&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;model.pmml&amp;#34;&lt;/span&gt;).&lt;span style=&#34;color:#a6e22e&#34;&gt;getFile&lt;/span&gt;());&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; Double &lt;span style=&#34;color:#a6e22e&#34;&gt;getRegressionValue&lt;/span&gt;(Map&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;String, Double&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; values) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        Object&lt;span style=&#34;color:#f92672&#34;&gt;[]&lt;/span&gt; valuesMap &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Arrays.&lt;span style=&#34;color:#a6e22e&#34;&gt;stream&lt;/span&gt;(model.&lt;span style=&#34;color:#a6e22e&#34;&gt;inputNames&lt;/span&gt;())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                .&lt;span style=&#34;color:#a6e22e&#34;&gt;map&lt;/span&gt;(values::get)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                .&lt;span style=&#34;color:#a6e22e&#34;&gt;toArray&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        Object&lt;span style=&#34;color:#f92672&#34;&gt;[]&lt;/span&gt; result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; model.&lt;span style=&#34;color:#a6e22e&#34;&gt;predict&lt;/span&gt;(valuesMap);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; (Double) result&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;0&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;static&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;(String&lt;span style=&#34;color:#f92672&#34;&gt;[]&lt;/span&gt; args) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        Main main &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; Main();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        Map&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;String, Double&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; values &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Map.&lt;span style=&#34;color:#a6e22e&#34;&gt;of&lt;/span&gt;(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;age&amp;#34;&lt;/span&gt;, 20d,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;sex&amp;#34;&lt;/span&gt;, 1d,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;bmi&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;100d,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;bp&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;200d,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;s1&amp;#34;&lt;/span&gt;, 1d,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;s2&amp;#34;&lt;/span&gt;, 2d,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;s3&amp;#34;&lt;/span&gt;, 3d,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;s4&amp;#34;&lt;/span&gt;, 4d,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;s5&amp;#34;&lt;/span&gt;, 5d,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;s6&amp;#34;&lt;/span&gt;, 6d&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        );&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;double&lt;/span&gt; predicted &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; main.&lt;span style=&#34;color:#a6e22e&#34;&gt;getRegressionValue&lt;/span&gt;(values);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        System.&lt;span style=&#34;color:#a6e22e&#34;&gt;out&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;println&lt;/span&gt;(predicted);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;실제 테스트를 진행하면 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;해당 웹사이트에 접속한 후, 작성한 모형을 올려본다.&lt;/li&gt;&#xA;&lt;li&gt;Java : &lt;a href=&#34;https://replit.com/@JhonatanSilva3/MachineLearningPipeline#Main.java&#34;&gt;https://replit.com/@JhonatanSilva3/MachineLearningPipeline#Main.java&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/08/sklearn2java/java01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Oracle CSV File Upload using CMD</title>
      <link>https://dschloe.github.io/programming/2022/07/oracle_csv_upload/</link>
      <pubDate>Fri, 22 Jul 2022 14:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/07/oracle_csv_upload/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;iris.csv 파일을 오라클 명령어를 통해서 업로드를 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;대부분의 명령어는 터미널에서 처리하였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;sqlplus-접속&#34;&gt;SQLPLUS 접속&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SQL에 접속한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/07/oracle_csv_upload/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;테이블-생성&#34;&gt;테이블 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;터미널에서 iris 테이블을 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/07/oracle_csv_upload/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TABLE&lt;/span&gt; iris (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;sepal_length INTEGER, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;sepal_width  INTEGER, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  petal_length INTEGER, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  petal_width  INTEGER, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  species      varchar2(&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;ctl-파일-생성&#34;&gt;ctl 파일 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;메모장에 아래와 같이 ctl 파일을 생성한다.&lt;/li&gt;&#xA;&lt;li&gt;파일명은 control.ctl이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;LOAD DATA&#xA;INFILE &amp;#39;iris.csv&amp;#39;&#xA;INTO TABLE iris&#xA;fields terminated by &amp;#39;,&amp;#39;&#xA;(&#xA;    sepal_length,&#xA;    sepal_width, &#xA;    petal_length,&#xA;    petal_width,&#xA;    species&#xA;)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;파일-업로드&#34;&gt;파일 업로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;sqlplus 접속을 종료한다.&lt;/li&gt;&#xA;&lt;li&gt;control.ctl 파일이 있는 경로로 이동한다. 만약, control.ctl.txt 형태로 저장이 되어 있다면, vscode 편집기에서 수정하는 것을 권한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/07/oracle_csv_upload/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>MLFlow with Scikit-Learn</title>
      <link>https://dschloe.github.io/programming/2022/07/mlflow_with_sklearn/</link>
      <pubDate>Mon, 11 Jul 2022 10:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/07/mlflow_with_sklearn/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Scikit-Learn 모델을 만든 후, MLFlow로 모델을 배포한다.&lt;/li&gt;&#xA;&lt;li&gt;머신러닝 코드에 대한 설명은 생략한다.&lt;/li&gt;&#xA;&lt;li&gt;가상환경 설정에 관한 내용도 생략한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;라이브러리-불러오기&#34;&gt;라이브러리 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기존 코드에서 mlflow 라이브러리만 추가한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;matplotlib inline&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; mpl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; sklearn&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; mlflow &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; mlflow.sklearn&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.linear_model &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; LogisticRegression&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.model_selection &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; train_test_split, KFold&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.preprocessing &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; StandardScaler&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.metrics &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; roc_auc_score, plot_roc_curve, confusion_matrix &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;numpy version &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pandas version &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;matplotlib version &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;mpl&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;seaborn version &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;sklearn version &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;sklearn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;MLFlow version &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;mlflow&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;numpy version 1.23.1&#xA;pandas version 1.4.3&#xA;matplotlib version 3.5.2&#xA;seaborn version 0.11.2&#xA;sklearn version 1.1.1&#xA;MLFlow version 1.27.0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;데이터-불러오기&#34;&gt;데이터 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터를 불러오도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;DATA_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;C:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\\&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Users&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\\&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;your_id&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\\&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Desktop&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\\&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;mlops_tutorial&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\\&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;data&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\\&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;creditcard.csv&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(DATA_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;   Time        V1        V2        V3        V4        V5        V6        V7  \&#xA;0   0.0 -1.359807 -0.072781  2.536347  1.378155 -0.338321  0.462388  0.239599   &#xA;1   0.0  1.191857  0.266151  0.166480  0.448154  0.060018 -0.082361 -0.078803   &#xA;2   1.0 -1.358354 -1.340163  1.773209  0.379780 -0.503198  1.800499  0.791461   &#xA;3   1.0 -0.966272 -0.185226  1.792993 -0.863291 -0.010309  1.247203  0.237609   &#xA;4   2.0 -1.158233  0.877737  1.548718  0.403034 -0.407193  0.095921  0.592941   &#xA;&#xA;         V8        V9  ...       V21       V22       V23       V24       V25  \&#xA;0  0.098698  0.363787  ... -0.018307  0.277838 -0.110474  0.066928  0.128539   &#xA;1  0.085102 -0.255425  ... -0.225775 -0.638672  0.101288 -0.339846  0.167170   &#xA;2  0.247676 -1.514654  ...  0.247998  0.771679  0.909412 -0.689281 -0.327642   &#xA;3  0.377436 -1.387024  ... -0.108300  0.005274 -0.190321 -1.175575  0.647376   &#xA;4 -0.270533  0.817739  ... -0.009431  0.798278 -0.137458  0.141267 -0.206010   &#xA;&#xA;        V26       V27       V28  Amount  Class  &#xA;0 -0.189115  0.133558 -0.021053  149.62      0  &#xA;1  0.125895 -0.008983  0.014724    2.69      0  &#xA;2 -0.139097 -0.055353 -0.059752  378.66      0  &#xA;3 -0.221929  0.062723  0.061458  123.50      0  &#xA;4  0.502292  0.219422  0.215153   69.99      0  &#xA;&#xA;[5 rows x 31 columns]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;로지스틱-모형-만들기&#34;&gt;로지스틱 모형 만들기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기존 코드를 참조하여 모델을 만든다.&lt;/li&gt;&#xA;&lt;li&gt;데이터셋 분리를 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;normal &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df[df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Class&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sample(frac&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.5&lt;/span&gt;, random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reset_index(drop&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;anomaly &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df[df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Class&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;normal_train, normal_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_test_split(normal, test_size &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0.2&lt;/span&gt;, random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;anomary_train, anomary_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_test_split(anomaly, test_size &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0.2&lt;/span&gt;, random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;normal_train, normal_validate &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_test_split(normal_train, test_size &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0.25&lt;/span&gt;, random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;anomary_train, anomary_validate &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_test_split(anomary_train, test_size &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0.25&lt;/span&gt;, random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;normal_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, normal_validate&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, anomary_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, anomary_validate&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;((85294, 31), (28432, 31), (294, 31), (99, 31))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;최종 학습, 테스트 및 검증 세트를 생성하기 위해 각각의 정상 및 이상 데이터 분할을 연결해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;concat((normal_train, anomary_train))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;concat((normal_test, anomary_test))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_validate &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;concat((normal_validate, anomary_validate))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y_train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array(X_train[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Class&amp;#34;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array(X_test[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Class&amp;#34;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y_validate &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array(X_validate[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Class&amp;#34;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; X_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Class&amp;#34;&lt;/span&gt;, axis &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; X_test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Class&amp;#34;&lt;/span&gt;, axis &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_validate &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; X_validate&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Class&amp;#34;&lt;/span&gt;, axis &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, X_validate&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, X_test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, y_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, y_validate&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, y_test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;((85588, 30), (28531, 30), (28531, 30), (85588,), (28531,), (28531,))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;표준화를 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;scaler &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; StandardScaler()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;scaler&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; scaler&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;transform(X_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; scaler&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;transform(X_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_validate &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; scaler&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;transform(X_validate)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;mlflow를-통한-학습-및-평가&#34;&gt;MLFlow를 통한 학습 및 평가&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MLFlow 기능으로 검증에 사용하는 사용자 정의 함수를 만들어 본다.&lt;/li&gt;&#xA;&lt;li&gt;여기서 핵심은&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;mlflow.log_metric()&lt;/code&gt; 함수를 통해 지표를 로깅할 수 있음&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;mlflow.log_artifact()&lt;/code&gt; 함수를 통해 그래프를 저장할 수 잇음.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;train&lt;/span&gt;(sk_model, X_train, y_train):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    sk_model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sk_model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train, y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    train_acc &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sk_model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;score(X_train, y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    mlflow&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;log_metric(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;train_acc&amp;#34;&lt;/span&gt;, train_acc)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Train Accuracy: (train_acc:.3%)&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;evaluate&lt;/span&gt;(sk_model, X_test, y_test):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    eval_acc &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sk_model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;score(X_test, y_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    preds &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sk_model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(X_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    auc_score &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; roc_auc_score(y_test, preds)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    mlflow&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;log_metric(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;eval_acc&amp;#34;&lt;/span&gt;, eval_acc)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    mlflow&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;log_metric(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;auc_score&amp;#34;&lt;/span&gt;, auc_score)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Auc Score : &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;auc_score&lt;span style=&#34;color:#e6db74&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;.3%&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Eval Score : &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;eval_acc&lt;span style=&#34;color:#e6db74&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;.3%&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    roc_plot &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; plot_roc_curve(sk_model, X_test, y_test, name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Scikit-Learn ROC Curve&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;savefig(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;sklearn_roc_plot.png&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;clf()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    conf_matrix &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; confusion_matrix(y_test, preds)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ax &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;heatmap(conf_matrix, annot&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;, fmt&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;g&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ax&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;invert_xaxis()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ax&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;invert_yaxis()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ylabel(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Actual&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;xlabel(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Predicted&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;title(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Confusion Matrix&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;savefig(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;sklearn_conf_matrix.png&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    mlflow&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;log_artifact(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;sklearn_roc_plot.png&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    mlflow&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;log_artifact(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;sklearn_conf_matrix.png&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;mlflow-실행-로깅-및-확인&#34;&gt;MLFlow 실행 로깅 및 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실제 실험 이름을 설정하고, MLFlow 실행 시작. 해당 코드를 모두 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 모델 설정&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sk_model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; LogisticRegression(random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;, max_iter&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;400&lt;/span&gt;, solver&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;newton-cg&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 실험 이름 설정&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mlflow&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;set_experiment(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;sklearn_experiment&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 해당 이름으로 실행 배치&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;with&lt;/span&gt; mlflow&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;start_run():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    train(sk_model, X_train, y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    evaluate(sk_model, X_test, y_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 하나의 MLFlow 실행 컨텍스트에서 모든 코드를 묶을 수 있음. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 참조 : https://mlflow.org/docs/latest/models.html#model-customization&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    mlflow&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sklearn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;log_model(sk_model, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;log_reg_model&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 본질적으로 모델과 지표가 로깅되는 현재 실행을 가져오고 출력함. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Model run: &amp;#34;&lt;/span&gt;, mlflow&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;active_run()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;info&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;run_uuid)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mlflow&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;end_run()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Train Accuracy: (train_acc:.3%)&#xA;Auc Score : 86.355%&#xA;Eval Score : 99.888%&#xA;&#xA;&#xA;C:\Users\your_id\Desktop\mlops_tutorial\venv\lib\site-packages\sklearn\utils\deprecation.py:87: FutureWarning: Function plot_roc_curve is deprecated; Function :func:`plot_roc_curve` is deprecated in 1.0 and will be removed in 1.2. Use one of the class methods: :meth:`sklearn.metric.RocCurveDisplay.from_predictions` or :meth:`sklearn.metric.RocCurveDisplay.from_estimator`.&#xA;  warnings.warn(msg, category=FutureWarning)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/07/mlflow_with_sklearn/output_14_2.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>주요 핵심 머신러닝 리뷰</title>
      <link>https://dschloe.github.io/programming/2022/07/ch04_main_ml_models/</link>
      <pubDate>Wed, 06 Jul 2022 10:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/07/ch04_main_ml_models/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://inf.run/vc9P&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;수강생들의 머신러닝을 활용한 웹 개발 프로젝트 전 복습 차원에서 준비함.&lt;/li&gt;&#xA;&lt;li&gt;주 내용은 주요 참고자료를 기반으로 작성하였으며, 참고자료에 없는 코드는 직접 작성하였음을 밝힘.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;가장-인기-있는-모델&#34;&gt;가장 인기 있는 모델&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;XGBoost와 LightGBM&lt;/li&gt;&#xA;&lt;li&gt;그 외, 선형회귀, 로지스틱 회귀, 결정 트리, 앙상블 학습, 랜덤 포레스트, XGBoost, LightGBM&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;선형-회귀&#34;&gt;선형 회귀&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;선형 회귀식을 활용한 모델&lt;/li&gt;&#xA;&lt;li&gt;회귀 계수와 절편을 찾는 것이 중요&lt;/li&gt;&#xA;&lt;li&gt;기초통계에서 다루는 선형 회귀와 기본적인 개념에서는 동일하나, 기초통계에서와 예측 모델에서의 쓰임새는 다르다는 것을 기억한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;데이터-생성&#34;&gt;데이터 생성&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;단순 선형 회귀식 $y = 3x + 4$에 근사한 데이터 50개 생성&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;random&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;seed(&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;) &lt;span style=&#34;color:#75715e&#34;&gt;# 시드값 고정&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;intercept &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 절편&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;slope &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 기울기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 변동성 주기 위해 노이즈 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;noise &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;random&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;randn(&lt;span style=&#34;color:#ae81ff&#34;&gt;50&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 50개의 x값 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;x &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;random&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rand(&lt;span style=&#34;color:#ae81ff&#34;&gt;50&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;) &lt;span style=&#34;color:#75715e&#34;&gt;# 0과 5사이의 실숫값 50개 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; slope &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; x &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; intercept &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; noise&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 데이터 프레임 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame({&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;X&amp;#39;&lt;/span&gt;: x[:, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;], &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Y&amp;#39;&lt;/span&gt;: y[:, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]})&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;          X          Y&#xA;0  0.794848   8.148596&#xA;1  0.551876   6.055784&#xA;2  3.281648  14.823682&#xA;3  0.690915   8.313637&#xA;4  0.982912   8.816293&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 데이터를 시각화로 구현한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig, ax &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;subplots()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ax&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;scatter(data[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;X&amp;#39;&lt;/span&gt;], data[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Y&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/07/ch04_main_ml_models/output_6_0.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>django Web 개발 - IRIS Prediction</title>
      <link>https://dschloe.github.io/programming/2022/06/django_iris_sklearn/</link>
      <pubDate>Sat, 25 Jun 2022 10:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/06/django_iris_sklearn/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Python Django와 Sklearn을 활용하여 간단한 iris prediction 웹을 만들어본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;사전준비&#34;&gt;사전준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;머신러닝 기본 이론 및 원리는 어느정도 알고 있다고 가정한다.&lt;/li&gt;&#xA;&lt;li&gt;Django 앱에 대해 어느정도 알고 있다고 가정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;무엇을-배우는가&#34;&gt;무엇을 배우는가?&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;머신러닝 모델을 활용하여 배포하는 과정을 배운다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;가상환경-설정&#34;&gt;가상환경 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가상환경을 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ virtualenv venv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;created virtual environment CPython3.9.1.final.0-64 in 475ms&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  creator CPython3Posix&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;dest&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/Users/evan/Desktop/django-iris-tutorial/venv, clear&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False, no_vcs_ignore&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False, global&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  seeder FromAppData&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;download&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False, pip&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;bundle, setuptools&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;bundle, wheel&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;bundle, via&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;copy, app_data_dir&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/Users/evan/Library/Application Support/virtualenv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    added seed packages: pip&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;22.1.1, setuptools&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;62.3.2, wheel&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;0.37.1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;만들어진 가상환경에 접속한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ source venv/bin/activate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;크게 3개의 라이브러리를 설치한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;jupyterlab : 머신러닝 개발 과정을 진행할 에디터로 활용한다.&lt;/li&gt;&#xA;&lt;li&gt;sklearn : 머신러닝 개발 관련 라이브러리이다.&lt;/li&gt;&#xA;&lt;li&gt;django : django 웹 프레임워크 라이브러리이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ pip install jupyterlab sklearn django&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;머신러닝-개발&#34;&gt;머신러닝 개발&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;iris 데이터를 불러오고 sklearn을 활용하여 모형 개발을 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;모형 개발 시, 주요 Feature Engineering 과정은 생략한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-모형-개발&#34;&gt;(1) 모형 개발&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;jupyterlab을 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ python -m jupyterlab&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;아래와 같이 코드를 입력한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Module 불러오기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; pandas &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; read_csv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.model_selection &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; train_test_split&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.svm &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; SVC&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 데이터셋 불러오기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/iris.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 독립변수와 종속변수 분리&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df[[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;sepal_length&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;sepal_width&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;petal_length&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;petal_width&amp;#39;&lt;/span&gt;]]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;classification&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 훈련데이터와 종속데이터 분리&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train, X_test, Y_train, Y_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_test_split(X, y, test_size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.20&lt;/span&gt;, random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 모형 학습&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; SVC(gamma&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;auto&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train, Y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 모형 예측&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sepal_length &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; float(&lt;span style=&#34;color:#ae81ff&#34;&gt;1.5&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sepal_width &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; float(&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;petal_length &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; float(&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;petal_width &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; float(&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict([[sepal_length,sepal_width,petal_length,petal_width]])  &lt;span style=&#34;color:#75715e&#34;&gt;# input must be 2D array&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(result)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[&amp;#39;Iris-virginica&amp;#39;]&#xA;/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/sklearn/base.py:445: UserWarning: X does not have valid feature names, but SVC was fitted with feature names&#xA;  warnings.warn(&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;2-모형-저장&#34;&gt;(2) 모형 저장&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;pickle을 통해 모형 저장을 할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_pickle(model, &lt;span style=&#34;color:#e6db74&#34;&gt;r&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;models/svc_model.pickle&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;django-시작&#34;&gt;Django 시작&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;django 웹사이트 프로젝트를 시작한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ django-admin startproject iris&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ cd iris&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ python manage.py startapp predict&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;settingspy&#34;&gt;settings.py&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;iris/settings.py&lt;/code&gt;를 열고 아래와 같이 수정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Application definition&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;INSTALLED_APPS &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;django.contrib.admin&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;django.contrib.auth&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;django.contrib.contenttypes&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;django.contrib.sessions&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;django.contrib.messages&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;django.contrib.staticfiles&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;predict&amp;#39;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;urlspy&#34;&gt;urls.py&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;iris/urls.py&lt;/code&gt;를 열고 아래와 같이 수정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; django.contrib &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; admin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; django.urls &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; path, include&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;urlpatterns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    path(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;admin/&amp;#39;&lt;/span&gt;, admin&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;site&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;urls),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    path(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;, include(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;predict.urls&amp;#39;&lt;/span&gt;, namespace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;predict&amp;#39;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;predict/urls.py&lt;/code&gt;를 새로 생성하고 아래와 같이 코드를 추가한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; django.urls &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; path&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; . &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; views&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;app_name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;predict&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;urlpatterns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    path(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;, views&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict, name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;predict&amp;#39;&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;viewspy&#34;&gt;views.py&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 &lt;code&gt;predict/views.py&lt;/code&gt;에서 &lt;code&gt;predict&lt;/code&gt; 함수를 만들어 백엔드 처리를 진행하고, 최종 결괏값을 &lt;code&gt;predict.html&lt;/code&gt;로 돌려주는 함수를 구현할 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; django.shortcuts &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; render&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Create your views here.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;predict&lt;/span&gt;(request):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; render(request, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;predict.html&amp;#39;&lt;/span&gt;, {})&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;predicthtml&#34;&gt;predict.html&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;predict/templates&lt;/code&gt; 폴더를 만들고, &lt;code&gt;predict.html&lt;/code&gt; 파일을 새로 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hello&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;predict.html 파일이 잘 열리는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; iris$ python manage.py runserver &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/django_iris_sklearn/tutorial_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>MySQL Database 생성 및 권한 부여</title>
      <link>https://dschloe.github.io/programming/2022/06/mysql_database_creation/</link>
      <pubDate>Sun, 19 Jun 2022 09:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/06/mysql_database_creation/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MySQL 관리자 계정인 root로 DB 관리시스템에 접속 후 DB를 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;사전준비&#34;&gt;사전준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MySQL 설치 및 환경변수를 설정한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조 : &lt;a href=&#34;https://dschloe.github.io/settings/mysql_installation_windows11/&#34;&gt;https://dschloe.github.io/settings/mysql_installation_windows11/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;db-생성&#34;&gt;DB 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;콘솔창에서 MySQL 명령을 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;C&lt;/span&gt;:&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;\&lt;/span&gt;Users&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;\&lt;/span&gt;your_name&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;mysql &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;uroot &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;p&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Enter password: &lt;span style=&#34;color:#f92672&#34;&gt;****&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Welcome &lt;span style=&#34;color:#66d9ef&#34;&gt;to&lt;/span&gt; the MySQL monitor.  Commands &lt;span style=&#34;color:#66d9ef&#34;&gt;end&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;with&lt;/span&gt; ; &lt;span style=&#34;color:#66d9ef&#34;&gt;or&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;\&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;g&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your MySQL &lt;span style=&#34;color:#66d9ef&#34;&gt;connection&lt;/span&gt; id &lt;span style=&#34;color:#66d9ef&#34;&gt;is&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;19&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Server &lt;span style=&#34;color:#66d9ef&#34;&gt;version&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;.&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;.&lt;span style=&#34;color:#ae81ff&#34;&gt;28&lt;/span&gt; MySQL Community Server &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; GPL&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Copyright (&lt;span style=&#34;color:#66d9ef&#34;&gt;c&lt;/span&gt;) &lt;span style=&#34;color:#ae81ff&#34;&gt;2000&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2022&lt;/span&gt;, Oracle &lt;span style=&#34;color:#66d9ef&#34;&gt;and&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;or&lt;/span&gt; its affiliates.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Oracle &lt;span style=&#34;color:#66d9ef&#34;&gt;is&lt;/span&gt; a registered trademark &lt;span style=&#34;color:#66d9ef&#34;&gt;of&lt;/span&gt; Oracle Corporation &lt;span style=&#34;color:#66d9ef&#34;&gt;and&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;or&lt;/span&gt; its&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;affiliates. Other &lt;span style=&#34;color:#66d9ef&#34;&gt;names&lt;/span&gt; may be trademarks &lt;span style=&#34;color:#66d9ef&#34;&gt;of&lt;/span&gt; their respective&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;owners.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;Type&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;help;&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;or&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;\h&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; help. &lt;span style=&#34;color:#66d9ef&#34;&gt;Type&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;\c&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;to&lt;/span&gt; clear the &lt;span style=&#34;color:#66d9ef&#34;&gt;current&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;input&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;statement&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mysql&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;DB 생성 명령을 실행한다. DB명은 &lt;code&gt;homestead&lt;/code&gt; 로 지정했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mysql&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;DATABASE&lt;/span&gt; homestead;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Query OK, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;row&lt;/span&gt; affected (&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;.&lt;span style=&#34;color:#ae81ff&#34;&gt;01&lt;/span&gt; sec)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;db사용자-생성&#34;&gt;DB사용자 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;해당 DB에 접근할 수 있는 계정을 생성한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;{username}과 {password}에 각 개인이 원하는대로 지정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mysql&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;USER&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;{username}&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;@&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;localhost&amp;#39;&lt;/span&gt; IDENTIFIED &lt;span style=&#34;color:#66d9ef&#34;&gt;BY&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;{password}&amp;#39;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mysql&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;USER&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;{username}&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;@&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;%&amp;#39;&lt;/span&gt; IDENTIFIED &lt;span style=&#34;color:#66d9ef&#34;&gt;BY&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;{password}&amp;#39;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;필자는 아래와 같이 했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mysql&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;USER&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;homestead&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;@&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;localhost&amp;#39;&lt;/span&gt; IDENTIFIED &lt;span style=&#34;color:#66d9ef&#34;&gt;BY&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;secret&amp;#39;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Query OK, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;rows&lt;/span&gt; affected (&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;.&lt;span style=&#34;color:#ae81ff&#34;&gt;02&lt;/span&gt; sec)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;생성한 계정에 권한을 부여한다.&lt;/li&gt;&#xA;&lt;li&gt;첫번째 명령어는 해당 DB에 모든 권한을 부여한다는 뜻이다.&lt;/li&gt;&#xA;&lt;li&gt;두번째 명령어는 DBMS에 적용하라는 의미를 말하며, 반드시 실행해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mysql&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;GRANT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;ALL&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;PRIVILEGES&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;ON&lt;/span&gt; homestead.&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TO&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;homestead&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;@&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;localhost&amp;#39;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Query OK, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;rows&lt;/span&gt; affected (&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;.&lt;span style=&#34;color:#ae81ff&#34;&gt;00&lt;/span&gt; sec)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mysql&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; FLUSH &lt;span style=&#34;color:#66d9ef&#34;&gt;PRIVILEGES&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Query OK, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;rows&lt;/span&gt; affected (&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;.&lt;span style=&#34;color:#ae81ff&#34;&gt;00&lt;/span&gt; sec)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;접속&#34;&gt;접속&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 homestead DB에 접속한다.&lt;/li&gt;&#xA;&lt;li&gt;기존 cmd 창은 root 계정이기 때문에 exit를 통해 선 종료 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mysql&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; exit &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Bye&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;직접 해당 DB에 접근하는 것은 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mysql &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;h127.&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;.&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;.&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;u&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;{&lt;/span&gt;username&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;p &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;database&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;#&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;예시&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mysql &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;h127.&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;.&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;.&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;uhomestead &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;p homestead &lt;span style=&#34;color:#f92672&#34;&gt;#&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;적용&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;실제로 적용하면 아래와 같이 실행될 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;C&lt;/span&gt;:&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;\&lt;/span&gt;Users&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;\&lt;/span&gt;your_name&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;mysql &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;h127.&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;.&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;.&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;uhomestead &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;p homestead&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Enter password: &lt;span style=&#34;color:#f92672&#34;&gt;******&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Welcome &lt;span style=&#34;color:#66d9ef&#34;&gt;to&lt;/span&gt; the MySQL monitor.  Commands &lt;span style=&#34;color:#66d9ef&#34;&gt;end&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;with&lt;/span&gt; ; &lt;span style=&#34;color:#66d9ef&#34;&gt;or&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;\&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;g&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your MySQL &lt;span style=&#34;color:#66d9ef&#34;&gt;connection&lt;/span&gt; id &lt;span style=&#34;color:#66d9ef&#34;&gt;is&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;21&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Server &lt;span style=&#34;color:#66d9ef&#34;&gt;version&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;.&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;.&lt;span style=&#34;color:#ae81ff&#34;&gt;28&lt;/span&gt; MySQL Community Server &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; GPL&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Copyright (&lt;span style=&#34;color:#66d9ef&#34;&gt;c&lt;/span&gt;) &lt;span style=&#34;color:#ae81ff&#34;&gt;2000&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2022&lt;/span&gt;, Oracle &lt;span style=&#34;color:#66d9ef&#34;&gt;and&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;or&lt;/span&gt; its affiliates.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Oracle &lt;span style=&#34;color:#66d9ef&#34;&gt;is&lt;/span&gt; a registered trademark &lt;span style=&#34;color:#66d9ef&#34;&gt;of&lt;/span&gt; Oracle Corporation &lt;span style=&#34;color:#66d9ef&#34;&gt;and&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;or&lt;/span&gt; its&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;affiliates. Other &lt;span style=&#34;color:#66d9ef&#34;&gt;names&lt;/span&gt; may be trademarks &lt;span style=&#34;color:#66d9ef&#34;&gt;of&lt;/span&gt; their respective&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;owners.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;Type&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;help;&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;or&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;\h&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; help. &lt;span style=&#34;color:#66d9ef&#34;&gt;Type&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;\c&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;to&lt;/span&gt; clear the &lt;span style=&#34;color:#66d9ef&#34;&gt;current&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;input&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;statement&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mysql&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;현재 DB의 종류를 조회해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mysql&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;show&lt;/span&gt; databases;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;--------------------+&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;Database&lt;/span&gt;           &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;--------------------+&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt; homestead          &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt; information_schema &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;--------------------+&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;rows&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;in&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;set&lt;/span&gt; (&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;.&lt;span style=&#34;color:#ae81ff&#34;&gt;00&lt;/span&gt; sec)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;mysql-workbench-사용&#34;&gt;MySQL Workbench 사용&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 DB를 사용했으니, Workbench를 통해 접속해본다.&lt;/li&gt;&#xA;&lt;li&gt;윈도우 돋보기에서 MySQL을 조회 후, Workbench 8.0 CE를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/mysql_database_creation/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>MySQL 설치 및 환경변수 설정 Windows 11</title>
      <link>https://dschloe.github.io/programming/2022/06/mysql_installation_windows11/</link>
      <pubDate>Sat, 18 Jun 2022 09:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/06/mysql_installation_windows11/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Windows 11에 MySQL을 설치합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;mysql&#34;&gt;MySQL&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;챗봇 시스템의 학습 데이터 관리 위해 MySQL을 사용함&lt;/li&gt;&#xA;&lt;li&gt;설치 주소 : &lt;a href=&#34;https://dev.mysql.com/downloads/&#34;&gt;https://dev.mysql.com/downloads/&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MySQL Installer for Windows 파일을 선택함&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/mysql_installation_windows11/tutorial_01.png&#34; alt=&#34;tutorial_01.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MSI Installer를 다운로드 받는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/mysql_installation_windows11/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다운로드 받은 파일을 순차적으로 설치 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/mysql_installation_windows11/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/mysql_installation_windows11/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/mysql_installation_windows11/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/mysql_installation_windows11/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/mysql_installation_windows11/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/mysql_installation_windows11/Untitled%206.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;비밀번호는 잃어버리면 안된다. (비번 : 1234)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/mysql_installation_windows11/Untitled%207.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/mysql_installation_windows11/Untitled%208.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/mysql_installation_windows11/Untitled%209.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/mysql_installation_windows11/Untitled%2010.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/mysql_installation_windows11/Untitled%2011.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/mysql_installation_windows11/Untitled%2012.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/mysql_installation_windows11/Untitled%2013.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;앞서 설정한 비밀번호를 입력하고 체크 버튼을 누른다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/mysql_installation_windows11/Untitled%2014.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/mysql_installation_windows11/Untitled%2015.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/mysql_installation_windows11/Untitled%2016.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/mysql_installation_windows11/Untitled%2017.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;정상적으로 설치가 완료되었다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/mysql_installation_windows11/Untitled%2018.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;윈도우에서 돋보기 모양을 누른 후,  MySQL 8.0 Command Line Client를 클릭한다.&lt;/li&gt;&#xA;&lt;li&gt;root 계정 비밀번호를 입력 후 접속한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/06/mysql_installation_windows11/Untitled%2019.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>S3 with Python Basic Tutorial</title>
      <link>https://dschloe.github.io/programming/2022/05/s3_basic/</link>
      <pubDate>Mon, 30 May 2022 10:13:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/05/s3_basic/</guid>
      <description>&lt;h2 id=&#34;bucket-만들기&#34;&gt;Bucket 만들기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Bucket을 만들어보도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; boto3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(boto3&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;1.23.5&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bucket &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; boto3&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;resource(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s3&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;response &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; bucket&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;create_bucket(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    Bucket &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;your_bucket_name&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ACL&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;private&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#75715e&#34;&gt;# public-read&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    CreateBucketConfiguration &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;LocationConstraint&amp;#39;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ap-northeast-2&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(response)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;s3.Bucket(name=&#39;your_bucket_name&#39;)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;advert-inline&#34;&gt;&#xA;&#x9;&lt;script async src=&#34;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9871603218577546&#34;&#xA;&#x9;&#x9;&#x9;crossorigin=&#34;anonymous&#34;&gt;&lt;/script&gt;&#xA;&#x9;&#xA;&#x9;&lt;ins class=&#34;adsbygoogle&#34;&#xA;     &#x9; style=&#34;display:block; text-align:center;&#34;&#xA;     &#x9; data-ad-layout=&#34;in-article&#34;&#xA;     &#x9; data-ad-format=&#34;fluid&#34;&#xA;&#x9;&#x9; data-ad-client=&#34;ca-pub-9871603218577546&#34;&#xA;&#x9;&#x9; data-ad-slot=&#34;3951220622&#34;&#xA;&#x9;&#x9; data-ad-format=&#34;auto&#34;&#xA;&#x9;&#x9; data-full-width-responsive=&#34;true&#34;&gt;&#xA;&#x9;&lt;/ins&gt;&#xA;&#x9;&lt;script&gt;&#xA;     (adsbygoogle = window.adsbygoogle || []).push({});&#xA;&#x9;&lt;/script&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;버킷 대시보드에서 실제 Bucket이 만들어졌는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/05/s3_basic/fig20_bucket_configuration.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;client-bucket&#34;&gt;Client Bucket&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 client 버킷을 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;client &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; boto3&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;client(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s3&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;response &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; client&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;create_bucket(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    Bucket &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;your_bucket_name&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ACL &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;private&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    CreateBucketConfiguration &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;LocationConstraint&amp;#39;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ap-northeast-2&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(response)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;{&#39;ResponseMetadata&#39;: {&#39;RequestId&#39;: &#39;1X0BAXRG653Q7Y61&#39;, &#39;HostId&#39;: &#39;WwKyxNBcd1V9x6D/WZn8twMKSWKBnkwVCPWtvarZvyNSSvqr7Q77J6OFAdWuYAwiv/nQfXoW/0U=&#39;, &#39;HTTPStatusCode&#39;: 200, &#39;HTTPHeaders&#39;: {&#39;x-amz-id-2&#39;: &#39;WwKyxNBcd1V9x6D/WZn8twMKSWKBnkwVCPWtvarZvyNSSvqr7Q77J6OFAdWuYAwiv/nQfXoW/0U=&#39;, &#39;x-amz-request-id&#39;: &#39;1X0BAXRG653Q7Y61&#39;, &#39;date&#39;: &#39;Wed, 25 May 2022 03:16:52 GMT&#39;, &#39;location&#39;: &#39;http://your_bucket_name.s3.amazonaws.com/&#39;, &#39;server&#39;: &#39;AmazonS3&#39;, &#39;content-length&#39;: &#39;0&#39;}, &#39;RetryAttempts&#39;: 0}, &#39;Location&#39;: &#39;http://your_bucket_name.s3.amazonaws.com/&#39;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;resource와-client의-차이&#34;&gt;Resource와 Client의 차이&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Resource&#xA;&lt;ul&gt;&#xA;&lt;li&gt;high-level, 객체지향적 인터페이스&lt;/li&gt;&#xA;&lt;li&gt;resource description에 의해 만들어짐&lt;/li&gt;&#xA;&lt;li&gt;식별자(identifier)와 속성(attribute)을 사용&lt;/li&gt;&#xA;&lt;li&gt;자원에 대한 조작 위주&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Client&#xA;&lt;ul&gt;&#xA;&lt;li&gt;low-level 인터페이스&lt;/li&gt;&#xA;&lt;li&gt;service description에 의해 만들어짐&lt;/li&gt;&#xA;&lt;li&gt;botocore 수준의 client를 공개(botocore는 AWS CLI와 boto3의 기초가 되는 라이브러리)&lt;/li&gt;&#xA;&lt;li&gt;AWS API와 1:1 매핑됨&lt;/li&gt;&#xA;&lt;li&gt;메소드가 스네이크 케이스로 정의되어 있음&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;이미지-업로드-및-조회&#34;&gt;이미지 업로드 및 조회&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;일반적으로 이미지를 업로드 하는 코드는 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;단, Django나 Flask 등을 활용하여 이미지를 업로드할 때는 코드 작성 방법이 달라지니 참고용으로 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;코드 실행 후, Web UI에서 직접 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/05/s3_basic/fig21_img_upload.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Google Adsense with Hugo</title>
      <link>https://dschloe.github.io/programming/2022/05/googleads/</link>
      <pubDate>Sun, 29 May 2022 09:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/05/googleads/</guid>
      <description>&lt;h2 id=&#34;동기부여&#34;&gt;동기부여&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;블로그 광고수익 비교 글을 보게 되었다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/05/googleads/fig01_ads_comp.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;그런데, 현재 운영중인 이 블로그의 일일 방문자수가 300-400명이어서 방치하면 안될 것 같았다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/05/googleads/fig02_ga.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;간단하게 Google Adsense를 Hugo Website에 추가하도록 한다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;사전준비&#34;&gt;사전준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 Hugo Website는 Google Analytics와 미리 연동이 되어 있어야 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조 : &lt;a href=&#34;https://hoontaeklee.github.io/en/posts/20200103_add_google_analytics/&#34;&gt;Hugo 블로그에 Google analytics 추가하기&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;advert-inline&#34;&gt;&#xA;&#x9;&lt;script async src=&#34;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9871603218577546&#34;&#xA;&#x9;&#x9;&#x9;crossorigin=&#34;anonymous&#34;&gt;&lt;/script&gt;&#xA;&#x9;&#xA;&#x9;&lt;ins class=&#34;adsbygoogle&#34;&#xA;     &#x9; style=&#34;display:block; text-align:center;&#34;&#xA;     &#x9; data-ad-layout=&#34;in-article&#34;&#xA;     &#x9; data-ad-format=&#34;fluid&#34;&#xA;&#x9;&#x9; data-ad-client=&#34;ca-pub-9871603218577546&#34;&#xA;&#x9;&#x9; data-ad-slot=&#34;3951220622&#34;&#xA;&#x9;&#x9; data-ad-format=&#34;auto&#34;&#xA;&#x9;&#x9; data-full-width-responsive=&#34;true&#34;&gt;&#xA;&#x9;&lt;/ins&gt;&#xA;&#x9;&lt;script&gt;&#xA;     (adsbygoogle = window.adsbygoogle || []).push({});&#xA;&#x9;&lt;/script&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&lt;h2 id=&#34;google-adsense&#34;&gt;Google Adsense&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;우선 &lt;a href=&#34;https://www.google.com/intl/ko_kr/adsense/start/&#34;&gt;Google Adsense&lt;/a&gt;에 접속한다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Google Ads에서 아래 그림과 같이 사이트를 클릭한다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/05/googleads/fig03_googleads.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;사이트 추가 버튼을 누른다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/05/googleads/fig04_add_site.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>IAM User Practice</title>
      <link>https://dschloe.github.io/programming/2022/05/iam_users/</link>
      <pubDate>Sat, 28 May 2022 10:00:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/05/iam_users/</guid>
      <description>&lt;h2 id=&#34;라이브러리-불러오기&#34;&gt;라이브러리 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기 설치된 라이브러리를 불러오도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; boto3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(boto3&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;1.23.5&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;iam-user-관련-주요-코드&#34;&gt;IAM User 관련 주요 코드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 코드는 유저를 생성하는 코드이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;create_user&lt;/span&gt;(username):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    iam &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; boto3&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;client(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;iam&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    response &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; iam&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;create_user(UserName&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;username)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(response)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;create_user(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;testuser2fromwsl2&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;{&#39;User&#39;: {&#39;Path&#39;: &#39;/&#39;, &#39;UserName&#39;: &#39;testuser2fromwsl2&#39;, &#39;UserId&#39;: &#39;AIDAVRRRQ3HFXFQPOOY7Q&#39;, &#39;Arn&#39;: &#39;arn:aws:iam::381282212299:user/testuser2fromwsl2&#39;, &#39;CreateDate&#39;: datetime.datetime(2022, 5, 24, 5, 30, 6, tzinfo=tzutc())}, &#39;ResponseMetadata&#39;: {&#39;RequestId&#39;: &#39;d5fa242b-9aa9-4ad9-a75a-ed23e041d4ba&#39;, &#39;HTTPStatusCode&#39;: 200, &#39;HTTPHeaders&#39;: {&#39;x-amzn-requestid&#39;: &#39;d5fa242b-9aa9-4ad9-a75a-ed23e041d4ba&#39;, &#39;content-type&#39;: &#39;text/xml&#39;, &#39;content-length&#39;: &#39;495&#39;, &#39;date&#39;: &#39;Tue, 24 May 2022 05:30:05 GMT&#39;}, &#39;RetryAttempts&#39;: 0}}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 모든 사용자를 가져오는 코드를 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;all_users&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    iam &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; boto3&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;client(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;iam&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    paginator &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; iam&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get_paginator(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;list_users&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; response &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; paginator&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;paginate():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; user &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; response[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Users&amp;#39;&lt;/span&gt;]:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            username &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; user[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;UserName&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            Arn &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; user[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Arn&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Username : &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; Arn : &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(username, Arn))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;all_users()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Username : aws-wsl2 Arn : arn:aws:iam::381282212299:user/aws-wsl2&#xA;Username : human Arn : arn:aws:iam::381282212299:user/human&#xA;Username : human-m1 Arn : arn:aws:iam::381282212299:user/human-m1&#xA;Username : testuser Arn : arn:aws:iam::381282212299:user/testuser&#xA;Username : testuser2 Arn : arn:aws:iam::381282212299:user/testuser2&#xA;Username : testuser2fromwsl2 Arn : arn:aws:iam::381282212299:user/testuser2fromwsl2&#xA;Username : testuser3 Arn : arn:aws:iam::381282212299:user/testuser3&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 사용자 이름을 변경한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;testuser2fromwsl2 이름을 updatetest로 변경하는 코드다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;update_user&lt;/span&gt;(old_username, new_username):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    iam &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; boto3&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;client(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;iam&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    response &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; iam&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;update_user(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        UserName&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;old_username, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        NewUserName&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;new_username&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(response)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;update_user(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;testuser2fromwsl2&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;updatetest&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;all_users()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;{&#39;ResponseMetadata&#39;: {&#39;RequestId&#39;: &#39;4a567c96-d5ce-4e76-9344-6ab762fc9e01&#39;, &#39;HTTPStatusCode&#39;: 200, &#39;HTTPHeaders&#39;: {&#39;x-amzn-requestid&#39;: &#39;4a567c96-d5ce-4e76-9344-6ab762fc9e01&#39;, &#39;content-type&#39;: &#39;text/xml&#39;, &#39;content-length&#39;: &#39;200&#39;, &#39;date&#39;: &#39;Tue, 24 May 2022 05:30:16 GMT&#39;}, &#39;RetryAttempts&#39;: 0}}&#xA;Username : aws-wsl2 Arn : arn:aws:iam::381282212299:user/aws-wsl2&#xA;Username : human Arn : arn:aws:iam::381282212299:user/human&#xA;Username : human-m1 Arn : arn:aws:iam::381282212299:user/human-m1&#xA;Username : testuser Arn : arn:aws:iam::381282212299:user/testuser&#xA;Username : testuser2 Arn : arn:aws:iam::381282212299:user/testuser2&#xA;Username : testuser3 Arn : arn:aws:iam::381282212299:user/testuser3&#xA;Username : updatetest Arn : arn:aws:iam::381282212299:user/updatetest&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;python-aws-연동-예제&#34;&gt;Python AWS 연동 예제&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;보통 정책을 추가할 때는 Web UI Console창에서 지정하지만, 코드를 통해서 구현할 수도 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조 : &lt;a href=&#34;https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iam.html#IAM.Client.create_policy&#34;&gt;https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iam.html#IAM.Client.create_policy&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; boto3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;create_policy&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    iam &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; boto3&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;client(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;iam&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    user_policy &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Version&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2012-10-17&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Statement&amp;#34;&lt;/span&gt;:[&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Effect&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Allow&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Action&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;*&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Resource&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;*&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        ]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    response &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; iam&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;create_policy(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        PolicyName &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;pyFullAccess&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        PolicyDocument&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;json&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;dumps(user_policy)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(response)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;create_policy()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;{&#39;Policy&#39;: {&#39;PolicyName&#39;: &#39;pyFullAccess&#39;, &#39;PolicyId&#39;: &#39;ANPAVRRRQ3HFQIRVWB2MX&#39;, &#39;Arn&#39;: &#39;arn:aws:iam::381282212299:policy/pyFullAccess&#39;, &#39;Path&#39;: &#39;/&#39;, &#39;DefaultVersionId&#39;: &#39;v1&#39;, &#39;AttachmentCount&#39;: 0, &#39;PermissionsBoundaryUsageCount&#39;: 0, &#39;IsAttachable&#39;: True, &#39;CreateDate&#39;: datetime.datetime(2022, 5, 23, 5, 40, 21, tzinfo=tzutc()), &#39;UpdateDate&#39;: datetime.datetime(2022, 5, 23, 5, 40, 21, tzinfo=tzutc())}, &#39;ResponseMetadata&#39;: {&#39;RequestId&#39;: &#39;8da83bae-6c24-4104-9da4-22795e46652a&#39;, &#39;HTTPStatusCode&#39;: 200, &#39;HTTPHeaders&#39;: {&#39;x-amzn-requestid&#39;: &#39;8da83bae-6c24-4104-9da4-22795e46652a&#39;, &#39;content-type&#39;: &#39;text/xml&#39;, &#39;content-length&#39;: &#39;759&#39;, &#39;date&#39;: &#39;Mon, 23 May 2022 05:40:21 GMT&#39;}, &#39;RetryAttempts&#39;: 0}}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;AWS 콘솔창에서 IAM 대시보드에서 정책을 클릭하면 PolicyName인 pyFullAccess가 등록되어 있는 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/05/iam_users/fig06_iam_policy_creation.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>AWS 개발환경 설정 - WSL2 &amp; S3 &amp; RDS</title>
      <link>https://dschloe.github.io/programming/2022/05/settings/</link>
      <pubDate>Thu, 26 May 2022 10:13:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/05/settings/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;윈도우 WSL2에서 AWS 개발을 위한 기본 개발환경 설정을 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;wsl2-설치&#34;&gt;WSL2 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;WSL2 설치 및 사용법은 다음 링크를 통해서 확인한다. (여기서 설치법은 다루지 않는다!)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;URL : &lt;a href=&#34;https://www.lainyzine.com/ko/article/how-to-install-wsl2-and-use-linux-on-windows-10/&#34;&gt;https://www.lainyzine.com/ko/article/how-to-install-wsl2-and-use-linux-on-windows-10/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;restart-wsl2&#34;&gt;Restart WSL2&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;WSL2 처음 작업할 때, 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;exec $SHELL&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;wsl2-주요-필수-패키지-설치&#34;&gt;WSL2 주요 필수 패키지 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Python 3.8 버전을 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install software-properties-common&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo add-apt-repository ppa:deadsnakes/ppa&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install python3.7&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Python 버전은 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ python3 --version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Python 3.8.10&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;만약 Python 버전 변경이 안되면 전체 삭제하고 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;옵션-python-삭제&#34;&gt;(옵션) Python 삭제&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;현재 설치된 모든 파이썬 버전을 보여줌&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ls /usr/bin/python* &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;python3 버전과 관련된 모든 파일을 삭제함&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo apt-get purge --auto-remove python3.8&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;awsebcli-설치-및-aws-cli-configuration&#34;&gt;awsebcli 설치 및 AWS CLI Configuration&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;awscli를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install awscli&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;버전은 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ aws --version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;aws-cli/1.18.69 Python/3.8.10 Linux/5.10.16.3-microsoft-standard-WSL2 botocore/1.16.19&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;iam-사용자-추가&#34;&gt;IAM 사용자 추가&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;AWS 회원가입은 완료된 상태에서 시작한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Django with Elastic Beanstalk - Settings</title>
      <link>https://dschloe.github.io/programming/2022/05/ch01_eb_django_settings/</link>
      <pubDate>Sun, 22 May 2022 10:13:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/05/ch01_eb_django_settings/</guid>
      <description>&lt;h1 id=&#34;한줄-요약&#34;&gt;한줄 요약&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;생각보다 쉽지 않기 때문에 Windows로 하기 보다는 WSL2로 하는 것을 권한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 부분은 추후 업데이트 할 예정이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;windows에-eb-cli-설치&#34;&gt;Windows에 EB CLI 설치&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;공식 문서 : &lt;a href=&#34;https://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/eb-cli3-install-windows.html&#34;&gt;https://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/eb-cli3-install-windows.html&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;우선 기존 아나콘다로 파이썬 환경이 구축되어 있다면, 아나콘다를 삭제하고 진행한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;3.8 버전 이상으로 하면, 배포 시 생각보다 잘 되지 않을 가능성이 크다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;필자는 Python 버전도 3.7로 재 설치 했다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\W&lt;/span&gt;INDOWS&lt;span style=&#34;color:#ae81ff&#34;&gt;\s&lt;/span&gt;ystem32&amp;gt;python --version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Python 3.7.4&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\W&lt;/span&gt;INDOWS&lt;span style=&#34;color:#ae81ff&#34;&gt;\s&lt;/span&gt;ystem32&amp;gt;pip --version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip 19.0.3 from c:&lt;span style=&#34;color:#ae81ff&#34;&gt;\u&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\h&lt;/span&gt;uman&lt;span style=&#34;color:#ae81ff&#34;&gt;\a&lt;/span&gt;ppdata&lt;span style=&#34;color:#ae81ff&#34;&gt;\l&lt;/span&gt;ocal&lt;span style=&#34;color:#ae81ff&#34;&gt;\p&lt;/span&gt;rograms&lt;span style=&#34;color:#ae81ff&#34;&gt;\p&lt;/span&gt;ython&lt;span style=&#34;color:#ae81ff&#34;&gt;\p&lt;/span&gt;ython37-32&lt;span style=&#34;color:#ae81ff&#34;&gt;\l&lt;/span&gt;ib&lt;span style=&#34;color:#ae81ff&#34;&gt;\s&lt;/span&gt;ite-packages&lt;span style=&#34;color:#ae81ff&#34;&gt;\p&lt;/span&gt;ip &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;python 3.7&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;pip을 이용하여 EB CLI를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\W&lt;/span&gt;indows&lt;span style=&#34;color:#ae81ff&#34;&gt;\S&lt;/span&gt;ystem32&amp;gt; pip install awsebcli --upgrade --user&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;환경변수를 설정한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Python 3.7 버전으로 설치 했다면, 아래 코드를 환경변수에 추가한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;%USERPROFILE%\AppData\roaming\Python\Python37\scripts&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/05/ch01_eb_django_settings/ch01_eb_django_settingsfig01_environment_variable.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>[Python] 카카오톡 챗봇 오픈빌더를 활용한 사칙연산 계산기 구현</title>
      <link>https://dschloe.github.io/programming/2022/05/chatbot_calculator/</link>
      <pubDate>Mon, 16 May 2022 14:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/05/chatbot_calculator/</guid>
      <description>&lt;h2 id=&#34;읽기-전-공지&#34;&gt;읽기 전 공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 글은 2022년 11월 28일까지만 유효합니다. 무료 버전이 사라지기 때문에, 앞으로 어떻게 될지는 현재 글 쓰는 시점에서는 모릅니다. 이 부분에 주의해서 참고 하시기를 바랍니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;카카오톡 챗봇 만들기를 Python + FLASK를 통해 간단한 튜토리얼을 만들어본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;사전준비&#34;&gt;사전준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;OBT 참여승인을 받아야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;기본설정&#34;&gt;기본설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;카카오톡 챗봇 버튼 클릭 후, 봇 이름 생성&#xA;&lt;ul&gt;&#xA;&lt;li&gt;[봇 만들기] - [카카오톡 챗봇]&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/05/chatbot_calculator/fig01_create_chatbot.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;카카오톡 채널 연결을 진행한다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/05/chatbot_calculator/fig02_conn_channel.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;virtualenv를 활용하여 가상환경을 설정한다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ virtualenv venv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;created virtual environment CPython3.9.7.final.0-64 in 6029ms&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  creator CPython3Windows&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;dest&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\h&lt;/span&gt;uman&lt;span style=&#34;color:#ae81ff&#34;&gt;\D&lt;/span&gt;esktop&lt;span style=&#34;color:#ae81ff&#34;&gt;\h&lt;/span&gt;eroku-kakao-chatbot&lt;span style=&#34;color:#ae81ff&#34;&gt;\v&lt;/span&gt;env, clear&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False, no_vcs_ignore&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False, global&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  seeder FromAppData&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;download&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False, pip&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;bundle, setuptools&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;bundle, wheel&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;bundle, via&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;copy, app_data_dir&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\h&lt;/span&gt;uman&lt;span style=&#34;color:#ae81ff&#34;&gt;\A&lt;/span&gt;ppData&lt;span style=&#34;color:#ae81ff&#34;&gt;\L&lt;/span&gt;ocal&lt;span style=&#34;color:#ae81ff&#34;&gt;\p&lt;/span&gt;ypa&lt;span style=&#34;color:#ae81ff&#34;&gt;\v&lt;/span&gt;irtualenv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    added seed packages: pip&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;22.0.4, setuptools&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;62.1.0, wheel&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;0.37.1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  activators BashActivator,BatchActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;heroku-app-구축&#34;&gt;Heroku App 구축&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단하게 app 파일을 만들어 Heroku App URL을 확보해보자.&lt;/li&gt;&#xA;&lt;li&gt;app/main.py&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; flask &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Flask&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;app &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Flask(__name__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;@app.route&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;hello_world&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Hello, World!&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;wsgi.py 생성&#xA;&lt;ul&gt;&#xA;&lt;li&gt;app은 폴더를 말하고, main은 main.py를 말한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; app.main &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; app&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    app&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;run(threaded&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;, port&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5000&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Procfile 파일 작성&#xA;&lt;ul&gt;&#xA;&lt;li&gt;카카오톡 챗봇에서는 포트번호를 입력을 해줘야 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;localhost:5000 처럼 명시적으로 입력해주는 것으로 생각하면 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;web: gunicorn --bind 0.0.0.0:$PORT wsgi:app&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;runtime.txt&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Python 버전을 업로드 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;python-3.9.7&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;Heroku login&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Heroku 배포 전에 반드시 로그인을 해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ heroku login&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Heroku Project 생성&#xA;&lt;ul&gt;&#xA;&lt;li&gt;프로젝트 생성 시, 같은 이름이 있을 경우 다시 작성할 수도 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ heroku create heroku-kakao-chatbot&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Heroku 배포&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Heroku에 배포하기 위해서는 크게 아래 코드만 기억한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git add .&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git commit -am &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;your_message&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git push origin main &lt;span style=&#34;color:#75715e&#34;&gt;## Github Repository에 업데이트&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git push heroku main &lt;span style=&#34;color:#75715e&#34;&gt;## Heroku 코드 배포&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;기존 Existing App과 연동하려면 배포 전 아래 코드를 선 실행 후, 배포를 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ heroku git:remote -a example-app&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;실행하면 아래와 같은 결과물이 나타난다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/05/chatbot_calculator/fig03_flask_heroku_app.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;스킬-서버-구축-기본편&#34;&gt;스킬 서버 구축 기본편&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;스킬 서버에서 제공하는 2가지 API URI는 다음과 닽다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python Selenium Crawling Tutorial</title>
      <link>https://dschloe.github.io/programming/2022/05/python_selenium_crawling/</link>
      <pubDate>Mon, 09 May 2022 20:10:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/05/python_selenium_crawling/</guid>
      <description>&lt;h2 id=&#34;강의소개&#34;&gt;강의소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인프런에서 Streamlit 관련 강의를 진행하고 있습니다.&lt;/li&gt;&#xA;&lt;li&gt;인프런 : &lt;a href=&#34;https://inf.run/YPniH&#34;&gt;https://inf.run/YPniH&lt;/a&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/mQTuD7gx-hw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;크롬 드라이버를 활용하여 Selenium을 설치한다.&lt;/li&gt;&#xA;&lt;li&gt;네이버 평점에서 특정 영화(노트북)를 관람한 관람객이 영화에 댓글을 단 영화 수집&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;advert-inline&#34;&gt;&#xA;&#x9;&lt;script async src=&#34;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9871603218577546&#34;&#xA;&#x9;&#x9;&#x9;crossorigin=&#34;anonymous&#34;&gt;&lt;/script&gt;&#xA;&#x9;&#xA;&#x9;&lt;ins class=&#34;adsbygoogle&#34;&#xA;     &#x9; style=&#34;display:block; text-align:center;&#34;&#xA;     &#x9; data-ad-layout=&#34;in-article&#34;&#xA;     &#x9; data-ad-format=&#34;fluid&#34;&#xA;&#x9;&#x9; data-ad-client=&#34;ca-pub-9871603218577546&#34;&#xA;&#x9;&#x9; data-ad-slot=&#34;3951220622&#34;&#xA;&#x9;&#x9; data-ad-format=&#34;auto&#34;&#xA;&#x9;&#x9; data-full-width-responsive=&#34;true&#34;&gt;&#xA;&#x9;&lt;/ins&gt;&#xA;&#x9;&lt;script&gt;&#xA;     (adsbygoogle = window.adsbygoogle || []).push({});&#xA;&#x9;&lt;/script&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&lt;h2 id=&#34;크롬-드라이버-설치&#34;&gt;크롬 드라이버 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;자신의 크롬 버전과 같은 버전을 설치한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;오른쪽 상단에서 더보기를 클릭한다.&lt;/li&gt;&#xA;&lt;li&gt;도움말 &amp;gt; Chrome 정보를 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/05/python_selenium_crawling/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>django Web 개발 1 - 기본 설정</title>
      <link>https://dschloe.github.io/programming/2022/05/django_01/</link>
      <pubDate>Sat, 07 May 2022 20:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/05/django_01/</guid>
      <description>&lt;h1 id=&#34;프로젝트-개요&#34;&gt;프로젝트 개요&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Python Django로 To-do List를 만들어본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;파이썬-설치&#34;&gt;파이썬 설치&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파이썬 설치는 Anaconda 또는 Python 홈페이지에서 직접 설치한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Anaconda : &lt;a href=&#34;https://www.anaconda.com/&#34;&gt;https://www.anaconda.com/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Python : &lt;a href=&#34;https://www.python.org/&#34;&gt;https://www.python.org/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;가상환경-설치&#34;&gt;가상환경 설치&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파이썬 설치가 끝났다면, 해당 깃허브를 다운로드 받는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git clone https://github.com/dschloe/django_to_do.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;django_to_do 폴더에 진입 후 아래와 같이 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cd django_to_do&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ virtualenv venv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;created virtual environment CPython3.9.7.final.0-64 in 7884ms     &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  creator CPython3Windows&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;dest&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\h&lt;/span&gt;uman&lt;span style=&#34;color:#ae81ff&#34;&gt;\D&lt;/span&gt;esktop&lt;span style=&#34;color:#ae81ff&#34;&gt;\d&lt;/span&gt;jango_to_do&lt;span style=&#34;color:#ae81ff&#34;&gt;\v&lt;/span&gt;env, clear&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False, no_vcs_ignore&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False, global&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  seeder FromAppData&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;download&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;False, pip&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;bundle, setuptools&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;bundle, wheel&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;bundle, via&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;copy, app_data_dir&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\h&lt;/span&gt;uman&lt;span style=&#34;color:#ae81ff&#34;&gt;\A&lt;/span&gt;ppData&lt;span style=&#34;color:#ae81ff&#34;&gt;\L&lt;/span&gt;ocal&lt;span style=&#34;color:#ae81ff&#34;&gt;\p&lt;/span&gt;ypa&lt;span style=&#34;color:#ae81ff&#34;&gt;\v&lt;/span&gt;irtualenv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    added seed packages: pip&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;22.0.4, setuptools&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;62.1.0, wheel&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;0.37.1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  activators BashActivator,BatchActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;실제 실행 후 venv 폴더가 나타나는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;README.md  venv/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;가상환경에 접속한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ source venv/Scripts/activate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;환경-설정-django&#34;&gt;환경 설정 Django&lt;/h1&gt;&#xA;&lt;h2 id=&#34;installing-django&#34;&gt;Installing Django&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Django : &lt;a href=&#34;https://www.djangoproject.com/&#34;&gt;https://www.djangoproject.com/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;가상환경이 접속된 상태에서 &lt;code&gt;django&lt;/code&gt;와 시간 계산을 위해 &lt;code&gt;pytz&lt;/code&gt;를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ pip install django pytz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;my_app-폴더-생성&#34;&gt;my_app 폴더 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;새로운 폴더 &lt;code&gt;my_app&lt;/code&gt; 하나 생성 후 해당 경로에 접속한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ mkdir my_app &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; cd my_app&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;djanog-개발-시작&#34;&gt;djanog 개발 시작&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 &lt;code&gt;django&lt;/code&gt; 프로젝트를 시작한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;django&lt;/code&gt; 설치 후, &lt;code&gt;todo_app&lt;/code&gt; 폴더와 &lt;code&gt;manage.py&lt;/code&gt;가 실행되는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ django-admin startproject todo_app .&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;manage.py*  todo_app/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;초기-화면-실행&#34;&gt;초기 화면 실행&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;my_app&lt;/code&gt; 폴더에서 서버를 구동시킨다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;접속 URL : http://127.0.0.1:8000/&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ python manage.py runserver&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/05/django_01/fig_01_django.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>카카오톡 오픈 빌더 챗봇 만들기 1편</title>
      <link>https://dschloe.github.io/programming/2022/04/kakaotalk_open_builder_01/</link>
      <pubDate>Sat, 30 Apr 2022 21:14:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/04/kakaotalk_open_builder_01/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;카카오톡 오픈 빌더 챗봇을 만드는 과정을 보여준다.&lt;/li&gt;&#xA;&lt;li&gt;회원가입이 필요할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;카카오톡 채널을 만든다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;등록하기&#34;&gt;등록하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 검색창에서 카카오톡 오픈 빌더를 검색한다..&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/kakaotalk_open_builder_01/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;로그인을 하도록 한다..&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/kakaotalk_open_builder_01/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;챗봇 관리자센터 OBT 참여 신청 메뉴가 나오는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/kakaotalk_open_builder_01/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;카카오톡-채널-관리자-가입&#34;&gt;카카오톡 채널 관리자 가입&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;카카오톡 관리자 채널에서 새로운 채널을 만든다..&#xA;&lt;ul&gt;&#xA;&lt;li&gt;URL : &lt;a href=&#34;https://center-pf.kakao.com/&#34;&gt;https://center-pf.kakao.com/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;아래 화면에서 새 채널 만들기를 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/kakaotalk_open_builder_01/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;채널을 개설한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;프로필 사진, 소개글은 추후에 작성이 가능하다.&lt;/li&gt;&#xA;&lt;li&gt;작성이 끝나면 확인 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/kakaotalk_open_builder_01/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이상이 없다면, ‘네, 입력한 정보로 개설하겠습니다.’ 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/kakaotalk_open_builder_01/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Visual Studio Code Oracle 연동</title>
      <link>https://dschloe.github.io/programming/2022/04/vscode_oracle/</link>
      <pubDate>Tue, 26 Apr 2022 00:10:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/04/vscode_oracle/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;VSCode에서 오라클을 연동하는 코드를 작성해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;extension&#34;&gt;Extension&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Extension에서 Oracle을 검색 후, 설치를 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/vscode_oracle/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치 중간에 아래와 같은 문구가 나오면 해당 파일을 설치해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/vscode_oracle/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;필수-설치-파일&#34;&gt;필수 설치 파일&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치 URL은 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;URL : &lt;a href=&#34;https://www.oracle.com/database/technologies/appdev/dotnet/install-dotnetcore-windows.html&#34;&gt;https://www.oracle.com/database/technologies/appdev/dotnet/install-dotnetcore-windows.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/vscode_oracle/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 그림에서 Install .NET Runtime for Windows x64를 클릭하면 아래 화면과 함께 설치 파일이 다운로드 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/vscode_oracle/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치 파일을 클릭하면 아래와 같은 설치 관리자가 등장한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/vscode_oracle/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;특별하게 고려할 것은 없다. 정상적으로 설치가 되면 아래와 같은 화면이 나오면 설치는 종료가 된 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/vscode_oracle/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>PyCharm Oracle 연동</title>
      <link>https://dschloe.github.io/programming/2022/04/pycharm_oracle/</link>
      <pubDate>Mon, 25 Apr 2022 14:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/04/pycharm_oracle/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PyCharm에서 Oracle과 연동하는 방법에 대해 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;database-navigator-설치&#34;&gt;Database Navigator 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Project 폴더에서 File - Settings - Plugins를 실행한다.&lt;/li&gt;&#xA;&lt;li&gt;검색창에 Database를 입력한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Database Navigator를 선택한다.&lt;/li&gt;&#xA;&lt;li&gt;설치가 완료되면, Restart IDE 창이 활성화가 될 것이다.&lt;/li&gt;&#xA;&lt;li&gt;PyCharm을 재 시작한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/pycharm_oracle/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;db-navigator-실행&#34;&gt;DB Navigator 실행&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;상단 메뉴창에서 DB Navigator를 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/pycharm_oracle/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;새로운 데이터베이스 버튼을 클릭한 후, Oracle을 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/pycharm_oracle/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필수 입력값을 입력 한 후, Test Connection을 실행하여 정상적으로 연동이 되었는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/pycharm_oracle/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;sql-테스트&#34;&gt;SQL 테스트&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 새로운 파일을 열고 쿼리 테스트를 진행해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/pycharm_oracle/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>SQL Developer with Git</title>
      <link>https://dschloe.github.io/programming/2022/04/sql_developer_git/</link>
      <pubDate>Sun, 24 Apr 2022 10:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/04/sql_developer_git/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SQL Developer에서 깃헙과 연동하는 방법을 알려준다.&lt;/li&gt;&#xA;&lt;li&gt;깃허브 회원가입 및 깃 설치는 이미 된 것으로 가정한다.&lt;/li&gt;&#xA;&lt;li&gt;새로운 Repository를 만든다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 oracle_lectures라는 Repository를 만들었다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;sql-developer에서-필요한-작업&#34;&gt;SQL Developer에서 필요한 작업&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 SQL Developer 프로그램을 연다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;팀 - Git - 복제 순으로 순차적으로 연다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/sql_developer_git/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 화면에서 다음을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/sql_developer_git/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 화면에서 새로 생성한 URL, Username, Password를 순차적으로 입력한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때, Repo 생성 시, Private으로 되어 있었다면 인증 에러가 생길 수 있다. 그런 경우 Public으로 변경한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/sql_developer_git/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>오라클 19c 기본 세팅</title>
      <link>https://dschloe.github.io/programming/2022/04/oracle_basic_settings/</link>
      <pubDate>Sat, 23 Apr 2022 14:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/04/oracle_basic_settings/</guid>
      <description>&lt;h2 id=&#34;1단계--sqlplus-실행하기&#34;&gt;1단계  sqlplus 실행하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치가 끝난 후, 윈도우에서  sqlplus 입력&lt;/li&gt;&#xA;&lt;li&gt;사용자명은 system, 비밀번호는 오라클 설치 시 (1234)]&lt;/li&gt;&#xA;&lt;li&gt;주의 : 관리자로 실행&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/oracle_basic_settings/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/oracle_basic_settings/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;2단계--테이블스페이스-생성하기&#34;&gt;2단계 : 테이블스페이스 생성하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;테이블스페이스는 myts라는 이름으로 100MB  크기로 생성&lt;/li&gt;&#xA;&lt;li&gt;만약 데이터가 증가하면 5MB씩 자동 증가 옵션 추가&lt;/li&gt;&#xA;&lt;li&gt;생성 구문은 다음과 같음&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;SQL&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; TABLESPACE myts DATAFILE &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;C:\oracle\oradata\MYORACLE\myts.dbf&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;SIZE&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;M AUTOEXTEND &lt;span style=&#34;color:#66d9ef&#34;&gt;ON&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NEXT&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;M;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;테이블스페이스가&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;생성되었습니다&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/oracle_basic_settings/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;3단계--사용자-생성&#34;&gt;3단계 : 사용자 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사용자를 생성하는 코드를 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;SQL&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;USER&lt;/span&gt; ora_user IDENTIFIED &lt;span style=&#34;color:#66d9ef&#34;&gt;BY&lt;/span&gt; evan &lt;span style=&#34;color:#66d9ef&#34;&gt;DEFAULT&lt;/span&gt; TABLESPACE MYTS &lt;span style=&#34;color:#66d9ef&#34;&gt;TEMPORARY&lt;/span&gt; TABLESPACE TEMP;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;사용자가&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;생성되었습니다&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;해당 사용자에게 롤(Role, 권한)을 부여해야 한다. 현 시점에서는 ‘ora_user’ 사용자에게  DBA라는 롤을 부여한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 권한을 부여받으면 오라클에서 제공하는 웬만한 기능을 모두 사용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;SQL&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;GRANT&lt;/span&gt; DBA &lt;span style=&#34;color:#66d9ef&#34;&gt;TO&lt;/span&gt; ora_user;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;권한이&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;부여되었습니다&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;4단계--사용자-계정으로--db에-접속하기&#34;&gt;4단계 : 사용자 계정으로  DB에 접속하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ora_user로 접속한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;SQL&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;connect&lt;/span&gt; ora_user&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;evan&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;연결되었습니다&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;접속 후, select user from dual을 입력하면 현재 로그인한 사용자 이름이 출력된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;SQL&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;select&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;user&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;from&lt;/span&gt; dual;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;USER&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;--------------------------------------------------------------------------------&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ORA_USER&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;sql-developer-실행&#34;&gt;SQL Developer 실행&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치 :&lt;/li&gt;&#xA;&lt;li&gt;새 접속 화면이 나타나면 접속 이름, 사용자 이름을 ora_user로 입력, 비밀번호는 입력, SID 항목에는 처음 설치 시 이름인 myoracle을 입력하고 테스트를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/oracle_basic_settings/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>오라클 삭제 - Windows</title>
      <link>https://dschloe.github.io/programming/2022/04/oracle_deinstallation/</link>
      <pubDate>Fri, 22 Apr 2022 14:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/04/oracle_deinstallation/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;오라클 설치가 제대로 안되는 경우가 왕왕 있다.&lt;/li&gt;&#xA;&lt;li&gt;이럴 경우, 삭제 후 재설치하는 것을 권장한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1단계--오라클-서비스-중지시키기&#34;&gt;1단계 : 오라클 서비스 중지시키기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;제어판 - 시스템 및 보안 - 관리도구 - 서비스 메뉴를 실행해 Oracle로 시작되는 모든 서비를 중지시킨다.&lt;/li&gt;&#xA;&lt;li&gt;또는 윈도우 검색창에서 서비스를 검색해도 앱에 접근할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/oracle_deinstallation/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;2단계--삭제-시동-파일-실행하기&#34;&gt;2단계 : 삭제 시동 파일 실행하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;오라클 설치 폴더 - deinstall 폴더에서 deinstall.bat 파일을 관리자 권한으로 실행한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이름 목록 지정화면에서 설치 시 지정했던 전역데이터베이스 이름을 입력하고, 계속하겠습니까? 질문을 계속 한다면 Y를 입력한다.&lt;/li&gt;&#xA;&lt;li&gt;또한, 사용된 저장 영역 입력 시 : FS를 입력한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/oracle_deinstallation/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Spark Tutorial - Web UI on WSL</title>
      <link>https://dschloe.github.io/programming/2022/04/spark_tutorial_web_ui/</link>
      <pubDate>Thu, 21 Apr 2022 12:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/04/spark_tutorial_web_ui/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단하게 Spark Tutorial을 활용하여 Web UI를 가동한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Spark Submit&lt;/code&gt;을 활용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;파이썬-가상환경&#34;&gt;파이썬 가상환경&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파이썬 가상환경을 작성한다. (필자의 경로는 pyskt_tutorial)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ pwd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/mnt/c/hadoop/pyskt_tutorial&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;가상환경을 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;evan@evan:/mnt/c/hadoop/pyskt_tutorial$ virtualenv venv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;생성된 가상환경에 접속한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;evan@evan:/mnt/c/hadoop/pyskt_tutorial$ source venv/bin/activate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; evan@evan:/mnt/c/hadoop/pyskt_tutorial$&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;pyspark-설치&#34;&gt;PySpark 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;pyspark를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; evan@evan:/mnt/c/hadoop/pyskt_tutorial$ pip install pyspark&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Requirement already satisfied: pyspark in ./venv/lib/python3.8/site-packages &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;3.2.1&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Requirement already satisfied: py4j&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;0.10.9.3 in ./venv/lib/python3.8/site-packages &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;from pyspark&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;0.10.9.3&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;데이터-생성&#34;&gt;데이터 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가상의 데이터를 생성한다.&lt;/li&gt;&#xA;&lt;li&gt;소스파일과 구분 위해 data 폴더를 만든 후, 마크다운 파일을 하나 만들 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; evan@evan:/mnt/c/hadoop/pyskt_tutorial$ mkdir data &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; cd data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; evan@evan:/mnt/c/hadoop/pyskt_tutorial/data$ vi README.md&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://README.md&#34;&gt;README.md&lt;/a&gt;  파일에서 영어 텍스트 아무거나 추가한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 Spark 설명구문을 추가했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;This program just counts the number of lines containing ‘a’ and the number containing ‘b’ in a text file. Note that you’ll need to replace YOUR_SPARK_HOME with the location where Spark is installed. As with the Scala and Java examples, we use a SparkSession to create Datasets. For applications that use custom classes or third-party libraries, we can also add code dependencies to spark-submit through its --py-files argument by packaging them into a .zip file (see spark-submit --help for details). SimpleApp is simple enough that we do not need to specify any code dependencies.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;We can run this application using the bin/spark-submit script:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;simpleapppy-작성&#34;&gt;SimpleApp.py 작성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음과 같은 파일을 작성한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구체적인 코드 설명은 생략한다.&lt;/li&gt;&#xA;&lt;li&gt;중요한 코드 중 하나는 input( ) 이다. 사용자가 입력을 하지 않으면 spark 세션은 계속 열린상태로 남게 된다. (일종의 Trick)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; pyspark.sql &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; SparkSession&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;logFile &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/README.md&amp;#34;&lt;/span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# Should be some file on your system&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;spark &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; SparkSession&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;builder&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;appName(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SimpleApp&amp;#34;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;getOrCreate()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;logData &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; spark&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;text(logFile)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;cache()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;numAs &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; logData&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;filter(logData&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;contains(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;))&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;count()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;numBs &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; logData&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;filter(logData&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;contains(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;))&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;count()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Lines with a: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%i&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;, lines with b: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%i&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt; (numAs, numBs))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;input(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Typing....&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;spark&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;stop()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;spark-submit-제출&#34;&gt;Spark-Submit 제출&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;여기가 매우 중요한 파트이다.&lt;/li&gt;&#xA;&lt;li&gt;보통 &lt;code&gt;bin/spark-submit&lt;/code&gt;script라 부르기도 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;자세한 설명은 다음 설명을 참조한다. &lt;a href=&#34;https://spark.apache.org/docs/latest/submitting-applications.html&#34;&gt;https://spark.apache.org/docs/latest/submitting-applications.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; evan@evan:/mnt/c/hadoop/pyskt_tutorial$ $SPARK_HOME/bin/spark-submit --master local&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;4&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; /mnt/c/hadoop/pyskt_tutorial/SimpleApp.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;실행하면 아래와 같은 메시지가 뜰 것이다. 이 때, 주소를 복사한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Using 172.17.233.202 주소를 복사한다. (이는 각 컴퓨터마다 다를 것이다!)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/spark_tutorial_web_ui/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>WSL2에서의 Spark 설치</title>
      <link>https://dschloe.github.io/programming/2022/04/spark_install_using_wsl/</link>
      <pubDate>Tue, 19 Apr 2022 12:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/04/spark_install_using_wsl/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단하게  PySpark를 설치해보는 과정을 작성한다.&lt;/li&gt;&#xA;&lt;li&gt;WSL2 설치 방법은 다루지 않는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;필수-파일-설치&#34;&gt;필수 파일 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;자바 및 Spark 파일을 설치하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo apt-get install openjdk-8-jdk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo wget https://archive.apache.org/dist/spark/spark-3.2.0/spark-3.2.0-bin-hadoop3.2.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo tar -xvzf spark-3.2.0-bin-hadoop3.2.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;bashrc-파일-수정&#34;&gt;.bashrc 파일 수정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자의 현재 경로는 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;evan@evan:/mnt/c/hadoop$ pwd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/mnt/c/hadoop&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;설치한 파일은 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;evan@evan:/mnt/c/hadoop$ ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;spark-3.2.0-bin-hadoop3.2  spark-3.2.0-bin-hadoop3.2.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;vi ~/.bashrc&lt;/code&gt;  파일을 열고 다음과 같이 코드를 작성한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다른 코드는 만지지 않는다.&lt;/li&gt;&#xA;&lt;li&gt;가장 맨 마지막으로 내려온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export JAVA_HOME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/usr/lib/jvm/java-8-openjdk-amd64&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export SPARK_HOME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/mnt/c/hadoop/spark-3.2.0-bin-hadoop3.2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export PATH&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;$JAVA_HOME/bin:$PATH&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export PATH&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;$SPARK_HOME/sbin:$PATH&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export PYSPARK_PYTHON&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/usr/bin/python3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;테스트&#34;&gt;테스트&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;pyspark를 실행한다. (경로에 주의한다)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;evan@evan:/mnt/c/hadoop/spark-3.2.0-bin-hadoop3.2$ pwd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/mnt/c/hadoop/spark-3.2.0-bin-hadoop3.2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;evan@evan:/mnt/c/hadoop/spark-3.2.0-bin-hadoop3.2$ pysaprk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Python 3.8.10 &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;default, Mar &lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt; 2022, 12:22:08&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;GCC 9.4.0&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; on linux&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Type &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;help&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;copyright&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;credits&amp;#34;&lt;/span&gt; or &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;license&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; more information.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;22/04/19 19:39:57 WARN Utils: Your hostname, evan resolves to a loopback address: 127.0.1.1; using 172.17.233.202 instead &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;on interface eth0&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;22/04/19 19:39:57 WARN Utils: Set SPARK_LOCAL_IP &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; you need to bind to another address&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Using Spark&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s default log4j profile: org/apache/spark/log4j-defaults.properties&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Setting default log level to &amp;#34;WARN&amp;#34;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;22/04/19 19:39:59 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Welcome to&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;      ____              __&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;     / __/__  ___ _____/ /__&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    _\ \/ _ \/ _ `/ __/  &amp;#39;&lt;/span&gt;_/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   /__ / .__/&lt;span style=&#34;color:#ae81ff&#34;&gt;\_&lt;/span&gt;,_/_/ /_/&lt;span style=&#34;color:#ae81ff&#34;&gt;\_\ &lt;/span&gt;  version 3.2.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      /_/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Using Python version 3.8.10 &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;default, Mar &lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2022&lt;/span&gt; 12:22:08&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Spark context Web UI available at http://172.17.233.202:4040&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Spark context available as &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;sc&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;master &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; local&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;*&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;, app id &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; local-1650364801421&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;SparkSession available as &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;spark&amp;#39;&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt;&amp;gt;&amp;gt; rd &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sc.textFile&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;README.md&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt;&amp;gt;&amp;gt; rd.count&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;109&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;참조&#34;&gt;참조&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;strong&gt;Installation of Pyspark (All operating systems),&lt;/strong&gt;&lt;/strong&gt; &lt;a href=&#34;https://www.datacamp.com/community/tutorials/installation-of-pyspark&#34;&gt;https://www.datacamp.com/community/tutorials/installation-of-pyspark&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;strong&gt;Apache Spark 2.4.3 Installation on Windows 10 using Windows Subsystem for Linux,&lt;/strong&gt;&lt;/strong&gt; &lt;a href=&#34;https://kontext.tech/article/311/apache-spark-243-installation-on-windows-10-using-windows-subsystem-for-linux&#34;&gt;https://kontext.tech/article/311/apache-spark-243-installation-on-windows-10-using-windows-subsystem-for-linux&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>PyCaret Kaggle Notebook (Since April 10, 2022)</title>
      <link>https://dschloe.github.io/programming/2022/04/pycaret_kaggle_test/</link>
      <pubDate>Mon, 18 Apr 2022 23:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/04/pycaret_kaggle_test/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PyCaret이 최근 업데이트 되면서 Kaggle에서 설치 오류가 뜨기 시작함.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;메인 홈페이지 : &lt;a href=&#34;https://pycaret.gitbook.io/docs/&#34;&gt;https://pycaret.gitbook.io/docs/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;해결책은 몇가지 있으나, 그 중 Downgrade 해서 설치 할 예정&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;캐글-대회-시작&#34;&gt;캐글 대회 시작&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;캐글 노트북 시작을 하면 다음 코드가 나타난다. 다음 Cell부터 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# This Python 3 environment comes with many helpful analytics libraries installed&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# For example, here&amp;#39;s several helpful packages to load&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np &lt;span style=&#34;color:#75715e&#34;&gt;# linear algebra&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd &lt;span style=&#34;color:#75715e&#34;&gt;# data processing, CSV file I/O (e.g. pd.read_csv)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Input data files are available in the read-only &amp;#34;../input/&amp;#34; directory&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; dirname, _, filenames &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;walk(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/kaggle/input&amp;#39;&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; filename &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; filenames:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;join(dirname, filename))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using &amp;#34;Save &amp;amp; Run All&amp;#34; &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# You can also write temporary files to /kaggle/temp/, but they won&amp;#39;t be saved outside of the current session&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/kaggle/input/tabular-playground-series-apr-2022/sample_submission.csv&#xA;/kaggle/input/tabular-playground-series-apr-2022/train_labels.csv&#xA;/kaggle/input/tabular-playground-series-apr-2022/train.csv&#xA;/kaggle/input/tabular-playground-series-apr-2022/test.csv&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;라이브러리-downgrade&#34;&gt;라이브러리 Downgrade&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치하려고 하는 Library는 PyCaret 2.3.5 버전임 (4월 10일 기준 2.3.10 버전)&lt;/li&gt;&#xA;&lt;li&gt;Scikit-Learn 최신 버전은 1.0대 버전임&lt;/li&gt;&#xA;&lt;li&gt;이를 낮춰서 진행할 것임&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install numpy&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1.19.5&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install matplotlib&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3.4.0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install scikit&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;learn&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.23.2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install pycaret&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2.3.5&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Collecting numpy==1.19.5&#xA;  Downloading numpy-1.19.5-cp37-cp37m-manylinux2010_x86_64.whl (14.8 MB)&#xA;[2K     [90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[0m [32m14.8/14.8 MB[0m [31m33.0 MB/s[0m eta [36m0:00:00[0m&#xA;[?25hInstalling collected packages: numpy&#xA;  Attempting uninstall: numpy&#xA;    Found existing installation: numpy 1.21.5&#xA;    Uninstalling numpy-1.21.5:&#xA;      Successfully uninstalled numpy-1.21.5&#xA;[31mERROR: pip&#39;s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.&#xA;tensorflow-io 0.21.0 requires tensorflow-io-gcs-filesystem==0.21.0, which is not installed.&#xA;beatrix-jupyterlab 3.1.7 requires google-cloud-bigquery-storage, which is not installed.&#xA;thinc 8.0.15 requires typing-extensions&amp;lt;4.0.0.0,&amp;gt;=3.7.4.1; python_version &amp;lt; &amp;quot;3.8&amp;quot;, but you have typing-extensions 4.1.1 which is incompatible.&#xA;tfx-bsl 1.7.0 requires pyarrow&amp;lt;6,&amp;gt;=1, but you have pyarrow 7.0.0 which is incompatible.&#xA;tfx-bsl 1.7.0 requires tensorflow!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,&amp;lt;3,&amp;gt;=1.15.5, but you have tensorflow 2.6.3 which is incompatible.&#xA;tensorflow 2.6.3 requires absl-py~=0.10, but you have absl-py 1.0.0 which is incompatible.&#xA;tensorflow 2.6.3 requires six~=1.15.0, but you have six 1.16.0 which is incompatible.&#xA;tensorflow 2.6.3 requires typing-extensions&amp;lt;3.11,&amp;gt;=3.7, but you have typing-extensions 4.1.1 which is incompatible.&#xA;tensorflow 2.6.3 requires wrapt~=1.12.1, but you have wrapt 1.14.0 which is incompatible.&#xA;tensorflow-transform 1.7.0 requires pyarrow&amp;lt;6,&amp;gt;=1, but you have pyarrow 7.0.0 which is incompatible.&#xA;tensorflow-transform 1.7.0 requires tensorflow!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,&amp;lt;2.9,&amp;gt;=1.15.5, but you have tensorflow 2.6.3 which is incompatible.&#xA;tensorflow-serving-api 2.8.0 requires tensorflow&amp;lt;3,&amp;gt;=2.8.0, but you have tensorflow 2.6.3 which is incompatible.&#xA;spacy 3.2.4 requires typing-extensions&amp;lt;4.0.0.0,&amp;gt;=3.7.4; python_version &amp;lt; &amp;quot;3.8&amp;quot;, but you have typing-extensions 4.1.1 which is incompatible.&#xA;pdpbox 0.2.1 requires matplotlib==3.1.1, but you have matplotlib 3.5.1 which is incompatible.&#xA;imageio 2.16.1 requires numpy&amp;gt;=1.20.0, but you have numpy 1.19.5 which is incompatible.&#xA;featuretools 1.8.0 requires numpy&amp;gt;=1.21.0, but you have numpy 1.19.5 which is incompatible.&#xA;apache-beam 2.37.0 requires dill&amp;lt;0.3.2,&amp;gt;=0.3.1.1, but you have dill 0.3.4 which is incompatible.&#xA;apache-beam 2.37.0 requires httplib2&amp;lt;0.20.0,&amp;gt;=0.8, but you have httplib2 0.20.4 which is incompatible.&#xA;apache-beam 2.37.0 requires pyarrow&amp;lt;7.0.0,&amp;gt;=0.15.1, but you have pyarrow 7.0.0 which is incompatible.[0m[31m&#xA;[0mSuccessfully installed numpy-1.19.5&#xA;[33mWARNING: Running pip as the &#39;root&#39; user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv[0m[33m&#xA;[0mCollecting matplotlib==3.4.0&#xA;  Downloading matplotlib-3.4.0-cp37-cp37m-manylinux1_x86_64.whl (10.3 MB)&#xA;[2K     [90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[0m [32m10.3/10.3 MB[0m [31m21.5 MB/s[0m eta [36m0:00:00[0m&#xA;[?25hRequirement already satisfied: pyparsing&amp;gt;=2.2.1 in /opt/conda/lib/python3.7/site-packages (from matplotlib==3.4.0) (3.0.7)&#xA;Requirement already satisfied: kiwisolver&amp;gt;=1.0.1 in /opt/conda/lib/python3.7/site-packages (from matplotlib==3.4.0) (1.4.0)&#xA;Requirement already satisfied: numpy&amp;gt;=1.16 in /opt/conda/lib/python3.7/site-packages (from matplotlib==3.4.0) (1.19.5)&#xA;Requirement already satisfied: python-dateutil&amp;gt;=2.7 in /opt/conda/lib/python3.7/site-packages (from matplotlib==3.4.0) (2.8.2)&#xA;Requirement already satisfied: cycler&amp;gt;=0.10 in /opt/conda/lib/python3.7/site-packages (from matplotlib==3.4.0) (0.11.0)&#xA;Requirement already satisfied: pillow&amp;gt;=6.2.0 in /opt/conda/lib/python3.7/site-packages (from matplotlib==3.4.0) (9.0.1)&#xA;Requirement already satisfied: typing-extensions in /opt/conda/lib/python3.7/site-packages (from kiwisolver&amp;gt;=1.0.1-&amp;gt;matplotlib==3.4.0) (4.1.1)&#xA;Requirement already satisfied: six&amp;gt;=1.5 in /opt/conda/lib/python3.7/site-packages (from python-dateutil&amp;gt;=2.7-&amp;gt;matplotlib==3.4.0) (1.16.0)&#xA;Installing collected packages: matplotlib&#xA;  Attempting uninstall: matplotlib&#xA;    Found existing installation: matplotlib 3.5.1&#xA;    Uninstalling matplotlib-3.5.1:&#xA;      Successfully uninstalled matplotlib-3.5.1&#xA;[31mERROR: pip&#39;s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.&#xA;beatrix-jupyterlab 3.1.7 requires google-cloud-bigquery-storage, which is not installed.&#xA;pdpbox 0.2.1 requires matplotlib==3.1.1, but you have matplotlib 3.4.0 which is incompatible.[0m[31m&#xA;[0mSuccessfully installed matplotlib-3.4.0&#xA;[33mWARNING: Running pip as the &#39;root&#39; user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv[0m[33m&#xA;[0mCollecting scikit-learn==0.23.2&#xA;  Downloading scikit_learn-0.23.2-cp37-cp37m-manylinux1_x86_64.whl (6.8 MB)&#xA;[2K     [90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[0m [32m6.8/6.8 MB[0m [31m14.8 MB/s[0m eta [36m0:00:00[0m&#xA;[?25hRequirement already satisfied: scipy&amp;gt;=0.19.1 in /opt/conda/lib/python3.7/site-packages (from scikit-learn==0.23.2) (1.7.3)&#xA;Requirement already satisfied: joblib&amp;gt;=0.11 in /opt/conda/lib/python3.7/site-packages (from scikit-learn==0.23.2) (1.0.1)&#xA;Requirement already satisfied: numpy&amp;gt;=1.13.3 in /opt/conda/lib/python3.7/site-packages (from scikit-learn==0.23.2) (1.19.5)&#xA;Requirement already satisfied: threadpoolctl&amp;gt;=2.0.0 in /opt/conda/lib/python3.7/site-packages (from scikit-learn==0.23.2) (3.1.0)&#xA;Installing collected packages: scikit-learn&#xA;  Attempting uninstall: scikit-learn&#xA;    Found existing installation: scikit-learn 1.0.2&#xA;    Uninstalling scikit-learn-1.0.2:&#xA;      Successfully uninstalled scikit-learn-1.0.2&#xA;[31mERROR: pip&#39;s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.&#xA;yellowbrick 1.4 requires scikit-learn&amp;gt;=1.0.0, but you have scikit-learn 0.23.2 which is incompatible.&#xA;pdpbox 0.2.1 requires matplotlib==3.1.1, but you have matplotlib 3.4.0 which is incompatible.&#xA;imbalanced-learn 0.9.0 requires scikit-learn&amp;gt;=1.0.1, but you have scikit-learn 0.23.2 which is incompatible.&#xA;hypertools 0.8.0 requires scikit-learn&amp;gt;=0.24, but you have scikit-learn 0.23.2 which is incompatible.&#xA;featuretools 1.8.0 requires numpy&amp;gt;=1.21.0, but you have numpy 1.19.5 which is incompatible.[0m[31m&#xA;[0mSuccessfully installed scikit-learn-0.23.2&#xA;[33mWARNING: Running pip as the &#39;root&#39; user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv[0m[33m&#xA;[0mCollecting pycaret==2.3.5&#xA;  Downloading pycaret-2.3.5-py3-none-any.whl (288 kB)&#xA;[2K     [90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[0m [32m288.6/288.6 KB[0m [31m1.6 MB/s[0m eta [36m0:00:00[0m&#xA;[?25hRequirement already satisfied: ipywidgets in /opt/conda/lib/python3.7/site-packages (from pycaret==2.3.5) (7.6.5)&#xA;Requirement already satisfied: pyLDAvis in /opt/conda/lib/python3.7/site-packages (from pycaret==2.3.5) (3.2.2)&#xA;Requirement already satisfied: pandas in /opt/conda/lib/python3.7/site-packages (from pycaret==2.3.5) (1.3.5)&#xA;Collecting scipy&amp;lt;=1.5.4&#xA;  Downloading scipy-1.5.4-cp37-cp37m-manylinux1_x86_64.whl (25.9 MB)&#xA;[2K     [90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[0m [32m25.9/25.9 MB[0m [31m30.0 MB/s[0m eta [36m0:00:00[0m&#xA;[?25hRequirement already satisfied: nltk in /opt/conda/lib/python3.7/site-packages (from pycaret==2.3.5) (3.2.4)&#xA;Requirement already satisfied: IPython in /opt/conda/lib/python3.7/site-packages (from pycaret==2.3.5) (7.32.0)&#xA;Collecting spacy&amp;lt;2.4.0&#xA;  Downloading spacy-2.3.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.4 MB)&#xA;[2K     [90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[0m [32m10.4/10.4 MB[0m [31m41.9 MB/s[0m eta [36m0:00:00[0m&#xA;[?25hRequirement already satisfied: lightgbm&amp;gt;=2.3.1 in /opt/conda/lib/python3.7/site-packages (from pycaret==2.3.5) (3.3.1)&#xA;Requirement already satisfied: yellowbrick&amp;gt;=1.0.1 in /opt/conda/lib/python3.7/site-packages (from pycaret==2.3.5) (1.4)&#xA;Requirement already satisfied: textblob in /opt/conda/lib/python3.7/site-packages (from pycaret==2.3.5) (0.17.1)&#xA;Requirement already satisfied: plotly&amp;gt;=4.4.1 in /opt/conda/lib/python3.7/site-packages (from pycaret==2.3.5) (5.7.0)&#xA;Requirement already satisfied: scikit-plot in /opt/conda/lib/python3.7/site-packages (from pycaret==2.3.5) (0.3.7)&#xA;Requirement already satisfied: umap-learn in /opt/conda/lib/python3.7/site-packages (from pycaret==2.3.5) (0.5.2)&#xA;Collecting gensim&amp;lt;4.0.0&#xA;  Downloading gensim-3.8.3-cp37-cp37m-manylinux1_x86_64.whl (24.2 MB)&#xA;[2K     [90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[0m [32m24.2/24.2 MB[0m [31m28.5 MB/s[0m eta [36m0:00:00[0m&#xA;[?25hRequirement already satisfied: Boruta in /opt/conda/lib/python3.7/site-packages (from pycaret==2.3.5) (0.3)&#xA;Requirement already satisfied: matplotlib in /opt/conda/lib/python3.7/site-packages (from pycaret==2.3.5) (3.4.0)&#xA;Requirement already satisfied: pandas-profiling&amp;gt;=2.8.0 in /opt/conda/lib/python3.7/site-packages (from pycaret==2.3.5) (3.1.0)&#xA;Collecting imbalanced-learn==0.7.0&#xA;  Downloading imbalanced_learn-0.7.0-py3-none-any.whl (167 kB)&#xA;[2K     [90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[0m [32m167.1/167.1 KB[0m [31m14.8 MB/s[0m eta [36m0:00:00[0m&#xA;[?25hCollecting mlflow&#xA;  Downloading mlflow-1.25.1-py3-none-any.whl (16.8 MB)&#xA;[2K     [90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[0m [32m16.8/16.8 MB[0m [31m33.2 MB/s[0m eta [36m0:00:00[0m&#xA;[?25hCollecting pyod&#xA;  Downloading pyod-0.9.9.tar.gz (116 kB)&#xA;[2K     [90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[0m [32m116.4/116.4 KB[0m [31m10.8 MB/s[0m eta [36m0:00:00[0m&#xA;[?25h  Preparing metadata (setup.py) ... [?25ldone&#xA;[?25hRequirement already satisfied: kmodes&amp;gt;=0.10.1 in /opt/conda/lib/python3.7/site-packages (from pycaret==2.3.5) (0.12.0)&#xA;Requirement already satisfied: wordcloud in /opt/conda/lib/python3.7/site-packages (from pycaret==2.3.5) (1.8.1)&#xA;Requirement already satisfied: joblib in /opt/conda/lib/python3.7/site-packages (from pycaret==2.3.5) (1.0.1)&#xA;Requirement already satisfied: numpy==1.19.5 in /opt/conda/lib/python3.7/site-packages (from pycaret==2.3.5) (1.19.5)&#xA;Requirement already satisfied: seaborn in /opt/conda/lib/python3.7/site-packages (from pycaret==2.3.5) (0.11.2)&#xA;Requirement already satisfied: mlxtend&amp;gt;=0.17.0 in /opt/conda/lib/python3.7/site-packages (from pycaret==2.3.5) (0.19.0)&#xA;Requirement already satisfied: scikit-learn==0.23.2 in /opt/conda/lib/python3.7/site-packages (from pycaret==2.3.5) (0.23.2)&#xA;Requirement already satisfied: cufflinks&amp;gt;=0.17.0 in /opt/conda/lib/python3.7/site-packages (from pycaret==2.3.5) (0.17.3)&#xA;Requirement already satisfied: threadpoolctl&amp;gt;=2.0.0 in /opt/conda/lib/python3.7/site-packages (from scikit-learn==0.23.2-&amp;gt;pycaret==2.3.5) (3.1.0)&#xA;Requirement already satisfied: setuptools&amp;gt;=34.4.1 in /opt/conda/lib/python3.7/site-packages (from cufflinks&amp;gt;=0.17.0-&amp;gt;pycaret==2.3.5) (59.8.0)&#xA;Requirement already satisfied: colorlover&amp;gt;=0.2.1 in /opt/conda/lib/python3.7/site-packages (from cufflinks&amp;gt;=0.17.0-&amp;gt;pycaret==2.3.5) (0.3.0)&#xA;Requirement already satisfied: six&amp;gt;=1.9.0 in /opt/conda/lib/python3.7/site-packages (from cufflinks&amp;gt;=0.17.0-&amp;gt;pycaret==2.3.5) (1.16.0)&#xA;Requirement already satisfied: smart-open&amp;gt;=1.8.1 in /opt/conda/lib/python3.7/site-packages (from gensim&amp;lt;4.0.0-&amp;gt;pycaret==2.3.5) (5.2.1)&#xA;Requirement already satisfied: pickleshare in /opt/conda/lib/python3.7/site-packages (from IPython-&amp;gt;pycaret==2.3.5) (0.7.5)&#xA;Requirement already satisfied: backcall in /opt/conda/lib/python3.7/site-packages (from IPython-&amp;gt;pycaret==2.3.5) (0.2.0)&#xA;Requirement already satisfied: traitlets&amp;gt;=4.2 in /opt/conda/lib/python3.7/site-packages (from IPython-&amp;gt;pycaret==2.3.5) (5.1.1)&#xA;Requirement already satisfied: pexpect&amp;gt;4.3 in /opt/conda/lib/python3.7/site-packages (from IPython-&amp;gt;pycaret==2.3.5) (4.8.0)&#xA;Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,&amp;lt;3.1.0,&amp;gt;=2.0.0 in /opt/conda/lib/python3.7/site-packages (from IPython-&amp;gt;pycaret==2.3.5) (3.0.27)&#xA;Requirement already satisfied: pygments in /opt/conda/lib/python3.7/site-packages (from IPython-&amp;gt;pycaret==2.3.5) (2.11.2)&#xA;Requirement already satisfied: jedi&amp;gt;=0.16 in /opt/conda/lib/python3.7/site-packages (from IPython-&amp;gt;pycaret==2.3.5) (0.18.1)&#xA;Requirement already satisfied: decorator in /opt/conda/lib/python3.7/site-packages (from IPython-&amp;gt;pycaret==2.3.5) (5.1.1)&#xA;Requirement already satisfied: matplotlib-inline in /opt/conda/lib/python3.7/site-packages (from IPython-&amp;gt;pycaret==2.3.5) (0.1.3)&#xA;Requirement already satisfied: ipython-genutils~=0.2.0 in /opt/conda/lib/python3.7/site-packages (from ipywidgets-&amp;gt;pycaret==2.3.5) (0.2.0)&#xA;Requirement already satisfied: jupyterlab-widgets&amp;gt;=1.0.0 in /opt/conda/lib/python3.7/site-packages (from ipywidgets-&amp;gt;pycaret==2.3.5) (1.0.2)&#xA;Requirement already satisfied: widgetsnbextension~=3.5.0 in /opt/conda/lib/python3.7/site-packages (from ipywidgets-&amp;gt;pycaret==2.3.5) (3.5.2)&#xA;Requirement already satisfied: nbformat&amp;gt;=4.2.0 in /opt/conda/lib/python3.7/site-packages (from ipywidgets-&amp;gt;pycaret==2.3.5) (5.2.0)&#xA;Requirement already satisfied: ipykernel&amp;gt;=4.5.1 in /opt/conda/lib/python3.7/site-packages (from ipywidgets-&amp;gt;pycaret==2.3.5) (6.9.2)&#xA;Requirement already satisfied: wheel in /opt/conda/lib/python3.7/site-packages (from lightgbm&amp;gt;=2.3.1-&amp;gt;pycaret==2.3.5) (0.37.1)&#xA;Requirement already satisfied: pillow&amp;gt;=6.2.0 in /opt/conda/lib/python3.7/site-packages (from matplotlib-&amp;gt;pycaret==2.3.5) (9.0.1)&#xA;Requirement already satisfied: python-dateutil&amp;gt;=2.7 in /opt/conda/lib/python3.7/site-packages (from matplotlib-&amp;gt;pycaret==2.3.5) (2.8.2)&#xA;Requirement already satisfied: kiwisolver&amp;gt;=1.0.1 in /opt/conda/lib/python3.7/site-packages (from matplotlib-&amp;gt;pycaret==2.3.5) (1.4.0)&#xA;Requirement already satisfied: pyparsing&amp;gt;=2.2.1 in /opt/conda/lib/python3.7/site-packages (from matplotlib-&amp;gt;pycaret==2.3.5) (3.0.7)&#xA;Requirement already satisfied: cycler&amp;gt;=0.10 in /opt/conda/lib/python3.7/site-packages (from matplotlib-&amp;gt;pycaret==2.3.5) (0.11.0)&#xA;Requirement already satisfied: pytz&amp;gt;=2017.3 in /opt/conda/lib/python3.7/site-packages (from pandas-&amp;gt;pycaret==2.3.5) (2021.3)&#xA;Requirement already satisfied: visions[type_image_path]==0.7.4 in /opt/conda/lib/python3.7/site-packages (from pandas-profiling&amp;gt;=2.8.0-&amp;gt;pycaret==2.3.5) (0.7.4)&#xA;Requirement already satisfied: jinja2&amp;gt;=2.11.1 in /opt/conda/lib/python3.7/site-packages (from pandas-profiling&amp;gt;=2.8.0-&amp;gt;pycaret==2.3.5) (3.1.1)&#xA;Requirement already satisfied: phik&amp;gt;=0.11.1 in /opt/conda/lib/python3.7/site-packages (from pandas-profiling&amp;gt;=2.8.0-&amp;gt;pycaret==2.3.5) (0.12.0)&#xA;Requirement already satisfied: requests&amp;gt;=2.24.0 in /opt/conda/lib/python3.7/site-packages (from pandas-profiling&amp;gt;=2.8.0-&amp;gt;pycaret==2.3.5) (2.27.1)&#xA;Requirement already satisfied: pydantic&amp;gt;=1.8.1 in /opt/conda/lib/python3.7/site-packages (from pandas-profiling&amp;gt;=2.8.0-&amp;gt;pycaret==2.3.5) (1.8.2)&#xA;Requirement already satisfied: markupsafe~=2.0.1 in /opt/conda/lib/python3.7/site-packages (from pandas-profiling&amp;gt;=2.8.0-&amp;gt;pycaret==2.3.5) (2.0.1)&#xA;Requirement already satisfied: htmlmin&amp;gt;=0.1.12 in /opt/conda/lib/python3.7/site-packages (from pandas-profiling&amp;gt;=2.8.0-&amp;gt;pycaret==2.3.5) (0.1.12)&#xA;Requirement already satisfied: tqdm&amp;gt;=4.48.2 in /opt/conda/lib/python3.7/site-packages (from pandas-profiling&amp;gt;=2.8.0-&amp;gt;pycaret==2.3.5) (4.63.0)&#xA;Requirement already satisfied: multimethod&amp;gt;=1.4 in /opt/conda/lib/python3.7/site-packages (from pandas-profiling&amp;gt;=2.8.0-&amp;gt;pycaret==2.3.5) (1.4)&#xA;Requirement already satisfied: PyYAML&amp;gt;=5.0.0 in /opt/conda/lib/python3.7/site-packages (from pandas-profiling&amp;gt;=2.8.0-&amp;gt;pycaret==2.3.5) (6.0)&#xA;Requirement already satisfied: tangled-up-in-unicode==0.1.0 in /opt/conda/lib/python3.7/site-packages (from pandas-profiling&amp;gt;=2.8.0-&amp;gt;pycaret==2.3.5) (0.1.0)&#xA;Requirement already satisfied: missingno&amp;gt;=0.4.2 in /opt/conda/lib/python3.7/site-packages (from pandas-profiling&amp;gt;=2.8.0-&amp;gt;pycaret==2.3.5) (0.4.2)&#xA;Requirement already satisfied: attrs&amp;gt;=19.3.0 in /opt/conda/lib/python3.7/site-packages (from visions[type_image_path]==0.7.4-&amp;gt;pandas-profiling&amp;gt;=2.8.0-&amp;gt;pycaret==2.3.5) (21.4.0)&#xA;Requirement already satisfied: networkx&amp;gt;=2.4 in /opt/conda/lib/python3.7/site-packages (from visions[type_image_path]==0.7.4-&amp;gt;pandas-profiling&amp;gt;=2.8.0-&amp;gt;pycaret==2.3.5) (2.5)&#xA;Requirement already satisfied: imagehash in /opt/conda/lib/python3.7/site-packages (from visions[type_image_path]==0.7.4-&amp;gt;pandas-profiling&amp;gt;=2.8.0-&amp;gt;pycaret==2.3.5) (4.2.1)&#xA;Requirement already satisfied: tenacity&amp;gt;=6.2.0 in /opt/conda/lib/python3.7/site-packages (from plotly&amp;gt;=4.4.1-&amp;gt;pycaret==2.3.5) (8.0.1)&#xA;Collecting catalogue&amp;lt;1.1.0,&amp;gt;=0.0.7&#xA;  Downloading catalogue-1.0.0-py2.py3-none-any.whl (7.7 kB)&#xA;Requirement already satisfied: wasabi&amp;lt;1.1.0,&amp;gt;=0.4.0 in /opt/conda/lib/python3.7/site-packages (from spacy&amp;lt;2.4.0-&amp;gt;pycaret==2.3.5) (0.9.1)&#xA;Collecting thinc&amp;lt;7.5.0,&amp;gt;=7.4.1&#xA;  Downloading thinc-7.4.5-cp37-cp37m-manylinux2014_x86_64.whl (1.0 MB)&#xA;[2K     [90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[0m [32m1.0/1.0 MB[0m [31m49.3 MB/s[0m eta [36m0:00:00[0m&#xA;[?25hRequirement already satisfied: murmurhash&amp;lt;1.1.0,&amp;gt;=0.28.0 in /opt/conda/lib/python3.7/site-packages (from spacy&amp;lt;2.4.0-&amp;gt;pycaret==2.3.5) (1.0.6)&#xA;Requirement already satisfied: blis&amp;lt;0.8.0,&amp;gt;=0.4.0 in /opt/conda/lib/python3.7/site-packages (from spacy&amp;lt;2.4.0-&amp;gt;pycaret==2.3.5) (0.7.7)&#xA;Collecting plac&amp;lt;1.2.0,&amp;gt;=0.9.6&#xA;  Downloading plac-1.1.3-py2.py3-none-any.whl (20 kB)&#xA;Requirement already satisfied: cymem&amp;lt;2.1.0,&amp;gt;=2.0.2 in /opt/conda/lib/python3.7/site-packages (from spacy&amp;lt;2.4.0-&amp;gt;pycaret==2.3.5) (2.0.6)&#xA;Collecting srsly&amp;lt;1.1.0,&amp;gt;=1.0.2&#xA;  Downloading srsly-1.0.5-cp37-cp37m-manylinux2014_x86_64.whl (184 kB)&#xA;[2K     [90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[0m [32m184.3/184.3 KB[0m [31m16.8 MB/s[0m eta [36m0:00:00[0m&#xA;[?25hRequirement already satisfied: preshed&amp;lt;3.1.0,&amp;gt;=3.0.2 in /opt/conda/lib/python3.7/site-packages (from spacy&amp;lt;2.4.0-&amp;gt;pycaret==2.3.5) (3.0.6)&#xA;Collecting yellowbrick&amp;gt;=1.0.1&#xA;  Downloading yellowbrick-1.3.post1-py3-none-any.whl (271 kB)&#xA;[2K     [90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[0m [32m271.4/271.4 KB[0m [31m22.2 MB/s[0m eta [36m0:00:00[0m&#xA;[?25hRequirement already satisfied: alembic in /opt/conda/lib/python3.7/site-packages (from mlflow-&amp;gt;pycaret==2.3.5) (1.7.7)&#xA;Requirement already satisfied: Flask in /opt/conda/lib/python3.7/site-packages (from mlflow-&amp;gt;pycaret==2.3.5) (2.1.1)&#xA;Collecting gunicorn&#xA;  Downloading gunicorn-20.1.0-py3-none-any.whl (79 kB)&#xA;[2K     [90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[0m [32m79.5/79.5 KB[0m [31m7.9 MB/s[0m eta [36m0:00:00[0m&#xA;[?25hRequirement already satisfied: importlib-metadata!=4.7.0,&amp;gt;=3.7.0 in /opt/conda/lib/python3.7/site-packages (from mlflow-&amp;gt;pycaret==2.3.5) (4.11.3)&#xA;Collecting querystring-parser&#xA;  Downloading querystring_parser-1.2.4-py2.py3-none-any.whl (7.9 kB)&#xA;Requirement already satisfied: docker&amp;gt;=4.0.0 in /opt/conda/lib/python3.7/site-packages (from mlflow-&amp;gt;pycaret==2.3.5) (5.0.3)&#xA;Requirement already satisfied: sqlparse&amp;gt;=0.3.1 in /opt/conda/lib/python3.7/site-packages (from mlflow-&amp;gt;pycaret==2.3.5) (0.4.2)&#xA;Requirement already satisfied: gitpython&amp;gt;=2.1.0 in /opt/conda/lib/python3.7/site-packages (from mlflow-&amp;gt;pycaret==2.3.5) (3.1.27)&#xA;Requirement already satisfied: protobuf&amp;gt;=3.7.0 in /opt/conda/lib/python3.7/site-packages (from mlflow-&amp;gt;pycaret==2.3.5) (3.19.4)&#xA;Requirement already satisfied: packaging in /opt/conda/lib/python3.7/site-packages (from mlflow-&amp;gt;pycaret==2.3.5) (21.3)&#xA;Requirement already satisfied: click&amp;gt;=7.0 in /opt/conda/lib/python3.7/site-packages (from mlflow-&amp;gt;pycaret==2.3.5) (8.0.4)&#xA;Collecting prometheus-flask-exporter&#xA;  Downloading prometheus_flask_exporter-0.20.1-py3-none-any.whl (18 kB)&#xA;Requirement already satisfied: entrypoints in /opt/conda/lib/python3.7/site-packages (from mlflow-&amp;gt;pycaret==2.3.5) (0.4)&#xA;Collecting databricks-cli&amp;gt;=0.8.7&#xA;  Downloading databricks-cli-0.16.6.tar.gz (62 kB)&#xA;[2K     [90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[0m [32m62.2/62.2 KB[0m [31m5.8 MB/s[0m eta [36m0:00:00[0m&#xA;[?25h  Preparing metadata (setup.py) ... [?25ldone&#xA;[?25hRequirement already satisfied: cloudpickle in /opt/conda/lib/python3.7/site-packages (from mlflow-&amp;gt;pycaret==2.3.5) (2.0.0)&#xA;Requirement already satisfied: sqlalchemy in /opt/conda/lib/python3.7/site-packages (from mlflow-&amp;gt;pycaret==2.3.5) (1.4.32)&#xA;Requirement already satisfied: future in /opt/conda/lib/python3.7/site-packages (from pyLDAvis-&amp;gt;pycaret==2.3.5) (0.18.2)&#xA;Requirement already satisfied: funcy in /opt/conda/lib/python3.7/site-packages (from pyLDAvis-&amp;gt;pycaret==2.3.5) (1.17)&#xA;Requirement already satisfied: numexpr in /opt/conda/lib/python3.7/site-packages (from pyLDAvis-&amp;gt;pycaret==2.3.5) (2.8.1)&#xA;Requirement already satisfied: numba&amp;gt;=0.35 in /opt/conda/lib/python3.7/site-packages (from pyod-&amp;gt;pycaret==2.3.5) (0.55.1)&#xA;Requirement already satisfied: statsmodels in /opt/conda/lib/python3.7/site-packages (from pyod-&amp;gt;pycaret==2.3.5) (0.13.2)&#xA;Requirement already satisfied: pynndescent&amp;gt;=0.5 in /opt/conda/lib/python3.7/site-packages (from umap-learn-&amp;gt;pycaret==2.3.5) (0.5.6)&#xA;Requirement already satisfied: pyjwt&amp;gt;=1.7.0 in /opt/conda/lib/python3.7/site-packages (from databricks-cli&amp;gt;=0.8.7-&amp;gt;mlflow-&amp;gt;pycaret==2.3.5) (2.3.0)&#xA;Requirement already satisfied: oauthlib&amp;gt;=3.1.0 in /opt/conda/lib/python3.7/site-packages (from databricks-cli&amp;gt;=0.8.7-&amp;gt;mlflow-&amp;gt;pycaret==2.3.5) (3.2.0)&#xA;Requirement already satisfied: tabulate&amp;gt;=0.7.7 in /opt/conda/lib/python3.7/site-packages (from databricks-cli&amp;gt;=0.8.7-&amp;gt;mlflow-&amp;gt;pycaret==2.3.5) (0.8.9)&#xA;Requirement already satisfied: websocket-client&amp;gt;=0.32.0 in /opt/conda/lib/python3.7/site-packages (from docker&amp;gt;=4.0.0-&amp;gt;mlflow-&amp;gt;pycaret==2.3.5) (1.3.1)&#xA;Requirement already satisfied: typing-extensions&amp;gt;=3.7.4.3 in /opt/conda/lib/python3.7/site-packages (from gitpython&amp;gt;=2.1.0-&amp;gt;mlflow-&amp;gt;pycaret==2.3.5) (4.1.1)&#xA;Requirement already satisfied: gitdb&amp;lt;5,&amp;gt;=4.0.1 in /opt/conda/lib/python3.7/site-packages (from gitpython&amp;gt;=2.1.0-&amp;gt;mlflow-&amp;gt;pycaret==2.3.5) (4.0.9)&#xA;Requirement already satisfied: zipp&amp;gt;=0.5 in /opt/conda/lib/python3.7/site-packages (from importlib-metadata!=4.7.0,&amp;gt;=3.7.0-&amp;gt;mlflow-&amp;gt;pycaret==2.3.5) (3.7.0)&#xA;Requirement already satisfied: psutil in /opt/conda/lib/python3.7/site-packages (from ipykernel&amp;gt;=4.5.1-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (5.9.0)&#xA;Requirement already satisfied: debugpy&amp;lt;2.0,&amp;gt;=1.0.0 in /opt/conda/lib/python3.7/site-packages (from ipykernel&amp;gt;=4.5.1-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (1.5.1)&#xA;Requirement already satisfied: tornado&amp;lt;7.0,&amp;gt;=4.2 in /opt/conda/lib/python3.7/site-packages (from ipykernel&amp;gt;=4.5.1-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (6.1)&#xA;Requirement already satisfied: jupyter-client&amp;lt;8.0 in /opt/conda/lib/python3.7/site-packages (from ipykernel&amp;gt;=4.5.1-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (7.1.2)&#xA;Requirement already satisfied: nest-asyncio in /opt/conda/lib/python3.7/site-packages (from ipykernel&amp;gt;=4.5.1-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (1.5.4)&#xA;Requirement already satisfied: parso&amp;lt;0.9.0,&amp;gt;=0.8.0 in /opt/conda/lib/python3.7/site-packages (from jedi&amp;gt;=0.16-&amp;gt;IPython-&amp;gt;pycaret==2.3.5) (0.8.3)&#xA;Requirement already satisfied: jsonschema!=2.5.0,&amp;gt;=2.4 in /opt/conda/lib/python3.7/site-packages (from nbformat&amp;gt;=4.2.0-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (4.4.0)&#xA;Requirement already satisfied: jupyter-core in /opt/conda/lib/python3.7/site-packages (from nbformat&amp;gt;=4.2.0-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (4.9.2)&#xA;Requirement already satisfied: llvmlite&amp;lt;0.39,&amp;gt;=0.38.0rc1 in /opt/conda/lib/python3.7/site-packages (from numba&amp;gt;=0.35-&amp;gt;pyod-&amp;gt;pycaret==2.3.5) (0.38.0)&#xA;Requirement already satisfied: ptyprocess&amp;gt;=0.5 in /opt/conda/lib/python3.7/site-packages (from pexpect&amp;gt;4.3-&amp;gt;IPython-&amp;gt;pycaret==2.3.5) (0.7.0)&#xA;Requirement already satisfied: wcwidth in /opt/conda/lib/python3.7/site-packages (from prompt-toolkit!=3.0.0,!=3.0.1,&amp;lt;3.1.0,&amp;gt;=2.0.0-&amp;gt;IPython-&amp;gt;pycaret==2.3.5) (0.2.5)&#xA;Requirement already satisfied: urllib3&amp;lt;1.27,&amp;gt;=1.21.1 in /opt/conda/lib/python3.7/site-packages (from requests&amp;gt;=2.24.0-&amp;gt;pandas-profiling&amp;gt;=2.8.0-&amp;gt;pycaret==2.3.5) (1.26.8)&#xA;Requirement already satisfied: certifi&amp;gt;=2017.4.17 in /opt/conda/lib/python3.7/site-packages (from requests&amp;gt;=2.24.0-&amp;gt;pandas-profiling&amp;gt;=2.8.0-&amp;gt;pycaret==2.3.5) (2021.10.8)&#xA;Requirement already satisfied: charset-normalizer~=2.0.0 in /opt/conda/lib/python3.7/site-packages (from requests&amp;gt;=2.24.0-&amp;gt;pandas-profiling&amp;gt;=2.8.0-&amp;gt;pycaret==2.3.5) (2.0.12)&#xA;Requirement already satisfied: idna&amp;lt;4,&amp;gt;=2.5 in /opt/conda/lib/python3.7/site-packages (from requests&amp;gt;=2.24.0-&amp;gt;pandas-profiling&amp;gt;=2.8.0-&amp;gt;pycaret==2.3.5) (3.3)&#xA;Requirement already satisfied: notebook&amp;gt;=4.4.1 in /opt/conda/lib/python3.7/site-packages (from widgetsnbextension~=3.5.0-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (6.4.10)&#xA;Requirement already satisfied: importlib-resources in /opt/conda/lib/python3.7/site-packages (from alembic-&amp;gt;mlflow-&amp;gt;pycaret==2.3.5) (5.4.0)&#xA;Requirement already satisfied: Mako in /opt/conda/lib/python3.7/site-packages (from alembic-&amp;gt;mlflow-&amp;gt;pycaret==2.3.5) (1.2.0)&#xA;Requirement already satisfied: greenlet!=0.4.17 in /opt/conda/lib/python3.7/site-packages (from sqlalchemy-&amp;gt;mlflow-&amp;gt;pycaret==2.3.5) (1.1.2)&#xA;Requirement already satisfied: Werkzeug&amp;gt;=2.0 in /opt/conda/lib/python3.7/site-packages (from Flask-&amp;gt;mlflow-&amp;gt;pycaret==2.3.5) (2.0.3)&#xA;Requirement already satisfied: itsdangerous&amp;gt;=2.0 in /opt/conda/lib/python3.7/site-packages (from Flask-&amp;gt;mlflow-&amp;gt;pycaret==2.3.5) (2.1.2)&#xA;Requirement already satisfied: prometheus-client in /opt/conda/lib/python3.7/site-packages (from prometheus-flask-exporter-&amp;gt;mlflow-&amp;gt;pycaret==2.3.5) (0.13.1)&#xA;Requirement already satisfied: patsy&amp;gt;=0.5.2 in /opt/conda/lib/python3.7/site-packages (from statsmodels-&amp;gt;pyod-&amp;gt;pycaret==2.3.5) (0.5.2)&#xA;Requirement already satisfied: smmap&amp;lt;6,&amp;gt;=3.0.1 in /opt/conda/lib/python3.7/site-packages (from gitdb&amp;lt;5,&amp;gt;=4.0.1-&amp;gt;gitpython&amp;gt;=2.1.0-&amp;gt;mlflow-&amp;gt;pycaret==2.3.5) (3.0.5)&#xA;Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,&amp;gt;=0.14.0 in /opt/conda/lib/python3.7/site-packages (from jsonschema!=2.5.0,&amp;gt;=2.4-&amp;gt;nbformat&amp;gt;=4.2.0-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (0.18.1)&#xA;Requirement already satisfied: pyzmq&amp;gt;=13 in /opt/conda/lib/python3.7/site-packages (from jupyter-client&amp;lt;8.0-&amp;gt;ipykernel&amp;gt;=4.5.1-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (22.3.0)&#xA;Requirement already satisfied: terminado&amp;gt;=0.8.3 in /opt/conda/lib/python3.7/site-packages (from notebook&amp;gt;=4.4.1-&amp;gt;widgetsnbextension~=3.5.0-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (0.13.3)&#xA;Requirement already satisfied: argon2-cffi in /opt/conda/lib/python3.7/site-packages (from notebook&amp;gt;=4.4.1-&amp;gt;widgetsnbextension~=3.5.0-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (21.3.0)&#xA;Requirement already satisfied: Send2Trash&amp;gt;=1.8.0 in /opt/conda/lib/python3.7/site-packages (from notebook&amp;gt;=4.4.1-&amp;gt;widgetsnbextension~=3.5.0-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (1.8.0)&#xA;Requirement already satisfied: nbconvert&amp;gt;=5 in /opt/conda/lib/python3.7/site-packages (from notebook&amp;gt;=4.4.1-&amp;gt;widgetsnbextension~=3.5.0-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (6.5.0)&#xA;Requirement already satisfied: PyWavelets in /opt/conda/lib/python3.7/site-packages (from imagehash-&amp;gt;visions[type_image_path]==0.7.4-&amp;gt;pandas-profiling&amp;gt;=2.8.0-&amp;gt;pycaret==2.3.5) (1.3.0)&#xA;Requirement already satisfied: jupyterlab-pygments in /opt/conda/lib/python3.7/site-packages (from nbconvert&amp;gt;=5-&amp;gt;notebook&amp;gt;=4.4.1-&amp;gt;widgetsnbextension~=3.5.0-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (0.1.2)&#xA;Requirement already satisfied: mistune&amp;lt;2,&amp;gt;=0.8.1 in /opt/conda/lib/python3.7/site-packages (from nbconvert&amp;gt;=5-&amp;gt;notebook&amp;gt;=4.4.1-&amp;gt;widgetsnbextension~=3.5.0-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (0.8.4)&#xA;Requirement already satisfied: nbclient&amp;gt;=0.5.0 in /opt/conda/lib/python3.7/site-packages (from nbconvert&amp;gt;=5-&amp;gt;notebook&amp;gt;=4.4.1-&amp;gt;widgetsnbextension~=3.5.0-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (0.5.13)&#xA;Requirement already satisfied: defusedxml in /opt/conda/lib/python3.7/site-packages (from nbconvert&amp;gt;=5-&amp;gt;notebook&amp;gt;=4.4.1-&amp;gt;widgetsnbextension~=3.5.0-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (0.7.1)&#xA;Requirement already satisfied: pandocfilters&amp;gt;=1.4.1 in /opt/conda/lib/python3.7/site-packages (from nbconvert&amp;gt;=5-&amp;gt;notebook&amp;gt;=4.4.1-&amp;gt;widgetsnbextension~=3.5.0-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (1.5.0)&#xA;Requirement already satisfied: bleach in /opt/conda/lib/python3.7/site-packages (from nbconvert&amp;gt;=5-&amp;gt;notebook&amp;gt;=4.4.1-&amp;gt;widgetsnbextension~=3.5.0-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (4.1.0)&#xA;Requirement already satisfied: tinycss2 in /opt/conda/lib/python3.7/site-packages (from nbconvert&amp;gt;=5-&amp;gt;notebook&amp;gt;=4.4.1-&amp;gt;widgetsnbextension~=3.5.0-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (1.1.1)&#xA;Requirement already satisfied: beautifulsoup4 in /opt/conda/lib/python3.7/site-packages (from nbconvert&amp;gt;=5-&amp;gt;notebook&amp;gt;=4.4.1-&amp;gt;widgetsnbextension~=3.5.0-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (4.10.0)&#xA;Requirement already satisfied: argon2-cffi-bindings in /opt/conda/lib/python3.7/site-packages (from argon2-cffi-&amp;gt;notebook&amp;gt;=4.4.1-&amp;gt;widgetsnbextension~=3.5.0-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (21.2.0)&#xA;Requirement already satisfied: cffi&amp;gt;=1.0.1 in /opt/conda/lib/python3.7/site-packages (from argon2-cffi-bindings-&amp;gt;argon2-cffi-&amp;gt;notebook&amp;gt;=4.4.1-&amp;gt;widgetsnbextension~=3.5.0-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (1.15.0)&#xA;Requirement already satisfied: soupsieve&amp;gt;1.2 in /opt/conda/lib/python3.7/site-packages (from beautifulsoup4-&amp;gt;nbconvert&amp;gt;=5-&amp;gt;notebook&amp;gt;=4.4.1-&amp;gt;widgetsnbextension~=3.5.0-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (2.3.1)&#xA;Requirement already satisfied: webencodings in /opt/conda/lib/python3.7/site-packages (from bleach-&amp;gt;nbconvert&amp;gt;=5-&amp;gt;notebook&amp;gt;=4.4.1-&amp;gt;widgetsnbextension~=3.5.0-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (0.5.1)&#xA;Requirement already satisfied: pycparser in /opt/conda/lib/python3.7/site-packages (from cffi&amp;gt;=1.0.1-&amp;gt;argon2-cffi-bindings-&amp;gt;argon2-cffi-&amp;gt;notebook&amp;gt;=4.4.1-&amp;gt;widgetsnbextension~=3.5.0-&amp;gt;ipywidgets-&amp;gt;pycaret==2.3.5) (2.21)&#xA;Building wheels for collected packages: pyod, databricks-cli&#xA;  Building wheel for pyod (setup.py) ... [?25ldone&#xA;[?25h  Created wheel for pyod: filename=pyod-0.9.9-py3-none-any.whl size=139325 sha256=d0a36e8fd0573bc188a9e8f06c62d07c3ca5c12d5e2466310139677ba7731700&#xA;  Stored in directory: /root/.cache/pip/wheels/68/32/f0/0dc3050775e77b6661a116b70817b02b4305fa253269d6d998&#xA;  Building wheel for databricks-cli (setup.py) ... [?25ldone&#xA;[?25h  Created wheel for databricks-cli: filename=databricks_cli-0.16.6-py3-none-any.whl size=112631 sha256=3ae75cdf238ec349a4cf775a5fd33709acb1b17e8f1c1265eb3de4fe7c88fa22&#xA;  Stored in directory: /root/.cache/pip/wheels/96/c1/f8/d75a22e789ab6a4dff11f18338c3af4360189aa371295cc934&#xA;Successfully built pyod databricks-cli&#xA;Installing collected packages: srsly, plac, scipy, querystring-parser, gunicorn, gensim, catalogue, yellowbrick, thinc, imbalanced-learn, databricks-cli, spacy, pyod, prometheus-flask-exporter, mlflow, pycaret&#xA;  Attempting uninstall: srsly&#xA;    Found existing installation: srsly 2.4.2&#xA;    Uninstalling srsly-2.4.2:&#xA;      Successfully uninstalled srsly-2.4.2&#xA;  Attempting uninstall: scipy&#xA;    Found existing installation: scipy 1.7.3&#xA;    Uninstalling scipy-1.7.3:&#xA;      Successfully uninstalled scipy-1.7.3&#xA;  Attempting uninstall: gensim&#xA;    Found existing installation: gensim 4.0.1&#xA;    Uninstalling gensim-4.0.1:&#xA;      Successfully uninstalled gensim-4.0.1&#xA;  Attempting uninstall: catalogue&#xA;    Found existing installation: catalogue 2.0.7&#xA;    Uninstalling catalogue-2.0.7:&#xA;      Successfully uninstalled catalogue-2.0.7&#xA;  Attempting uninstall: yellowbrick&#xA;    Found existing installation: yellowbrick 1.4&#xA;    Uninstalling yellowbrick-1.4:&#xA;      Successfully uninstalled yellowbrick-1.4&#xA;  Attempting uninstall: thinc&#xA;    Found existing installation: thinc 8.0.15&#xA;    Uninstalling thinc-8.0.15:&#xA;      Successfully uninstalled thinc-8.0.15&#xA;  Attempting uninstall: imbalanced-learn&#xA;    Found existing installation: imbalanced-learn 0.9.0&#xA;    Uninstalling imbalanced-learn-0.9.0:&#xA;      Successfully uninstalled imbalanced-learn-0.9.0&#xA;  Attempting uninstall: spacy&#xA;    Found existing installation: spacy 3.2.4&#xA;    Uninstalling spacy-3.2.4:&#xA;      Successfully uninstalled spacy-3.2.4&#xA;[31mERROR: pip&#39;s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.&#xA;scattertext 0.1.6 requires gensim&amp;gt;=4.0.0, but you have gensim 3.8.3 which is incompatible.&#xA;pymc3 3.11.5 requires scipy&amp;lt;1.8.0,&amp;gt;=1.7.3, but you have scipy 1.5.4 which is incompatible.&#xA;pdpbox 0.2.1 requires matplotlib==3.1.1, but you have matplotlib 3.4.0 which is incompatible.&#xA;hypertools 0.8.0 requires scikit-learn&amp;gt;=0.24, but you have scikit-learn 0.23.2 which is incompatible.&#xA;featuretools 1.8.0 requires numpy&amp;gt;=1.21.0, but you have numpy 1.19.5 which is incompatible.&#xA;en-core-web-sm 3.2.0 requires spacy&amp;lt;3.3.0,&amp;gt;=3.2.0, but you have spacy 2.3.7 which is incompatible.&#xA;en-core-web-lg 3.2.0 requires spacy&amp;lt;3.3.0,&amp;gt;=3.2.0, but you have spacy 2.3.7 which is incompatible.[0m[31m&#xA;[0mSuccessfully installed catalogue-1.0.0 databricks-cli-0.16.6 gensim-3.8.3 gunicorn-20.1.0 imbalanced-learn-0.7.0 mlflow-1.25.1 plac-1.1.3 prometheus-flask-exporter-0.20.1 pycaret-2.3.5 pyod-0.9.9 querystring-parser-1.2.4 scipy-1.5.4 spacy-2.3.7 srsly-1.0.5 thinc-7.4.5 yellowbrick-1.3.post1&#xA;[33mWARNING: Running pip as the &#39;root&#39; user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv[0m[33m&#xA;[0m&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;테스트&#34;&gt;테스트&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;분류를 위한 필수 라이브러리를 가져왔다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; pycaret.classification &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; warnings&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;warnings&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;filterwarnings(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;ignore&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;데이터를 불러오는 코드다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; pycaret.datasets &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; get_data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; get_data(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;diabetes&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/pycaret_kaggle_test/output_3_0.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hugo 깃허브 블로그 - Windows (2022)</title>
      <link>https://dschloe.github.io/programming/2022/04/hugo_github_windows/</link>
      <pubDate>Sun, 17 Apr 2022 15:11:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/04/hugo_github_windows/</guid>
      <description>&lt;h2 id=&#34;패키지-관리자-설치&#34;&gt;패키지 관리자 설치&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/hugo_github_windows/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;chocolatey-windows&#34;&gt;Chocolatey (Windows)&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If you are on a Windows machine and use &lt;a href=&#34;https://chocolatey.org/&#34;&gt;Chocolatey&lt;/a&gt; for package management, you can install Hugo with the following one-liner:&lt;/li&gt;&#xA;&lt;li&gt;우선 PowerShell을 관리자로 실행 후, 아래와 같이 Chocolately를 설치한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;명령어 : &lt;code&gt;Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString(&#39;[https://community.chocolatey.org/install.ps1](https://community.chocolatey.org/install.ps1)&#39;))&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Windows PowerShell&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Copyright (C) Microsoft Corporation. All rights reserved.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                                                                                                        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;새로운 크로스 플랫폼 PowerShell 사용 https&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;//aka.ms/pscore6                                                                                                                                                                                     &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PS C:\WINDOWS\system32&amp;gt; Set-ExecutionPolicy Bypass -Scope &lt;span style=&#34;color:#66d9ef&#34;&gt;Process&lt;/span&gt; -Force; [&lt;span style=&#34;color:#66d9ef&#34;&gt;System.Net.ServicePointManager&lt;/span&gt;]::SecurityProtocol = [&lt;span style=&#34;color:#66d9ef&#34;&gt;System.Net.ServicePointManager&lt;/span&gt;]::SecurityProtocol &lt;span style=&#34;color:#f92672&#34;&gt;-bor&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;3072&lt;/span&gt;; iex ((New-Object System.Net.WebClient).DownloadString(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;https://community.chocolatey.org/install.ps1&amp;#39;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Forcing web requests to allow TLS v1.2 (Required &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; requests to Chocolatey.org)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Getting latest version of the Chocolatey package &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; download.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Not using proxy.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Getting Chocolatey from https&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;//community.chocolatey.org/api/v2/package/chocolatey/&lt;span style=&#34;color:#ae81ff&#34;&gt;1.1&lt;/span&gt;.0.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Downloading https&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;//community.chocolatey.org/api/v2/package/chocolatey/&lt;span style=&#34;color:#ae81ff&#34;&gt;1.1&lt;/span&gt;.0 to C:\Users\&lt;span style=&#34;color:#ae81ff&#34;&gt;512&lt;/span&gt;-&lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt;\AppData\Local\Temp\chocolatey\chocoInstall\chocolatey.zip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Not using proxy.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Extracting C:\Users\&lt;span style=&#34;color:#ae81ff&#34;&gt;512&lt;/span&gt;-&lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt;\AppData\Local\Temp\chocolatey\chocoInstall\chocolatey.zip to C:\Users\&lt;span style=&#34;color:#ae81ff&#34;&gt;512&lt;/span&gt;-&lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt;\AppData\Local\Temp\chocolatey\chocoInstall&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Installing Chocolatey on the local machine&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Creating ChocolateyInstall as an environment variable (targeting &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Machine&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Setting ChocolateyInstall to &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;C:\ProgramData\chocolatey&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;WARNING&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt; It&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s very likely you will need to close and reopen your shell&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;  before you can use choco.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Restricting write permissions to Administrators&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;We are setting up the Chocolatey package repository.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;The packages themselves go to &amp;#39;&lt;/span&gt;C:\ProgramData\chocolatey\lib&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;  (i.e. C:\ProgramData\chocolatey\lib\yourPackageName).&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;A shim file for the command line goes to &amp;#39;&lt;/span&gt;C:\ProgramData\chocolatey\bin&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;  and points to an executable in &amp;#39;&lt;/span&gt;C:\ProgramData\chocolatey\lib\yourPackageName&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Creating Chocolatey folders if they do not already exist.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;WARNING: You can safely ignore errors related to missing log files when&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;  upgrading from a version of Chocolatey less than 0.9.9.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;  &amp;#39;&lt;/span&gt;Batch file could not be found&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39; is also safe to ignore.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;  &amp;#39;&lt;/span&gt;The system cannot find the file specified&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39; - also safe.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;chocolatey.nupkg file not installed in lib.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; Attempting to locate it from bootstrapper.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;PATH environment variable does not have C:\ProgramData\chocolatey\bin in it. Adding...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;경고: Not setting tab completion: Profile file does not exist at&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;C:\Users\&lt;span style=&#34;color:#ae81ff&#34;&gt;512&lt;/span&gt;-&lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt;\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;#39;&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Chocolatey (choco.exe) is now ready.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;You can call choco from anywhere, command line or powershell by typing choco.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Run choco /? &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; a list of &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt;s.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;You may need to shut down and restart powershell and/or consoles&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; first prior to using choco.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Ensuring Chocolatey commands are on the path&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Ensuring chocolatey.nupkg is &lt;span style=&#34;color:#66d9ef&#34;&gt;in&lt;/span&gt; the lib folder&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PS C:\WINDOWS\system32&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;choco를-활용한-hugo-설치&#34;&gt;choco를 활용한 Hugo 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치 시, 관리자로 PowerShell을 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ choco install hugo-extended -confirm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;hugo version을 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ hugo version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hugo v0.97.&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;-c07f3626e7c8160943591f4d209977efa02c3dca windows/amd64 BuildDate=&lt;span style=&#34;color:#ae81ff&#34;&gt;2022&lt;/span&gt;-&lt;span style=&#34;color:#ae81ff&#34;&gt;04&lt;/span&gt;-14T08&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;45&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;07Z VendorInfo=gohugoio&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PS C:\WINDOWS\system32&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;git--github-설치&#34;&gt;Git &amp;amp; Github 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 Git을 설치하도록 한다. Git이 있어야 배포를 할 수 있기 때문에 반드시 설치한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;URL : &lt;a href=&#34;https://git-scm.com/download/win&#34;&gt;https://git-scm.com/download/win&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Github 회원가입도 안했다면 회원가입을 진행하도록 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;URL : &lt;a href=&#34;https://github.com/&#34;&gt;https://github.com/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;hugo-명령어를-활용한-첫번째-싸이트-만들기&#34;&gt;Hugo 명령어를 활용한 첫번째 싸이트 만들기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단한 명령어를 활용하여 싸이트를 생성한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;명령어 : &lt;code&gt;hugo new site your_blog_name&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;필자는 폴더명을 &lt;code&gt;myblog&lt;/code&gt;로 지정했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PS C:\Users\your_name\Desktop&amp;gt; hugo new site myblog&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Congratulations! Your new Hugo site is created &lt;span style=&#34;color:#66d9ef&#34;&gt;in&lt;/span&gt; C:\Users\&lt;span style=&#34;color:#ae81ff&#34;&gt;512&lt;/span&gt;-&lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt;\Desktop\myblog.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Just a few more steps and you&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;#39;&lt;/span&gt;re ready to go&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;. Download a theme into the same-named folder.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   Choose a theme from https&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;//themes.gohugo.io/ or&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   create your own with the &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;hugo new theme &amp;lt;THEMENAME&amp;gt;&amp;#34;&lt;/span&gt; command.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;. Perhaps you want to add some content. You can add single files&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   with &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;hugo new &amp;lt;SECTIONNAME&amp;gt;\&amp;lt;FILENAME&amp;gt;.&amp;lt;FORMAT&amp;gt;&amp;#34;&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;. Start the built-in live server via &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;hugo server&amp;#34;&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Visit https&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;//gohugo.io/ &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; quickstart guide and full documentation.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;github--submodule-설정&#34;&gt;Github &amp;amp; Submodule 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 Github 세팅을 먼저 할 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;깃허브-repo-작성&#34;&gt;깃허브 Repo 작성&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;myblog &amp;amp; &lt;a href=&#34;http://username.github.io&#34;&gt;username.github.io&lt;/a&gt; 두 개의 repo를 작성한다.&lt;/li&gt;&#xA;&lt;li&gt;깃허브와 현재 작성중인 폴더(myblog)를 연결한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;모든 명령어는 &lt;code&gt;myblog/&lt;/code&gt; 에서 적용한다.&lt;/li&gt;&#xA;&lt;li&gt;이 때 public 폴더가 있으면 지워준다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd myblog&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rm -rf public&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;# myblog&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; README.md&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git init&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git add README.md&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git commit -m &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;first commit&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git branch -M main&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git remote add origin https://github.com/rain0430/myblog.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git push -u origin main&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;처음 깃헙을 하시는 분들은 주로 하단에서 에러가 나타날 것이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이는 로그인을 하라는 뜻이다. (RUN 아래 코드를 순차적으로 실행)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git commit -m &amp;#34;first commit&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Author identity unknown&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;**&lt;/span&gt;* Please tell me who you are.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Run&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  git config --global user.email &amp;#34;you@example.com&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  git config --global user.name &amp;#34;Your Name&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;git commit 부터 다시 순차적으로 실행한다. git push 할 때, sign in 팝업창이 뜰 수도 있다.&lt;/li&gt;&#xA;&lt;li&gt;이제 서브모듈(Submodule)을 통해서 배포를 진행하려고 한다.&lt;/li&gt;&#xA;&lt;li&gt;git 서브모듈을 추가한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때, .gitmodules가 뜨는지 확인한다.&lt;/li&gt;&#xA;&lt;li&gt;또한 &lt;a href=&#34;http://rain0430.github.io&#34;&gt;rain0430.github.io&lt;/a&gt; Repo는 새로 만들어준다.&lt;/li&gt;&#xA;&lt;li&gt;그리고 다음 명령어을 추가한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git submodule add -b main https://github.com/rain0430/rain0430.github.io.git public&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;만약 에러가 난다면, 강제로 실행을 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git submodule add -f https://github.com/rain0430/rain0430.github.io.git public&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;hugo-기본-싸이트-확인&#34;&gt;Hugo 기본 싸이트 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 기본 테마를 설정해본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;테마 찾기 : &lt;a href=&#34;https://themes.gohugo.io/&#34;&gt;https://themes.gohugo.io/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;필자는 다음 테마를 설정할 것이다. &lt;a href=&#34;https://themes.gohugo.io/themes/hugo-theme-codex/&#34;&gt;Codex | Hugo Themes (gohugo.io)&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;테마 설정 시, 약간의 팁을 드리면, Updated가 최근 날짜인지 확인한다. 최근 날짜가 아니라면 관리가 잘 안되어 테마일수도 있다.&lt;/li&gt;&#xA;&lt;li&gt;각 테마마다 구체적인 설정 방법이 있기 때문에 각 설치 문서를 참조한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/hugo_github_windows/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Airflow 데이터 파이프라인 구축 예제</title>
      <link>https://dschloe.github.io/programming/2022/04/airflow_csv2json_sample/</link>
      <pubDate>Thu, 14 Apr 2022 21:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/04/airflow_csv2json_sample/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 CSV-JSON으로 데이터를 변환하는 파이프라인을 구축하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-01-dags-폴더-생성&#34;&gt;Step 01. Dags 폴더 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;프로젝트 Root 하단에 Dags 폴더를 만든다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;dags  폴더를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;airflow.cfg  airflow.db  dags  logs  venv  webserver_config.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-02-가상의-데이터-생성&#34;&gt;Step 02. 가상의 데이터 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번 테스트에서 사용할 라이브러리가 없다면 우선 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ pip3 install faker pandas&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;faker 라이브러리를 활용하여 가상의 데이터를 생성한다. (파일 경로 : data/step01_writecsv.py)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; faker &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Faker&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; csv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;output&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;open(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;data.csv&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;w&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fake&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;Faker()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;header&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;age&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;state&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lng&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lat&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mywriter&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;csv&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;writer(output)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mywriter&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;writerow(header)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; r &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; range(&lt;span style=&#34;color:#ae81ff&#34;&gt;1000&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    mywriter&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;writerow([fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name(),fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;random_int(min&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;18&lt;/span&gt;, max&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;80&lt;/span&gt;, step&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;), fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;street_address(), fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;city(),fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;state(),fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;zipcode(),fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;longitude(),fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;latitude()])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;output&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;close()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;생성된 후, 파일을 확인하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;evan@evan:/mnt/c/airflow-test/data$ ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data.csv  step01_writecsv.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-03-csv2json-파일-구축&#34;&gt;Step 03. csv2json 파일 구축&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 CSV와 JSON 변환 파일을 구축하는 코드를 작성한다. (파일 경로 : dags/&lt;a href=&#34;http://csv2json.py/&#34;&gt;csv2json.py&lt;/a&gt;)\&lt;/li&gt;&#xA;&lt;li&gt;주요 목적 함수 csvToJson()의 역할은 &lt;code&gt;data/data.csv&lt;/code&gt; 파일을 불러와서 &lt;code&gt;fromAirflow.json&lt;/code&gt; 파일로 변경하는 것이다.&lt;/li&gt;&#xA;&lt;li&gt;DAG는 csvToJson 함수를 하나의 작업으로 등록하는 과정을 담는다. 작업의 소유자, 시작일시, 실패 시 재시도 횟수, 재시도 지연시 시간을 지정한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;자세한 옵션은 도움말을 참조한다. &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/stable/concepts/dags.html&#34;&gt;https://airflow.apache.org/docs/apache-airflow/stable/concepts/dags.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;print_starting &amp;gt;&amp;gt; csvJson&lt;/code&gt; 에서 &lt;code&gt;&amp;gt;&amp;gt;&lt;/code&gt; 는 하류 설정 연산자라고 부른다. (동의어 비트 자리이동 연산자)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; datetime &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; dt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; datetime &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; timedelta&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; airflow &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; DAG&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; airflow.operators.bash &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; BashOperator&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; airflow.operators.python &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; PythonOperator&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;csvToJson&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;data/data.csv&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; i,r &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;iterrows():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(r[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_json(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;fromAirflow.json&amp;#39;&lt;/span&gt;,orient&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;records&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;default_args &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;owner&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;evan&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;start_date&amp;#39;&lt;/span&gt;: dt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;datetime(&lt;span style=&#34;color:#ae81ff&#34;&gt;2020&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;18&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;retries&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;retry_delay&amp;#39;&lt;/span&gt;: dt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;timedelta(minutes&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;with&lt;/span&gt; DAG(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;MyCSVDAG&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         default_args&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;default_args,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         schedule_interval&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;timedelta(minutes&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;),      &lt;span style=&#34;color:#75715e&#34;&gt;# &amp;#39;0 * * * *&amp;#39;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         ) &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; dag:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print_starting &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; BashOperator(task_id&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;starting&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                               bash_command&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;echo &amp;#34;I am reading the CSV now.....&amp;#34;&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    csvJson &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; PythonOperator(task_id&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;convertCSVtoJson&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                 python_callable&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;csvToJson)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print_starting &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; csvJson&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-04-airflow-webserver-및-scheduler-동시-실행&#34;&gt;Step 04. Airflow Webserver 및 Scheduler 동시 실행&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 웹서버와 스케쥴러를 동시에 실행한다. (터미널을 2개 열어야 함에 주의한다.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; airflow webserver &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;p &lt;span style=&#34;color:#ae81ff&#34;&gt;8080&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; airflow scheduler&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이제  WebUI를 확인하면 정상적으로 작동하는 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/airflow_csv2json_sample/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>R Selenium 설치 가이드 (Windows)</title>
      <link>https://dschloe.github.io/programming/2022/04/r_selenium/</link>
      <pubDate>Wed, 13 Apr 2022 17:20:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/04/r_selenium/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;R에서 Selenium을 설치하는 과정을 보여준다.&lt;/li&gt;&#xA;&lt;li&gt;우선 자바가 설치되어 있는지 확인한다.&lt;/li&gt;&#xA;&lt;li&gt;유투브에서 제목만 가져오는 Demo 코드를 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;자바를-모르시는-분&#34;&gt;자바를 모르시는 분&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;만약 자바 설치를 해본적이 없다면 아래 코드를 순차적으로 입력한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;install.packages&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;multilinguer&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(multilinguer)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;install_jdk&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Rtools 설치 필요 &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# https://cran.r-project.org/bin/windows/Rtools&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;write&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;PATH=&amp;#34;${RTOOLS40_HOME}\\usr\\bin;${PATH}&amp;#34;&amp;#39;&lt;/span&gt;, file &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;~/.Renviron&amp;#34;&lt;/span&gt;, append &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TRUE&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;Sys.which&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;make&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;install.packages&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;stringr&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;hash&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;tau&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Sejong&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;RSQLite&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;devtools&amp;#34;&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                 type &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;binary&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;install.packages&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;remotes&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remotes&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;install_github&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;haven-jeon/KoNLP&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        upgrade &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;never&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        INSTALL_opts &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;--no-multiarch&amp;#34;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(KoNLP)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;useNIADic&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;마지막 코드에서 콘솔창이 보인다면 정상적으로 설치가 완료가 된 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(KoNLP)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Checking user defined dictionary&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;useNIADic&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Backup was just finished&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1213109&lt;/span&gt; words dictionary was built.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;검색창에서 시스템 환경 변수 편집을 검색 후, 실제 자바가 설치가 되어 있는지 직접 확인한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;환경변수 - 시스템 변수 탭 내 Path 클릭 후 확인 버튼 - 환경 변수 편집 순차적으로 탭을 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/R_Selenium/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Apache NiFi 설치와 설정 in WSL2</title>
      <link>https://dschloe.github.io/programming/2022/04/apache_nifi_wsl2/</link>
      <pubDate>Tue, 12 Apr 2022 14:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/04/apache_nifi_wsl2/</guid>
      <description>&lt;h2 id=&#34;설치&#34;&gt;설치&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;wsl2에서 JAVA 설치 한다.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo apt-get update &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo apt-get upgrade&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo apt install openjdk-11-jre-headless&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ vi ~/.bash_profile&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export JAVA_HOME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/usr/lib/jvm/java-11-openjdk-amd64&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;&#xA;&lt;li&gt;curl을 이용해서 NiFi를 현재 경로에 내려받는다.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo wget https://downloads.apache.org/nifi/1.16.0/nifi-1.16.0-bin.tar.gz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;&#xA;&lt;li&gt;.tar.gz  파일의 압축을 푼다.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo tar xvzf nifi-1.16.0-bin.tar.gz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;&#xA;&lt;li&gt;압축파일을 푼 다음에는 cd nifi-1.16.0 폴더에 접속을 한다.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cd nifi-1.16.0/bin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;&#xA;&lt;li&gt;ls를 실행해서 &lt;a href=&#34;http://nifi-env.sh&#34;&gt;nifi-env.sh&lt;/a&gt; 파일이 있는지 확인하고 있다면, vi 에디터로 연다.&#xA;&lt;ol&gt;&#xA;&lt;li&gt;.bash_profile에서 한 것처럼 동일하게 자바 환경변수를 잡아준다.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo vi nifi-env.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export JAVA_HOME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/usr/lib/jvm/java-11-openjdk-amd64&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;&#xA;&lt;li&gt;그리고, &lt;a href=&#34;http://nifi-env.sh&#34;&gt;nifi-env.sh&lt;/a&gt; 파일을 실행한다.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo ./nifi.sh start&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Java home: /usr/lib/jvm/java-11-openjdk-amd64&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;NiFi home: /nifi-1.16.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Bootstrap Config File: /nifi-1.16.0/conf/bootstrap.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;&#xA;&lt;li&gt;webserver 주소를 확인한다.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/nifi-1.16.0/conf$ cd .. &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/nifi-1.16.0/conf$ vi nifi.properties&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/apache_nifi_wsl2/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Convert Plotly Jupyterlab to HTML</title>
      <link>https://dschloe.github.io/programming/2022/04/plotly_convert_html/</link>
      <pubDate>Tue, 12 Apr 2022 00:02:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/04/plotly_convert_html/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;jupyter notebook에서 plotly 기반의 시각화를 작성한다.&lt;/li&gt;&#xA;&lt;li&gt;jupyter notebook에서 html로 변환 시, plotly로 작성된 코드는 나타나지 않았다.&lt;/li&gt;&#xA;&lt;li&gt;이 때 필수적으로 입력해야 할 코드를 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;필수-코드-적용-전-변환-시&#34;&gt;필수 코드 적용 전 변환 시&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단한 시각화 코드를 작성 후, html로 변환한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; plotly.express &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; px&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; px&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;line(x&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;a&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;b&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;c&amp;#34;&lt;/span&gt;], y&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;], title&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;sample figure&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;아래 그림은 일반적으로 JupyterLab 에디터에서 HTML로 변환하는 과정이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;File - Save and Export Notebook As&amp;hellip; - HTML 순차적으로 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/plotly_convert_html/Screen_Shot_2022-04-11_at_10.56.22_PM.png&#34; alt=&#34;Screen Shot 2022-04-11 at 10.56.22 PM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>ElasticSearch &amp; Kibana 설치 in WSL2</title>
      <link>https://dschloe.github.io/programming/2022/04/elasticsearch_kibana_wsl2/</link>
      <pubDate>Mon, 11 Apr 2022 11:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/04/elasticsearch_kibana_wsl2/</guid>
      <description>&lt;h2 id=&#34;step-1-사전-필수-패키지-설치&#34;&gt;Step 1. 사전 필수 패키지 설치&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;우선  시스템 패키지를 업데이트 하고, HTTPS와 관련된 패키지를 설치한다.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo apt install apt-transport-https&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;&#xA;&lt;li&gt;자바를 설치한다.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이미 설치가 되어 있다면 버전만 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo apt install openjdk-11-jdk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;설치한 버전을 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ java -version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;openjdk version &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;11.0.14.1&amp;#34;&lt;/span&gt; 2022-02-08&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;OpenJDK Runtime Environment &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;build 11.0.14.1+1-Ubuntu-0ubuntu1.20.04&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;OpenJDK 64-Bit Server VM &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;build 11.0.14.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;&#xA;&lt;li&gt;자바 환경 변수를 설정하기 위해 아래와 같이 에디터를 입력한다.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo vi /etc/environment&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;그리고 아래와 같이 추가한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;JAVA_HOME=&amp;#34;/usr/lib/jvm/java-11-openjdk-amd64&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;환경변수를 업데이트 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ source /etc/environment&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;실제 경로가 나오는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ echo $JAVA_HOME&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/usr/lib/jvm/java-11-openjdk-amd64&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-2-elasticsearch-설치&#34;&gt;Step 2. ElasticSearch 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;GPG Keys를 확인하여 설치를 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;라이브러리를 아래와 같이 추가한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo sh -c &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;echo &amp;#34;deb https://artifacts.elastic.co/packages/7.x/apt stable main&amp;#34; &amp;gt; /etc/apt/sources.list.d/elastic-7.x.list&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이제 elasticsearch를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo apt-get update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Hit:1 https://artifacts.elastic.co/packages/7.x/apt stable InRelease&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Hit:2 http://security.ubuntu.com/ubuntu focal-security InRelease&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Reading package lists... Done&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo apt-get install elasticsearch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Reading package lists... Done&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Building dependency tree&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Reading state information... Done&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;The following NEW packages will be installed:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  elasticsearch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; upgraded, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; newly installed, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; to remove and &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; not upgraded.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Need to get &lt;span style=&#34;color:#ae81ff&#34;&gt;312&lt;/span&gt; MB of archives.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;After this operation, &lt;span style=&#34;color:#ae81ff&#34;&gt;517&lt;/span&gt; MB of additional disk space will be used.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Get:1 https://artifacts.elastic.co/packages/7.x/apt stable/main amd64 elasticsearch amd64 7.17.2 &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;312&lt;/span&gt; MB&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Fetched &lt;span style=&#34;color:#ae81ff&#34;&gt;312&lt;/span&gt; MB in 8s &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;40.9 MB/s&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Selecting previously unselected package elasticsearch.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;Reading database ... &lt;span style=&#34;color:#ae81ff&#34;&gt;32942&lt;/span&gt; files and directories currently installed.&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Preparing to unpack .../elasticsearch_7.17.2_amd64.deb ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Creating elasticsearch group... OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Creating elasticsearch user... OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Unpacking elasticsearch &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;7.17.2&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Setting up elasticsearch &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;7.17.2&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; sudo systemctl daemon-reload&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; sudo systemctl enable elasticsearch.service&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;### You can start elasticsearch service by executing&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; sudo systemctl start elasticsearch.service&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Created elasticsearch keystore in /etc/elasticsearch/elasticsearch.keystore&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Processing triggers &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; systemd &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;245.4-4ubuntu3.15&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-3-elasticsearch-서비스-시작&#34;&gt;Step 3. Elasticsearch 서비스 시작&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 elasticsearch 서비스를 시작한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo systemctl start elasticsearch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;만약 아래와 같은 에러 메시지가 뜬다면, 추가해야 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조 : &lt;a href=&#34;https://askubuntu.com/questions/1379425/system-has-not-been-booted-with-systemd-as-init-system-pid-1-cant-operate&#34;&gt;https://askubuntu.com/questions/1379425/system-has-not-been-booted-with-systemd-as-init-system-pid-1-cant-operate&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;System has not been booted with systemd as init system (PID 1). &#xA;Can&amp;#39;t operate. Failed to connect to bus: Host is down&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;다음 명령어를 추가한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo -b unshare --pid --fork --mount-proc /lib/systemd/systemd --system-unit&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;basic.target&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo -E nsenter --all -t &lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;pgrep -xo systemd&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt; runuser -P -l $USER -c &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;exec &lt;/span&gt;$SHELL&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;서비스가 가능하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo systemctl enable elasticsearch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Synchronizing state of elasticsearch.service with SysV service script with /lib/systemd/systemd-sysv-install.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Executing: /lib/systemd/systemd-sysv-install enable elasticsearch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Created symlink /etc/systemd/system/multi-user.target.wants/elasticsearch.service → /lib/systemd/system/elasticsearch.service.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;서비스를 시작한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo systemctl start elasticsearch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;실제 서비스가 작동하는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ curl -X GET &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;localhost:9200/&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;evan&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;cluster_name&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;elasticsearch&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;cluster_uuid&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;vATWEOO1T9yOFGLc7G3L4w&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;version&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;number&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;7.17.2&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;build_flavor&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;default&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;build_type&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;deb&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;build_hash&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;de7261de50d90919ae53b0eff9413fd7e5307301&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;build_date&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2022-03-28T15:12:21.446567561Z&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;build_snapshot&amp;#34;&lt;/span&gt; : false,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;lucene_version&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;8.11.1&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;minimum_wire_compatibility_version&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;6.8.0&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;minimum_index_compatibility_version&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;6.0.0-beta1&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;tagline&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;You Know, for Search&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;만약 위와 같은 메시지가 뜨면, 윈도우 화면에서 재 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/elasticsearch_kibana_wsl2/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>PostgreSQL Installation on WSL2 and Windows</title>
      <link>https://dschloe.github.io/programming/2022/04/postgreslq_wsl2/</link>
      <pubDate>Sun, 10 Apr 2022 14:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/04/postgreslq_wsl2/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;WSL2에서 PostgreSQL을 설치한다.&lt;/li&gt;&#xA;&lt;li&gt;pgAdmin은 Windows에 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;터미널-업그레이드&#34;&gt;터미널 업그레이드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 WSL 터미널을 열고, Ubuntu 패키지를 모두 업데이트 및 업그레이드를 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;sudo&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; password &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; evan:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Hit:1 https://artifacts.elastic.co/packages/7.x/apt stable InRelease&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Get:2 http://security.ubuntu.com/ubuntu focal-security InRelease &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;114&lt;/span&gt; kB&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Get:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;114&lt;/span&gt; kB&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Get:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;108&lt;/span&gt; kB&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Get:6 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1712&lt;/span&gt; kB&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Get:7 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;916&lt;/span&gt; kB&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Fetched &lt;span style=&#34;color:#ae81ff&#34;&gt;2963&lt;/span&gt; kB in 5s &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;600&lt;/span&gt; kB/s&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Reading package lists... Done&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Building dependency tree&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Reading state information... Done&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;All packages are up to date.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 업그레이드를 해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo apt-get upgrade&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Reading package lists... Done&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Building dependency tree&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Reading state information... Done&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Calculating upgrade... Done&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; upgraded, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; newly installed, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; to remove and &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; not upgraded.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;postgresql-installation-in-wsl2&#34;&gt;PostgreSQL Installation in WSL2&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 WSL2에서 PostgreSQL을 설치한다. 설치가 종료되면, 반드시 버전을 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo apt install postgresql postgresql-contrib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ psql --version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;psql &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;PostgreSQL&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; 12.9 &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;Ubuntu 12.9-0ubuntu0.20.04.1&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;설치 이후에는  Database를 접근가능하도록 활성화해야 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;포트가 활성화 되어 있지 않다면 아래와 같은 메시지가 나타날 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo service postgresql status&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;12/main &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;port 5432&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;: down&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 활성화를 해보도록 한다. 온라인이라는 메시지가 나타난다면 활성화가 되었다는 것을 의미한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo service postgresql start&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; * Starting PostgreSQL &lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt; database server&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo service postgresql status&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;12/main &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;port 5432&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;: online&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 활성화된 데이터베이스를 종료시킨다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo service postgresql stop&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; * Stopping PostgreSQL &lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt; database server                                                                        &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; OK &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo service postgresql status&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;12/main &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;port 5432&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;: down&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;사용자-계정-password-설정&#34;&gt;사용자 계정 Password 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기본적으로 admin 사용자로 등록이 되어 있다. 보통  DB 초기 세팅 시에는 패스워드를 입력받아야 한다. (예: evan)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo passwd postgres&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;New password:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Retype new password:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;passwd: password updated successfully&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;여기까지 했다면, WSL2에서 추가로 설정할 것은 더 없다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;pgadmin-installation-on-windows&#34;&gt;pgAdmin Installation on Windows&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 pgAdmin을 설치한다. (최신버전 설치,  pgAdmin 4 v6.8)웹사이트 : &lt;a href=&#34;https://www.pgadmin.org/download/pgadmin-4-windows/&#34;&gt;https://www.pgadmin.org/download/pgadmin-4-windows/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/postgreslq_wsl2/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>VSCode Remote WLS 연동</title>
      <link>https://dschloe.github.io/programming/2022/04/vscode_wsl2/</link>
      <pubDate>Sat, 09 Apr 2022 14:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/04/vscode_wsl2/</guid>
      <description>&lt;h2 id=&#34;vscode-설치&#34;&gt;VSCode 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선  VSCode를 설치한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;URL : &lt;a href=&#34;https://code.visualstudio.com/download&#34;&gt;https://code.visualstudio.com/download&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이 때, 관리자로 실행할 것이기 때문에 System Installer를 다운로드 받는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/vscode_wsl2/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치 시, 환경변수 체크란만 잘 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/vscode_wsl2/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치가 다 끝난 후에는 재부팅을 실시한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;remote-wsl-연동&#34;&gt;Remote WSL 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Extension 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/vscode_wsl2/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;검색창에서 Remote WSL을 검색 후, 설치를 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/vscode_wsl2/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;모두 클릭 후,  Mark Done을 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/vscode_wsl2/Untitled%204.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Open Folder를 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/vscode_wsl2/Untitled%205.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;WSL에서 설치했던 airflow-test 폴더를 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/vscode_wsl2/Untitled%206.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;해당 프로젝트를 열도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/vscode_wsl2/Untitled%207.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;메뉴바에 Terminal을 선택 후, 화면 하단에서 WSL이 있는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/vscode_wsl2/Untitled%208.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting up Apache-NiFi in Windows 10</title>
      <link>https://dschloe.github.io/programming/2022/04/apache_nifi_installation_windows/</link>
      <pubDate>Thu, 07 Apr 2022 14:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/04/apache_nifi_installation_windows/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;윈도우에서 NiFi를 설치해본다.&lt;/li&gt;&#xA;&lt;li&gt;NiFi를 설치하기 위해서는 자바 설치가 필요하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-01-nifi-다운로드&#34;&gt;Step 01. NiFi 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 웹사이트에 접속한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;URL : &lt;a href=&#34;https://www.apache.org/dyn/closer.lua?path=/nifi/1.16.0/nifi-1.16.0-bin.zip&#34;&gt;https://www.apache.org/dyn/closer.lua?path=/nifi/1.16.0/nifi-1.16.0-bin.zip&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;/img/programming/2022/04/apache_nifi_installation_windows/apache_nifi_installation_windows&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/apache_nifi_installation_windows/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가장 먼저 나오는 링크를 클릭한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;URL : &lt;a href=&#34;https://dlcdn.apache.org/nifi/1.16.0/nifi-1.16.0-bin.zip&#34;&gt;https://dlcdn.apache.org/nifi/1.16.0/nifi-1.16.0-bin.zip&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;다운로드 받은 파일의 압축을 풀도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-02-java-환경-설정&#34;&gt;Step 02. Java 환경 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Java 설치 내용은 아래 블로그를 참조한다.&lt;/li&gt;&#xA;&lt;li&gt;참고자료 : &lt;a href=&#34;https://maktony.tistory.com/13&#34;&gt;https://maktony.tistory.com/13&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-03-run-nifi-배치-파일-실행&#34;&gt;Step 03. run-nifi 배치 파일 실행&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;run-nifi 배치파일을 관리자 권한으로 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/apache_nifi_installation_windows/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래와 같은 메시지가 출력이 되면 성공한 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/apache_nifi_installation_windows/Untitled%202.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-04-web-ui-확인&#34;&gt;Step 04. Web UI 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;(약 1분이 지난 후) Web UI를 확인해본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://127.0.0.1:8443/nifi/login&#34;&gt;https://127.0.0.1:8443/nifi/login&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/apache_nifi_installation_windows/Untitled%203.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting up Apache-Airflow in Windows using WSL2</title>
      <link>https://dschloe.github.io/programming/2022/04/apache_airflow_using_wsl2/</link>
      <pubDate>Wed, 06 Apr 2022 14:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/04/apache_airflow_using_wsl2/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Windows WSL2에서 airflow를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-1-install-pip-on-wsl&#34;&gt;Step 1. &lt;strong&gt;&lt;strong&gt;Install pip on WSL&lt;/strong&gt;&lt;/strong&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;airflow를 설치하기 위해 pip를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo apt install python3-pip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;sudo&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; password &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; username:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-2-install-virtualenv-package&#34;&gt;Step 2. &lt;strong&gt;&lt;strong&gt;Install virtualenv package&lt;/strong&gt;&lt;/strong&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;virtualenv 라이브러리를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo pip3 install virtualenv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-3-create-a-virtual-environment&#34;&gt;Step 3. &lt;strong&gt;&lt;strong&gt;Create a virtual environment&lt;/strong&gt;&lt;/strong&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;C드라이브에 airflow-test 폴더를 생성한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;해당 디렉터리로 이동한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이제 가상환경을 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ virtualenv venv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;가상환경에 접속을 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ source venv/bin/activate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 .bashrc 파일을 수정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ vi ~/.bashrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;파일을 연 후, 다음과 같은 코드를 추가한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export AIRFLOW_HOME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/mnt/c/airflow-test&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;파일을 닫을 때는 ESC → :wq 순서대로 작성한다.&lt;/li&gt;&#xA;&lt;li&gt;수정된 코드를 업데이트 하기 위해서는 아래와 같이 반영한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ source ~/.bashrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;실제로 코드가 반영되었는지 확인하기 위해서는 다음과 같이 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echo $AIRFLOW_HOME&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/mnt/c/airflow-test&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-4-apache-airflow-설치&#34;&gt;Step 4. Apache Airflow 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PostgreSQL, Slack, Celery 패키지를 동시에 설치하는 코드를 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ pip3 install &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;apache-airflow[postgres, slack, celery]&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;에어플로 실행 위해 DB 초기화를 해줘야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ airflow db init&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;실제로 잘 구현이 되었는지 확인하기 위해 webserver를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ airflow webserver -p &lt;span style=&#34;color:#ae81ff&#34;&gt;8081&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;다음으로 일정 주기로 데이터 흐름이 실행되게 하려면 Scheduler가 필요하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ airflow scheduler&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;그리고, 해당 링크 &lt;a href=&#34;http://localhost:8081/login/&#34;&gt;http://localhost:8081/login/&lt;/a&gt; 에 접속하면 아래와 같은 화면이 나타난다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/Apache_Airflow_using_WSL2/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Windows 10 도커 설치 과정 (2022 ver)</title>
      <link>https://dschloe.github.io/programming/2022/04/windows_docker_install/</link>
      <pubDate>Tue, 05 Apr 2022 14:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/04/windows_docker_install/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;주요 참고자료는 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;WSL2 설치 : &lt;a href=&#34;https://www.lainyzine.com/ko/article/how-to-install-wsl2-and-use-linux-on-windows-10/#google_vignette&#34;&gt;https://www.lainyzine.com/ko/article/how-to-install-wsl2-and-use-linux-on-windows-10/#google_vignette&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;도커 설치 : &lt;a href=&#34;https://www.lainyzine.com/ko/article/a-complete-guide-to-how-to-install-docker-desktop-on-windows-10/&#34;&gt;https://www.lainyzine.com/ko/article/a-complete-guide-to-how-to-install-docker-desktop-on-windows-10/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-1-wsl2-설치-과정&#34;&gt;Step 1. WSL2 설치 과정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Windows PowerShell 관리자로 실행 후 다음 명령어 입력&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 명령어 실행 후, 재부팅 필수&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi&#34;&gt;x64 머신용 최신 WSL2 Linux 커널 업데이트 패키지&lt;/a&gt;를 다운로드 받아 안내에 따라 설치합니다.&lt;/li&gt;&#xA;&lt;li&gt;Windows Powershell 열고 아래 코드 실행&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ wsl --set-default-version &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;WSL 2와의 주요 차이점에 대한 자세한 내용은 https://aka.ms/wsl2를 참조하세요&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-2l-docker-desktop-설치&#34;&gt;Step 2l Docker Desktop 설치&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;다음 페이지로 이동해서 Docker Desktop for Windows를 다운로드 받습니다.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.docker.com/products/docker-desktop&#34;&gt;Docker Desktop for Mac and Windows | Docker&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/windows_docker_install/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Scikit-Learn OneHot Encoding 다양한 적용 방법</title>
      <link>https://dschloe.github.io/programming/2022/04/one_hot_encoding_using_scikit_learn/</link>
      <pubDate>Sat, 02 Apr 2022 11:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/04/one_hot_encoding_using_scikit_learn/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://inf.run/vc9P&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;개요&#34;&gt;개요&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;One-Hot Encoding 개념에 대해 이해한다.&lt;/li&gt;&#xA;&lt;li&gt;One-Hot Encoder 사용법을 익힌다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;one-hot-encoding&#34;&gt;One-Hot Encoding&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;One-Hot Encoding은 문자를 숫자로 변환하는 것이다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 그림을 보면서 이해하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/04/One_Hot_Encoding_using_Scikit_Learn/onehot_encoding.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;머신러닝 알고리즘은 데이터가 모두 숫자인 것으로 이해하기 때문에 모두 변환해주어야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;onethotencoder&#34;&gt;OnetHotEncoder&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;OneHotEncoder는 Scikit-Learn 라이브러리에 있는 클래스이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;자세한 내용은 &lt;a href=&#34;https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html&#34;&gt;링크&lt;/a&gt;를 참조한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;먼저 예시를 참조한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; sklearn&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;sklearn ver.&amp;#34;&lt;/span&gt;, sklearn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;sklearn ver. 1.0.2&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.preprocessing &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; OneHotEncoder&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;enc &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; OneHotEncoder(handle_unknown&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ignore&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Male&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;], [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Female&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;], [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Female&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;]]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;enc&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit_transform(X)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;toarray()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;array([[0., 1., 1., 0., 0.],&#xA;       [1., 0., 0., 0., 1.],&#xA;       [1., 0., 0., 1., 0.]])&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;예시 코드를 보면 위 그림과 결괏값이 다르게 나오는 걸 확인할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;보통 우리가 다루는 데이터는 pandas 데이터프레임이기 때문에, 입문자분들에게는 거리감이 느껴질 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;그래서 pandas 데이터프레임 데이터를 가져와서 테스트를 해보았다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.preprocessing &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; OneHotEncoder&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; seaborn &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; load_dataset&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguins &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; load_dataset(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;penguins&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ohe &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; OneHotEncoder()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;transformed &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ohe&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit_transform(penguins[[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;island&amp;#39;&lt;/span&gt;]])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(transformed&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;toarray())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(ohe&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;categories_)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(penguins[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;island&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;unique())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[[0. 0. 1.]&#xA; [0. 0. 1.]&#xA; [0. 0. 1.]&#xA; ...&#xA; [1. 0. 0.]&#xA; [1. 0. 0.]&#xA; [1. 0. 0.]]&#xA;[array([&#39;Biscoe&#39;, &#39;Dream&#39;, &#39;Torgersen&#39;], dtype=object)]&#xA;[&#39;Torgersen&#39; &#39;Biscoe&#39; &#39;Dream&#39;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 해당 코드를 기존 데이터프레임에 추가하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(penguins&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;  species     island  bill_length_mm  bill_depth_mm  flipper_length_mm  \&#xA;0  Adelie  Torgersen            39.1           18.7              181.0   &#xA;1  Adelie  Torgersen            39.5           17.4              186.0   &#xA;2  Adelie  Torgersen            40.3           18.0              195.0   &#xA;3  Adelie  Torgersen             NaN            NaN                NaN   &#xA;4  Adelie  Torgersen            36.7           19.3              193.0   &#xA;&#xA;   body_mass_g     sex  &#xA;0       3750.0    Male  &#xA;1       3800.0  Female  &#xA;2       3250.0  Female  &#xA;3          NaN     NaN  &#xA;4       3450.0  Female  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguins[ohe&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;categories_[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; transformed&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;toarray()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(penguins&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;  species     island  bill_length_mm  bill_depth_mm  flipper_length_mm  \&#xA;0  Adelie  Torgersen            39.1           18.7              181.0   &#xA;1  Adelie  Torgersen            39.5           17.4              186.0   &#xA;2  Adelie  Torgersen            40.3           18.0              195.0   &#xA;3  Adelie  Torgersen             NaN            NaN                NaN   &#xA;4  Adelie  Torgersen            36.7           19.3              193.0   &#xA;&#xA;   body_mass_g     sex  Biscoe  Dream  Torgersen  &#xA;0       3750.0    Male     0.0    0.0        1.0  &#xA;1       3800.0  Female     0.0    0.0        1.0  &#xA;2       3250.0  Female     0.0    0.0        1.0  &#xA;3          NaN     NaN     0.0    0.0        1.0  &#xA;4       3450.0  Female     0.0    0.0        1.0  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h1 id=&#34;만약-다중-문자열-컬럼을-한다면&#34;&gt;만약 다중 문자열 컬럼을 한다면?&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 예시는 변경하려는 컬럼이 1개일 때는 시의적절하게 사용할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;그러나, 보통 캐글이나 데이콘 같은 대회에서는 여러개의 문자열 컬럼을 변환시켜야 한다.&lt;/li&gt;&#xA;&lt;li&gt;물론, 프로그래밍 능력을 갖춘 분이라면, 반복문을 사용해서 처리할 수도 있다.&lt;/li&gt;&#xA;&lt;li&gt;그러나, sklearn.compose.make_column_transformer 클래스를 활용하면 보다 쉽게 처리할 수 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조 : &lt;a href=&#34;https://scikit-learn.org/stable/modules/generated/sklearn.compose.make_column_transformer.html&#34;&gt;https://scikit-learn.org/stable/modules/generated/sklearn.compose.make_column_transformer.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.preprocessing &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; OneHotEncoder&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.preprocessing &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; LabelEncoder&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.compose &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; make_column_transformer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; seaborn &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; load_dataset&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguins &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; load_dataset(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;penguins&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sample_cols &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;island&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;sex&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;bill_length_mm&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;species&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguins &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; penguins[sample_cols]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 결측치 제거 &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguins &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; penguins&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;dropna()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(penguins&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(penguins&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;info())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;      island     sex  bill_length_mm species&#xA;0  Torgersen    Male            39.1  Adelie&#xA;1  Torgersen  Female            39.5  Adelie&#xA;2  Torgersen  Female            40.3  Adelie&#xA;4  Torgersen  Female            36.7  Adelie&#xA;5  Torgersen    Male            39.3  Adelie&#xA;&amp;lt;class &#39;pandas.core.frame.DataFrame&#39;&amp;gt;&#xA;Int64Index: 333 entries, 0 to 343&#xA;Data columns (total 4 columns):&#xA; #   Column          Non-Null Count  Dtype  &#xA;---  ------          --------------  -----  &#xA; 0   island          333 non-null    object &#xA; 1   sex             333 non-null    object &#xA; 2   bill_length_mm  333 non-null    float64&#xA; 3   species         333 non-null    object &#xA;dtypes: float64(1), object(3)&#xA;memory usage: 13.0+ KB&#xA;None&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;categorical_cols &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;island&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;sex&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;label_cols &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;species&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;transformer &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; make_column_transformer(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    (OneHotEncoder(), categorical_cols),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    remainder&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;passthrough&amp;#39;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    verbose_feature_names_out &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;transformed &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; transformer&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit_transform(penguins)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;transformed_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame(transformed, columns&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;transformer&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get_feature_names_out())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(transformed_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;  island_Biscoe island_Dream island_Torgersen sex_Female sex_Male  \&#xA;0           0.0          0.0              1.0        0.0      1.0   &#xA;1           0.0          0.0              1.0        1.0      0.0   &#xA;2           0.0          0.0              1.0        1.0      0.0   &#xA;3           0.0          0.0              1.0        1.0      0.0   &#xA;4           0.0          0.0              1.0        0.0      1.0   &#xA;&#xA;  bill_length_mm species  &#xA;0           39.1  Adelie  &#xA;1           39.5  Adelie  &#xA;2           40.3  Adelie  &#xA;3           36.7  Adelie  &#xA;4           39.3  Adelie  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h1 id=&#34;ordinalencoder-클래스와-같이-사용이-가능한가&#34;&gt;OrdinalEncoder 클래스와 같이 사용이 가능한가?&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 OrdinalEncoder 클래스와 같이 사용을 하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; seaborn &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; load_dataset&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tips &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; load_dataset(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tips&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 결측치 제거 &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tips &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; tips&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;dropna()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(tips&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;info())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;pandas.core.frame.DataFrame&#39;&amp;gt;&#xA;Int64Index: 244 entries, 0 to 243&#xA;Data columns (total 7 columns):&#xA; #   Column      Non-Null Count  Dtype   &#xA;---  ------      --------------  -----   &#xA; 0   total_bill  244 non-null    float64 &#xA; 1   tip         244 non-null    float64 &#xA; 2   sex         244 non-null    category&#xA; 3   smoker      244 non-null    category&#xA; 4   day         244 non-null    category&#xA; 5   time        244 non-null    category&#xA; 6   size        244 non-null    int64   &#xA;dtypes: category(4), float64(2), int64(1)&#xA;memory usage: 9.1 KB&#xA;None&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 데이터에서 sex, day는 onehot encoding을 진행하고, smoker와 time은 ordinal encoding을 동시 진행해본다.&lt;/li&gt;&#xA;&lt;li&gt;또한, numeric features를 위해 스케일러도 진행했다.&lt;/li&gt;&#xA;&lt;li&gt;그 후, 새로운 데이터 프레임으로 변환하는 코드를 작성한다.&lt;/li&gt;&#xA;&lt;li&gt;ColumnTransformer 메서드 적용 후, get_feature_names()를 얻기 위해서는 helper 함수가 필요하다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;함수는 해당 &lt;a href=&#34;https://github.com/scikit-learn/scikit-learn/blob/fd237278e895b42abe8d8d09105cbb82dc2cbba7/sklearn/compose/_column_transformer.py#L345&#34;&gt;링크&lt;/a&gt;에서 가져왔다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; warnings&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; sklearn&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;get_feature_names&lt;/span&gt;(column_transformer):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;Get feature names from all transformers.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    Returns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    -------&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    feature_names : list of strings&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        Names of the features produced by transform.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Remove the internal helper function&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;#check_is_fitted(column_transformer)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Turn loopkup into function for better handling with pipeline later&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;get_names&lt;/span&gt;(trans):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# &amp;gt;&amp;gt; Original get_feature_names() method&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; trans &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;drop&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;or&lt;/span&gt; (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                hasattr(column, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;__len__&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; len(column)):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; []&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; trans &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;passthrough&amp;#39;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; hasattr(column_transformer, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_df_columns&amp;#39;&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; ((&lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; isinstance(column, slice))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; all(isinstance(col, str) &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; col &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; column)):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; column&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; column_transformer&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;_df_columns[column]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                indices &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;arange(column_transformer&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;_n_features)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;x&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%d&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt; i &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; i &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; indices[column]]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; hasattr(trans, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;get_feature_names&amp;#39;&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# &amp;gt;&amp;gt;&amp;gt; Change: Return input column names if no method avaiable&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# Turn error into a warning&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            warnings&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;warn(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Transformer &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%s&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; (type &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%s&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;) does not &amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                 &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;provide get_feature_names. &amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                 &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Will return input column names if available&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                 &lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt; (str(name), type(trans)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__name__))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# For transformers without a get_features_names method, use the input&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# names to the column transformer&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; column &lt;span style=&#34;color:#f92672&#34;&gt;is&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; []&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; [name &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;__&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; f &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; f &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; column]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; [name &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;__&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; f &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; f &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; trans&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get_feature_names()]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;### Start of processing&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    feature_names &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; []&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Allow transformers to be pipelines. Pipeline steps are named differently, so preprocessing is needed&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; type(column_transformer) &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; sklearn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;pipeline&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Pipeline:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        l_transformers &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [(name, trans, &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; step, name, trans &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; column_transformer&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;_iter()]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# For column transformers, follow the original method&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        l_transformers &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; list(column_transformer&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;_iter(fitted&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; name, trans, column, _ &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; l_transformers: &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; type(trans) &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; sklearn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;pipeline&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Pipeline:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# Recursive call on pipeline&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            _names &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; get_feature_names(trans)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# if pipeline has no transformer that returns names&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; len(_names)&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                _names &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [name &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;__&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; f &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; f &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; column]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            feature_names&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;extend(_names)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            feature_names&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;extend(get_names(trans))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; feature_names&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이제 위 함수들을 적용해서 각 인코딩과 사용하지 않는 컬럼들을 하나로 합치는 코드를 작성해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.preprocessing &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; OneHotEncoder&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.preprocessing &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; OrdinalEncoder&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.preprocessing &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; StandardScaler&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.compose &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; ColumnTransformer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.pipeline &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Pipeline&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;categorical_cols &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;sex&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;day&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ordinal_cols &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;smoker&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;time&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;numeric_cols &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;total_bill&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;keep_features &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [x &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; x &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; tips&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; x &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; categorical_cols &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; ordinal_cols &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; numeric_cols]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tips2 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; tips[categorical_cols &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; ordinal_cols &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; numeric_cols]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;transformer &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ColumnTransformer(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    [(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;StandardScaler&amp;#39;&lt;/span&gt;, StandardScaler(), numeric_cols),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;OneHotEncoder&amp;#39;&lt;/span&gt;, OneHotEncoder(), categorical_cols),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;OrdinalEncoder&amp;#39;&lt;/span&gt;, OrdinalEncoder(), ordinal_cols)],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    remainder&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;passthrough&amp;#39;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    verbose_feature_names_out &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;transformed &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; transformer&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit_transform(tips2)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;transformed_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame(transformed, columns&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;get_feature_names(transformer))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tip3 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;concat([tips[keep_features], transformed_df], axis &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tip3&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;info()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;pandas.core.frame.DataFrame&#39;&amp;gt;&#xA;Int64Index: 244 entries, 0 to 243&#xA;Data columns (total 11 columns):&#xA; #   Column                      Non-Null Count  Dtype  &#xA;---  ------                      --------------  -----  &#xA; 0   tip                         244 non-null    float64&#xA; 1   size                        244 non-null    int64  &#xA; 2   StandardScaler__total_bill  244 non-null    float64&#xA; 3   OneHotEncoder__x0_Female    244 non-null    float64&#xA; 4   OneHotEncoder__x0_Male      244 non-null    float64&#xA; 5   OneHotEncoder__x1_Fri       244 non-null    float64&#xA; 6   OneHotEncoder__x1_Sat       244 non-null    float64&#xA; 7   OneHotEncoder__x1_Sun       244 non-null    float64&#xA; 8   OneHotEncoder__x1_Thur      244 non-null    float64&#xA; 9   OrdinalEncoder__smoker      244 non-null    float64&#xA; 10  OrdinalEncoder__time        244 non-null    float64&#xA;dtypes: float64(10), int64(1)&#xA;memory usage: 22.9 KB&#xA;&#xA;&#xA;/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:38: UserWarning: Transformer StandardScaler (type StandardScaler) does not provide get_feature_names. Will return input column names if available&#xA;/usr/local/lib/python3.7/dist-packages/sklearn/utils/deprecation.py:87: FutureWarning: Function get_feature_names is deprecated; get_feature_names is deprecated in 1.0 and will be removed in 1.2. Please use get_feature_names_out instead.&#xA;  warnings.warn(msg, category=FutureWarning)&#xA;/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:38: UserWarning: Transformer OrdinalEncoder (type OrdinalEncoder) does not provide get_feature_names. Will return input column names if available&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;일단 임시로 작업을 하기는 했으나, 뭔가 깔끔해보이지는 않는다.&lt;/li&gt;&#xA;&lt;li&gt;만약 작업을 한다면, 한꺼번에 하지 말고, 각 단계별로 pipeline을 구성 후, 순차적으로 하는 것이 현재로써는 좀 더 &amp;ldquo;정신건강상 좋아보인다!&amp;rdquo;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Plot Tree 색상 변경</title>
      <link>https://dschloe.github.io/programming/2022/03/plot_tree_color_changes/</link>
      <pubDate>Thu, 31 Mar 2022 11:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/03/plot_tree_color_changes/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;skleran.tree.plot_tree의 색상을 바꿔보도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;matplotlib 객체지향의 구조를 알면 어렵지(?) 않게 바꿀 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;간단하게 plot_tree 시각화를 구현해본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;언제나 예제로 희생당하는 iris 데이터에게 애도를 표한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;구글코랩에서 실행 시, 다음 코드를 실행하여 최신 라이브러리로 업그레이드 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;U matplotlib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Requirement already satisfied: matplotlib in /usr/local/lib/python3.7/dist-packages (3.2.2)&#xA;Collecting matplotlib&#xA;  Downloading matplotlib-3.5.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (11.2 MB)&#xA;[K     |████████████████████████████████| 11.2 MB 27.0 MB/s &#xA;[?25hRequirement already satisfied: kiwisolver&amp;gt;=1.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib) (1.4.0)&#xA;Requirement already satisfied: python-dateutil&amp;gt;=2.7 in /usr/local/lib/python3.7/dist-packages (from matplotlib) (2.8.2)&#xA;Requirement already satisfied: numpy&amp;gt;=1.17 in /usr/local/lib/python3.7/dist-packages (from matplotlib) (1.21.5)&#xA;Requirement already satisfied: pillow&amp;gt;=6.2.0 in /usr/local/lib/python3.7/dist-packages (from matplotlib) (7.1.2)&#xA;Requirement already satisfied: pyparsing&amp;gt;=2.2.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib) (3.0.7)&#xA;Requirement already satisfied: cycler&amp;gt;=0.10 in /usr/local/lib/python3.7/dist-packages (from matplotlib) (0.11.0)&#xA;Requirement already satisfied: packaging&amp;gt;=20.0 in /usr/local/lib/python3.7/dist-packages (from matplotlib) (21.3)&#xA;Collecting fonttools&amp;gt;=4.22.0&#xA;  Downloading fonttools-4.31.2-py3-none-any.whl (899 kB)&#xA;[K     |████████████████████████████████| 899 kB 50.5 MB/s &#xA;[?25hRequirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from kiwisolver&amp;gt;=1.0.1-&amp;gt;matplotlib) (3.10.0.2)&#xA;Requirement already satisfied: six&amp;gt;=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil&amp;gt;=2.7-&amp;gt;matplotlib) (1.15.0)&#xA;Installing collected packages: fonttools, matplotlib&#xA;  Attempting uninstall: matplotlib&#xA;    Found existing installation: matplotlib 3.2.2&#xA;    Uninstalling matplotlib-3.2.2:&#xA;      Successfully uninstalled matplotlib-3.2.2&#xA;[31mERROR: pip&#39;s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.&#xA;albumentations 0.1.12 requires imgaug&amp;lt;0.2.7,&amp;gt;=0.2.5, but you have imgaug 0.2.9 which is incompatible.[0m&#xA;Successfully installed fonttools-4.31.2 matplotlib-3.5.1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;matplotlib inline &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; sklearn&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(sklearn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(matplotlib&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 필수 라이브러리 불러오기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.datasets &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; load_iris&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; tree &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 데이터 불러오기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;iris &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; load_iris()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(iris&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, iris&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;target&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;feature names&amp;#34;&lt;/span&gt;, iris&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;feature_names)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;class names&amp;#34;&lt;/span&gt;, iris&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;target_names)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 모형 학습 및 plot_tree 그래프 구현&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dt &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; tree&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DecisionTreeClassifier(random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(iris&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;data, iris&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;target)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig, ax &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;subplots(figsize&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ax &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; tree&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;plot_tree(dt, max_depth &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, filled&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;, feature_names &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; iris&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;feature_names, class_names &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; iris&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;target_names)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;1.0.2&#xA;3.5.1&#xA;(150, 4) (150,)&#xA;feature names [&#39;sepal length (cm)&#39;, &#39;sepal width (cm)&#39;, &#39;petal length (cm)&#39;, &#39;petal width (cm)&#39;]&#xA;class names [&#39;setosa&#39; &#39;versicolor&#39; &#39;virginica&#39;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/03/plot_tree_color_changes/output_2_1.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>R 텍스트 마이닝 1일차 - 빅카인즈 데이터 수집</title>
      <link>https://dschloe.github.io/programming/2022/03/r_text_mining_1_data_crawling/</link>
      <pubDate>Sun, 13 Mar 2022 17:38:15 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/03/r_text_mining_1_data_crawling/</guid>
      <description>&lt;h2 id=&#34;step-01---빅카인즈-접속-후-데이터-내려받기&#34;&gt;Step 01 - 빅카인즈 접속 후, 데이터 내려받기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;싸이트 : &lt;a href=&#34;https://www.bigkinds.or.kr/v2/news/index.do&#34;&gt;https://www.bigkinds.or.kr/v2/news/index.do&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;해당 싸이트에서 키워드를 입력 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때, 기간, 신문사 등을 선택할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;필자는 키워드는 ‘사회적 경제’ 신문사는 국민일보, 조선일보, 중앙일보를 선택한다.&lt;/li&gt;&#xA;&lt;li&gt;하단으로 내려 적용하기 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/03/R_text_mining_1_data_crawling/Screen_Shot_2022-03-13_at_12.27.40_AM.png&#34; alt=&#34;Screen Shot 2022-03-13 at 12.27.40 AM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Step 03 - 분석 결과 및 시각화 탭을 클릭한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 다운로드 탭 하단에 엑셀 다운로드 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/03/R_text_mining_1_data_crawling/Screen_Shot_2022-03-13_at_12.39.59_AM.png&#34; alt=&#34;Screen Shot 2022-03-13 at 12.39.59 AM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;해당 파일에는 본문이 있지만, 보통 200자 내외로 짧게 요약이 되어 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-02---웹-크롤링-소스-코드-작성을-위한-사전-준비&#34;&gt;Step 02 - 웹 크롤링 소스 코드 작성을 위한 사전 준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 기 다운로드 된 파일을 불러온다.&lt;/li&gt;&#xA;&lt;li&gt;전체 데이터에서 필요한 컬럼만 재추출한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(dplyr)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(readxl)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; raw_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;read_excel&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/NewsResult_20211213-20220313.xlsx&amp;#34;&lt;/span&gt;, sheet &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; raw_df2 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; raw_df &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;select&lt;/span&gt;(일자, 언론사, 제목, URL)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; raw_df2 &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;group_by&lt;/span&gt;(언론사) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;summarise&lt;/span&gt;(n &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;n&lt;/span&gt;())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# A tibble: 3 × 2  &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;언론사       n  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;chr&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;int&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; 국민일보   &lt;span style=&#34;color:#ae81ff&#34;&gt;180&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt; 조선일보   &lt;span style=&#34;color:#ae81ff&#34;&gt;115&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt; 중앙일보   &lt;span style=&#34;color:#ae81ff&#34;&gt;256&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;각 신문사별로 나눠서 객체를 저장한다. 여기에서는 국민일보만 추출하는 코드를 예시로 하였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; kmib_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; raw_df2 &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;filter&lt;/span&gt;(언론사 &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;국민일보&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;(kmib_df, &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# A tibble: 3 × 4  일자     언론사   제목                                         URL                   &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;chr&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;chr&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;chr&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;                                        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;chr&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;               &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;20220312&lt;/span&gt; 국민일보 팬데믹의 비극 무너지는 가정, 스러지는 아이들 http&lt;span style=&#34;color:#f92672&#34;&gt;://&lt;/span&gt;news.kmib.co…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;20220312&lt;/span&gt; 국민일보 ‘장로’ 디딤돌인가 걸림돌인가                 http&lt;span style=&#34;color:#f92672&#34;&gt;://&lt;/span&gt;news.kmib.co…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;20220311&lt;/span&gt; 국민일보 [기고]대전은 우리가 지킨다                   http&lt;span style=&#34;color:#f92672&#34;&gt;://&lt;/span&gt;news.kmib.co…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 URL만 추출하여 특이점이 있는지 확인한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;전체적으로 주소는 비슷하다.&lt;/li&gt;&#xA;&lt;li&gt;몇몇 주소에서는 &lt;code&gt;&amp;amp;cp=kd&lt;/code&gt; 같은 문자가 더 추가된 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;서로 다른 싸이트에서 본문의 위치 등이 동일한지 다른지 확인할 필요가 있다. (확인 결과, 차이는 없다!)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; kmib_df&lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;URL[1&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[1] &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://news.kmib.co.kr/article/view.asp?arcid=0924235144&amp;amp;code=11131100&amp;#34;&lt;/span&gt;      &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[2] &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://news.kmib.co.kr/article/view.asp?arcid=0924235120&amp;amp;code=23111111&amp;#34;&lt;/span&gt;      &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[3] &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://news.kmib.co.kr/article/view.asp?arcid=0016856942&amp;amp;code=61221514&amp;amp;cp=kd&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[4] &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://news.kmib.co.kr/article/view.asp?arcid=0016853803&amp;amp;code=61111711&amp;amp;cp=kd&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[5] &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://news.kmib.co.kr/article/view.asp?arcid=0016847353&amp;amp;code=61131111&amp;amp;cp=kd&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-03---웹-크롤링-본문-내용-발췌&#34;&gt;Step 03 - 웹 크롤링 본문 내용 발췌&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 본문만 크롤링 하도록 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1개의 데이터만 가져와서 테스트를 해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; kmib_df&lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;URL[1]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; news &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;read_html&lt;/span&gt;(url, encoding &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;EUC-KR&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; news&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{html_document}&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;html xmlns&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://www.w3.org/1999/xhtml&amp;#34;&lt;/span&gt; xml&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;lang&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;ko&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[1] &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;head&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;\n&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;title&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;팬데믹의 비극… 무너지는 가정, 스러지는 아이들&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;국민일보&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/&lt;/span&gt;title&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;\n&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;meta http&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;equiv&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Cont ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;[2] &amp;lt;body&amp;gt;\r\n&amp;lt;div id=&amp;#34;&lt;/span&gt;wrap&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;gt;\r\n\r\n&amp;lt;!-- header --&amp;gt;\r\n\r\n&amp;lt;script src=&amp;#34;&lt;/span&gt;http&lt;span style=&#34;color:#f92672&#34;&gt;://&lt;/span&gt;ww &lt;span style=&#34;color:#66d9ef&#34;&gt;...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;여기에서 div 태그 안에 있는 class tx 하단에 텍스트가 있는 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/03/R_text_mining_1_data_crawling/Screen_Shot_2022-03-13_at_4.36.47_PM.png&#34; alt=&#34;Screen Shot 2022-03-13 at 4.36.47 PM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Heroku App 배포</title>
      <link>https://dschloe.github.io/programming/2022/02/heroku_app_deploy/</link>
      <pubDate>Wed, 23 Feb 2022 10:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/02/heroku_app_deploy/</guid>
      <description>&lt;h1 id=&#34;개요&#34;&gt;개요&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Heroku App을 배포하는 과정을 작성한다.&lt;/li&gt;&#xA;&lt;li&gt;가장 중요한 것은 Git과 연동이 되어 있어야 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;깃허브 : &lt;a href=&#34;https://github.com/&#34;&gt;https://github.com/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;GIT : &lt;a href=&#34;https://git-scm.com/&#34;&gt;https://git-scm.com/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;이 부분에 대한 설치 과정은 생략한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;배포하려는 프로젝트는 다음 링크에서 확인한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참고 : &lt;a href=&#34;https://dschloe.github.io/python/dash/dash_sales_dashboard/&#34;&gt;Python Sales Dashboard Using Dash and Plotly&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;advert-inline&#34;&gt;&#xA;&#x9;&lt;script async src=&#34;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9871603218577546&#34;&#xA;&#x9;&#x9;&#x9;crossorigin=&#34;anonymous&#34;&gt;&lt;/script&gt;&#xA;&#x9;&#xA;&#x9;&lt;ins class=&#34;adsbygoogle&#34;&#xA;     &#x9; style=&#34;display:block; text-align:center;&#34;&#xA;     &#x9; data-ad-layout=&#34;in-article&#34;&#xA;     &#x9; data-ad-format=&#34;fluid&#34;&#xA;&#x9;&#x9; data-ad-client=&#34;ca-pub-9871603218577546&#34;&#xA;&#x9;&#x9; data-ad-slot=&#34;3951220622&#34;&#xA;&#x9;&#x9; data-ad-format=&#34;auto&#34;&#xA;&#x9;&#x9; data-full-width-responsive=&#34;true&#34;&gt;&#xA;&#x9;&lt;/ins&gt;&#xA;&#x9;&lt;script&gt;&#xA;     (adsbygoogle = window.adsbygoogle || []).push({});&#xA;&#x9;&lt;/script&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&lt;h1 id=&#34;procfile-생성&#34;&gt;Procfile 생성&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;프로젝트 Root 디렉터리에 &lt;code&gt;Procfile&lt;/code&gt; 을 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;web: gunicorn index:server&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;이 때, &lt;code&gt;index&lt;/code&gt; 파일명을 의미한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;작업-파일-수정&#34;&gt;작업 파일 수정&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://index.py&#34;&gt;index.py&lt;/a&gt;을 열고, 다음 코드를 추가한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;server = app.server&lt;/code&gt; 을 추가한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;app = dash.Dash(__name__, meta_tags=[{&amp;#34;name&amp;#34;: &amp;#34;viewport&amp;#34;,&#xA;                                      &amp;#34;content&amp;#34;: &amp;#34;width=device-width&amp;#34;}])&#xA;&#xA;server = app.server&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;runtime-파일-추가&#34;&gt;Runtime 파일 추가&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;어떤 파이썬 버전에서 실행할 것인지 해당 코드를 작성한다. (&lt;code&gt;runtime.txt&lt;/code&gt;)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;마찬가지로 프로젝트의 Root 디렉토리에서 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;python-3.8.7&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;heroku-로그인-및-app-생성&#34;&gt;Heroku 로그인 및 App 생성&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Heroku 회원가입을 안했다면, 진행한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python Sales Dashboard Using Dash and Plotly</title>
      <link>https://dschloe.github.io/programming/2022/02/dash_sales_dashboard/</link>
      <pubDate>Sun, 13 Feb 2022 18:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/02/dash_sales_dashboard/</guid>
      <description>&lt;h1 id=&#34;개요&#34;&gt;개요&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Sales 데이터를 활용하여 대시보드를 만드는 과정을 제작한다.&lt;/li&gt;&#xA;&lt;li&gt;기본 파이썬 코딩은 할 줄 안다는 전제하에 작성하며, 세부 내용이 필요하면 참고 자료를 확인할 것을 권한다.&lt;/li&gt;&#xA;&lt;li&gt;윈도우 10에서 본 프로젝트를 수행하였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;chapter-1-github-repo-생성&#34;&gt;Chapter 1. Github Repo 생성&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 Github 레포를 만들었다. (Repo 명: python_dash_sales)&lt;/li&gt;&#xA;&lt;li&gt;git clone을 통해서 로컬로 가져온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git clone https://github.com/your_id/python_dash_sales.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;advert-inline&#34;&gt;&#xA;&#x9;&lt;script async src=&#34;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9871603218577546&#34;&#xA;&#x9;&#x9;&#x9;crossorigin=&#34;anonymous&#34;&gt;&lt;/script&gt;&#xA;&#x9;&#xA;&#x9;&lt;ins class=&#34;adsbygoogle&#34;&#xA;     &#x9; style=&#34;display:block; text-align:center;&#34;&#xA;     &#x9; data-ad-layout=&#34;in-article&#34;&#xA;     &#x9; data-ad-format=&#34;fluid&#34;&#xA;&#x9;&#x9; data-ad-client=&#34;ca-pub-9871603218577546&#34;&#xA;&#x9;&#x9; data-ad-slot=&#34;3951220622&#34;&#xA;&#x9;&#x9; data-ad-format=&#34;auto&#34;&#xA;&#x9;&#x9; data-full-width-responsive=&#34;true&#34;&gt;&#xA;&#x9;&lt;/ins&gt;&#xA;&#x9;&lt;script&gt;&#xA;     (adsbygoogle = window.adsbygoogle || []).push({});&#xA;&#x9;&lt;/script&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&lt;h1 id=&#34;chapter-2-python-프로젝트-생성&#34;&gt;Chapter 2. Python 프로젝트 생성&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.jetbrains.com/pycharm/&#34;&gt;PyCharm&lt;/a&gt;을 주 에디터로 사용할 예정이다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>BigQuery ML을 사용한 펭귄 체중 예측</title>
      <link>https://dschloe.github.io/programming/2022/01/bigquery_ml_penguins_20220121/</link>
      <pubDate>Fri, 21 Jan 2022 10:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/01/bigquery_ml_penguins_20220121/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;BigQuery ML을 소개한다.&lt;/li&gt;&#xA;&lt;li&gt;BigQuery ML을 사용하면, 머신러닝 모델을 만들고 또한 실행할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;목표&#34;&gt;목표&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;BigQuery ML에서 CREATE MODEL 문을 사용하여 선형회귀 모델 만들기&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;ML.EVALUATE&lt;/code&gt; 함수를 사용하여 ML 모델 평가&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;ML.PREDICT&lt;/code&gt; 함수를 사용하여 ML 모델 예측&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;주의-사항&#34;&gt;주의 사항&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;BigQuery 비용 관련된 문서는 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;BigQuery 가격 책정: &lt;a href=&#34;https://cloud.google.com/bigquery/pricing&#34;&gt;https://cloud.google.com/bigquery/pricing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;BigQuery 가격 책정**:** &lt;a href=&#34;https://cloud.google.com/bigquery-ml/pricing&#34;&gt;https://cloud.google.com/bigquery-ml/pricing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1단계-데이터-세트-만들기&#34;&gt;1단계: 데이터 세트 만들기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 세트 ID에 &lt;code&gt;bqml_practice&lt;/code&gt; 입력&lt;/li&gt;&#xA;&lt;li&gt;데이터 위치로 미국 US 선택&lt;/li&gt;&#xA;&lt;li&gt;나머지는 모두 Default로 설정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/01/bigquery_ml_penguins_20220121/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;2단계-모델-만들기&#34;&gt;2단계: 모델 만들기&lt;/h2&gt;&#xA;&lt;h3 id=&#34;데이터-소개&#34;&gt;데이터 소개&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 데이터를 소개한다.&lt;/li&gt;&#xA;&lt;li&gt;데이터 원 자료는 해당 논문에서 확인할 수 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0090081&#34;&gt;https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0090081&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;데이터 셋에 대한 설명은 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;species&lt;/code&gt; — 펭귄의 종(문자열)&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;island&lt;/code&gt; — 펭귄이 사는 섬(문자열)&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;culmen_length_mm&lt;/code&gt; — 컬멘 길이(밀리미터)(FLOAT64).&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;culmen_depth_mm&lt;/code&gt; — 컬멘 깊이(밀리미터)(FLOAT64)&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;flipper_length_mm&lt;/code&gt; — 지느러미의 길이(밀리미터)(FLOAT64)&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;sex&lt;/code&gt; — 펭귄의 성별(문자열)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;모델-만들기-코드-실행&#34;&gt;모델 만들기 코드 실행&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;CREATE MODEL&lt;/code&gt; 명령어를 실행하여 모델을 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;#&lt;/span&gt;standardSQL&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;OR&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;REPLACE&lt;/span&gt; MODEL &lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;bqml_practice.penguins_model&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;OPTIONS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  (model_type&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;linear_reg&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  input_label_cols&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;body_mass_g&amp;#39;&lt;/span&gt;]) &lt;span style=&#34;color:#66d9ef&#34;&gt;AS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;SELECT&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;FROM&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;bigquery&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;data&lt;/span&gt;.ml_datasets.penguins&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;WHERE&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  body_mass_g &lt;span style=&#34;color:#66d9ef&#34;&gt;IS&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NOT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;실행 결과는 보는 것처럼 Preprocess, Train, Evaluate 작업이 진행 된 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/01/bigquery_ml_penguins_20220121/Untitled%201.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>GCP Settings 2022 ver</title>
      <link>https://dschloe.github.io/programming/2022/01/gcp_settings_20220118/</link>
      <pubDate>Tue, 18 Jan 2022 14:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/01/gcp_settings_20220118/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;GCP 빅쿼리를 연동하는 예제를 구현한다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 빅쿼리를 통해 데이터를 적재하는 예제를 확인한다.&lt;/li&gt;&#xA;&lt;li&gt;구글 코랩에서 빅쿼리 데이터를 불러온다.&lt;/li&gt;&#xA;&lt;li&gt;데이터 스튜디오에서 빅쿼리 데이터를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;소개&#34;&gt;소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;빅쿼리를 소개하는 영상은 유투브에서 검색하면 매우 쉽게 확인할 수 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;영상 참조: &lt;a href=&#34;https://www.youtube.com/watch?v=LhksTFvVriU&#34;&gt;데이터 웨어하우스 끝판왕 BigQuery 어디까지 알고 계신가요&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;google-cloud-회원가입&#34;&gt;Google Cloud 회원가입&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;준비물&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Google 계정&lt;/li&gt;&#xA;&lt;li&gt;신용카드나 체크카드 (개인적으로 돈이 없는 체크카드 사용 권장)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;구글 클라우드 사이트 접속&#xA;&lt;ul&gt;&#xA;&lt;li&gt;싸이트: &lt;a href=&#34;https://cloud.google.com/&#34;&gt;https://cloud.google.com/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;무료 서버 받으려면 아래 화면에서 &lt;code&gt;TRY IT FREE&lt;/code&gt; 를 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/01/gcp_settings_20220118/Untitled.png&#34; alt=&#34;Untitled&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Spark Installation on M1 Mac</title>
      <link>https://dschloe.github.io/programming/2022/01/spark_installation_on_m1_mac/</link>
      <pubDate>Wed, 05 Jan 2022 14:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/01/spark_installation_on_m1_mac/</guid>
      <description>&lt;h2 id=&#34;사전준비&#34;&gt;사전준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;M1 Mac에서 스파크를 설치하는 과정을 소개 하려고 한다.&lt;/li&gt;&#xA;&lt;li&gt;필자의 Python 버전은 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ python --version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Python 3.8.7&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;자바-설치&#34;&gt;자바 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;자바 설치는 아래에서 다운로드 받았다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;URL: &lt;strong&gt;&lt;a href=&#34;https://www.azul.com/downloads/?package=jdk#download-openjdk&#34;&gt;Java SE Development Kit 8u301&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/01/spark_installation_on_M1_Mac/Screen_Shot_2022-01-05_at_12.57.39_AM.png&#34; alt=&#34;Screen Shot 2022-01-05 at 12.57.39 AM.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그 다음 자바 설치를 확정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ java --showversion&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;만약 에러가 아래와 같은 에러가 발생한다면, 시스템 환경설정 - Java - 업데이트 항목을 순차적으로 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ java --showversion&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Error: Could not create the Java Virtual Machine.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Error: A fatal exception has occurred. Program will exit.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2022/01/spark_installation_on_M1_Mac/Screen_Shot_2022-01-05_at_12.20.33_AM.png&#34; alt=&#34;Screen Shot 2022-01-05 at 12.20.33 AM.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Spark Installation on Windows 10</title>
      <link>https://dschloe.github.io/programming/2022/01/spark_installation_windows_10/</link>
      <pubDate>Mon, 03 Jan 2022 14:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2022/01/spark_installation_windows_10/</guid>
      <description>&lt;h2 id=&#34;사전준비&#34;&gt;사전준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;스파크를 설치하는 과정은 소개 하려고 한다.&lt;/li&gt;&#xA;&lt;li&gt;사전에 파이썬 3만 설치가 되어 있으면 된다.&lt;/li&gt;&#xA;&lt;li&gt;만약, 파이썬이 처음이라면 &lt;a href=&#34;https://www.anaconda.com/products/individual&#34;&gt;Anaconda&lt;/a&gt;를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;다운로드-전-필수-확인사항&#34;&gt;다운로드 전 필수 확인사항&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;스파크 설치 전에는 반드시 체크해야 하는 사항이 있다. (System Compatibility)&lt;/li&gt;&#xA;&lt;li&gt;2022년 1월 기준은 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Get Spark from the &lt;a href=&#34;https://spark.apache.org/downloads.html&#34;&gt;downloads page&lt;/a&gt; of the project website. This documentation is for Spark version 3.2.0. Spark uses Hadoop’s client libraries for HDFS and YARN. Downloads are pre-packaged for a handful of popular Hadoop versions. Users can also download a “Hadoop free” binary and run Spark with any Hadoop version &lt;a href=&#34;https://spark.apache.org/docs/latest/hadoop-provided.html&#34;&gt;by augmenting Spark’s classpath&lt;/a&gt;. Scala and Java users can include Spark in their projects using its Maven coordinates and Python users can install Spark from PyPI.&lt;/p&gt;</description>
    </item>
    <item>
      <title>PyCaret Installation on M1 Mac</title>
      <link>https://dschloe.github.io/programming/2021/12/pycaret_installation_on_m1_mac/</link>
      <pubDate>Fri, 31 Dec 2021 14:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/12/pycaret_installation_on_m1_mac/</guid>
      <description>&lt;h1 id=&#34;pycaret-installation-on-m1-mac&#34;&gt;PyCaret Installation on M1 Mac&lt;/h1&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;M1 Mac에서 &lt;code&gt;PyCaret&lt;/code&gt;을 설치하고 싶었다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;PyCaret&lt;/code&gt; 은 &lt;code&gt;AutoML&lt;/code&gt; 라이브러리이며, 단 몇줄의 코드로 복잡한 기계학습을 학습 및 비교할 수 있도록 구현한 코드라고 볼 수 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;PyCaret&lt;/code&gt; 패키지: &lt;a href=&#34;https://pycaret.org/&#34;&gt;https://pycaret.org/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;M1 Mac에서 해당 라이브러리를 사용하려면 크게 2가지 필수 전제 조건이 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;LightGBM, XGboost 설치&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1-pycaret-설치-방법&#34;&gt;1. PyCaret 설치 방법&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;일반 인텔 기반의 Mac의 설치는 매우 쉽다. (Intel Mac)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ brew install lightgbm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;그러나, M1 Mac에서는 생각보다 쉽지 않다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;물론, Rosetta로 터미널을 바꾸면 Intel Mac 처럼 쓸 수 있다. 그러나, M1의 GPU를 활용하려면 기존 설치 방법으로는 적용이 어렵다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-step-01-xcode-command-line-tools&#34;&gt;(1) Step 01. &lt;strong&gt;Xcode Command Line Tools&lt;/strong&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;처음 M1를 구매했다면, &lt;a href=&#34;https://developer.apple.com/download/more/?=command%20line%20tools&#34;&gt;Xcode Command Line Tools&lt;/a&gt;를 &lt;a href=&#34;https://developer.apple.com/&#34;&gt;Apple Developer&lt;/a&gt;를 통해서 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-step-02-miniforge-설치&#34;&gt;(2) Step 02. &lt;strong&gt;miniforge 설치&lt;/strong&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 블로그에서 가장 중요하다.&lt;/li&gt;&#xA;&lt;li&gt;2021년 12월 기준 시점에서는 반드시 설치를 해야 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;GPU를 사용하기 위해서는 LightGBM, XGBoost, PyCaret은 Conda 기반으로만 설치가 가능하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;설치 파일 주소: &lt;a href=&#34;https://github.com/conda-forge/miniforge&#34;&gt;https://github.com/conda-forge/miniforge&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치 시, 아래 그림과 같이 &lt;code&gt;arm64 Apple Silicon&lt;/code&gt;을 선택해서 다운로드 받아야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/12/pycaret_installation_on_m1_mac/install_01.png&#34; alt=&#34;install_01.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>PyCaret, Skorch Using Pipeline</title>
      <link>https://dschloe.github.io/programming/2021/12/pycaret_with_sktorch/</link>
      <pubDate>Tue, 28 Dec 2021 16:11:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/12/pycaret_with_sktorch/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Scikit-Learn의 Pipeline은 강력하다.&lt;/li&gt;&#xA;&lt;li&gt;PyCaret, Skorch에도 사용이 가능하다.&lt;/li&gt;&#xA;&lt;li&gt;Google Colab에서 시도해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;필수-라이브러리-설치&#34;&gt;필수 라이브러리 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;pycaret을 설치 한 후에는 반드시 런타임 재시작을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install pycaret&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Collecting pycaret&#xA;  Downloading pycaret-2.3.5-py3-none-any.whl (288 kB)&#xA;.&#xA;.&#xA;Successfully installed Boruta-0.3 Mako-1.1.6 PyYAML-6.0 alembic-1.4.1 databricks-cli-0.16.2 docker-5.0.3 funcy-1.17 gitdb-4.0.9 gitpython-3.1.24 gunicorn-20.1.0 htmlmin-0.1.12 imagehash-4.2.1 imbalanced-learn-0.7.0 joblib-1.0.1 kmodes-0.11.1 lightgbm-3.3.1 mlflow-1.22.0 mlxtend-0.19.0 multimethod-1.6 pandas-profiling-3.1.0 phik-0.12.0 prometheus-flask-exporter-0.18.7 pyLDAvis-3.2.2 pycaret-2.3.5 pydantic-1.8.2 pynndescent-0.5.5 pyod-0.9.6 python-editor-1.0.4 querystring-parser-1.2.4 requests-2.26.0 scikit-learn-0.23.2 scikit-plot-0.3.7 scipy-1.5.4 smmap-5.0.0 tangled-up-in-unicode-0.1.0 umap-learn-0.5.2 visions-0.7.4 websocket-client-1.2.3&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;U skorch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Requirement already satisfied: skorch in /usr/local/lib/python3.7/dist-packages (0.11.0)&#xA;Requirement already satisfied: tabulate&amp;gt;=0.7.7 in /usr/local/lib/python3.7/dist-packages (from skorch) (0.8.9)&#xA;Requirement already satisfied: scikit-learn&amp;gt;=0.19.1 in /usr/local/lib/python3.7/dist-packages (from skorch) (0.23.2)&#xA;Requirement already satisfied: tqdm&amp;gt;=4.14.0 in /usr/local/lib/python3.7/dist-packages (from skorch) (4.62.3)&#xA;Requirement already satisfied: numpy&amp;gt;=1.13.3 in /usr/local/lib/python3.7/dist-packages (from skorch) (1.19.5)&#xA;Requirement already satisfied: scipy&amp;gt;=1.1.0 in /usr/local/lib/python3.7/dist-packages (from skorch) (1.5.4)&#xA;Requirement already satisfied: joblib&amp;gt;=0.11 in /usr/local/lib/python3.7/dist-packages (from scikit-learn&amp;gt;=0.19.1-&amp;gt;skorch) (1.0.1)&#xA;Requirement already satisfied: threadpoolctl&amp;gt;=2.0.0 in /usr/local/lib/python3.7/dist-packages (from scikit-learn&amp;gt;=0.19.1-&amp;gt;skorch) (3.0.0)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; pycaret.datasets &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; get_data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; get_data(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;electrical_grid&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;style&gt;&#xA;     #customers {&#xA;       font-family: &#34;Trebuchet MS&#34;, Arial, Helvetica, sans-serif;&#xA;       border-collapse: collapse;&#xA;     }&#xA; &#xA;     #customers td,&#xA;     #customers th {&#xA;       border: 1px solid #ddd;&#xA;       padding: 8px;&#xA;     }&#xA; &#xA;     #customers tr:nth-child(even) {&#xA;       background-color: #f2f2f2;&#xA;     }&#xA; &#xA;     #customers tr:hover {&#xA;       background-color: #ddd;&#xA;     }&#xA;     #customers th {&#xA;       padding-top: 12px;&#xA;       padding-bottom: 12px;&#xA;       text-align: left;&#xA;       background-color: rgb(175, 107, 76);&#xA;       color: white;&#xA;     }&#xA;   &lt;/style&gt;&#xA; &#xA;   &lt;div style=&#34;width:100%; height:400px; overflow:auto&#34;&gt;&#xA;     &lt;table border=&#34;1&#34; id=&#34;customers&#34;&gt;&#xA;   &lt;thead&gt;&#xA;     &lt;tr style=&#34;text-align: right;&#34;&gt;&#xA;       &lt;th&gt;&lt;/th&gt;&#xA;       &lt;th&gt;tau1&lt;/th&gt;&#xA;       &lt;th&gt;tau2&lt;/th&gt;&#xA;       &lt;th&gt;tau3&lt;/th&gt;&#xA;       &lt;th&gt;tau4&lt;/th&gt;&#xA;       &lt;th&gt;p1&lt;/th&gt;&#xA;       &lt;th&gt;p2&lt;/th&gt;&#xA;       &lt;th&gt;p3&lt;/th&gt;&#xA;       &lt;th&gt;p4&lt;/th&gt;&#xA;       &lt;th&gt;g1&lt;/th&gt;&#xA;       &lt;th&gt;g2&lt;/th&gt;&#xA;       &lt;th&gt;g3&lt;/th&gt;&#xA;       &lt;th&gt;g4&lt;/th&gt;&#xA;       &lt;th&gt;stabf&lt;/th&gt;&#xA;     &lt;/tr&gt;&#xA;   &lt;/thead&gt;&#xA;   &lt;tbody&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;0&lt;/th&gt;&#xA;       &lt;td&gt;2.959060&lt;/td&gt;&#xA;       &lt;td&gt;3.079885&lt;/td&gt;&#xA;       &lt;td&gt;8.381025&lt;/td&gt;&#xA;       &lt;td&gt;9.780754&lt;/td&gt;&#xA;       &lt;td&gt;3.763085&lt;/td&gt;&#xA;       &lt;td&gt;-0.782604&lt;/td&gt;&#xA;       &lt;td&gt;-1.257395&lt;/td&gt;&#xA;       &lt;td&gt;-1.723086&lt;/td&gt;&#xA;       &lt;td&gt;0.650456&lt;/td&gt;&#xA;       &lt;td&gt;0.859578&lt;/td&gt;&#xA;       &lt;td&gt;0.887445&lt;/td&gt;&#xA;       &lt;td&gt;0.958034&lt;/td&gt;&#xA;       &lt;td&gt;unstable&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;1&lt;/th&gt;&#xA;       &lt;td&gt;9.304097&lt;/td&gt;&#xA;       &lt;td&gt;4.902524&lt;/td&gt;&#xA;       &lt;td&gt;3.047541&lt;/td&gt;&#xA;       &lt;td&gt;1.369357&lt;/td&gt;&#xA;       &lt;td&gt;5.067812&lt;/td&gt;&#xA;       &lt;td&gt;-1.940058&lt;/td&gt;&#xA;       &lt;td&gt;-1.872742&lt;/td&gt;&#xA;       &lt;td&gt;-1.255012&lt;/td&gt;&#xA;       &lt;td&gt;0.413441&lt;/td&gt;&#xA;       &lt;td&gt;0.862414&lt;/td&gt;&#xA;       &lt;td&gt;0.562139&lt;/td&gt;&#xA;       &lt;td&gt;0.781760&lt;/td&gt;&#xA;       &lt;td&gt;stable&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;2&lt;/th&gt;&#xA;       &lt;td&gt;8.971707&lt;/td&gt;&#xA;       &lt;td&gt;8.848428&lt;/td&gt;&#xA;       &lt;td&gt;3.046479&lt;/td&gt;&#xA;       &lt;td&gt;1.214518&lt;/td&gt;&#xA;       &lt;td&gt;3.405158&lt;/td&gt;&#xA;       &lt;td&gt;-1.207456&lt;/td&gt;&#xA;       &lt;td&gt;-1.277210&lt;/td&gt;&#xA;       &lt;td&gt;-0.920492&lt;/td&gt;&#xA;       &lt;td&gt;0.163041&lt;/td&gt;&#xA;       &lt;td&gt;0.766689&lt;/td&gt;&#xA;       &lt;td&gt;0.839444&lt;/td&gt;&#xA;       &lt;td&gt;0.109853&lt;/td&gt;&#xA;       &lt;td&gt;unstable&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;3&lt;/th&gt;&#xA;       &lt;td&gt;0.716415&lt;/td&gt;&#xA;       &lt;td&gt;7.669600&lt;/td&gt;&#xA;       &lt;td&gt;4.486641&lt;/td&gt;&#xA;       &lt;td&gt;2.340563&lt;/td&gt;&#xA;       &lt;td&gt;3.963791&lt;/td&gt;&#xA;       &lt;td&gt;-1.027473&lt;/td&gt;&#xA;       &lt;td&gt;-1.938944&lt;/td&gt;&#xA;       &lt;td&gt;-0.997374&lt;/td&gt;&#xA;       &lt;td&gt;0.446209&lt;/td&gt;&#xA;       &lt;td&gt;0.976744&lt;/td&gt;&#xA;       &lt;td&gt;0.929381&lt;/td&gt;&#xA;       &lt;td&gt;0.362718&lt;/td&gt;&#xA;       &lt;td&gt;unstable&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;4&lt;/th&gt;&#xA;       &lt;td&gt;3.134112&lt;/td&gt;&#xA;       &lt;td&gt;7.608772&lt;/td&gt;&#xA;       &lt;td&gt;4.943759&lt;/td&gt;&#xA;       &lt;td&gt;9.857573&lt;/td&gt;&#xA;       &lt;td&gt;3.525811&lt;/td&gt;&#xA;       &lt;td&gt;-1.125531&lt;/td&gt;&#xA;       &lt;td&gt;-1.845975&lt;/td&gt;&#xA;       &lt;td&gt;-0.554305&lt;/td&gt;&#xA;       &lt;td&gt;0.797110&lt;/td&gt;&#xA;       &lt;td&gt;0.455450&lt;/td&gt;&#xA;       &lt;td&gt;0.656947&lt;/td&gt;&#xA;       &lt;td&gt;0.820923&lt;/td&gt;&#xA;       &lt;td&gt;unstable&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;   &lt;/tbody&gt;&#xA; &lt;/table&gt;&#xA; &lt;/div&gt;&#xA;&lt;h2 id=&#34;pytorchmodel&#34;&gt;PyTorchModel&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;sktorch&lt;/code&gt; 라이브러리는 PyTorch 모델과 함께 작동한다.&lt;/li&gt;&#xA;&lt;li&gt;MLP 모델을 작성하는 클래스를 설계한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; torch.nn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; nn&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Net&lt;/span&gt;(nn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Module): &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;__init__&lt;/span&gt;(self, num_inputs&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt;, num_units_d1 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;200&lt;/span&gt;, num_units_d2 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    super(Net, self)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;__init__&lt;/span&gt;() &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;dense0 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; nn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Linear(num_inputs, num_units_d1)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;nonlin &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; nn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ReLU()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;dropout &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; nn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Dropout(&lt;span style=&#34;color:#ae81ff&#34;&gt;0.5&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;dense1 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; nn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Linear(num_units_d1, num_units_d2)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;output &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; nn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Linear(num_units_d2, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;softmax &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; nn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Softmax(dim&lt;span style=&#34;color:#f92672&#34;&gt;=-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;forward&lt;/span&gt;(self, X, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;kwargs):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    X &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;nonlin(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;dense0(X))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    X &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;dropout(X)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    X &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;nonlin(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;dense1(X))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    X &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;softmax(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;output(X))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; X&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;skorch-classifier&#34;&gt;Skorch Classifier&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;NeuralNetClassifier 클래스를 PyTorch 클래스와 연동한다.&lt;/li&gt;&#xA;&lt;li&gt;Optimizer 기본값인 SGD를 사용한다. 만약 다른 Optimizer로 변경을 원하면 다음 링크에서 확인한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참고: &lt;a href=&#34;https://skorch.readthedocs.io/en/latest/user/neuralnet.html#optimizer&#34;&gt;https://skorch.readthedocs.io/en/latest/user/neuralnet.html#optimizer&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Sktorch 5 폴드 교차검증을 수행한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;학습 데이터는 80%, 나머지 20%는 검증 데이터로 활용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; skorch &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; NeuralNetClassifier &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;net &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; NeuralNetClassifier(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    module &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Net, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    max_epochs &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    lr &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0.1&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    batch_size &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;32&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    train_split &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;pycaret과-신경망-학습-방법&#34;&gt;PyCaret과 신경망 학습 방법&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SKORCH NN model을 초기화 했다면, 이번에는 PyCaret과 함께 모델을 학습할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;PyCaret은 기본적으로 Pandas DataFrame을 메인 객체로 사용하다.&lt;/li&gt;&#xA;&lt;li&gt;그런데, sktorch model을 사용하기 위해서는 &lt;code&gt;pipeline&lt;/code&gt;을 구성할 때는 DataFrameTransformer() 함수를 사용해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; skorch.helper &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; DataFrameTransformer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.pipeline &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Pipeline&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nn_pipe &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Pipeline(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    [(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;transform&amp;#34;&lt;/span&gt;, DataFrameTransformer()), &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;net&amp;#34;&lt;/span&gt;, net), ]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;pycaret-setup&#34;&gt;PyCaret Setup&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Skorch API 대신 PyCaret 모델을 사용해본다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;log_experiment&lt;/code&gt;가 &lt;code&gt;True&lt;/code&gt;를 사용하게 되면 &lt;code&gt;MLFlow&lt;/code&gt;를 사용할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;silent&lt;/code&gt;가 &lt;code&gt;True&lt;/code&gt;인 경우 중간에 발생하는 &lt;code&gt;press enter to continue&lt;/code&gt; 입력 단계를 피할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; pycaret.classification &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;target &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;stabf&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;clf1 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; setup(data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; data, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            target &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; target,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            train_size &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0.8&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            fold &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            session_id &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;123&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            log_experiment &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            experiment_name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;electrical_grid_1&amp;#39;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            silent &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;style&gt;&#xA;     #customers {&#xA;       font-family: &#34;Trebuchet MS&#34;, Arial, Helvetica, sans-serif;&#xA;       border-collapse: collapse;&#xA;     }&#xA; &#xA;     #customers td,&#xA;     #customers th {&#xA;       border: 1px solid #ddd;&#xA;       padding: 8px;&#xA;     }&#xA; &#xA;     #customers tr:nth-child(even) {&#xA;       background-color: #f2f2f2;&#xA;     }&#xA; &#xA;     #customers tr:hover {&#xA;       background-color: #ddd;&#xA;     }&#xA;     #customers th {&#xA;       padding-top: 12px;&#xA;       padding-bottom: 12px;&#xA;       text-align: left;&#xA;       background-color: rgb(175, 107, 76);&#xA;       color: white;&#xA;     }&#xA;   &lt;/style&gt;&#xA;   &lt;div style=&#34;width:100%; height:400px; overflow:auto&#34;&gt;&#xA;     &lt;table border=&#34;1&#34; id=&#34;customers&#34;&gt;&#xA;   &lt;thead&gt;&#xA;     &lt;tr style=&#34;text-align: right;&#34;&gt;&#xA;       &lt;th&gt;&lt;/th&gt;&#xA;       &lt;th&gt;Description&lt;/th&gt;&#xA;       &lt;th&gt;Value&lt;/th&gt;&#xA;     &lt;/tr&gt;&#xA;   &lt;/thead&gt;&#xA;   &lt;tbody&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;0&lt;/th&gt;&#xA;       &lt;td&gt;session_id&lt;/td&gt;&#xA;       &lt;td&gt;123&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;1&lt;/th&gt;&#xA;       &lt;td&gt;Target&lt;/td&gt;&#xA;       &lt;td&gt;stabf&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;2&lt;/th&gt;&#xA;       &lt;td&gt;Target Type&lt;/td&gt;&#xA;       &lt;td&gt;Binary&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;3&lt;/th&gt;&#xA;       &lt;td&gt;Label Encoded&lt;/td&gt;&#xA;       &lt;td&gt;stable: 0, unstable: 1&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;4&lt;/th&gt;&#xA;       &lt;td&gt;Original Data&lt;/td&gt;&#xA;       &lt;td&gt;(10000, 13)&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;5&lt;/th&gt;&#xA;       &lt;td&gt;Missing Values&lt;/td&gt;&#xA;       &lt;td&gt;False&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;6&lt;/th&gt;&#xA;       &lt;td&gt;Numeric Features&lt;/td&gt;&#xA;       &lt;td&gt;12&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;7&lt;/th&gt;&#xA;       &lt;td&gt;Categorical Features&lt;/td&gt;&#xA;       &lt;td&gt;0&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;8&lt;/th&gt;&#xA;       &lt;td&gt;Ordinal Features&lt;/td&gt;&#xA;       &lt;td&gt;False&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;9&lt;/th&gt;&#xA;       &lt;td&gt;High Cardinality Features&lt;/td&gt;&#xA;       &lt;td&gt;False&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;10&lt;/th&gt;&#xA;       &lt;td&gt;High Cardinality Method&lt;/td&gt;&#xA;       &lt;td&gt;None&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;11&lt;/th&gt;&#xA;       &lt;td&gt;Transformed Train Set&lt;/td&gt;&#xA;       &lt;td&gt;(8000, 12)&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;12&lt;/th&gt;&#xA;       &lt;td&gt;Transformed Test Set&lt;/td&gt;&#xA;       &lt;td&gt;(2000, 12)&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;13&lt;/th&gt;&#xA;       &lt;td&gt;Shuffle Train-Test&lt;/td&gt;&#xA;       &lt;td&gt;True&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;14&lt;/th&gt;&#xA;       &lt;td&gt;Stratify Train-Test&lt;/td&gt;&#xA;       &lt;td&gt;False&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;15&lt;/th&gt;&#xA;       &lt;td&gt;Fold Generator&lt;/td&gt;&#xA;       &lt;td&gt;StratifiedKFold&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;16&lt;/th&gt;&#xA;       &lt;td&gt;Fold Number&lt;/td&gt;&#xA;       &lt;td&gt;5&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;17&lt;/th&gt;&#xA;       &lt;td&gt;CPU Jobs&lt;/td&gt;&#xA;       &lt;td&gt;-1&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;18&lt;/th&gt;&#xA;       &lt;td&gt;Use GPU&lt;/td&gt;&#xA;       &lt;td&gt;False&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;19&lt;/th&gt;&#xA;       &lt;td&gt;Log Experiment&lt;/td&gt;&#xA;       &lt;td&gt;True&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;20&lt;/th&gt;&#xA;       &lt;td&gt;Experiment Name&lt;/td&gt;&#xA;       &lt;td&gt;electrical_grid_1&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;21&lt;/th&gt;&#xA;       &lt;td&gt;USI&lt;/td&gt;&#xA;       &lt;td&gt;9626&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;22&lt;/th&gt;&#xA;       &lt;td&gt;Imputation Type&lt;/td&gt;&#xA;       &lt;td&gt;simple&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;23&lt;/th&gt;&#xA;       &lt;td&gt;Iterative Imputation Iteration&lt;/td&gt;&#xA;       &lt;td&gt;None&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;24&lt;/th&gt;&#xA;       &lt;td&gt;Numeric Imputer&lt;/td&gt;&#xA;       &lt;td&gt;mean&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;25&lt;/th&gt;&#xA;       &lt;td&gt;Iterative Imputation Numeric Model&lt;/td&gt;&#xA;       &lt;td&gt;None&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;26&lt;/th&gt;&#xA;       &lt;td&gt;Categorical Imputer&lt;/td&gt;&#xA;       &lt;td&gt;constant&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;27&lt;/th&gt;&#xA;       &lt;td&gt;Iterative Imputation Categorical Model&lt;/td&gt;&#xA;       &lt;td&gt;None&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;28&lt;/th&gt;&#xA;       &lt;td&gt;Unknown Categoricals Handling&lt;/td&gt;&#xA;       &lt;td&gt;least_frequent&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;29&lt;/th&gt;&#xA;       &lt;td&gt;Normalize&lt;/td&gt;&#xA;       &lt;td&gt;False&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;30&lt;/th&gt;&#xA;       &lt;td&gt;Normalize Method&lt;/td&gt;&#xA;       &lt;td&gt;None&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;31&lt;/th&gt;&#xA;       &lt;td&gt;Transformation&lt;/td&gt;&#xA;       &lt;td&gt;False&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;32&lt;/th&gt;&#xA;       &lt;td&gt;Transformation Method&lt;/td&gt;&#xA;       &lt;td&gt;None&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;33&lt;/th&gt;&#xA;       &lt;td&gt;PCA&lt;/td&gt;&#xA;       &lt;td&gt;False&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;34&lt;/th&gt;&#xA;       &lt;td&gt;PCA Method&lt;/td&gt;&#xA;       &lt;td&gt;None&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;35&lt;/th&gt;&#xA;       &lt;td&gt;PCA Components&lt;/td&gt;&#xA;       &lt;td&gt;None&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;36&lt;/th&gt;&#xA;       &lt;td&gt;Ignore Low Variance&lt;/td&gt;&#xA;       &lt;td&gt;False&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;37&lt;/th&gt;&#xA;       &lt;td&gt;Combine Rare Levels&lt;/td&gt;&#xA;       &lt;td&gt;False&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;38&lt;/th&gt;&#xA;       &lt;td&gt;Rare Level Threshold&lt;/td&gt;&#xA;       &lt;td&gt;None&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;39&lt;/th&gt;&#xA;       &lt;td&gt;Numeric Binning&lt;/td&gt;&#xA;       &lt;td&gt;False&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;40&lt;/th&gt;&#xA;       &lt;td&gt;Remove Outliers&lt;/td&gt;&#xA;       &lt;td&gt;False&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;41&lt;/th&gt;&#xA;       &lt;td&gt;Outliers Threshold&lt;/td&gt;&#xA;       &lt;td&gt;None&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;42&lt;/th&gt;&#xA;       &lt;td&gt;Remove Multicollinearity&lt;/td&gt;&#xA;       &lt;td&gt;False&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;43&lt;/th&gt;&#xA;       &lt;td&gt;Multicollinearity Threshold&lt;/td&gt;&#xA;       &lt;td&gt;None&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;44&lt;/th&gt;&#xA;       &lt;td&gt;Remove Perfect Collinearity&lt;/td&gt;&#xA;       &lt;td&gt;True&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;45&lt;/th&gt;&#xA;       &lt;td&gt;Clustering&lt;/td&gt;&#xA;       &lt;td&gt;False&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;46&lt;/th&gt;&#xA;       &lt;td&gt;Clustering Iteration&lt;/td&gt;&#xA;       &lt;td&gt;None&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;47&lt;/th&gt;&#xA;       &lt;td&gt;Polynomial Features&lt;/td&gt;&#xA;       &lt;td&gt;False&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;48&lt;/th&gt;&#xA;       &lt;td&gt;Polynomial Degree&lt;/td&gt;&#xA;       &lt;td&gt;None&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;49&lt;/th&gt;&#xA;       &lt;td&gt;Trignometry Features&lt;/td&gt;&#xA;       &lt;td&gt;False&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;50&lt;/th&gt;&#xA;       &lt;td&gt;Polynomial Threshold&lt;/td&gt;&#xA;       &lt;td&gt;None&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;51&lt;/th&gt;&#xA;       &lt;td&gt;Group Features&lt;/td&gt;&#xA;       &lt;td&gt;False&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;52&lt;/th&gt;&#xA;       &lt;td&gt;Feature Selection&lt;/td&gt;&#xA;       &lt;td&gt;False&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;53&lt;/th&gt;&#xA;       &lt;td&gt;Feature Selection Method&lt;/td&gt;&#xA;       &lt;td&gt;classic&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;54&lt;/th&gt;&#xA;       &lt;td&gt;Features Selection Threshold&lt;/td&gt;&#xA;       &lt;td&gt;None&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;55&lt;/th&gt;&#xA;       &lt;td&gt;Feature Interaction&lt;/td&gt;&#xA;       &lt;td&gt;False&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;56&lt;/th&gt;&#xA;       &lt;td&gt;Feature Ratio&lt;/td&gt;&#xA;       &lt;td&gt;False&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;57&lt;/th&gt;&#xA;       &lt;td&gt;Interaction Threshold&lt;/td&gt;&#xA;       &lt;td&gt;None&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;58&lt;/th&gt;&#xA;       &lt;td&gt;Fix Imbalance&lt;/td&gt;&#xA;       &lt;td&gt;False&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;59&lt;/th&gt;&#xA;       &lt;td&gt;Fix Imbalance Method&lt;/td&gt;&#xA;       &lt;td&gt;SMOTE&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;   &lt;/tbody&gt;&#xA; &lt;/table&gt;&#xA; &lt;/div&gt;&#xA; &#xA;&#xA;&lt;h2 id=&#34;pycaret-train-model&#34;&gt;PyCaret Train Model&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Random Forest 모델을 사용해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; create_model(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;rf&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;style&gt;&#xA;     #customers {&#xA;       font-family: &#34;Trebuchet MS&#34;, Arial, Helvetica, sans-serif;&#xA;       border-collapse: collapse;&#xA;     }&#xA; &#xA;     #customers td,&#xA;     #customers th {&#xA;       border: 1px solid #ddd;&#xA;       padding: 8px;&#xA;     }&#xA; &#xA;     #customers tr:nth-child(even) {&#xA;       background-color: #f2f2f2;&#xA;     }&#xA; &#xA;     #customers tr:hover {&#xA;       background-color: #ddd;&#xA;     }&#xA;     #customers th {&#xA;       padding-top: 12px;&#xA;       padding-bottom: 12px;&#xA;       text-align: left;&#xA;       background-color: rgb(175, 107, 76);&#xA;       color: white;&#xA;     }&#xA;   &lt;/style&gt;&#xA;   &lt;div style=&#34;width:100%; height:400px; overflow:auto&#34;&gt;&#xA;     &lt;table border=&#34;1&#34; id=&#34;customers&#34;&gt;&#xA;   &lt;thead&gt;&#xA;     &lt;tr style=&#34;text-align: right;&#34;&gt;&#xA;       &lt;th&gt;&lt;/th&gt;&#xA;       &lt;th&gt;Accuracy&lt;/th&gt;&#xA;       &lt;th&gt;AUC&lt;/th&gt;&#xA;       &lt;th&gt;Recall&lt;/th&gt;&#xA;       &lt;th&gt;Prec.&lt;/th&gt;&#xA;       &lt;th&gt;F1&lt;/th&gt;&#xA;       &lt;th&gt;Kappa&lt;/th&gt;&#xA;       &lt;th&gt;MCC&lt;/th&gt;&#xA;     &lt;/tr&gt;&#xA;   &lt;/thead&gt;&#xA;   &lt;tbody&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;0&lt;/th&gt;&#xA;       &lt;td&gt;0.9244&lt;/td&gt;&#xA;       &lt;td&gt;0.9796&lt;/td&gt;&#xA;       &lt;td&gt;0.9667&lt;/td&gt;&#xA;       &lt;td&gt;0.9189&lt;/td&gt;&#xA;       &lt;td&gt;0.9422&lt;/td&gt;&#xA;       &lt;td&gt;0.8331&lt;/td&gt;&#xA;       &lt;td&gt;0.8353&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;1&lt;/th&gt;&#xA;       &lt;td&gt;0.9275&lt;/td&gt;&#xA;       &lt;td&gt;0.9793&lt;/td&gt;&#xA;       &lt;td&gt;0.9549&lt;/td&gt;&#xA;       &lt;td&gt;0.9330&lt;/td&gt;&#xA;       &lt;td&gt;0.9438&lt;/td&gt;&#xA;       &lt;td&gt;0.8417&lt;/td&gt;&#xA;       &lt;td&gt;0.8422&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;2&lt;/th&gt;&#xA;       &lt;td&gt;0.9225&lt;/td&gt;&#xA;       &lt;td&gt;0.9810&lt;/td&gt;&#xA;       &lt;td&gt;0.9608&lt;/td&gt;&#xA;       &lt;td&gt;0.9211&lt;/td&gt;&#xA;       &lt;td&gt;0.9406&lt;/td&gt;&#xA;       &lt;td&gt;0.8294&lt;/td&gt;&#xA;       &lt;td&gt;0.8309&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;3&lt;/th&gt;&#xA;       &lt;td&gt;0.9081&lt;/td&gt;&#xA;       &lt;td&gt;0.9738&lt;/td&gt;&#xA;       &lt;td&gt;0.9461&lt;/td&gt;&#xA;       &lt;td&gt;0.9130&lt;/td&gt;&#xA;       &lt;td&gt;0.9293&lt;/td&gt;&#xA;       &lt;td&gt;0.7983&lt;/td&gt;&#xA;       &lt;td&gt;0.7993&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;4&lt;/th&gt;&#xA;       &lt;td&gt;0.9044&lt;/td&gt;&#xA;       &lt;td&gt;0.9738&lt;/td&gt;&#xA;       &lt;td&gt;0.9471&lt;/td&gt;&#xA;       &lt;td&gt;0.9071&lt;/td&gt;&#xA;       &lt;td&gt;0.9267&lt;/td&gt;&#xA;       &lt;td&gt;0.7894&lt;/td&gt;&#xA;       &lt;td&gt;0.7909&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;Mean&lt;/th&gt;&#xA;       &lt;td&gt;0.9174&lt;/td&gt;&#xA;       &lt;td&gt;0.9775&lt;/td&gt;&#xA;       &lt;td&gt;0.9551&lt;/td&gt;&#xA;       &lt;td&gt;0.9186&lt;/td&gt;&#xA;       &lt;td&gt;0.9365&lt;/td&gt;&#xA;       &lt;td&gt;0.8184&lt;/td&gt;&#xA;       &lt;td&gt;0.8197&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;SD&lt;/th&gt;&#xA;       &lt;td&gt;0.0093&lt;/td&gt;&#xA;       &lt;td&gt;0.0031&lt;/td&gt;&#xA;       &lt;td&gt;0.0079&lt;/td&gt;&#xA;       &lt;td&gt;0.0087&lt;/td&gt;&#xA;       &lt;td&gt;0.0071&lt;/td&gt;&#xA;       &lt;td&gt;0.0206&lt;/td&gt;&#xA;       &lt;td&gt;0.0206&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;   &lt;/tbody&gt;&#xA; &lt;/table&gt;&#xA; &lt;/div&gt;&#xA;&lt;h2 id=&#34;pycaret-train-skorch-model&#34;&gt;PyCaret Train Skorch Model&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 Skorch Model을 Pycaret 함수에 넣어서 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;skorch_model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; create_model(nn_pipe)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;style&gt;&#xA;     #customers {&#xA;       font-family: &#34;Trebuchet MS&#34;, Arial, Helvetica, sans-serif;&#xA;       border-collapse: collapse;&#xA;     }&#xA; &#xA;     #customers td,&#xA;     #customers th {&#xA;       border: 1px solid #ddd;&#xA;       padding: 8px;&#xA;     }&#xA; &#xA;     #customers tr:nth-child(even) {&#xA;       background-color: #f2f2f2;&#xA;     }&#xA; &#xA;     #customers tr:hover {&#xA;       background-color: #ddd;&#xA;     }&#xA;     #customers th {&#xA;       padding-top: 12px;&#xA;       padding-bottom: 12px;&#xA;       text-align: left;&#xA;       background-color: rgb(175, 107, 76);&#xA;       color: white;&#xA;     }&#xA;   &lt;/style&gt;&#xA;   &lt;div style=&#34;width:100%; height:400px; overflow:auto&#34;&gt;&#xA;     &lt;table border=&#34;1&#34; id=&#34;customers&#34;&gt;&#xA;   &lt;thead&gt;&#xA;     &lt;tr style=&#34;text-align: right;&#34;&gt;&#xA;       &lt;th&gt;&lt;/th&gt;&#xA;       &lt;th&gt;Accuracy&lt;/th&gt;&#xA;       &lt;th&gt;AUC&lt;/th&gt;&#xA;       &lt;th&gt;Recall&lt;/th&gt;&#xA;       &lt;th&gt;Prec.&lt;/th&gt;&#xA;       &lt;th&gt;F1&lt;/th&gt;&#xA;       &lt;th&gt;Kappa&lt;/th&gt;&#xA;       &lt;th&gt;MCC&lt;/th&gt;&#xA;     &lt;/tr&gt;&#xA;   &lt;/thead&gt;&#xA;   &lt;tbody&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;0&lt;/th&gt;&#xA;       &lt;td&gt;0.8831&lt;/td&gt;&#xA;       &lt;td&gt;0.9644&lt;/td&gt;&#xA;       &lt;td&gt;0.9500&lt;/td&gt;&#xA;       &lt;td&gt;0.8769&lt;/td&gt;&#xA;       &lt;td&gt;0.9120&lt;/td&gt;&#xA;       &lt;td&gt;0.7389&lt;/td&gt;&#xA;       &lt;td&gt;0.7441&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;1&lt;/th&gt;&#xA;       &lt;td&gt;0.8550&lt;/td&gt;&#xA;       &lt;td&gt;0.9437&lt;/td&gt;&#xA;       &lt;td&gt;0.9569&lt;/td&gt;&#xA;       &lt;td&gt;0.8385&lt;/td&gt;&#xA;       &lt;td&gt;0.8938&lt;/td&gt;&#xA;       &lt;td&gt;0.6685&lt;/td&gt;&#xA;       &lt;td&gt;0.6831&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;2&lt;/th&gt;&#xA;       &lt;td&gt;0.8369&lt;/td&gt;&#xA;       &lt;td&gt;0.9280&lt;/td&gt;&#xA;       &lt;td&gt;0.9638&lt;/td&gt;&#xA;       &lt;td&gt;0.8146&lt;/td&gt;&#xA;       &lt;td&gt;0.8829&lt;/td&gt;&#xA;       &lt;td&gt;0.6202&lt;/td&gt;&#xA;       &lt;td&gt;0.6446&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;3&lt;/th&gt;&#xA;       &lt;td&gt;0.8506&lt;/td&gt;&#xA;       &lt;td&gt;0.9347&lt;/td&gt;&#xA;       &lt;td&gt;0.8668&lt;/td&gt;&#xA;       &lt;td&gt;0.8957&lt;/td&gt;&#xA;       &lt;td&gt;0.8810&lt;/td&gt;&#xA;       &lt;td&gt;0.6805&lt;/td&gt;&#xA;       &lt;td&gt;0.6812&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;4&lt;/th&gt;&#xA;       &lt;td&gt;0.8081&lt;/td&gt;&#xA;       &lt;td&gt;0.9411&lt;/td&gt;&#xA;       &lt;td&gt;0.9765&lt;/td&gt;&#xA;       &lt;td&gt;0.7789&lt;/td&gt;&#xA;       &lt;td&gt;0.8666&lt;/td&gt;&#xA;       &lt;td&gt;0.5400&lt;/td&gt;&#xA;       &lt;td&gt;0.5859&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;Mean&lt;/th&gt;&#xA;       &lt;td&gt;0.8468&lt;/td&gt;&#xA;       &lt;td&gt;0.9424&lt;/td&gt;&#xA;       &lt;td&gt;0.9428&lt;/td&gt;&#xA;       &lt;td&gt;0.8409&lt;/td&gt;&#xA;       &lt;td&gt;0.8873&lt;/td&gt;&#xA;       &lt;td&gt;0.6496&lt;/td&gt;&#xA;       &lt;td&gt;0.6678&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;SD&lt;/th&gt;&#xA;       &lt;td&gt;0.0245&lt;/td&gt;&#xA;       &lt;td&gt;0.0123&lt;/td&gt;&#xA;       &lt;td&gt;0.0390&lt;/td&gt;&#xA;       &lt;td&gt;0.0421&lt;/td&gt;&#xA;       &lt;td&gt;0.0151&lt;/td&gt;&#xA;       &lt;td&gt;0.0666&lt;/td&gt;&#xA;       &lt;td&gt;0.0519&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;   &lt;/tbody&gt;&#xA; &lt;/table&gt;&#xA; &lt;/div&gt;&#xA;&lt;h2 id=&#34;comparing-models&#34;&gt;Comparing Models&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;두 모델 중 어떤 모델이 더 좋은지 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;best_model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; compare_models(include&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[skorch_model, model], sort &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;AUC&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;style&gt;&#xA;     #customers {&#xA;       font-family: &#34;Trebuchet MS&#34;, Arial, Helvetica, sans-serif;&#xA;       border-collapse: collapse;&#xA;     }&#xA; &#xA;     #customers td,&#xA;     #customers th {&#xA;       border: 1px solid #ddd;&#xA;       padding: 8px;&#xA;     }&#xA; &#xA;     #customers tr:nth-child(even) {&#xA;       background-color: #f2f2f2;&#xA;     }&#xA; &#xA;     #customers tr:hover {&#xA;       background-color: #ddd;&#xA;     }&#xA;     #customers th {&#xA;       padding-top: 12px;&#xA;       padding-bottom: 12px;&#xA;       text-align: left;&#xA;       background-color: rgb(175, 107, 76);&#xA;       color: white;&#xA;     }&#xA;   &lt;/style&gt;&#xA;   &lt;div style=&#34;width:100%; height:400px; overflow:auto&#34;&gt;&#xA;     &lt;table border=&#34;1&#34; id=&#34;customers&#34;&gt;&#xA;   &lt;thead&gt;&#xA;     &lt;tr style=&#34;text-align: right;&#34;&gt;&#xA;       &lt;th&gt;&lt;/th&gt;&#xA;       &lt;th&gt;Model&lt;/th&gt;&#xA;       &lt;th&gt;Accuracy&lt;/th&gt;&#xA;       &lt;th&gt;AUC&lt;/th&gt;&#xA;       &lt;th&gt;Recall&lt;/th&gt;&#xA;       &lt;th&gt;Prec.&lt;/th&gt;&#xA;       &lt;th&gt;F1&lt;/th&gt;&#xA;       &lt;th&gt;Kappa&lt;/th&gt;&#xA;       &lt;th&gt;MCC&lt;/th&gt;&#xA;       &lt;th&gt;TT (Sec)&lt;/th&gt;&#xA;     &lt;/tr&gt;&#xA;   &lt;/thead&gt;&#xA;   &lt;tbody&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;1&lt;/th&gt;&#xA;       &lt;td&gt;Random Forest Classifier&lt;/td&gt;&#xA;       &lt;td&gt;0.9174&lt;/td&gt;&#xA;       &lt;td&gt;0.9775&lt;/td&gt;&#xA;       &lt;td&gt;0.9551&lt;/td&gt;&#xA;       &lt;td&gt;0.9186&lt;/td&gt;&#xA;       &lt;td&gt;0.9365&lt;/td&gt;&#xA;       &lt;td&gt;0.8184&lt;/td&gt;&#xA;       &lt;td&gt;0.8197&lt;/td&gt;&#xA;       &lt;td&gt;2.114&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;0&lt;/th&gt;&#xA;       &lt;td&gt;NeuralNetClassifier&lt;/td&gt;&#xA;       &lt;td&gt;0.8426&lt;/td&gt;&#xA;       &lt;td&gt;0.9400&lt;/td&gt;&#xA;       &lt;td&gt;0.9547&lt;/td&gt;&#xA;       &lt;td&gt;0.8281&lt;/td&gt;&#xA;       &lt;td&gt;0.8861&lt;/td&gt;&#xA;       &lt;td&gt;0.6355&lt;/td&gt;&#xA;       &lt;td&gt;0.6565&lt;/td&gt;&#xA;       &lt;td&gt;11.878&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;   &lt;/tbody&gt;&#xA; &lt;/table&gt;&#xA; &lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;hyperparameter-grid&#34;&gt;Hyperparameter Grid&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Hyperparameter 튜닝을 적용하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;모형 튜닝을 위한 parameter 값은 다음 명령어를 통해서 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;skorch_model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get_params()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;keys()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;dict_keys([&#39;memory&#39;, &#39;steps&#39;, &#39;verbose&#39;, &#39;transform&#39;, &#39;net&#39;, &#39;transform__float_dtype&#39;, &#39;transform__int_dtype&#39;, &#39;transform__treat_int_as_categorical&#39;, &#39;net__module&#39;, &#39;net__criterion&#39;, &#39;net__optimizer&#39;, &#39;net__lr&#39;, &#39;net__max_epochs&#39;, &#39;net__batch_size&#39;, &#39;net__iterator_train&#39;, &#39;net__iterator_valid&#39;, &#39;net__dataset&#39;, &#39;net__train_split&#39;, &#39;net__callbacks&#39;, &#39;net__predict_nonlinearity&#39;, &#39;net__warm_start&#39;, &#39;net__verbose&#39;, &#39;net__device&#39;, &#39;net___kwargs&#39;, &#39;net__classes&#39;, &#39;net__callbacks__epoch_timer&#39;, &#39;net__callbacks__train_loss&#39;, &#39;net__callbacks__train_loss__name&#39;, &#39;net__callbacks__train_loss__lower_is_better&#39;, &#39;net__callbacks__train_loss__on_train&#39;, &#39;net__callbacks__valid_loss&#39;, &#39;net__callbacks__valid_loss__name&#39;, &#39;net__callbacks__valid_loss__lower_is_better&#39;, &#39;net__callbacks__valid_loss__on_train&#39;, &#39;net__callbacks__valid_acc&#39;, &#39;net__callbacks__valid_acc__scoring&#39;, &#39;net__callbacks__valid_acc__lower_is_better&#39;, &#39;net__callbacks__valid_acc__on_train&#39;, &#39;net__callbacks__valid_acc__name&#39;, &#39;net__callbacks__valid_acc__target_extractor&#39;, &#39;net__callbacks__valid_acc__use_caching&#39;, &#39;net__callbacks__print_log&#39;, &#39;net__callbacks__print_log__keys_ignored&#39;, &#39;net__callbacks__print_log__sink&#39;, &#39;net__callbacks__print_log__tablefmt&#39;, &#39;net__callbacks__print_log__floatfmt&#39;, &#39;net__callbacks__print_log__stralign&#39;])&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;net&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get_params()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;keys()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;dict_keys([&#39;module&#39;, &#39;criterion&#39;, &#39;optimizer&#39;, &#39;lr&#39;, &#39;max_epochs&#39;, &#39;batch_size&#39;, &#39;iterator_train&#39;, &#39;iterator_valid&#39;, &#39;dataset&#39;, &#39;train_split&#39;, &#39;callbacks&#39;, &#39;predict_nonlinearity&#39;, &#39;warm_start&#39;, &#39;verbose&#39;, &#39;device&#39;, &#39;_kwargs&#39;, &#39;classes&#39;, &#39;callbacks__epoch_timer&#39;, &#39;callbacks__train_loss&#39;, &#39;callbacks__train_loss__name&#39;, &#39;callbacks__train_loss__lower_is_better&#39;, &#39;callbacks__train_loss__on_train&#39;, &#39;callbacks__valid_loss&#39;, &#39;callbacks__valid_loss__name&#39;, &#39;callbacks__valid_loss__lower_is_better&#39;, &#39;callbacks__valid_loss__on_train&#39;, &#39;callbacks__valid_acc&#39;, &#39;callbacks__valid_acc__scoring&#39;, &#39;callbacks__valid_acc__lower_is_better&#39;, &#39;callbacks__valid_acc__on_train&#39;, &#39;callbacks__valid_acc__name&#39;, &#39;callbacks__valid_acc__target_extractor&#39;, &#39;callbacks__valid_acc__use_caching&#39;, &#39;callbacks__print_log&#39;, &#39;callbacks__print_log__keys_ignored&#39;, &#39;callbacks__print_log__sink&#39;, &#39;callbacks__print_log__tablefmt&#39;, &#39;callbacks__print_log__floatfmt&#39;, &#39;callbacks__print_log__stralign&#39;])&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; torch.optim &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; optim&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;custom_grid &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;net__max_epochs&amp;#39;&lt;/span&gt;:[&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;net__lr&amp;#39;&lt;/span&gt;: [&lt;span style=&#34;color:#ae81ff&#34;&gt;0.01&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0.05&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0.1&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;net__module__num_units_d1&amp;#39;&lt;/span&gt;: [&lt;span style=&#34;color:#ae81ff&#34;&gt;50&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;150&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;net__module__num_units_d2&amp;#39;&lt;/span&gt;: [&lt;span style=&#34;color:#ae81ff&#34;&gt;50&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;150&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;net__optimizer&amp;#39;&lt;/span&gt;: [optim&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Adam, optim&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;SGD, optim&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;RMSprop]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 hyperparameter 모델을 적용하여 모델을 빠르게 만들어 본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tuned_skorch_model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; tune_model(skorch_model, custom_grid &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; custom_grid)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;style&gt;&#xA;     #customers {&#xA;       font-family: &#34;Trebuchet MS&#34;, Arial, Helvetica, sans-serif;&#xA;       border-collapse: collapse;&#xA;     }&#xA; &#xA;     #customers td,&#xA;     #customers th {&#xA;       border: 1px solid #ddd;&#xA;       padding: 8px;&#xA;     }&#xA; &#xA;     #customers tr:nth-child(even) {&#xA;       background-color: #f2f2f2;&#xA;     }&#xA; &#xA;     #customers tr:hover {&#xA;       background-color: #ddd;&#xA;     }&#xA;     #customers th {&#xA;       padding-top: 12px;&#xA;       padding-bottom: 12px;&#xA;       text-align: left;&#xA;       background-color: rgb(175, 107, 76);&#xA;       color: white;&#xA;     }&#xA;   &lt;/style&gt;&#xA;   &lt;div style=&#34;width:100%; height:400px; overflow:auto&#34;&gt;&#xA;     &lt;table border=&#34;1&#34; id=&#34;customers&#34;&gt;&#xA;   &lt;thead&gt;&#xA;     &lt;tr style=&#34;text-align: right;&#34;&gt;&#xA;       &lt;th&gt;&lt;/th&gt;&#xA;       &lt;th&gt;Accuracy&lt;/th&gt;&#xA;       &lt;th&gt;AUC&lt;/th&gt;&#xA;       &lt;th&gt;Recall&lt;/th&gt;&#xA;       &lt;th&gt;Prec.&lt;/th&gt;&#xA;       &lt;th&gt;F1&lt;/th&gt;&#xA;       &lt;th&gt;Kappa&lt;/th&gt;&#xA;       &lt;th&gt;MCC&lt;/th&gt;&#xA;     &lt;/tr&gt;&#xA;   &lt;/thead&gt;&#xA;   &lt;tbody&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;0&lt;/th&gt;&#xA;       &lt;td&gt;0.8762&lt;/td&gt;&#xA;       &lt;td&gt;0.9667&lt;/td&gt;&#xA;       &lt;td&gt;0.9686&lt;/td&gt;&#xA;       &lt;td&gt;0.8562&lt;/td&gt;&#xA;       &lt;td&gt;0.9089&lt;/td&gt;&#xA;       &lt;td&gt;0.7182&lt;/td&gt;&#xA;       &lt;td&gt;0.7316&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;1&lt;/th&gt;&#xA;       &lt;td&gt;0.8675&lt;/td&gt;&#xA;       &lt;td&gt;0.9477&lt;/td&gt;&#xA;       &lt;td&gt;0.8784&lt;/td&gt;&#xA;       &lt;td&gt;0.9106&lt;/td&gt;&#xA;       &lt;td&gt;0.8942&lt;/td&gt;&#xA;       &lt;td&gt;0.7171&lt;/td&gt;&#xA;       &lt;td&gt;0.7179&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;2&lt;/th&gt;&#xA;       &lt;td&gt;0.8375&lt;/td&gt;&#xA;       &lt;td&gt;0.9452&lt;/td&gt;&#xA;       &lt;td&gt;0.7835&lt;/td&gt;&#xA;       &lt;td&gt;0.9535&lt;/td&gt;&#xA;       &lt;td&gt;0.8602&lt;/td&gt;&#xA;       &lt;td&gt;0.6706&lt;/td&gt;&#xA;       &lt;td&gt;0.6891&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;3&lt;/th&gt;&#xA;       &lt;td&gt;0.8575&lt;/td&gt;&#xA;       &lt;td&gt;0.9522&lt;/td&gt;&#xA;       &lt;td&gt;0.8208&lt;/td&gt;&#xA;       &lt;td&gt;0.9490&lt;/td&gt;&#xA;       &lt;td&gt;0.8803&lt;/td&gt;&#xA;       &lt;td&gt;0.7066&lt;/td&gt;&#xA;       &lt;td&gt;0.7180&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;4&lt;/th&gt;&#xA;       &lt;td&gt;0.7975&lt;/td&gt;&#xA;       &lt;td&gt;0.9315&lt;/td&gt;&#xA;       &lt;td&gt;0.9726&lt;/td&gt;&#xA;       &lt;td&gt;0.7704&lt;/td&gt;&#xA;       &lt;td&gt;0.8597&lt;/td&gt;&#xA;       &lt;td&gt;0.5127&lt;/td&gt;&#xA;       &lt;td&gt;0.5602&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;Mean&lt;/th&gt;&#xA;       &lt;td&gt;0.8472&lt;/td&gt;&#xA;       &lt;td&gt;0.9487&lt;/td&gt;&#xA;       &lt;td&gt;0.8848&lt;/td&gt;&#xA;       &lt;td&gt;0.8879&lt;/td&gt;&#xA;       &lt;td&gt;0.8807&lt;/td&gt;&#xA;       &lt;td&gt;0.6650&lt;/td&gt;&#xA;       &lt;td&gt;0.6834&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;       &lt;th&gt;SD&lt;/th&gt;&#xA;       &lt;td&gt;0.0280&lt;/td&gt;&#xA;       &lt;td&gt;0.0114&lt;/td&gt;&#xA;       &lt;td&gt;0.0763&lt;/td&gt;&#xA;       &lt;td&gt;0.0684&lt;/td&gt;&#xA;       &lt;td&gt;0.0192&lt;/td&gt;&#xA;       &lt;td&gt;0.0781&lt;/td&gt;&#xA;       &lt;td&gt;0.0631&lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;   &lt;/tbody&gt;&#xA; &lt;/table&gt;&#xA; &lt;/div&gt;&#xA;&lt;h2 id=&#34;references&#34;&gt;References&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pycaret.org/&#34;&gt;https://pycaret.org/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.analyticsvidhya.com/blog/2020/05/pycaret-machine-learning-model-seconds/&#34;&gt;https://www.analyticsvidhya.com/blog/2020/05/pycaret-machine-learning-model-seconds/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/skorch-dev/skorch&#34;&gt;https://github.com/skorch-dev/skorch&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://towardsdatascience.com/skorch-pytorch-models-trained-with-a-scikit-learn-wrapper-62b9a154623e&#34;&gt;https://towardsdatascience.com/skorch-pytorch-models-trained-with-a-scikit-learn-wrapper-62b9a154623e&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://towardsdatascience.com/pycaret-skorch-build-pytorch-neural-networks-using-minimal-code-57079e197f33&#34;&gt;https://towardsdatascience.com/pycaret-skorch-build-pytorch-neural-networks-using-minimal-code-57079e197f33&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
    </item>
    <item>
      <title>Python with PostgreSQL - Create Database</title>
      <link>https://dschloe.github.io/programming/2021/12/postgresql_python/</link>
      <pubDate>Mon, 27 Dec 2021 17:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/12/postgresql_python/</guid>
      <description>&lt;h1 id=&#34;postgresql-및-python-연동-예제&#34;&gt;PostgreSQL 및 Python 연동 예제&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 예제에서는 Python과 PostgreSQL이 연동되는 코드를 작성해본다.&lt;/li&gt;&#xA;&lt;li&gt;PostgreSQL 설치 방법은 다음 자료를 확인한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/settings/postgresql_install_windows/&#34;&gt;https://dschloe.github.io/settings/postgresql_install_windows/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;라이브러리-설치&#34;&gt;라이브러리 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 설치를 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ pip install psycopg2-binary&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Downloading psycopg2_binary-2.9.2-cp310-cp310-win_amd64.whl &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;1.2 MB&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     |████████████████████████████████| 1.2 MB 6.4 MB/s&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Installing collected packages: psycopg2-binary&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Successfully installed psycopg2-binary-2.9.2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;현재-database-확인&#34;&gt;현재 Database 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;cmd 파일 창을 열고, 현재 DB 리스트를 확인한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;\list&lt;/code&gt; or &lt;code&gt;l&lt;/code&gt;: 전체 &lt;code&gt;databases&lt;/code&gt; 리스트를 조회한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\u&lt;/span&gt;ser&amp;gt;psql --username&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;postgres&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;postgres 사용자의 암호:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;psql &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;13.5&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;도움말을 보려면 &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;help&amp;#34;&lt;/span&gt;를 입력하십시오.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;postgres&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# \l&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;데이터베이스 목록&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   이름    |  소유주  | 인코딩 |     Collate      |      Ctype       |      액세스 권한&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-----------+----------+--------+------------------+------------------+-----------------------&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; postgres  | postgres | UTF8   | Korean_Korea.949 | Korean_Korea.949 |&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; template0 | postgres | UTF8   | Korean_Korea.949 | Korean_Korea.949 | &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;c/postgres          +&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           |          |        |                  |                  | postgres&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;CTc/postgres&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; template1 | postgres | UTF8   | Korean_Korea.949 | Korean_Korea.949 | &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;c/postgres          +&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           |          |        |                  |                  | postgres&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;CTc/postgres&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;3개 행&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;database-생성&#34;&gt;Database 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 베이스를 생성하는 코드를 작성한다.&lt;/li&gt;&#xA;&lt;li&gt;참조: &lt;a href=&#34;https://kb.objectrocket.com/postgresql/create-a-postgresql-database-using-the-psycopg2-python-library-755&#34;&gt;https://kb.objectrocket.com/postgresql/create-a-postgresql-database-using-the-psycopg2-python-library-755&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# import the psycopg2 database adapter for PostgreSQL&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; psycopg2 &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; connect, extensions&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# connect&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;createDB&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    conn &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; connect(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        database&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;postgres&amp;#34;&lt;/span&gt;, user&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;postgres&amp;#39;&lt;/span&gt;, password&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;your_password&amp;#39;&lt;/span&gt;, host&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;127.0.0.1&amp;#39;&lt;/span&gt;, port&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;5432&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# object type: psycopg2.extensions.connection&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#75715e&#34;&gt;# object type: conn 객체 유형을 확인한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;type(conn):&amp;#34;&lt;/span&gt;, type(conn))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 명령 처리 함수 구현&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    cursor &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; conn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;cursor()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Create Database Creation&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#75715e&#34;&gt;# 먼저 DB_NAME을 생성한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    DB_NAME &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;testDB&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# get the isolation leve for autocommit&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#75715e&#34;&gt;# autocommit을 설정한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    autocommit &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; extensions&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ISOLATION_LEVEL_AUTOCOMMIT&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;ISOLATION_LEVEL_AUTOCOMMIT:&amp;#34;&lt;/span&gt;, extensions&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ISOLATION_LEVEL_AUTOCOMMIT)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# set the isolation level for the connection&amp;#39;s cursors&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# will raise ActiveSqlTransaction exception otherwise&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    conn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;set_isolation_level(autocommit)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Create Database&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# instantiate a cursor object from the connection&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    cursor &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; conn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;cursor()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# use the execute METHOD to make a SQL Request&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    cursor&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;execute(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;CREATE DATABASE &amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; str(DB_NAME))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Database created successfully...!&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# close the cursor to avoid memory leaks&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    cursor&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;close&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Connection Closed to avoid memory leaks&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    conn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;close()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    createDB()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;DB 생성시 중요한 건, autocommit을 설정해줘야 한다는 것이다. 만약 해당 설정을 삭제하고 재 실행하면, &lt;code&gt;psycopg2.errors.ActiveSqlTransaction: CREATE DATABASE cannot run inside a transaction block&lt;/code&gt; 과 같은 에러 메시지가 나타나게 될 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;현재-database-확인-1&#34;&gt;현재 Database 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;cmd 파일 창을 열고, 현재 DB 리스트를 확인한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;\list&lt;/code&gt; or &lt;code&gt;l&lt;/code&gt;: 전체 &lt;code&gt;databases&lt;/code&gt; 리스트를 조회한다.&lt;/li&gt;&#xA;&lt;li&gt;testdb가 생성된 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;postgres&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# \l&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                      데이터베이스 목록&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   이름    |  소유주  | 인코딩 |     Collate      |      Ctype       |      액세스 권한&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-----------+----------+--------+------------------+------------------+-----------------------&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; postgres  | postgres | UTF8   | Korean_Korea.949 | Korean_Korea.949 |&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; template0 | postgres | UTF8   | Korean_Korea.949 | Korean_Korea.949 | &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;c/postgres          +&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           |          |        |                  |                  | postgres&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;CTc/postgres&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; template1 | postgres | UTF8   | Korean_Korea.949 | Korean_Korea.949 | &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;c/postgres          +&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           |          |        |                  |                  | postgres&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;CTc/postgres&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; testdb    | postgres | UTF8   | Korean_Korea.949 | Korean_Korea.949 |&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;4개 행&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;database-삭제&#34;&gt;Database 삭제&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 &lt;code&gt;Database&lt;/code&gt;를 삭제하는 코드를 작성하고, 실행하여 testdb를 삭제하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# import the psycopg2 database adapter for PostgreSQL&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; psycopg2 &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; connect, extensions&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# delete&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;deleteDB&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    conn &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; connect(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        database&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;postgres&amp;#34;&lt;/span&gt;, user&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;postgres&amp;#39;&lt;/span&gt;, password&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;your_password&amp;#39;&lt;/span&gt;, host&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;127.0.0.1&amp;#39;&lt;/span&gt;, port&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;5432&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# object type: psycopg2.extensions.connection&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;type(conn):&amp;#34;&lt;/span&gt;, type(conn))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# SQL Query&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    DB_NAME &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;testDB&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# get the isolation leve for autocommit&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    autocommit &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; extensions&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ISOLATION_LEVEL_AUTOCOMMIT&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;ISOLATION_LEVEL_AUTOCOMMIT:&amp;#34;&lt;/span&gt;, extensions&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ISOLATION_LEVEL_AUTOCOMMIT)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# set the isolation level for the connection&amp;#39;s cursors&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# will raise ActiveSqlTransaction exception otherwise&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    conn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;set_isolation_level(autocommit)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Create Database&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# instantiate a cursor object from the connection&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 명령 처리 함수 구현&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    cursor &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; conn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;cursor()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# use the execute METHOD to make a SQL Request&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    cursor&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;execute(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;DROP DATABASE &amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; str(DB_NAME))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Database Drop successfully...!&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# close the cursor to avoid memory leaks&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    cursor&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;close()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Connection Closed to avoid memory leaks&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    conn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;close()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# createDB()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    deleteDB()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;현재-database-확인-2&#34;&gt;현재 Database 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;cmd 파일 창을 열고, 현재 DB 리스트를 확인한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;\list&lt;/code&gt; or &lt;code&gt;l&lt;/code&gt;: 전체 &lt;code&gt;databases&lt;/code&gt; 리스트를 조회한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;testdb&lt;/code&gt; 가 삭제된 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\U&lt;/span&gt;sers&lt;span style=&#34;color:#ae81ff&#34;&gt;\u&lt;/span&gt;ser&amp;gt;psql --username&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;postgres&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;postgres 사용자의 암호:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;psql &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;13.5&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;도움말을 보려면 &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;help&amp;#34;&lt;/span&gt;를 입력하십시오.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;postgres&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# \l&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;데이터베이스 목록&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   이름    |  소유주  | 인코딩 |     Collate      |      Ctype       |      액세스 권한&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-----------+----------+--------+------------------+------------------+-----------------------&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; postgres  | postgres | UTF8   | Korean_Korea.949 | Korean_Korea.949 |&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; template0 | postgres | UTF8   | Korean_Korea.949 | Korean_Korea.949 | &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;c/postgres          +&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           |          |        |                  |                  | postgres&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;CTc/postgres&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; template1 | postgres | UTF8   | Korean_Korea.949 | Korean_Korea.949 | &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;c/postgres          +&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           |          |        |                  |                  | postgres&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;CTc/postgres&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;3개 행&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;소결&#34;&gt;소결&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;해당 함수에서 불필요하게 재반복해서 사용하는 코드들이 있다.&lt;/li&gt;&#xA;&lt;li&gt;이러한 재반복 코드는 &lt;code&gt;Class&lt;/code&gt;로 정의해서 사용하면 훨씬 더 간결하게 작성할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;다음번에는 &lt;code&gt;Class&lt;/code&gt;로 정의해서 코드를 작성하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Verifying Outlier Values</title>
      <link>https://dschloe.github.io/programming/2021/12/verifying_outliers2/</link>
      <pubDate>Sun, 19 Dec 2021 11:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/12/verifying_outliers2/</guid>
      <description>&lt;h2 id=&#34;이상값의-정의&#34;&gt;이상값의 정의&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다소 주관적이며(Somewhat Subjective), 특정 분포의 중심경향성, 퍼진 정도와 형태에 따라 밀접한 관련이 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;평균에서 표준편차보다 몇 배 더 떨어져 있다거나, 즉, 정규분포를 이루고 있지 않을 때&lt;/li&gt;&#xA;&lt;li&gt;왜도 또는 첨도가 발생할 때&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;균등분포(Uniform Distribution)는, 발생할 확률이 모두 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;만약, 확진자수가 최소 1부터 최대 10,000,000까지 균등하게 분포한다면, 어떤 값도 이상값으로 고려하지 않는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이상값을 파악하려면, 반드시, 각 변수의 분포를 먼저 이해해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;라이브러리-및-데이터-불러오기&#34;&gt;라이브러리 및 데이터 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실습을 위한 데이터를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; statsmodels.api &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; scipy.stats &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; scistat&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;covidtotals &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/covidtotals.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;covidtotals&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;set_index(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;iso_code&amp;#34;&lt;/span&gt;, inplace &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;case_vars &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;location&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_cases&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_deaths&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_cases_pm&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_deaths_pm&amp;#34;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;demo_vars &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;population&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pop_density&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;median_age&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;gdp_per_capita&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;hosp_beds&amp;#34;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(covidtotals&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;            lastdate     location  total_cases  total_deaths  total_cases_pm  \&#xA;iso_code                                                                       &#xA;AFG       2020-06-01  Afghanistan        15205           257         390.589   &#xA;ALB       2020-06-01      Albania         1137            33         395.093   &#xA;DZA       2020-06-01      Algeria         9394           653         214.225   &#xA;AND       2020-06-01      Andorra          764            51        9888.048   &#xA;AGO       2020-06-01       Angola           86             4           2.617   &#xA;&#xA;          total_deaths_pm  population  pop_density  median_age  \&#xA;iso_code                                                         &#xA;AFG                 6.602  38928341.0       54.422        18.6   &#xA;ALB                11.467   2877800.0      104.871        38.0   &#xA;DZA                14.891  43851043.0       17.348        29.1   &#xA;AND               660.066     77265.0      163.755         NaN   &#xA;AGO                 0.122  32866268.0       23.890        16.8   &#xA;&#xA;          gdp_per_capita  hosp_beds  &#xA;iso_code                             &#xA;AFG             1803.987       0.50  &#xA;ALB            11803.431       2.89  &#xA;DZA            13913.839       1.90  &#xA;AND                  NaN        NaN  &#xA;AGO             5819.495        NaN  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;describe() 함수를 통해 수치 데이터의 분포를 확인하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;covid_case_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; covidtotals&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;loc[:, case_vars]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(covid_case_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;describe())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;        total_cases   total_deaths  total_cases_pm  total_deaths_pm&#xA;count  2.100000e+02     210.000000      210.000000       210.000000&#xA;mean   2.921614e+04    1770.714286     1355.357943        55.659129&#xA;std    1.363978e+05    8705.565857     2625.277497       144.785816&#xA;min    0.000000e+00       0.000000        0.000000         0.000000&#xA;25%    1.757500e+02       4.000000       92.541500         0.884750&#xA;50%    1.242500e+03      25.500000      280.928500         6.154000&#xA;75%    1.011700e+04     241.250000     1801.394750        31.777250&#xA;max    1.790191e+06  104383.000000    19771.348000      1237.551000&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;백분위수(quantile)로 데이터를 표시한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(covid_case_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;quantile(np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;arange(&lt;span style=&#34;color:#ae81ff&#34;&gt;0.0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1.1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0.1&lt;/span&gt;)))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;     total_cases  total_deaths  total_cases_pm  total_deaths_pm&#xA;0.0          0.0           0.0          0.0000           0.0000&#xA;0.1         22.9           0.0         17.9986           0.0000&#xA;0.2        105.2           2.0         56.2910           0.3752&#xA;0.3        302.0           6.7        115.4341           1.7183&#xA;0.4        762.0          12.0        213.9734           3.9566&#xA;0.5       1242.5          25.5        280.9285           6.1540&#xA;0.6       2514.6          54.6        543.9562          12.2452&#xA;0.7       6959.8         137.2       1071.2442          25.9459&#xA;0.8      16847.2         323.2       2206.2982          49.9658&#xA;0.9      46513.1        1616.9       3765.1363         138.9045&#xA;1.0    1790191.0      104383.0      19771.3480        1237.5510&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;왜도는 분포가 얼마나 대칭적인지를 나타냄&lt;/li&gt;&#xA;&lt;li&gt;왜도와 첨도는 어떻게 대칭적인지를 설명하며, 분포의 꼬리가 각각 얼마나 두꺼운지 나타냄.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;covid_case_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;skew(axis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, numeric_only &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;total_cases        10.804275&#xA;total_deaths        8.929816&#xA;total_cases_pm      4.396091&#xA;total_deaths_pm     4.674417&#xA;dtype: float64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;covid_case_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;kurtosis(axis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, numeric_only &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;total_cases        134.979577&#xA;total_deaths        95.737841&#xA;total_cases_pm      25.242790&#xA;total_deaths_pm     27.238232&#xA;dtype: float64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;정규성 검정을 테스트 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파이썬 예제: &lt;a href=&#34;https://www.statology.org/shapiro-wilk-test-python/&#34;&gt;https://www.statology.org/shapiro-wilk-test-python/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;p값 0.05미만에서 95% 수준에서 정규분포의 귀무가설을 기각하고, 대립가설을 채택한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;귀무가설: 표본의 모집단이 정규분포를 이루고 있다.&lt;/li&gt;&#xA;&lt;li&gt;대립가설: 표본의 모집단이 정규분포를 이루고 있지 않다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;scistat&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shapiro(covid_case_df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;total_cases&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;ShapiroResult(statistic=0.19379639625549316, pvalue=3.753789128593843e-29)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;scistat&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shapiro(covid_case_df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;total_deaths&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;ShapiroResult(statistic=0.19832086563110352, pvalue=4.3427896631016077e-29)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;scistat&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shapiro(covid_case_df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;total_cases_pm&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;ShapiroResult(statistic=0.5220695734024048, pvalue=1.3972683006509067e-23)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;scistat&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shapiro(covid_case_df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;total_deaths_pm&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;ShapiroResult(statistic=0.41877639293670654, pvalue=1.361060423265974e-25)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 4개의 feature 모두 정규분포를 이루고 있지 않음을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;이번에는 qqplot을 그린다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;qqplot(covid_case_df[[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_cases&amp;#34;&lt;/span&gt;]]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sort_values([&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_cases&amp;#34;&lt;/span&gt;]), line &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;s&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;title(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;QQ Plot of Total Cases&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Text(0.5, 1.0, &#39;QQ Plot of Total Cases&#39;)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/12/verifying_outliers2/output_16_1.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Finding Missing Values</title>
      <link>https://dschloe.github.io/programming/2021/12/finding_missing_values/</link>
      <pubDate>Sat, 18 Dec 2021 11:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/12/finding_missing_values/</guid>
      <description>&lt;h2 id=&#34;데이터-가져오기&#34;&gt;데이터 가져오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;pandas, numpy, matplotlib 라이브러리를 불러온다.&lt;/li&gt;&#xA;&lt;li&gt;데이터를 불러온다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터는 &lt;a href=&#34;https://ourworldindata.org/coronavirus-source-data&#34;&gt;https://ourworldindata.org/coronavirus-source-data&lt;/a&gt; 에서 가져왔다. 2020년 6월 1일 기준이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;covidtotals &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/covidtotalswithmissings.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(covidtotals&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;  iso_code    lastdate     location  total_cases  total_deaths  \&#xA;0      AFG  2020-06-01  Afghanistan        15205           257   &#xA;1      ALB  2020-06-01      Albania         1137            33   &#xA;2      DZA  2020-06-01      Algeria         9394           653   &#xA;3      AND  2020-06-01      Andorra          764            51   &#xA;4      AGO  2020-06-01       Angola           86             4   &#xA;&#xA;   total_cases_pm  total_deaths_pm  population  pop_density  median_age  \&#xA;0         390.589            6.602  38928341.0       54.422        18.6   &#xA;1         395.093           11.467   2877800.0      104.871        38.0   &#xA;2         214.225           14.891  43851043.0       17.348        29.1   &#xA;3        9888.048          660.066     77265.0      163.755         NaN   &#xA;4           2.617            0.122  32866268.0       23.890        16.8   &#xA;&#xA;   gdp_per_capita  hosp_beds  &#xA;0        1803.987       0.50  &#xA;1       11803.431       2.89  &#xA;2       13913.839       1.90  &#xA;3             NaN        NaN  &#xA;4        5819.495        NaN  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Missing Value 확인&lt;/li&gt;&#xA;&lt;li&gt;일부 feature에서 missing value가 있는 것을 확인함.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;covidtotals&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;info()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;pandas.core.frame.DataFrame&#39;&amp;gt;&#xA;RangeIndex: 210 entries, 0 to 209&#xA;Data columns (total 12 columns):&#xA; #   Column           Non-Null Count  Dtype  &#xA;---  ------           --------------  -----  &#xA; 0   iso_code         210 non-null    object &#xA; 1   lastdate         210 non-null    object &#xA; 2   location         210 non-null    object &#xA; 3   total_cases      210 non-null    int64  &#xA; 4   total_deaths     210 non-null    int64  &#xA; 5   total_cases_pm   209 non-null    float64&#xA; 6   total_deaths_pm  209 non-null    float64&#xA; 7   population       210 non-null    float64&#xA; 8   pop_density      198 non-null    float64&#xA; 9   median_age       186 non-null    float64&#xA; 10  gdp_per_capita   182 non-null    float64&#xA; 11  hosp_beds        164 non-null    float64&#xA;dtypes: float64(7), int64(2), object(3)&#xA;memory usage: 19.8+ KB&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터를 크게 두개의 기분으로 분류한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Covid case &amp;amp; Demographic Columns&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;case_vars &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;location&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_cases&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_deaths&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_cases_pm&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;total_deaths_pm&amp;#34;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;demo_vars &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;population&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pop_density&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;median_age&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;gdp_per_capita&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;hosp_beds&amp;#34;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;axis 설정을 통해 인구통계와 Covid Cased의 결측치 값을 설정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;covidtotals[demo_vars]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;isnull()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sum(axis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;population         0&#xA;pop_density       12&#xA;median_age        24&#xA;gdp_per_capita    28&#xA;hosp_beds         46&#xA;dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;covidtotals[case_vars]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;isnull()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sum(axis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;location           0&#xA;total_cases        0&#xA;total_deaths       0&#xA;total_cases_pm     1&#xA;total_deaths_pm    1&#xA;dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 행 방향으로 발생한 결측치를 확인한다.&lt;/li&gt;&#xA;&lt;li&gt;결측치가 없는 행은 156개이고, 1개만 있는 행은 24개 순으로 집계 되었다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;demovars_misscnt &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; covidtotals[demo_vars]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;isnull()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sum(axis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;demovars_misscnt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value_counts()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;0    156&#xA;1     24&#xA;2     12&#xA;3     10&#xA;4      8&#xA;dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인구통계 데이터가 3가지 이상 누락된 국가를 나열한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;5개의 값만 추출했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(covidtotals&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;loc[demovars_misscnt &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;, [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;location&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; demo_vars]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head(&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;T)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;                     3         5                                24  \&#xA;location        Andorra  Anguilla  Bonaire Sint Eustatius and Saba   &#xA;population      77265.0   15002.0                          26221.0   &#xA;pop_density     163.755       NaN                              NaN   &#xA;median_age          NaN       NaN                              NaN   &#xA;gdp_per_capita      NaN       NaN                              NaN   &#xA;hosp_beds           NaN       NaN                              NaN   &#xA;&#xA;                                    28              64  &#xA;location        British Virgin Islands  Faeroe Islands  &#xA;population                     30237.0         48865.0  &#xA;pop_density                    207.973          35.308  &#xA;median_age                         NaN             NaN  &#xA;gdp_per_capita                     NaN             NaN  &#xA;hosp_beds                          NaN             NaN  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 코로나 사례 데이터에서 누락값을 확인한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;홍콩만 사례가 누락된 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;totvars_misscnt &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; covidtotals[case_vars]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;isnull()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sum(axis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;totvars_misscnt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value_counts()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;0    209&#xA;2      1&#xA;dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(covidtotals&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;loc[totvars_misscnt &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;location&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; case_vars]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;T)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;                        87&#xA;location         Hong Kong&#xA;location         Hong Kong&#xA;total_cases              0&#xA;total_deaths             0&#xA;total_cases_pm         NaN&#xA;total_deaths_pm        NaN&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(covidtotals[covidtotals[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;location&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hong Kong&amp;#34;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;   iso_code    lastdate   location  total_cases  total_deaths  total_cases_pm  \&#xA;87      HKG  2020-05-26  Hong Kong            0             0             NaN   &#xA;&#xA;    total_deaths_pm  population  pop_density  median_age  gdp_per_capita  \&#xA;87              NaN   7496988.0     7039.714        44.8        56054.92   &#xA;&#xA;    hosp_beds  &#xA;87        NaN  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;방법-1-inplace-사용&#34;&gt;방법 1. Inplace 사용&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그러나, 가급적 사용하는 것을 추천하지는 않는다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조: &lt;a href=&#34;https://towardsdatascience.com/why-you-should-probably-never-use-pandas-inplace-true-9f9f211849e4&#34;&gt;https://towardsdatascience.com/why-you-should-probably-never-use-pandas-inplace-true-9f9f211849e4&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 결측치 채우기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;covidtotals &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/covidtotalswithmissings.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;covidtotals2 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; covidtotals&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;copy()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;covidtotals2[case_vars]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;isnull()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sum(axis &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;location           0&#xA;total_cases        0&#xA;total_deaths       0&#xA;total_cases_pm     1&#xA;total_deaths_pm    1&#xA;dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;covidtotals2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;total_cases_pm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fillna(covidtotals2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;total_cases&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;(covidtotals2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;population&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;10000000&lt;/span&gt;), inplace &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;covidtotals2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;total_deaths_pm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fillna(covidtotals2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;total_deaths&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;(covidtotals2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;population&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;10000000&lt;/span&gt;), inplace &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;covidtotals2[case_vars]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;isnull()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sum(axis &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;location           0&#xA;total_cases        0&#xA;total_deaths       0&#xA;total_cases_pm     0&#xA;total_deaths_pm    0&#xA;dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;방법-2-매칭을-통한-대체&#34;&gt;방법 2. 매칭을 통한 대체&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;covidtotals &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/covidtotalswithmissings.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;covidtotals2 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; covidtotals&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;copy()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;covidtotals2[case_vars]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;isnull()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sum(axis &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;location           0&#xA;total_cases        0&#xA;total_deaths       0&#xA;total_cases_pm     1&#xA;total_deaths_pm    1&#xA;dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;covidtotals2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;loc[:, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;total_cases_pm&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; covidtotals2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;loc[:, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;total_cases_pm&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fillna(value&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;covidtotals2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;total_cases&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;(covidtotals&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;population&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;10000000&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;covidtotals2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;loc[:, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;total_deaths_pm&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; covidtotals2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;loc[:, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;total_deaths_pm&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fillna(value&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;covidtotals2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;total_deaths&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;(covidtotals&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;population&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;10000000&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;covidtotals2[case_vars]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;isnull()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sum(axis &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;location           0&#xA;total_cases        0&#xA;total_deaths       0&#xA;total_cases_pm     0&#xA;total_deaths_pm    0&#xA;dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;references&#34;&gt;References&lt;/h2&gt;&#xA;&lt;p&gt;Walker, M. (2020). Python Data Cleaning Cookbook: Modern techniques and Python tools to detect and remove dirty data and extract key insights. Packt Publishing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>결정 트리 학습 이론</title>
      <link>https://dschloe.github.io/programming/2021/12/decision_tree/</link>
      <pubDate>Thu, 09 Dec 2021 21:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/12/decision_tree/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;현대 머신러닝 이론의 백본(Backbone)이 되는 결정 트리에 대해 이론적으로 살짝 정리한다.&lt;/li&gt;&#xA;&lt;li&gt;주요 수식은 Python Machine Learning Second Edition 교재를 주로 참고 하였다. (Page: 90 ~ 94)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교재 출처: &lt;a href=&#34;https://www.amazon.com/Python-Machine-Learning-scikit-learn-TensorFlow/dp/1787125939&#34;&gt;https://www.amazon.com/Python-Machine-Learning-scikit-learn-TensorFlow/dp/1787125939&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;결정-트리의-예&#34;&gt;결정 트리의 예&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;결정 트리는 여러가지 연속된 질문을 학습하여 분류하는 것이 원칙이다.&lt;/li&gt;&#xA;&lt;li&gt;다음의 간단한 예를 들어본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/12/decision_tree/tutorial_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;결정 트리는 크게 3가지로 구성이 되어 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;트리 내부 노드, 리프 노드, 그리고 가지로 구성이 되어 있다.&lt;/li&gt;&#xA;&lt;li&gt;어떻게 질문을 하느냐에 따라서 분류가 결정된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;결정 트리는 숫자에도 적용할 수 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;예) 키가 160cm보다 큰가요?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;결정-트리의-주요-원리&#34;&gt;결정 트리의 주요 원리&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;결정 트리는 트리의 루트(Root)에서 시작하여, 정보 이득(Information Gain, IG)가 최대가 되는 특성으로 데이터를 나눔&lt;/li&gt;&#xA;&lt;li&gt;반복 과정(분류할 수 있는 연속적인 질문)을 통해 계속적으로 분류함&#xA;&lt;ul&gt;&#xA;&lt;li&gt;전문 용어로는 &lt;code&gt;Until the leaves are pure.&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;결정 트리에서 가장 중요한 것은 정보 이득 최대화임(Maximizing Information Gain)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가장 빠르게 확실하게 분류할 수 있는 질문(Question)&lt;/li&gt;&#xA;&lt;li&gt;다음 예를 살펴본다. (출처: &lt;a href=&#34;https://www.geeksforgeeks.org/decision-tree-introduction-example/&#34;&gt;https://www.geeksforgeeks.org/decision-tree-introduction-example/&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/12/decision_tree/tutorial_02.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Heroku Dash App 배포 - Windows 10</title>
      <link>https://dschloe.github.io/programming/2021/12/heroku_windows/</link>
      <pubDate>Wed, 01 Dec 2021 09:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/12/heroku_windows/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Windows&lt;/code&gt;와 &lt;code&gt;Virtualenv&lt;/code&gt;를 활용하여 빠르게 App 배포를 해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;advert-inline&#34;&gt;&#xA;&#x9;&lt;script async src=&#34;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9871603218577546&#34;&#xA;&#x9;&#x9;&#x9;crossorigin=&#34;anonymous&#34;&gt;&lt;/script&gt;&#xA;&#x9;&#xA;&#x9;&lt;ins class=&#34;adsbygoogle&#34;&#xA;     &#x9; style=&#34;display:block; text-align:center;&#34;&#xA;     &#x9; data-ad-layout=&#34;in-article&#34;&#xA;     &#x9; data-ad-format=&#34;fluid&#34;&#xA;&#x9;&#x9; data-ad-client=&#34;ca-pub-9871603218577546&#34;&#xA;&#x9;&#x9; data-ad-slot=&#34;3951220622&#34;&#xA;&#x9;&#x9; data-ad-format=&#34;auto&#34;&#xA;&#x9;&#x9; data-full-width-responsive=&#34;true&#34;&gt;&#xA;&#x9;&lt;/ins&gt;&#xA;&#x9;&lt;script&gt;&#xA;     (adsbygoogle = window.adsbygoogle || []).push({});&#xA;&#x9;&lt;/script&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&lt;h2 id=&#34;1-프로그램-다운로드&#34;&gt;1. 프로그램 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치파일 주소: &lt;a href=&#34;https://devcenter.heroku.com/articles/getting-started-with-python#set-up&#34;&gt;https://devcenter.heroku.com/articles/getting-started-with-python#set-up&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;설치할 때, 다음과 같은 에러가 발생할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/12/heroku_windows/tutorial_01.png&#34; alt=&#34;tutorial_01.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이럴 경우에는 환경변수를 강제로 잡는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\P&lt;/span&gt;rogram Files&lt;span style=&#34;color:#ae81ff&#34;&gt;\h&lt;/span&gt;eroku&lt;span style=&#34;color:#ae81ff&#34;&gt;\b&lt;/span&gt;in&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Heroku가 제대로 환경설정이 되어 있는지 확인하려면, 터미널에서 다음 명령어를 입력해 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ heroku -v&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;heroku/7.53.0 win32-x64 node-v12.21.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;base&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Github 설치: &lt;a href=&#34;https://git-scm.com/&#34;&gt;https://git-scm.com/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;아나콘다 설치: &lt;a href=&#34;https://www.anaconda.com/products/individual&#34;&gt;https://www.anaconda.com/products/individual&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;각각의 환경설정은 모두 해둬야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;2-getting-started&#34;&gt;2. Getting Started&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Heroku 회원가입을 한다. (&lt;a href=&#34;https://signup.heroku.com/&#34;&gt;https://signup.heroku.com/&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;그리고 로그인을 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ heroku login&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;heroku: Press any key to open up the browser to login or q to exit:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Opening browser to https://cli-auth.heroku.com/auth/cli/browser/93982084-f22f-4a6b-b347-94f1aa4b6b47?requestor&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;SFMyNTY.g2gDbQAAAA4xMTIuMTQ0LjIyOC43Nm4GACiKMnR9AWIAAVGA.j9hng63oLOpCVOcHcWyOYDqT4s11jMHDtEesGw5xUD4&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;heroku: Waiting &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; login...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Logging in... &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Logged in as your_email@gmail.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Github Repo를 생성하고, git clone 으로 바탕화면(또는 적정한 곳)에 Repo를 내려 받는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git clone https://github.com/your_name/heroku-app-green.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;heroku_app 경로에서 다음과 같이 실행한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때, 프로젝트 폴더명, github repo 이름, heroku 이름이 동일해야 한다.&lt;/li&gt;&#xA;&lt;li&gt;또 한가지 주의해야 할 점은 name 방식이다.  무료 방식이기 때문에, 타 사용자가 해당 주소를 사용하고 있다면, 쓸수 없다. 또한,  heroku_app 과 같은 형식도 되지 않는다.&lt;/li&gt;&#xA;&lt;li&gt;아래는 heroku app 생성 실패 내역이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ heroku create heroku-app&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; »   Warning: heroku update available from 7.53.0 to 7.59.2.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Creating heroku-app... !&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; !    Name heroku-app is already taken                   &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;정상적으로 설치가 완료되면 다음과 같이 뜬다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ heroku create heroku-app-green&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; »   Warning: heroku update available from 7.53.0 to 7.59.2.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Creating heroku-app-green... &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;https://heroku-app-green.herokuapp.com/ | https://git.heroku.com/heroku-app-green.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;base&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;heroku login을 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ heroku login&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;heroku: Press any key to open up the browser to login or q to exit: &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Opening browser to https://cli-auth.heroku.com/auth/cli/browser/9320abcd-b8c6-406d-9198-ca14d1e59a26?requestor&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;SFMyNTY.g2gDbQAAAA4yMjEuMTU3LjM3LjIxNm4GAGgtTBB7AWIAAVGA.GlyVc8jbyiW6NG0MVzCS0bOjtzBWvYRfjB9-gnkQaoQ&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Logging in... &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Logged in as your_email_address&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이제 마지막으로 heroku app에 repository를 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ heroku git:remote -a your_app&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; »   Warning: heroku update available from 7.53.0 to 7.59.2.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set git remote heroku to https://git.heroku.com/heroku-app-green.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;heroku-app-green&lt;/code&gt; 이 생긴 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/12/heroku_windows/tutorial_02.png&#34; alt=&#34;tutorial_02.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hexo Blog 재연결</title>
      <link>https://dschloe.github.io/programming/2021/11/hexo_blog_reconnected/</link>
      <pubDate>Fri, 26 Nov 2021 14:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/11/hexo_blog_reconnected/</guid>
      <description>&lt;h2 id=&#34;문제점&#34;&gt;문제점&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;몇몇 수강생이 노트북과 데스트탑 자리 모두에서 깃헙 블로그를 운영하고 싶어함.&lt;/li&gt;&#xA;&lt;li&gt;또한, 기존에 올라간 블로그 소스를 그대로 사용하고 싶어함.&lt;/li&gt;&#xA;&lt;li&gt;그런데, 제대로 반영이 안되는 경우가 있음.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;해결책&#34;&gt;해결책&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그런 경우 아래와 같이 순차적으로 진행하면 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ hexo init your_blog_repo &lt;span style=&#34;color:#75715e&#34;&gt;# 여기는 각자 소스 레포 확인&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cd myblog&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git init &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git remote add origin https://github.com/your_name/your_blog_repo.git &lt;span style=&#34;color:#75715e&#34;&gt;# 각자 소스 레포 주소&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;아래 명령어에서 에러가 발생이 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git pull --set-upstream origin main &lt;span style=&#34;color:#75715e&#34;&gt;# 에러 발생&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;그런 경우, 아래 명령어를 추가한다. 기존의 디렉토리와 파일을 모두 삭제한다는 뜻이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git clean -d -f&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;그리고 에러가 발생했던 명령어를 다시 실행한다.&lt;/li&gt;&#xA;&lt;li&gt;이 때에는 이제 정상적으로 실행되는 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git pull --set-upstream origin main &lt;span style=&#34;color:#75715e&#34;&gt;# 에러 발생 안함 / 소스 확인&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이제 정상적으로 환경 세팅은 된 것이다. 순차적으로 아래와 같이 진행하도록 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때, theme 폴더에 본인의 테마 소스코드가 잘 있는지 확인을 하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ npm install &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ hexo clean&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ hexo generate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ hexo server&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Kaggle Survey Data Transformation Tip</title>
      <link>https://dschloe.github.io/programming/2021/11/data_transformation/</link>
      <pubDate>Thu, 18 Nov 2021 18:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/11/data_transformation/</guid>
      <description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Data Transformation is always important to visualise.&lt;/li&gt;&#xA;&lt;li&gt;Here, I just introduced to get value counts in different dataset.&lt;/li&gt;&#xA;&lt;li&gt;If you are newbie, please be aware of this code before you dive into visualization.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# This Python 3 environment comes with many helpful analytics libraries installed&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# For example, here&amp;#39;s several helpful packages to load&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np &lt;span style=&#34;color:#75715e&#34;&gt;# linear algebra&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd &lt;span style=&#34;color:#75715e&#34;&gt;# data processing, CSV file I/O (e.g. pd.read_csv)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Input data files are available in the read-only &amp;#34;../input/&amp;#34; directory&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; dirname, _, filenames &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;walk(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/kaggle/input&amp;#39;&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; filename &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; filenames:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;join(dirname, filename))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using &amp;#34;Save &amp;amp; Run All&amp;#34; &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# You can also write temporary files to /kaggle/temp/, but they won&amp;#39;t be saved outside of the current session&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/kaggle/input/kaggle-survey-2021/kaggle_survey_2021_responses.csv&#xA;/kaggle/input/kaggle-survey-2021/supplementary_data/kaggle_survey_2021_methodology.pdf&#xA;/kaggle/input/kaggle-survey-2021/supplementary_data/kaggle_survey_2021_answer_choices.pdf&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;data-import&#34;&gt;Data Import&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Import raw data and split into questions dataset and survey dataset.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;../input/kaggle-survey-2021/kaggle_survey_2021_responses.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;questions &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;iloc[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, :]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;T&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;questions&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/opt/conda/lib/python3.7/site-packages/IPython/core/interactiveshell.py:3441: DtypeWarning: Columns (0,195,201,285,286,287,288,289,290,291,292) have mixed types.Specify dtype option on import or set low_memory=False.&#xA;  exec(code_obj, self.user_global_ns, self.user_ns)&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;Time from Start to Finish (seconds)                                Duration (in seconds)&#xA;Q1                                                           What is your age (# years)?&#xA;Q2                                                What is your gender? - Selected Choice&#xA;Q3                                             In which country do you currently reside?&#xA;Q4                                     What is the highest level of formal education ...&#xA;                                                             ...                        &#xA;Q38_B_Part_8                           In the next 2 years, do you hope to become mor...&#xA;Q38_B_Part_9                           In the next 2 years, do you hope to become mor...&#xA;Q38_B_Part_10                          In the next 2 years, do you hope to become mor...&#xA;Q38_B_Part_11                          In the next 2 years, do you hope to become mor...&#xA;Q38_B_OTHER                            In the next 2 years, do you hope to become mor...&#xA;Name: 0, Length: 369, dtype: object&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;iloc[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;:, :]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;quick-data-review&#34;&gt;Quick Data Review&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;All survey responses are count-based dataset.&lt;/li&gt;&#xA;&lt;li&gt;It&amp;rsquo;s easy to check using value counts()&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Q1&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value_counts()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;25-29    4931&#xA;18-21    4901&#xA;22-24    4694&#xA;30-34    3441&#xA;35-39    2504&#xA;40-44    1890&#xA;45-49    1375&#xA;50-54     964&#xA;55-59     592&#xA;60-69     553&#xA;70+       128&#xA;Name: Q1, dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;problem&#34;&gt;Problem&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Some questions are not easy to counts because of Supplementary Questions.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;questions&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;index&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;tolist()[&lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[&#39;Q7_Part_1&#39;,&#xA; &#39;Q7_Part_2&#39;,&#xA; &#39;Q7_Part_3&#39;,&#xA; &#39;Q7_Part_4&#39;,&#xA; &#39;Q7_Part_5&#39;,&#xA; &#39;Q7_Part_6&#39;,&#xA; &#39;Q7_Part_7&#39;,&#xA; &#39;Q7_Part_8&#39;,&#xA; &#39;Q7_Part_9&#39;,&#xA; &#39;Q7_Part_10&#39;,&#xA; &#39;Q7_Part_11&#39;,&#xA; &#39;Q7_Part_12&#39;,&#xA; &#39;Q7_OTHER&#39;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For this we need another way to combine into one dataset.&lt;/li&gt;&#xA;&lt;li&gt;Many Questions are very similar like Q7.&lt;/li&gt;&#xA;&lt;li&gt;Let&amp;rsquo;s Create function.&lt;/li&gt;&#xA;&lt;li&gt;Main Reference is here: &lt;a href=&#34;https://www.kaggle.com/ruchi798/kaggle-ml-ds-survey-analysis&#34;&gt;https://www.kaggle.com/ruchi798/kaggle-ml-ds-survey-analysis&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Just add some if_condition.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;sub_questions_count&lt;/span&gt;(question_num, part_num, text &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  part_questions &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; []&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; text &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;A&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;B&amp;#34;&lt;/span&gt;]:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    part_questions &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Q&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; str(question_num) &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;_&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; text &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_Part_&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; str(j) &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; j &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; range(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, part_num)]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    part_questions&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;append(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Q&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; str(question_num) &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;_&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; text &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_OTHER&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    part_questions &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Q&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; str(question_num) &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_Part_&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; str(j) &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; j &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; range(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, part_num)]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    part_questions&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;append(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Q&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; str(question_num) &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_OTHER&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# category count&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  categories &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; []&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  counts &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; []&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; i &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; part_questions:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    category &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df[i]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value_counts()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;index[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    val &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df[i]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value_counts()[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    categories&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;append(category)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    counts&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;append(val)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  combined_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  combined_df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Category&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; categories&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  combined_df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Count&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; counts&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  combined_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; combined_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sort_values([&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Count&amp;#39;&lt;/span&gt;], ascending &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; combined_df&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;test&#34;&gt;Test&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Case 1&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Test &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# &amp;#39;Q38_B_Part_11&amp;#39;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(sub_questions_count(&lt;span style=&#34;color:#ae81ff&#34;&gt;38&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;11&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;B&amp;#34;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reset_index(drop&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;                  Category  Count&#xA;0             TensorBoard    4239&#xA;1                  MLflow    2747&#xA;2        Weights &amp;amp; Biases    1583&#xA;3              Neptune.ai    1276&#xA;4                 ClearML    1020&#xA;5                Polyaxon     737&#xA;6                Guild.ai     729&#xA;7    Domino Model Monitor     666&#xA;8                Comet.ml     633&#xA;9      Sacred + Omniboard     591&#xA;10                   Other    377&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Case 2.&lt;/p&gt;</description>
    </item>
    <item>
      <title>M1 Mac Tensorflow Installation in R</title>
      <link>https://dschloe.github.io/programming/2021/11/m1_tensorflow/</link>
      <pubDate>Tue, 16 Nov 2021 17:20:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/11/m1_tensorflow/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;M1 Mac에서 텐서플로를 설치 한다.&lt;/li&gt;&#xA;&lt;li&gt;필자의 현재 M1 환경은 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;sessionInfo&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;R version 4.1.2 (2021-11-01)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Platform: aarch64-apple-darwin20 (64-bit)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Running under: macOS Big Sur 11.6&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Matrix products: default&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;LAPACK: /Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/lib/libRlapack.dylib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;locale:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;attached base packages:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[1] stats     graphics  grDevices utils     datasets  methods   base     &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;other attached packages:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[1] ggplot2_3.3.5    dplyr_1.0.7      tfdatasets_2.7.0 keras_2.7.0     &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[5] reticulate_1.22  tensorflow_2.7.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;loaded via a namespace (and not attached):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; [1] Rcpp_1.0.7        compiler_4.1.2    pillar_1.6.4      prettyunits_1.1.1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; [5] base64enc_0.1-3   tools_4.1.2       progress_1.2.2    digest_0.6.28    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; [9] zeallot_0.1.0     nlme_3.1-153      gtable_0.3.0      jsonlite_1.7.2   &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[13] lifecycle_1.0.1   tibble_3.1.6      lattice_0.20-45   mgcv_1.8-38      &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[17] pkgconfig_2.0.3   png_0.1-7         rlang_0.4.12      Matrix_1.3-4     &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[21] cli_3.1.0         rstudioapi_0.13   withr_2.4.2       generics_0.1.1   &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[25] vctrs_0.3.8       hms_1.1.1         rprojroot_2.0.2   grid_4.1.2       &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[29] tidyselect_1.1.1  glue_1.5.0        here_1.0.1        R6_2.5.1         &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[33] fansi_0.5.0       farver_2.1.0      purrr_0.3.4       magrittr_2.0.1   &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[37] whisker_0.4       splines_4.1.2     scales_1.1.1      tfruns_1.5.0     &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[41] ellipsis_0.3.2    colorspace_2.0-2  labeling_0.4.2    utf8_1.2.2       &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[45] munsell_0.5.0     crayon_1.4.2 &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;miniforge3-설치&#34;&gt;Miniforge3 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;miniforge3를 설치 해야 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참고: &lt;a href=&#34;https://github.com/conda-forge/miniforge&#34;&gt;https://github.com/conda-forge/miniforge&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;arm64를 선택해서 다운로드 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/11/m1_tensorflow/install_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Matplotlib 한글 폰트 추가 (Mac)</title>
      <link>https://dschloe.github.io/programming/2021/10/matplotlib_kor_font/</link>
      <pubDate>Mon, 25 Oct 2021 23:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/10/matplotlib_kor_font/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Mac 유저를 위해 한글 폰트 추가하는 방법을 설명한다.&lt;/li&gt;&#xA;&lt;li&gt;기본 코드는 Windows에서도 동작한다.&lt;/li&gt;&#xA;&lt;li&gt;폰트 추가 방법은 생략한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;한글-폰트-깨진-시각화&#34;&gt;한글 폰트 깨진 시각화&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단하게 &lt;code&gt;깨진 한글&lt;/code&gt;이 들어간 시각화를 구현한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.font_manager &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; fm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; mpl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;plot([&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;title(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;테스트&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/backends/backend_agg.py:238: RuntimeWarning: Glyph 53580 missing from current font.&#xA;  font.set_text(s, 0.0, flags=flags)&#xA;/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/backends/backend_agg.py:238: RuntimeWarning: Glyph 49828 missing from current font.&#xA;  font.set_text(s, 0.0, flags=flags)&#xA;/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/backends/backend_agg.py:238: RuntimeWarning: Glyph 53944 missing from current font.&#xA;  font.set_text(s, 0.0, flags=flags)&#xA;/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/backends/backend_agg.py:201: RuntimeWarning: Glyph 53580 missing from current font.&#xA;  font.set_text(s, 0, flags=flags)&#xA;/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/backends/backend_agg.py:201: RuntimeWarning: Glyph 49828 missing from current font.&#xA;  font.set_text(s, 0, flags=flags)&#xA;/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/backends/backend_agg.py:201: RuntimeWarning: Glyph 53944 missing from current font.&#xA;  font.set_text(s, 0, flags=flags)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/10/matplotlib_kor_font/output_0_1.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>RcppMeCab 패키지 설치 (Windows)</title>
      <link>https://dschloe.github.io/programming/2021/10/rcppmecab_install/</link>
      <pubDate>Sat, 23 Oct 2021 00:21:01 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/10/rcppmecab_install/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Mecab-ko 형태소 분석기 사용 위해서는 Rcppmecab  패키지를 설치해야 함.&lt;/li&gt;&#xA;&lt;li&gt;RcppMeCab 패키지 설치 앞서서 설치할 파일이 있음.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;URL: &lt;a href=&#34;https://github.com/junhewk/RcppMeCab/blob/master/README_kr.md&#34;&gt;https://github.com/junhewk/RcppMeCab/blob/master/README_kr.md&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;해당 깃허브에서 설치해야 할 파일을 다운로드 받은 후, &amp;ldquo;C:\mecab&amp;rdquo; 경로에 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;설치-파일&#34;&gt;설치 파일&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MeCab 프로그램: &lt;a href=&#34;https://github.com/Pusnow/mecab-ko-msvc/releases/download/release-0.9.2-msvc-3/mecab-ko-msvc-x64.zip&#34;&gt;mecab-ko-0.9.2-msvc-3&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;MeCab 사전: &lt;a href=&#34;https://github.com/Pusnow/mecab-ko-dic-msvc/releases/download/mecab-ko-dic-2.1.1-20180720-msvc-2/mecab-ko-dic-msvc.zip&#34;&gt;mecab-ko-dic-2.1.1-20180720-msvc-2&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;위 파일을 다운로드 받은 후, &amp;ldquo;C:\mecab&amp;quot;에서 압축을 해제한다.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/10/RcppMeCab_install/MeCab_install_01.png&#34; alt=&#34;MeCab_install_01.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/10/RcppMeCab_install/MeCab_install_02.png&#34; alt=&#34;MeCab_install_02.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;rcppmecab-패키지-불러오기&#34;&gt;RcppMecab 패키지 불러오기.&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 패키지를 불러오도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;해당 패키지는 Github 버전으로 설치해야 하기 때문에 아래와 같이 설치를 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(remotes)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;install_github&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;junhewk/RcppMeCab&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Downloading GitHub repo junhewk&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;RcppMeCab&lt;span style=&#34;color:#f92672&#34;&gt;@&lt;/span&gt;HEAD&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Installing &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt; packages&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; BH, RcppParallel, Rcpp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt; testing &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; installed package keeps a record of temporary installation path&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;DONE &lt;/span&gt;(RcppMeCab)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(RcppMeCab)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;테스트&#34;&gt;테스트&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실제 잘 실행되는지 테스트를 해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(remotes)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;install_github&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;junhewk/RcppMeCab&amp;#34;&lt;/span&gt;, force &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TRUE&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(RcppMeCab)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 테스트&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;text &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;안녕하세요!&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;pos&lt;/span&gt;(sentence &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; text)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# $`�ȳ\xe7\xc7ϼ��\xe4!`&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# [1] &amp;#34;�/SY&amp;#34;           &amp;#34;ȳ/SL&amp;#34;            &amp;#34;\xe7\xc7\xcf/SH&amp;#34; &amp;#34;���\xe4/SY&amp;#34;  &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# [5] &amp;#34;!/SF&amp;#34; &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;text2 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;enc2utf8&lt;/span&gt;(text)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;pos&lt;/span&gt;(sentence &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; text2)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# $`안녕하세요!`&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# [1] &amp;#34;안녕/NNG&amp;#34;   &amp;#34;하/XSV&amp;#34;     &amp;#34;세요/EP+EF&amp;#34; &amp;#34;!/SF&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;r-강의-소개&#34;&gt;R 강의 소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자의 강의: 왕초보 데이터 분석 with R&#xA;&lt;ul&gt;&#xA;&lt;li&gt;쿠폰 유효일은 2021년 10월 30일까지입니다.&lt;/li&gt;&#xA;&lt;li&gt;링크: &lt;a href=&#34;https://www.udemy.com/course/beginner_with_r/?couponCode=5BF397C9A1E46079627D&#34;&gt;https://www.udemy.com/course/beginner_with_r/?couponCode=5BF397C9A1E46079627D&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;현재 강의를 계속 찍고 있고, 가격은 한 Section이 끝날 때마다 조금씩 올릴 예정입니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;python-강의-소개&#34;&gt;Python 강의 소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Hexo Blog 이미지 추가</title>
      <link>https://dschloe.github.io/programming/2021/10/hexo_img/</link>
      <pubDate>Thu, 21 Oct 2021 12:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/10/hexo_img/</guid>
      <description>&lt;h1 id=&#34;hexo-이미지-추가&#34;&gt;Hexo 이미지 추가&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Hexo 블로그 작성 시, 이미지 파일을 추가하는 방법에 대해 배운다.&lt;/li&gt;&#xA;&lt;li&gt;주요 참고자료&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Asset Folders: &lt;a href=&#34;https://hexo.io/docs/asset-folders&#34;&gt;https://hexo.io/docs/asset-folders&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Asset Folders | Hexo - Static Site Generator | Tutorial 9: &lt;a href=&#34;https://youtu.be/feIDVQ2tz0o&#34;&gt;https://youtu.be/feIDVQ2tz0o&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;방법-1-global-asset-folder&#34;&gt;방법 1. Global Asset Folder&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가장 간편한 방법은 &lt;code&gt;source&lt;/code&gt; 폴더 아래 &lt;code&gt;images&lt;/code&gt; 폴더를 별도로 만든다.&lt;/li&gt;&#xA;&lt;li&gt;마크다운에서 아래와 같이 입력을 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;![](/images/image.jpg)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;실제로 테스트를 해본다. (logo.md)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;image file: &lt;a href=&#34;https://upload.wikimedia.org/wikipedia/commons/e/e9/Hexo-logo.png&#34;&gt;https://upload.wikimedia.org/wikipedia/commons/e/e9/Hexo-logo.png&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# hexo logo 테스트&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;-&lt;/span&gt; 이미지&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;![](/images/Hexo-logo.png)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;hexo server&lt;/code&gt;를 실행한 뒤 결과를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/10/hexo_img/result_01.png&#34; alt=&#34;result_01.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Home Credit Default - Data Visualization</title>
      <link>https://dschloe.github.io/programming/2021/10/day_1_home_credit_visusalization/</link>
      <pubDate>Tue, 05 Oct 2021 09:10:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/10/day_1_home_credit_visusalization/</guid>
      <description>&lt;h1 id=&#34;공지&#34;&gt;공지&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 포스트는 재직자 교육을 위해 만든 강의안의 일부입니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;&#xA;&lt;h2 id=&#34;대회-개요&#34;&gt;대회 개요&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Many people struggle to get loans due to insufficient or non-existent credit histories. And, unfortunately, this population is often taken advantage of by untrustworthy lenders. &lt;a href=&#34;http://www.homecredit.net/&#34;&gt;Home Credit&lt;/a&gt; strives to broaden financial inclusion for the unbanked population by providing a positive and safe borrowing experience. In order to make sure this underserved population has a positive loan experience, Home Credit makes use of a variety of alternative data&amp;ndash;including telco and transactional information&amp;ndash;to predict their clients&amp;rsquo; repayment abilities. While Home Credit is currently using various statistical and machine learning methods to make these predictions, they&amp;rsquo;re challenging Kagglers to help them unlock the full potential of their data. Doing so will ensure that clients capable of repayment are not rejected and that loans are given with a principal, maturity, and repayment calendar that will empower their clients to be successful.&lt;/p&gt;</description>
    </item>
    <item>
      <title>tuber 패키지와 유투브 API를 활용한 Youtube 댓글 수집</title>
      <link>https://dschloe.github.io/programming/2021/09/youtube_api/</link>
      <pubDate>Thu, 30 Sep 2021 10:00:00 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/09/youtube_api/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 자료는 아래 책에서 일부 발췌 하였고, 해당 코드를 재응용하기 위해 노력하였습니다. 전체 원 소스 코드를 보시려면 책을 구매하시기를 바랍니다.&lt;/li&gt;&#xA;&lt;li&gt;실무 예제로 끝내는 R 데이터 분석: 데이터 분석가에게 꼭 필요한 5가지 실무 예제로 분석 프로세스 이해하기&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구입처: &lt;a href=&#34;http://www.yes24.com/Product/Goods/103449758?OzSrank=1&#34;&gt;http://www.yes24.com/Product/Goods/103449758?OzSrank=1&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Youtube API에 등록 후, 댓글 수집 및 감성을 분석하는 과정을 담았습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;구글-api-프로젝트-생성하기&#34;&gt;구글 API 프로젝트 생성하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;API 사용을 위해서는 구글 개발자 콘솔에 접속한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;URL: &lt;a href=&#34;https://console.developers.google.com/&#34;&gt;https://console.developers.google.com/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/09/youtube_api/youtube_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래와 같이 새로운 프로젝트 만들기를 클릭 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/09/youtube_api/youtube_02.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Classification with Tidymodels</title>
      <link>https://dschloe.github.io/programming/2021/09/classification_tidymodels/</link>
      <pubDate>Tue, 28 Sep 2021 10:00:00 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/09/classification_tidymodels/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;새로운 ML 라이브러리인 &lt;code&gt;tidymodels&lt;/code&gt;를 활용하여 분류 모델을 개발해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;데이터&#34;&gt;데이터&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;데이터는 &lt;code&gt;Loan Prediction Practice Problem&lt;/code&gt;에서 가져왔다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;URL: &lt;a href=&#34;https://datahack.analyticsvidhya.com/contest/practice-problem-loan-prediction-iii/#ProblemStatement&#34;&gt;https://datahack.analyticsvidhya.com/contest/practice-problem-loan-prediction-iii/#ProblemStatement&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;회원가입 후, 대회 참여를 하면 3개의 파일을 다운로드 받을 수 있다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Train file, Test file, Submission File&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;data-dictionary&#34;&gt;Data Dictionary&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;Train 파일&lt;/code&gt;의 데이터 명세서는 다음과 같다. &lt;img src=&#34;img/train.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;Test 파일&lt;/code&gt;의 데이터 명세서는 다음과 같다. &lt;img src=&#34;img/test.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;Submission 파일&lt;/code&gt;의 데이터 명세서는 다음과 같다. &lt;img src=&#34;img/submission.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;대회목적&#34;&gt;대회목적&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;대출 승인 여부를 결정하는 모델을 만드는 것이 대회의 주 목적이며. 평가지표는 분류모형의 &lt;code&gt;Accurarcy&lt;/code&gt;로 결정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;패키지-및-데이터-불러오기&#34;&gt;패키지 및 데이터 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 필수 패키지를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 데이터 수집&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(readr)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 데이터 가공&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(dplyr) &lt;span style=&#34;color:#75715e&#34;&gt;# 데이터 가공&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(tidyr) &lt;span style=&#34;color:#75715e&#34;&gt;# 컬럼 변경&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(stringr) &lt;span style=&#34;color:#75715e&#34;&gt;# 문자열 데이터 다루기 &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(forcats) &lt;span style=&#34;color:#75715e&#34;&gt;# 범주형 데이터 다루기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(skimr) &lt;span style=&#34;color:#75715e&#34;&gt;# 데이터 요약&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(magrittr) &lt;span style=&#34;color:#75715e&#34;&gt;# 파이프라인 작성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 데이터 시각화&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(ggplot2) &lt;span style=&#34;color:#75715e&#34;&gt;# 데이터 시각화 &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(corrr) &lt;span style=&#34;color:#75715e&#34;&gt;# 상관관계 시각화&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(skimr) &lt;span style=&#34;color:#75715e&#34;&gt;# 데이터 요약&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(patchwork) &lt;span style=&#34;color:#75715e&#34;&gt;# 데이터 시각화 분할&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(GGally) &lt;span style=&#34;color:#75715e&#34;&gt;# 산점도&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 데이터 모델링&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(tidymodels) &lt;span style=&#34;color:#75715e&#34;&gt;# ML Packages &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(themis) &lt;span style=&#34;color:#75715e&#34;&gt;# class imbalance 처리&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(discrim) &lt;span style=&#34;color:#75715e&#34;&gt;# 베이지안 모델링&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(tidyposterior) &lt;span style=&#34;color:#75715e&#34;&gt;# 베이지안 모델링 성능 비교&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(doParallel) &lt;span style=&#34;color:#75715e&#34;&gt;# CPU cores 확인&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 데이터를 불러오도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;read_csv&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/train_ctrUa4K.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## Rows: 614 Columns: 13&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## ── Column specification ────────────────────────────────────────────────────────&#xA;## Delimiter: &amp;#34;,&amp;#34;&#xA;## chr (8): Loan_ID, Gender, Married, Dependents, Education, Self_Employed, Pro...&#xA;## dbl (5): ApplicantIncome, CoapplicantIncome, LoanAmount, Loan_Amount_Term, C...&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## &#xA;## ℹ Use `spec()` to retrieve the full column specification for this data.&#xA;## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;lt;&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;rename&lt;/span&gt;(Applicant_Income &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ApplicantIncome,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                  CoApplicant_Income &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; CoapplicantIncome,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                  Loan_Amount &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; LoanAmount) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;loan_id &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train&lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;Loan_ID&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;lt;&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;select&lt;/span&gt;(&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;Loan_ID) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;mutate&lt;/span&gt;(Credit_History &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;as.character&lt;/span&gt;(Credit_History))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;str&lt;/span&gt;(train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## tibble [614 × 12] (S3: tbl_df/tbl/data.frame)&#xA;##  $ Gender            : chr [1:614] &amp;#34;Male&amp;#34; &amp;#34;Male&amp;#34; &amp;#34;Male&amp;#34; &amp;#34;Male&amp;#34; ...&#xA;##  $ Married           : chr [1:614] &amp;#34;No&amp;#34; &amp;#34;Yes&amp;#34; &amp;#34;Yes&amp;#34; &amp;#34;Yes&amp;#34; ...&#xA;##  $ Dependents        : chr [1:614] &amp;#34;0&amp;#34; &amp;#34;1&amp;#34; &amp;#34;0&amp;#34; &amp;#34;0&amp;#34; ...&#xA;##  $ Education         : chr [1:614] &amp;#34;Graduate&amp;#34; &amp;#34;Graduate&amp;#34; &amp;#34;Graduate&amp;#34; &amp;#34;Not Graduate&amp;#34; ...&#xA;##  $ Self_Employed     : chr [1:614] &amp;#34;No&amp;#34; &amp;#34;No&amp;#34; &amp;#34;Yes&amp;#34; &amp;#34;No&amp;#34; ...&#xA;##  $ Applicant_Income  : num [1:614] 5849 4583 3000 2583 6000 ...&#xA;##  $ CoApplicant_Income: num [1:614] 0 1508 0 2358 0 ...&#xA;##  $ Loan_Amount       : num [1:614] NA 128 66 120 141 267 95 158 168 349 ...&#xA;##  $ Loan_Amount_Term  : num [1:614] 360 360 360 360 360 360 360 360 360 360 ...&#xA;##  $ Credit_History    : chr [1:614] &amp;#34;1&amp;#34; &amp;#34;1&amp;#34; &amp;#34;1&amp;#34; &amp;#34;1&amp;#34; ...&#xA;##  $ Property_Area     : chr [1:614] &amp;#34;Urban&amp;#34; &amp;#34;Rural&amp;#34; &amp;#34;Urban&amp;#34; &amp;#34;Urban&amp;#34; ...&#xA;##  $ Loan_Status       : chr [1:614] &amp;#34;Y&amp;#34; &amp;#34;N&amp;#34; &amp;#34;Y&amp;#34; &amp;#34;Y&amp;#34; ...&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;총 614개의 데이터에 13개의 컬럼이 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;탐색적-자료분석-eda&#34;&gt;탐색적 자료분석 (EDA)&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 skim() 함수를 활용하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;skim&lt;/span&gt;(train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Table: Data summary&lt;/p&gt;</description>
    </item>
    <item>
      <title>Airflow를 활용한 Data Cleansing 예제</title>
      <link>https://dschloe.github.io/programming/2021/09/data_cleaning_using_airflow/</link>
      <pubDate>Mon, 20 Sep 2021 11:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/09/data_cleaning_using_airflow/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pandas와 Airflow를 활용하여 데이터를 정제하는 코드를 구성한다.&lt;/li&gt;&#xA;&lt;li&gt;우선 데이터는 아래에서 CSV 파일을 다운로드 받고, Dags 파일 하단에 위치시킨다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;URL: &lt;a href=&#34;https://github.com/PaulCrickard/escooter/blob/master/scooter.csv&#34;&gt;https://github.com/PaulCrickard/escooter/blob/master/scooter.csv&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;raw-데이터-확인&#34;&gt;Raw 데이터 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단하게 Raw 데이터를 확인해보도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/scooter.csv&amp;#34;&lt;/span&gt;, index_col&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(df)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ python3 step00_raw_df.py &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       trip_id  region_id  vehicle_id  ...                                  end_location_name   user_id trip_ledger_id&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;month                                  ...                                                                            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;May    &lt;span style=&#34;color:#ae81ff&#34;&gt;1613335&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;202&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;9424537&lt;/span&gt;  ...       &lt;span style=&#34;color:#ae81ff&#34;&gt;1899&lt;/span&gt; Roma Ave NE, Albuquerque, NM 87106, USA   &lt;span style=&#34;color:#ae81ff&#34;&gt;8417864&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1488546&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;May    &lt;span style=&#34;color:#ae81ff&#34;&gt;1613639&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;202&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;9424537&lt;/span&gt;  ...    &lt;span style=&#34;color:#ae81ff&#34;&gt;1111&lt;/span&gt; Stanford Dr NE, Albuquerque, NM 87106, USA   &lt;span style=&#34;color:#ae81ff&#34;&gt;8417864&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1488838&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;May    &lt;span style=&#34;color:#ae81ff&#34;&gt;1613708&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;202&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;9424537&lt;/span&gt;  ...  &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; Domenici Center en Domenici Center, Albuquer...   &lt;span style=&#34;color:#ae81ff&#34;&gt;8417864&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1488851&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;May    &lt;span style=&#34;color:#ae81ff&#34;&gt;1613867&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;202&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;9424537&lt;/span&gt;  ...  &lt;span style=&#34;color:#ae81ff&#34;&gt;725&lt;/span&gt; University Blvd SE, Albuquerque, NM 87106,...   &lt;span style=&#34;color:#ae81ff&#34;&gt;8417864&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1489064&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;May    &lt;span style=&#34;color:#ae81ff&#34;&gt;1636714&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;202&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;8926493&lt;/span&gt;  ...          &lt;span style=&#34;color:#ae81ff&#34;&gt;401&lt;/span&gt; 2nd St NW, Albuquerque, NM 87102, USA  &lt;span style=&#34;color:#ae81ff&#34;&gt;35436274&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1511212&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;...        ...        ...         ...  ...                                                ...       ...            ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;July   &lt;span style=&#34;color:#ae81ff&#34;&gt;2482235&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;202&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;2893981&lt;/span&gt;  ...         &lt;span style=&#34;color:#ae81ff&#34;&gt;1418&lt;/span&gt; 4th St NW, Albuquerque, NM 87102, USA  &lt;span style=&#34;color:#ae81ff&#34;&gt;42559731&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;2340035&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;July   &lt;span style=&#34;color:#ae81ff&#34;&gt;2482254&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;202&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;8201542&lt;/span&gt;  ...   &lt;span style=&#34;color:#ae81ff&#34;&gt;302&lt;/span&gt; San Felipe St NW, Albuquerque, NM 87104, USA  &lt;span style=&#34;color:#ae81ff&#34;&gt;42457674&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;2339885&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;July   &lt;span style=&#34;color:#ae81ff&#34;&gt;2482257&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;202&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;5136810&lt;/span&gt;  ...    &lt;span style=&#34;color:#ae81ff&#34;&gt;3339&lt;/span&gt; Central Ave NE, Albuquerque, NM 87106, USA  &lt;span style=&#34;color:#ae81ff&#34;&gt;42576631&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;2342126&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;July   &lt;span style=&#34;color:#ae81ff&#34;&gt;2482275&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;202&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;3125962&lt;/span&gt;  ...         &lt;span style=&#34;color:#ae81ff&#34;&gt;1413&lt;/span&gt; 4th St SW, Albuquerque, NM 87102, USA  &lt;span style=&#34;color:#ae81ff&#34;&gt;42575656&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;2340036&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;July   &lt;span style=&#34;color:#ae81ff&#34;&gt;2482335&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;202&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;9449822&lt;/span&gt;  ...    &lt;span style=&#34;color:#ae81ff&#34;&gt;3339&lt;/span&gt; Central Ave NE, Albuquerque, NM 87106, USA  &lt;span style=&#34;color:#ae81ff&#34;&gt;42586810&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;2342161&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;34226&lt;/span&gt; rows x &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt; columns&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;정제-코드-테스트&#34;&gt;정제 코드 테스트&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Airflow에 테스트를 하기 전, 실제 잘 작동하는지 확인하는 코드를 작업해본다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 함수, &lt;code&gt;cleanScooter()&lt;/code&gt; 함수에 대해 살펴본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 데이터셋의 컬러명은 모두 소문자로 변경한다.&lt;/li&gt;&#xA;&lt;li&gt;그 이후, 날짜 데이터를 포맷에 맞춰 변경한다.&lt;/li&gt;&#xA;&lt;li&gt;그리고, &lt;code&gt;cleanscooter.csv&lt;/code&gt; 데이터로 내보내기를 진행했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;두번째 함수, &lt;code&gt;filterData()&lt;/code&gt; 함수에 대해 살펴본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터를 불러온뒤, 각 날짜에 조건문을 적용한 뒤, 데이터를 내보내기 하였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;마지막 함수는 최종 결과물을 콘솔창에 보여주기 위한 것으로 작업했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;cleanScooter&lt;/span&gt;(DATA_PATH):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(DATA_PATH &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;scooter.csv&amp;#34;&lt;/span&gt;, index_col&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop(columns&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;region_id&amp;#39;&lt;/span&gt;], inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[x&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;lower() &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; x &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;started_at&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_datetime(df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;started_at&amp;#39;&lt;/span&gt;], format&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;%m/&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%d&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;/%Y %H:%M&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_csv(DATA_PATH &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;cleanscooter.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;filterData&lt;/span&gt;(DATA_PATH):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(DATA_PATH &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;cleanscooter.csv&amp;#34;&lt;/span&gt;, index_col&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    from_date &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;2019-05-23&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    to_date &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;2019-06-03&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    to_from &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df[(df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;started_at&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; from_date) &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&lt;/span&gt; (df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;started_at&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt; to_date)]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    to_from&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_csv(DATA_PATH &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;may23-june3.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;check_df&lt;/span&gt;(DATA_PATH):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(DATA_PATH &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;may23-june3.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(df)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    DATA_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;your_path/data/&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    cleanScooter(DATA_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    filterData(DATA_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    check_df(DATA_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 파일을 실행하면 다음과 같은 결괏값이 나올 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ python3 step01_clean_df.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     month  trip_id  vehicle_id  ...                                  end_location_name   user_id trip_ledger_id&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;      May  &lt;span style=&#34;color:#ae81ff&#34;&gt;1636714&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;8926493&lt;/span&gt;  ...          &lt;span style=&#34;color:#ae81ff&#34;&gt;401&lt;/span&gt; 2nd St NW, Albuquerque, NM 87102, USA  &lt;span style=&#34;color:#ae81ff&#34;&gt;35436274&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1511212&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;      May  &lt;span style=&#34;color:#ae81ff&#34;&gt;1636780&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;3902020&lt;/span&gt;  ...   &lt;span style=&#34;color:#ae81ff&#34;&gt;3217&lt;/span&gt; Pershing Ave SE, Albuquerque, NM 87106, USA  &lt;span style=&#34;color:#ae81ff&#34;&gt;34352757&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1511371&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;      May  &lt;span style=&#34;color:#ae81ff&#34;&gt;1636856&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;5192526&lt;/span&gt;  ...      &lt;span style=&#34;color:#ae81ff&#34;&gt;809&lt;/span&gt; Copper Ave NW, Albuquerque, NM 87102, USA  &lt;span style=&#34;color:#ae81ff&#34;&gt;35466666&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1511483&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;      May  &lt;span style=&#34;color:#ae81ff&#34;&gt;1636912&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;3902020&lt;/span&gt;  ...    &lt;span style=&#34;color:#ae81ff&#34;&gt;802&lt;/span&gt; Wellesley Dr SE, Albuquerque, NM 87106, USA  &lt;span style=&#34;color:#ae81ff&#34;&gt;34352757&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1511390&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;      May  &lt;span style=&#34;color:#ae81ff&#34;&gt;1637035&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;5192526&lt;/span&gt;  ...      &lt;span style=&#34;color:#ae81ff&#34;&gt;809&lt;/span&gt; Copper Ave NW, Albuquerque, NM 87102, USA  &lt;span style=&#34;color:#ae81ff&#34;&gt;35466666&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1511516&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;...    ...      ...         ...  ...                                                ...       ...            ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;6187&lt;/span&gt;  June  &lt;span style=&#34;color:#ae81ff&#34;&gt;1772189&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;7992415&lt;/span&gt;  ...          &lt;span style=&#34;color:#ae81ff&#34;&gt;200&lt;/span&gt; 3rd St NW, Albuquerque, NM 87102, USA  &lt;span style=&#34;color:#ae81ff&#34;&gt;35858913&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1642397&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;6188&lt;/span&gt;  June  &lt;span style=&#34;color:#ae81ff&#34;&gt;1772212&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;5216813&lt;/span&gt;  ...           6th @ Silver, Albuquerque, NM 87102, USA  &lt;span style=&#34;color:#ae81ff&#34;&gt;35795570&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1642192&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;6189&lt;/span&gt;  June  &lt;span style=&#34;color:#ae81ff&#34;&gt;1772216&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;5637480&lt;/span&gt;  ...          &lt;span style=&#34;color:#ae81ff&#34;&gt;413&lt;/span&gt; 2nd St SW, Albuquerque, NM 87102, USA  &lt;span style=&#34;color:#ae81ff&#34;&gt;37255146&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1642781&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;6190&lt;/span&gt;  June  &lt;span style=&#34;color:#ae81ff&#34;&gt;1772229&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;2739536&lt;/span&gt;  ...   &lt;span style=&#34;color:#ae81ff&#34;&gt;101&lt;/span&gt; Broadway Blvd NE, Albuquerque, NM 87102, USA  &lt;span style=&#34;color:#ae81ff&#34;&gt;38038151&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1643073&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;6191&lt;/span&gt;  June  &lt;span style=&#34;color:#ae81ff&#34;&gt;1772254&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;6016871&lt;/span&gt;  ...  1st St NW @, Central Ave NW, Albuquerque, NM 8...  &lt;span style=&#34;color:#ae81ff&#34;&gt;37761291&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1642284&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;6192&lt;/span&gt; rows x &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt; columns&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;약 3만개의 레코드의 행 갯수가 6000개로 줄어든 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;airflow-code&#34;&gt;Airflow Code&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 &lt;code&gt;airflow&lt;/code&gt; 에서 작업을 해보도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;파일명은 &lt;code&gt;step05_01_clean_df.py&lt;/code&gt; 로 명명했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; datetime &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; dt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; datetime &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; timedelta&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; airflow &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; DAG&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; airflow.operators.bash &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; BashOperator&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; airflow.operators.python &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; PythonOperator&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;cleanScooter&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;dags/data/scooter.csv&amp;#34;&lt;/span&gt;, index_col&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop(columns&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;region_id&amp;#39;&lt;/span&gt;], inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[x&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;lower() &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; x &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;started_at&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_datetime(df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;started_at&amp;#39;&lt;/span&gt;], format&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;%m/&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%d&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;/%Y %H:%M&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;dags/data/cleanscooter.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;filterData&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;dags/data/cleanscooter.csv&amp;#34;&lt;/span&gt;, index_col&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    from_date &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;2019-05-23&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    to_date &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;2019-06-03&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    to_from &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df[(df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;started_at&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; from_date) &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&lt;/span&gt; (df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;started_at&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt; to_date)]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    to_from&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;dags/data/may23-june3.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;default_args &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;owner&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;evan&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;start_date&amp;#39;&lt;/span&gt;: dt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;datetime(&lt;span style=&#34;color:#ae81ff&#34;&gt;2021&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;retries&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;retry_delay&amp;#39;&lt;/span&gt;: dt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;timedelta(minutes&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;with&lt;/span&gt; DAG(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Cleaning_Data&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         default_args &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; default_args,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         schedule_interval&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;timedelta(minutes&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         ) &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; dag:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print_starting &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; BashOperator(task_id&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;starting&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                  bash_command&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;echo &amp;#34;I am reading the PostgreSQL now.....&amp;#34;&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    cleanData &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; PythonOperator(task_id&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;cleaning_df&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                               python_callable&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;cleanScooter)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    selectData &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; PythonOperator(task_id&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Filtering_df&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                python_callable&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;filterData)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    copyFile &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; BashOperator(task_id&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;copy_df&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                            bash_command&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cp $AIRFLOW_HOME/dags/data/may23-june3.csv /your_path/Desktop/&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print_starting &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; cleanData &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; selectData &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; copyFile&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;기존에 작업한 코드와 크게 달라진 것은 없기 때문에, 전체 코드는 생략한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;dags&lt;/code&gt; 안에 &lt;code&gt;data&lt;/code&gt; 폴더를 만들어서 &lt;code&gt;scooter.csv&lt;/code&gt; 만 넣었다. 실행 후 어떻게 새로운 데이터가 추가가 되었는지 확인해본다.&lt;/li&gt;&#xA;&lt;li&gt;마지막 코드는 최종 결과물을 복사하여 바탕화면에 붙여넣기 하는 코드를 말한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(venv) &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;scooter&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;csv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;DAG&lt;/code&gt;가 완성되었으면, 해당 코드를 &lt;code&gt;$AIRFLOW_HOME/dags&lt;/code&gt; 폴더에 복사하고, 다음 명령들로 웹서버와 스케줄러를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(venv) airflow:evan &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; airflow webserver&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(venv) airflow:evan &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; airflow scheduler&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;실행결과-확인&#34;&gt;실행결과 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 웹 브라우저로 &lt;code&gt;[http://localhost:8080](http://localhost:8080)&lt;/code&gt; 에 접속 후, 정상적으로 작업이 되는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/09/data_cleaning_using_airflow/clean_df.png&#34; alt=&#34;clean_df.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Airflow를 활용한 PostgreSQL에서 Elasticsearch로 데이터 마이그레이션 예제</title>
      <link>https://dschloe.github.io/programming/2021/09/airflow_postgresql_elasticsearch/</link>
      <pubDate>Sat, 18 Sep 2021 20:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/09/airflow_postgresql_elasticsearch/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Airflow&lt;/code&gt;를 활용하여 &lt;code&gt;PostgreSQL&lt;/code&gt;에 저장된 데이터를 디스크로 다운로드 받고, 그리고 그 파일을 다시 읽어서 &lt;code&gt;Elasticsearch&lt;/code&gt;에 저장하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;전체적인 흐름은 &lt;code&gt;getData from PostgreSQL &amp;gt;&amp;gt; insertData to Elasticsearch&lt;/code&gt; 로 저장할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;전체-코드-실행&#34;&gt;전체 코드 실행&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 전체 코드를 실행하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; datetime &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; dt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; datetime &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; timedelta&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; airflow &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; DAG&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; airflow.operators.bash &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; BashOperator&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; airflow.operators.python &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; PythonOperator&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; psycopg2 &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; db&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; elasticsearch &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Elasticsearch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;queryPostgresql&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    conn_string&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;dbname=&amp;#39;python_dataengineering&amp;#39; host=&amp;#39;localhost&amp;#39; user=&amp;#39;postgres&amp;#39; password=&amp;#39;evan&amp;#39;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    conn &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; db&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;connect(conn_string)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_sql(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;select name, city from users&amp;#34;&lt;/span&gt;, conn)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;dags/postgresqldata.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;----------Data Saved------------&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;insertElasticsearch&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    es&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;Elasticsearch()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;dags/postgresqldata.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; i, r &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;iterrows():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        doc &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; r&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_json()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        res &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; es&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;index(index&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;frompostgresql&amp;#34;&lt;/span&gt;, doc_type&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;doc&amp;#34;&lt;/span&gt;, body&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;doc)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(res)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;default_args &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;owner&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;evan&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;start_date&amp;#39;&lt;/span&gt;: dt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;datetime(&lt;span style=&#34;color:#ae81ff&#34;&gt;2021&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;retries&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;retry_delay&amp;#39;&lt;/span&gt;: dt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;timedelta(minutes&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;with&lt;/span&gt; DAG(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;MyDBdag&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         default_args &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; default_args,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         schedule_interval&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;timedelta(minutes&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         ) &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; dag:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print_starting &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; BashOperator(task_id&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;starting&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                  bash_command&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;echo &amp;#34;I am reading the PostgreSQL now.....&amp;#34;&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    getData &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; PythonOperator(task_id&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;QueryPostgreSQL&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                             python_callable&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;queryPostgresql)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    insertData &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; PythonOperator(task_id&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;InsertDataElasticsearch&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                python_callable&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;insertElasticsearch)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print_starting &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; getData &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; insertData&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 함수를 실행하려면 &lt;code&gt;$AIRFLOW_HOME/dags&lt;/code&gt; 폴더에 저장해야 하며, 필자는 &lt;code&gt;step04_7_airflow.py&lt;/code&gt; 형태로 저장했다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참고: &lt;a href=&#34;%5Bhttps://dschloe.github.io/python/data_engineering/ch03_reading_writing_file/airflow_csv2json/%5D(https://dschloe.github.io/python/data_engineering/ch03_reading_writing_file/airflow_csv2json/)&#34;&gt;Apache Airflow를 활용한 CSV에서 JSON으로 변환하기&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 다음과 같이 실행하면 된다. (두개의 터미널이 필요)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ airflow webserver&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ airflow scheduler&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;결과-확인&#34;&gt;결과 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;브라우저로 &lt;code&gt;[http://localhost:8080](http://localhost:8080)&lt;/code&gt; 에 접속한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;MyDBdag&lt;/code&gt; 를 실행 후, 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/09/airflow_postgresql_elasticsearch/airflow_01.png&#34; alt=&#34;airflow_01.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>파이썬을 활용한 엘라스틱서치에서 데이터 추출</title>
      <link>https://dschloe.github.io/programming/2021/09/elasticsearch_python_extract/</link>
      <pubDate>Fri, 17 Sep 2021 20:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/09/elasticsearch_python_extract/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터를 질의하는 방법과 데이터를 삽입하는 방법은 동일하다.&lt;/li&gt;&#xA;&lt;li&gt;다만, 이 때에는 &lt;code&gt;search&lt;/code&gt; 메서드를 사용하다.&lt;/li&gt;&#xA;&lt;li&gt;또한, &lt;code&gt;doc&lt;/code&gt; 문서도 조금 다르다.&lt;/li&gt;&#xA;&lt;li&gt;기본적으로 &lt;code&gt;SQL&lt;/code&gt; 과 문법이 다르기 때문에 공식문서를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;실행&#34;&gt;실행&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 테스트를 실행하기에 앞서서, &lt;code&gt;Elasticsearch&lt;/code&gt; 과 &lt;code&gt;Kibana&lt;/code&gt; 를 먼저 구동시키고, 데이터가 미리 삽입 되어 있으면 좋다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;%5Bhttps://dschloe.github.io/python/data_engineering/ch02_infra/elastic_search_install/%5D(https://dschloe.github.io/python/data_engineering/ch02_infra/elastic_search_install/)&#34;&gt;Elastic Search Engine Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;%5Bhttps://dschloe.github.io/python/data_engineering/ch02_infra/kibana_install/%5D(https://dschloe.github.io/python/data_engineering/ch02_infra/kibana_install/)&#34;&gt;Kibana Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;%5Bhttps://dschloe.github.io/python/data_engineering/ch04_working_databases/elasticsearch_with_python_dbinsert/%5D(https://dschloe.github.io/python/data_engineering/ch04_working_databases/elasticsearch_with_python_dbinsert/)&#34;&gt;파이썬과 엘라스틱서치 DB 연동&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;실습-1---전체-데이터-확인&#34;&gt;실습 1 - 전체 데이터 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 아래코드를 복사한 뒤 붙여넣기 하여 실행시켜보도록 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;결괏값까지 직접 확인하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; elasticsearch &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Elasticsearch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; pandas.io.json &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; json_normalize&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;es &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Elasticsearch()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;doc&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;{&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;query&amp;#34;&lt;/span&gt;:{&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;match_all&amp;#34;&lt;/span&gt;:{}}}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;res&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;es&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;search(index&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;users&amp;#34;&lt;/span&gt;, body&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;doc, size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(res[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hits&amp;#39;&lt;/span&gt;][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hits&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 각 문서의 `_source`필드 출력만 가능&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# for doc in res[&amp;#39;hits&amp;#39;][&amp;#39;hits&amp;#39;]:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#   print(doc[&amp;#39;_source&amp;#39;])&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# pandas DataFrame&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;----------&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; json_normalize(res[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hits&amp;#39;&lt;/span&gt;][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hits&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(df)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ python3 step04_3_elasticsearch_query.py &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/Users/evan/Desktop/data_engineering_python/venv/lib/python3.8/site-packages/elasticsearch/connection/base.py:208: ElasticsearchWarning: Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See https://www.elastic.co/guide/en/elasticsearch/reference/7.14/security-minimal-setup.html to enable security.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  warnings.warn&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;message, category&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;ElasticsearchWarning&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_index&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;users&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_type&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;doc&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_id&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;4Vam5HsBtoEC6_MiP2z3&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_score&amp;#39;&lt;/span&gt;: 1.0, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_source&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Toni Nguyen&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;6060 Justin Freeway Suite 557&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;East Aaronstad&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;43029&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_index&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;users&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_type&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;doc&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_id&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;41bN5HsBtoEC6_Mig2w3&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_score&amp;#39;&lt;/span&gt;: 1.0, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_source&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Jennifer Barr&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;02693 Laura Views Apt. 582&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Ericside&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;50021&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_index&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;users&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_type&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;doc&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_id&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;5FbN5HsBtoEC6_Mig2w4&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_score&amp;#39;&lt;/span&gt;: 1.0, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_source&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Alex White&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;674 Mcclure Islands&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Richardfort&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;91321&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_index&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;users&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_type&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;doc&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_id&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;5VbN5HsBtoEC6_Mig2w4&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_score&amp;#39;&lt;/span&gt;: 1.0, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_source&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Michael Melendez&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;1732 Andrews Lakes Suite 023&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;West Rachaelhaven&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;96479&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_index&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;users&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_type&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;doc&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_id&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;5lbN5HsBtoEC6_Mig2w4&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_score&amp;#39;&lt;/span&gt;: 1.0, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_source&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Dennis Moore&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;4901 Barber Turnpike Suite 009&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Lake Abigail&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;91137&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_index&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;users&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_type&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;doc&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_id&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;51bN5HsBtoEC6_Mig2w4&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_score&amp;#39;&lt;/span&gt;: 1.0, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_source&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Angela Santiago&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;2635 Duncan Isle Apt. 292&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Garyton&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;74345&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_index&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;users&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_type&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;doc&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_id&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;6FbN5HsBtoEC6_Mig2w4&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_score&amp;#39;&lt;/span&gt;: 1.0, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_source&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Cynthia Randall&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;8738 Johnson Underpass&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Brianshire&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;02178&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_index&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;users&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_type&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;doc&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_id&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;6VbN5HsBtoEC6_Mig2w4&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_score&amp;#39;&lt;/span&gt;: 1.0, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_source&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;James Schneider&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;14248 Gregory Loaf&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;West Lindamouth&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;47982&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_index&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;users&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_type&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;doc&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_id&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;6lbN5HsBtoEC6_Mig2w4&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_score&amp;#39;&lt;/span&gt;: 1.0, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_source&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Jonathan George&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;8183 Flores Springs Apt. 129&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;South Jeffreyland&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;61791&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_index&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;users&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_type&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;doc&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_id&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;61bN5HsBtoEC6_Mig2w4&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_score&amp;#39;&lt;/span&gt;: 1.0, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_source&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;William Cooper&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;338 Jeffrey Canyon Apt. 624&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Wilkersonside&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;01065&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}}]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;----------&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;step04_3_elasticsearch_query.py:16: FutureWarning: pandas.io.json.json_normalize is deprecated, use pandas.json_normalize instead&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; json_normalize&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;res&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hits&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;][&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hits&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;])&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  _index _type                   _id  _score      _source.name                  _source.street       _source.city _source.zip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  users   doc  4Vam5HsBtoEC6_MiP2z3     1.0       Toni Nguyen   &lt;span style=&#34;color:#ae81ff&#34;&gt;6060&lt;/span&gt; Justin Freeway Suite &lt;span style=&#34;color:#ae81ff&#34;&gt;557&lt;/span&gt;     East Aaronstad       &lt;span style=&#34;color:#ae81ff&#34;&gt;43029&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;  users   doc  41bN5HsBtoEC6_Mig2w3     1.0     Jennifer Barr      &lt;span style=&#34;color:#ae81ff&#34;&gt;02693&lt;/span&gt; Laura Views Apt. &lt;span style=&#34;color:#ae81ff&#34;&gt;582&lt;/span&gt;           Ericside       &lt;span style=&#34;color:#ae81ff&#34;&gt;50021&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;  users   doc  5FbN5HsBtoEC6_Mig2w4     1.0        Alex White             &lt;span style=&#34;color:#ae81ff&#34;&gt;674&lt;/span&gt; Mcclure Islands        Richardfort       &lt;span style=&#34;color:#ae81ff&#34;&gt;91321&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;  users   doc  5VbN5HsBtoEC6_Mig2w4     1.0  Michael Melendez    &lt;span style=&#34;color:#ae81ff&#34;&gt;1732&lt;/span&gt; Andrews Lakes Suite &lt;span style=&#34;color:#ae81ff&#34;&gt;023&lt;/span&gt;  West Rachaelhaven       &lt;span style=&#34;color:#ae81ff&#34;&gt;96479&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;  users   doc  5lbN5HsBtoEC6_Mig2w4     1.0      Dennis Moore  &lt;span style=&#34;color:#ae81ff&#34;&gt;4901&lt;/span&gt; Barber Turnpike Suite &lt;span style=&#34;color:#ae81ff&#34;&gt;009&lt;/span&gt;       Lake Abigail       &lt;span style=&#34;color:#ae81ff&#34;&gt;91137&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;  users   doc  51bN5HsBtoEC6_Mig2w4     1.0   Angela Santiago       &lt;span style=&#34;color:#ae81ff&#34;&gt;2635&lt;/span&gt; Duncan Isle Apt. &lt;span style=&#34;color:#ae81ff&#34;&gt;292&lt;/span&gt;            Garyton       &lt;span style=&#34;color:#ae81ff&#34;&gt;74345&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;  users   doc  6FbN5HsBtoEC6_Mig2w4     1.0   Cynthia Randall          &lt;span style=&#34;color:#ae81ff&#34;&gt;8738&lt;/span&gt; Johnson Underpass         Brianshire       &lt;span style=&#34;color:#ae81ff&#34;&gt;02178&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt;  users   doc  6VbN5HsBtoEC6_Mig2w4     1.0   James Schneider              &lt;span style=&#34;color:#ae81ff&#34;&gt;14248&lt;/span&gt; Gregory Loaf    West Lindamouth       &lt;span style=&#34;color:#ae81ff&#34;&gt;47982&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;  users   doc  6lbN5HsBtoEC6_Mig2w4     1.0   Jonathan George    &lt;span style=&#34;color:#ae81ff&#34;&gt;8183&lt;/span&gt; Flores Springs Apt. &lt;span style=&#34;color:#ae81ff&#34;&gt;129&lt;/span&gt;  South Jeffreyland       &lt;span style=&#34;color:#ae81ff&#34;&gt;61791&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;  users   doc  61bN5HsBtoEC6_Mig2w4     1.0    William Cooper     &lt;span style=&#34;color:#ae81ff&#34;&gt;338&lt;/span&gt; Jeffrey Canyon Apt. &lt;span style=&#34;color:#ae81ff&#34;&gt;624&lt;/span&gt;      Wilkersonside       &lt;span style=&#34;color:#ae81ff&#34;&gt;01065&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이제 코드를 살펴본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 &lt;code&gt;doc={&amp;quot;query&amp;quot;:{&amp;quot;match_all&amp;quot;:{}}}&lt;/code&gt; 에서 &lt;code&gt;match_all&lt;/code&gt; 은 주어진 문서의 모든 문서를 질의하는 요청에 해당함.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;search&lt;/code&gt; 는 크게 &lt;code&gt;index&lt;/code&gt; 명은 문서 객체를 의미하며 &lt;code&gt;body&lt;/code&gt; 쿼리 내용을 저장하는 곳이다. 그리고, 마지막으로 결과집합의 크기도 지정한다.&lt;/li&gt;&#xA;&lt;li&gt;검색된 문서들을 출력한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;출력시 해당 쿼리는 JSON 객체로 반환됨을 유의한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;json_normalize&lt;/code&gt; 함수는 JSON 객체를 데이터프레임으로 변환할 때 주로 사용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;실습-2---질의-응용-1&#34;&gt;실습 2 - 질의 응용 (1)&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 &lt;code&gt;match_all&lt;/code&gt; 대신에 특정 이름만 출력하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 파이썬 코드를 작성해본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;여기서 봐야 하는 코드는 &lt;code&gt;doc&lt;/code&gt; 이하 구문이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; elasticsearch &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Elasticsearch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;es &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Elasticsearch()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;doc &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;query&amp;#34;&lt;/span&gt;: {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;match&amp;#34;&lt;/span&gt;:{&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Toni Nguyen&amp;#34;&lt;/span&gt;}}}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;res &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; es&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;search(index&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;users&amp;#34;&lt;/span&gt;, body&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;doc, size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(res[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hits&amp;#39;&lt;/span&gt;][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hits&amp;#39;&lt;/span&gt;][&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_source&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이제 해당 코드를 실행하면 특정 이름과 연관된 결괏값만 확인할 수 있을 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;python3 step04_4_elasticsearch_query_match.py &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/Users/evan/Desktop/data_engineering_python/venv/lib/python3.8/site-packages/elasticsearch/connection/base.py:208: ElasticsearchWarning: Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See https://www.elastic.co/guide/en/elasticsearch/reference/7.14/security-minimal-setup.html to enable security.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  warnings.warn&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;message, category&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;ElasticsearchWarning&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Toni Nguyen&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;6060 Justin Freeway Suite 557&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;East Aaronstad&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;43029&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;실습-3---질의-응용-2&#34;&gt;실습 3 - 질의 응용 (2)&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 Boolean 연산자 및 필터를 이용해서 좀 더 정밀하게 검색을 하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;이 때에는 &lt;code&gt;bool&lt;/code&gt; 필드에 &lt;code&gt;must&lt;/code&gt; 나, &lt;code&gt;must not&lt;/code&gt;, &lt;code&gt;should&lt;/code&gt; 를 지정하고 &lt;code&gt;filter&lt;/code&gt; 필드에 조건을 지정하는 식이면 좋다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 파이썬 코드를 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; elasticsearch &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Elasticsearch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;es &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Elasticsearch()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;doc &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;query&amp;#34;&lt;/span&gt;: {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;bool&amp;#34;&lt;/span&gt;: {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;must&amp;#34;&lt;/span&gt;: {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;match&amp;#34;&lt;/span&gt;: {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;city&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;East Aaronstad&amp;#34;&lt;/span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;filter&amp;#34;&lt;/span&gt;: {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;term&amp;#34;&lt;/span&gt;:{&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;zip&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;43029&amp;#34;&lt;/span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;res &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; es&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;search(index&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;users&amp;#34;&lt;/span&gt;, body&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;doc, size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(res[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hits&amp;#39;&lt;/span&gt;][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hits&amp;#39;&lt;/span&gt;][&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_source&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;먼저, &lt;code&gt;city:  East Aaronstad&lt;/code&gt; 와 매칭데는 모든 데이터가 조회된다.&lt;/li&gt;&#xA;&lt;li&gt;그 후에, filter 조건문에서 &lt;code&gt;zip&lt;/code&gt; 코드가 &lt;code&gt;43029&lt;/code&gt; 번호만 남게 하면 된다.&lt;/li&gt;&#xA;&lt;li&gt;이제 파일을 실행하여 결괏값을 확인한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기존에 이름을 통해 검색한 결과와 동일하게 나타나는 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ python3 step04_5_elasticsearch_query_bool.py &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/Users/evan/Desktop/data_engineering_python/venv/lib/python3.8/site-packages/elasticsearch/connection/base.py:208: ElasticsearchWarning: Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See https://www.elastic.co/guide/en/elasticsearch/reference/7.14/security-minimal-setup.html to enable security.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  warnings.warn&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;message, category&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;ElasticsearchWarning&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Toni Nguyen&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;6060 Justin Freeway Suite 557&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;East Aaronstad&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;43029&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;실습-4---scroll-메서드-활용한-대형-결과-집합-처리&#34;&gt;실습 4 - scroll 메서드 활용한 대형 결과 집합 처리&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;검색 결과 집합의 크기를 10으로 설정했다. 그러나, 만약 10,000개 이상일 경우에는 부하가 걸리는 등 약간의 어려움이 노출이 된다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;보통 이런 경우, 데이터를 여러번 나누어서 가져와야 하는데, 스크롤 함수를 통해서 해결이 가능하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;먼저 코드를 통해서 다수의 데이터를 가져오도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; elasticsearch &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Elasticsearch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;es &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Elasticsearch()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;res &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; es&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;search(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    index&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;users&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    doc_type&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;doc&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    scroll&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;20m&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;500&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    body&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;{&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;:{&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;match_all&amp;#39;&lt;/span&gt;:{}}}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sid &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; res[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_scroll_id&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;size &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; res[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hits&amp;#39;&lt;/span&gt;][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;total&amp;#39;&lt;/span&gt;][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;value&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;while&lt;/span&gt; (size &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    res &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; es&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;scroll(scroll_id&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sid, scroll&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;20m&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    sid &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; res[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_scroll_id&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    size &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; len(res[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hits&amp;#39;&lt;/span&gt;][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hits&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    idx &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; doc &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; res[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hits&amp;#39;&lt;/span&gt;][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hits&amp;#39;&lt;/span&gt;]:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(doc[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_source&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; idx &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;break&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        idx &lt;span style=&#34;color:#f92672&#34;&gt;+=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;먼저 &lt;code&gt;search()&lt;/code&gt; 에서 size는 500개로 설정한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;_scroll_id&lt;/code&gt; 는 scroll 호출 시 찌정한다.&lt;/li&gt;&#xA;&lt;li&gt;while 반복문을 이용하여 스크롤링을 시작한다. 이 때, 이 루프는 size가 0보다 큰 동안만 반복하며, size가 0이면 더 이상의 데이터가 없다는 것을 의미 한다.&lt;/li&gt;&#xA;&lt;li&gt;sid와 size는 데이터를 더 가져오기 위해 새로운 스크롤 ID와 크기를 저장하는 것을 말한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;for 반복문 내의 if 조건문은 삭제 후 실행하면 모든 데이터가 나타나게 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이제 파일을 실행해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ python3 step04_6_elasticsearch_scroll.py &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/Users/evan/Desktop/data_engineering_python/venv/lib/python3.8/site-packages/elasticsearch/connection/base.py:208: ElasticsearchWarning: Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See https://www.elastic.co/guide/en/elasticsearch/reference/7.14/security-minimal-setup.html to enable security.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  warnings.warn&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;message, category&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;ElasticsearchWarning&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/Users/evan/Desktop/data_engineering_python/venv/lib/python3.8/site-packages/elasticsearch/connection/base.py:208: ElasticsearchWarning: &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;types removal&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; Specifying types in search requests is deprecated.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  warnings.warn&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;message, category&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;ElasticsearchWarning&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Roberta Garrett&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;622 Mullen Run&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Johnbury&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;99188&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Dr. Gregory Pitts&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;2713 Anne Bridge&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Tracychester&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;15536&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Parker Rodriguez&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;99259 Michelle Islands Suite 573&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Grayview&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;94752&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;James Key&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;6371 Claudia Neck&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Zoetown&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;56028&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;John Manning&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;22124 White Motorway&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;West John&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;79730&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Sara Davidson&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;339 Brian Landing&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Larsonfurt&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;83689&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Michael Sanders&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;98018 Smith Trafficway Apt. 221&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;North Lisa&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;16332&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Diana Schultz&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;1902 Kristin Dale Apt. 983&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Harveybury&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;77036&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Amber Pratt&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;40199 Harry Brooks Suite 081&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Sharonmouth&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;08817&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Michelle Cook&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;24013 Alvarado Rest&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Evanside&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;26897&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Carmen Spears&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;02924 Pearson Turnpike&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;West Heathermouth&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;20586&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Kimberly Baker&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;2997 Sloan Parkway Apt. 846&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Tracyshire&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;04234&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;James Wilkinson&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;063 Mark Mills Suite 670&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Lewisburgh&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;69009&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Valerie Fitzpatrick&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;48374 Smith Throughway&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Gonzalezhaven&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;86867&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Ricardo Kim&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;40378 Riley Trafficway&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Lake Jared&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;05818&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Charles Walker&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;038 Reid Centers&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;North Travis&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;44111&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Suzanne Mendoza&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;36816 Owens Streets Suite 897&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Elizabethhaven&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;26540&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Adam Hamilton&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;19219 Davis Falls&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;New Ryan&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;43903&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;references&#34;&gt;References&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Data Engineering with Python by Paul Crickard, &lt;a href=&#34;https://www.packtpub.com/product/data-engineering-with-python/9781839214189&#34;&gt;https://www.packtpub.com/product/data-engineering-with-python/9781839214189&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>파이썬과 엘라스틱서치 DB 연동</title>
      <link>https://dschloe.github.io/programming/2021/09/elasticsearch_with_python_dbinsert/</link>
      <pubDate>Wed, 15 Sep 2021 11:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/09/elasticsearch_with_python_dbinsert/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;NoSQL&lt;/code&gt; 데이터베이스 시스템의 하나인 &lt;code&gt;Elasticsearch&lt;/code&gt; 를 다루는 방법을 설명한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;NoSQL&lt;/code&gt; 은 데이터를 행들과 열들로 저장하지 않는 데이터베이스를 말한다.&lt;/li&gt;&#xA;&lt;li&gt;대개 &lt;code&gt;JSON&lt;/code&gt;문서 형태로 저장하고, &lt;code&gt;SQL&lt;/code&gt;이 아닌 절의 언어를 주로 사용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;설치&#34;&gt;설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 설치를 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ pip3 install elasticsearch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Collecting elasticsearch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Downloading elasticsearch-7.14.1-py2.py3-none-any.whl &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;363&lt;/span&gt; kB&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     |████████████████████████████████| &lt;span style=&#34;color:#ae81ff&#34;&gt;363&lt;/span&gt; kB 5.7 MB/s &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Requirement already satisfied: certifi in /Users/evan/Desktop/data_engineering_python/venv/lib/python3.8/site-packages &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;from elasticsearch&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;2021.5.30&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Requirement already satisfied: urllib3&amp;lt;2,&amp;gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;1.21.1 in /Users/evan/Desktop/data_engineering_python/venv/lib/python3.8/site-packages &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;from elasticsearch&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;1.26.6&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Installing collected packages: elasticsearch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Successfully installed elasticsearch-7.14.1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;설치 이후에는 현재 버전을 확인하기 위해 아래와 같이 &lt;code&gt;.py&lt;/code&gt; 형태로 작성 후, 터미널에서 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; elasticsearch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(elasticsearch&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ python3 step04_1_elasticsearch.py &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;7, 14, 1&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;버전까지 확인했다면, 파이썬에서 &lt;code&gt;Elasticsearch&lt;/code&gt; 을 실행할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;실습-1---데이터-삽입&#34;&gt;실습 1 - 데이터 삽입&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터를 &lt;code&gt;Elasticsearch&lt;/code&gt; 에 삽입하는 소스코드를 생성해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; elasticsearch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; elasticsearch &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Elasticsearch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; faker &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Faker&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fake &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Faker()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(elasticsearch&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;es &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Elasticsearch()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 데이터 생성 및 삽입&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;doc&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;{&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;: fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name(),&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;street&amp;#34;&lt;/span&gt;: fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;street_address(), &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;city&amp;#34;&lt;/span&gt;: fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;city(),&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;zip&amp;#34;&lt;/span&gt;:fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;zipcode()}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;res&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;es&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;index(index&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;users&amp;#34;&lt;/span&gt;,doc_type&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;doc&amp;#34;&lt;/span&gt;,body&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;doc)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(res[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;result&amp;#39;&lt;/span&gt;]) &lt;span style=&#34;color:#75715e&#34;&gt;# created&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 파일을 실행하기에 앞서서, &lt;code&gt;Elasticsearch&lt;/code&gt; 과 &lt;code&gt;Kibana&lt;/code&gt; 가 먼저 구동이 되고 있으면 좋다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;%5Bhttps://dschloe.github.io/python/data_engineering/ch02_infra/elastic_search_install/%5D(https://dschloe.github.io/python/data_engineering/ch02_infra/elastic_search_install/)&#34;&gt;Elastic Search Engine Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;%5Bhttps://dschloe.github.io/python/data_engineering/ch02_infra/kibana_install/%5D(https://dschloe.github.io/python/data_engineering/ch02_infra/kibana_install/)&#34;&gt;Kibana Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이제 실행하면 아래와 같은 결괏값이 나타날 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ python3 step04_1_elasticsearch.py &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;7, 14, 1&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/Users/evan/Desktop/data_engineering_python/venv/lib/python3.8/site-packages/elasticsearch/connection/base.py:208: ElasticsearchWarning: Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See https://www.elastic.co/guide/en/elasticsearch/reference/7.14/security-minimal-setup.html to enable security.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  warnings.warn&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;message, category&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;ElasticsearchWarning&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/Users/evan/Desktop/data_engineering_python/venv/lib/python3.8/site-packages/elasticsearch/connection/base.py:208: ElasticsearchWarning: &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;types removal&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; Specifying types in document index requests is deprecated, use the typeless endpoints instead &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;/&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;index&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;/_doc/&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;id&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;, /&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;index&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;/_doc, or /&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;index&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;/_create/&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;id&lt;span style=&#34;color:#f92672&#34;&gt;})&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  warnings.warn&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;message, category&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;ElasticsearchWarning&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;created&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;실습-2---다수의-문서-삽입&#34;&gt;실습 2 - 다수의 문서 삽입&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;각 데이터 하나를 생성 후, 입력하는 방식이 아닌, 대량의 문서를 모두 만든 후, 한번엔 데이터를 추가하는 이른바 &lt;code&gt;bulk&lt;/code&gt; 를 진행하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;우선 전체적인 코드를 추가한다 (파일명: &lt;code&gt;step04_2_elasticsearch_bulk.py&lt;/code&gt;).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; elasticsearch &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Elasticsearch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; elasticsearch &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; helpers&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; faker &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Faker&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fake&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;Faker()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;es &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Elasticsearch() &lt;span style=&#34;color:#75715e&#34;&gt;#or pi {127.0.0.1}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;actions &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;_index&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;users&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;_type&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;doc&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;_source&amp;#34;&lt;/span&gt;: {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;: fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name(),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;street&amp;#34;&lt;/span&gt;: fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;street_address(), &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;city&amp;#34;&lt;/span&gt;: fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;city(),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;zip&amp;#34;&lt;/span&gt;:fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;zipcode()}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; x &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; range(&lt;span style=&#34;color:#ae81ff&#34;&gt;998&lt;/span&gt;) &lt;span style=&#34;color:#75715e&#34;&gt;# or for i,r in df.iterrows()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;response &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; helpers&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;bulk(es, actions)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(response)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;색인 이름과 형식을 &lt;code&gt;&amp;quot;_index&amp;quot;&lt;/code&gt; 와 &lt;code&gt;&amp;quot;_type&amp;quot;&lt;/code&gt; 으로 지정해야 한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;&amp;quot;_source&amp;quot;&lt;/code&gt; 필드가 &lt;code&gt;NoSQL&lt;/code&gt; 에 추가할 &lt;code&gt;JSON&lt;/code&gt; 문서이다.&lt;/li&gt;&#xA;&lt;li&gt;반복문은 해당 문서를 999(색인이 0부터 998까지 반복)개의 데이터를 만든다는 뜻이다.&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 &lt;code&gt;bulk&lt;/code&gt; 를 실행하면 삽입이 진행된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ python3 step04_2_elasticsearch_bulk.py &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/Users/evan/Desktop/data_engineering_python/venv/lib/python3.8/site-packages/elasticsearch/connection/base.py:208: ElasticsearchWarning: Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See https://www.elastic.co/guide/en/elasticsearch/reference/7.14/security-minimal-setup.html to enable security.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  warnings.warn&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;message, category&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;ElasticsearchWarning&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/Users/evan/Desktop/data_engineering_python/venv/lib/python3.8/site-packages/elasticsearch/connection/base.py:208: ElasticsearchWarning: &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;types removal&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; Specifying types in bulk requests is deprecated.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  warnings.warn&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;message, category&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;ElasticsearchWarning&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;998, &lt;span style=&#34;color:#f92672&#34;&gt;[])&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;실습-3---키바나-확인&#34;&gt;실습 3 - 키바나 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;쿼리는 정상적으로 작동이 되었다. 실제 데이터가 잘 들어갔는지 확인하도록 한다. 이 때, 반드시 &lt;code&gt;Elasticsearch&lt;/code&gt; 과 &lt;code&gt;Kibana&lt;/code&gt; 가 먼저 구동이 되고 있어야 한다.&lt;/li&gt;&#xA;&lt;li&gt;아래 그림과 같이 왼쪽 상단 햄버거 메뉴 - 하단 &lt;code&gt;Management&lt;/code&gt; 섹션의 &lt;code&gt;Stack Management&lt;/code&gt; 를 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/09/elasticsearch_with_python_dbinsert/kibana_01.png&#34; alt=&#34;kibana_01.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>파이썬과 PostgreSQL DB 연동 예제</title>
      <link>https://dschloe.github.io/programming/2021/09/python_postgresql/</link>
      <pubDate>Fri, 10 Sep 2021 11:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/09/python_postgresql/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MacOS에서의 기본 설치 과정은 생략하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;새로운 DB를 생성하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 환경변수를 설정한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;해당 경로를 가져오는 방법은 &lt;a href=&#34;%5Bhttps://dschloe.github.io/settings/postgresql_install/%5D(https://dschloe.github.io/settings/postgresql_install/)&#34;&gt;Postgre SQL Installation on MacOS M1&lt;/a&gt;에서 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ export PATH&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/opt/homebrew/bin:$PATH:/Applications/Postgres.app/Contents/Versions/13/bin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;먼저 기본 데이터베이스에 연결한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ psql postgres&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;psql &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;13.4&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Type &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;help&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; help.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;postgres&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 상태에서 패스워드를 설정한다.&lt;/li&gt;&#xA;&lt;li&gt;필자는 &lt;code&gt;evan&lt;/code&gt;을 패스워드로 입력하였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;postgres&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# ALTER USER postgres with PASSWORD &amp;#39;evan&amp;#39;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ALTER ROLE&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;그 후, 다시 Shell로 돌아온 뒤 &lt;code&gt;python_dataengineering&lt;/code&gt; 데이터베이스를 생성한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 코드는 Mac환경설정이 끝난 상황에서의 명령어이기 때문에 다를 수 있다. 또한, 다른 OS에서도 다를 수 있음을 유의한다.&lt;/li&gt;&#xA;&lt;li&gt;참고자료: &lt;a href=&#34;%5Bhttps://www.postgresql.org/docs/8.3/tutorial-createdb.html%5D(https://www.postgresql.org/docs/8.3/tutorial-createdb.html)&#34;&gt;1.3. Creating Database&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;postgres&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# \q&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ createdb python_dataengineering&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 pgAdmin에 접속한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치 과정은 &lt;a href=&#34;%5Bhttps://dschloe.github.io/settings/pgadmin4/%5D(https://dschloe.github.io/settings/pgadmin4/)&#34;&gt;pgAdmin4 GUI installation on MacOS M1&lt;/a&gt; 에서 참고한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;최초 접속 후, 아래와 같은 화면에서 PostgreSQL 서버를 추가하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;상단 &lt;code&gt;대시보드&lt;/code&gt; - 화면 중간 &lt;code&gt;Add New Server&lt;/code&gt; 를 차례대로 클릭하면 입력해야 할 상자가 나타난다.&lt;/li&gt;&#xA;&lt;li&gt;General 메뉴에서는 식별자 이름을 추가하고, &lt;code&gt;Connection&lt;/code&gt;에서는 아래와 같이 입력을 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;/img/programming/2021/09/python_postgresql/python_postgresql&lt;/p&gt;</description>
    </item>
    <item>
      <title>Apache Airflow를 활용한 CSV에서 JSON으로 변환하기</title>
      <link>https://dschloe.github.io/programming/2021/09/airflow_csv2json/</link>
      <pubDate>Thu, 09 Sep 2021 11:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/09/airflow_csv2json/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Apache Airflow에서 가장 중요한 개념은 DAG(Directed Acyclic Graph)이다.&lt;/li&gt;&#xA;&lt;li&gt;DAG를 만들 시, Bash 스크립트 및 연산자(Operator)로 작업을 정의할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 파이썬 함수로 조직화 한다.&lt;/li&gt;&#xA;&lt;li&gt;Airflow 설치방법을 모른다면 다음 페이지에서 확인한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;%5Bhttps://dschloe.github.io/python/data_engineering/ch02_infra/apache_airflow_install/%5D(https://dschloe.github.io/python/data_engineering/ch02_infra/apache_airflow_install/)&#34;&gt;Apache Airflow Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-01-building-a-csv-to-a-json-data-pipeline&#34;&gt;Step 01. Building a CSV to a JSON data pipeline&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 전체적인 코드를  확인한다.&lt;/li&gt;&#xA;&lt;li&gt;필자의 airflow 버전은 2.13이다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 몇몇 코드는 아래와 같이 발견될 수도 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; airflow.operators.&lt;span style=&#34;color:#f92672&#34;&gt;~~&lt;/span&gt;python_operator&lt;span style=&#34;color:#f92672&#34;&gt;~~&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; PythonOperator&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## This module is deprecated. Please use `airflow.operators.python`.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;그럴 경우, 해당 명령어대로 수정하기를 바란다.&lt;/li&gt;&#xA;&lt;li&gt;위 부분이 교재와 코드 일부가 조금 다르며, 그 때마다 수정한다. 따라서, 교재를 보더라도 실제로는 아래 코드를 적용하거나, 아니면 airflow 1.x 버전으로 맞춰서 진행하기를 바란다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; datetime &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; dt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; datetime &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; timedelta&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; airflow &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; DAG&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; airflow.operators.bash &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; BashOperator&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; airflow.operators.python &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; PythonOperator&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;csvToJson&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;dags/data.csv&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; i, r &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;iterrows():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(r[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_json(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;dags/fromAirflow.json&amp;#39;&lt;/span&gt;, orient&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;records&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;default_args &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;owner&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;evan&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;start_date&amp;#39;&lt;/span&gt;: dt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;datetime(&lt;span style=&#34;color:#ae81ff&#34;&gt;2020&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;18&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;retries&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;retry_delay&amp;#39;&lt;/span&gt;: dt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;timedelta(minutes&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;with&lt;/span&gt; DAG(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;MyCSVDAG&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         default_args&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;default_args,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         schedule_interval&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;timedelta(minutes&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;),  &lt;span style=&#34;color:#75715e&#34;&gt;# &amp;#39;0 * * * *&amp;#39;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         ) &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; dag:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print_starting &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; BashOperator(task_id&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;starting&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                  bash_command&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;echo &amp;#34;I am reading the CSV now.....&amp;#34;&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    csvJson &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; PythonOperator(task_id&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;convertCSVtoJson&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                             python_callable&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;csvToJson)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print_starting &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; csvJson&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 코드에서 바꿔야 하는 것은 &lt;code&gt;owner&lt;/code&gt; : &lt;code&gt;evan&lt;/code&gt; 여기 부분만 변경하시면 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-02-소스코드-실행방법&#34;&gt;Step 02. 소스코드 실행방법&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;소스코드를 실행하려면 특정 폴더에 소스 파일과 그리고 csv 파일을 별도 폴더로 지정해줘야 한다.&lt;/li&gt;&#xA;&lt;li&gt;필자의 경우 파이썬 파일명은 &lt;code&gt;ch02_airflow.py&lt;/code&gt; 이다.&lt;/li&gt;&#xA;&lt;li&gt;우선 Airflow 경로를 확인한다. (여기서 헤매면 계속 헤매이게 된다!)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(venv) &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; echo &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt;AIRFLOW_HOME&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;Users&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;evan&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;Desktop&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;data_engineering_python&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;install_files&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;airflow&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이 때, &lt;code&gt;airflow.cfg&lt;/code&gt; 파일에서 &lt;code&gt;dags_folder&lt;/code&gt; 속성을 확인해본다.&lt;/li&gt;&#xA;&lt;li&gt;필자는 아래와 같이 지정이 되어 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;dags_folder = /Users/evan/Desktop/data_engineering_python/install_files/airflow/dags&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이 경로의 의미는 &lt;code&gt;ch02_airflow.py&lt;/code&gt; 와 &lt;code&gt;data.csv&lt;/code&gt; 파일이 해당 폴더 &lt;code&gt;dags&lt;/code&gt; 안에 있어야 한다는 것이다.&lt;/li&gt;&#xA;&lt;li&gt;만약 &lt;code&gt;dags&lt;/code&gt; 폴더가 없다면 새로 만들고, 두개의 파일을 추가하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;다시 말하지만, 대부분의 경우가 소스 파일 및 데이터 파일의 경로 문제가 대다수 에러의 원인임을 기억한다.&lt;/li&gt;&#xA;&lt;li&gt;이제 이 상태에서 아래 코드를 순차적으로 실행한다. 이 때, 터미널을 두개를 열어서 독립적으로 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ airflow webserver&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ airflow scheduler&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;만약 접속이 안되거나, 그 외 대부분의 문제는 AIRFLOW 경로가 제대로 설정이 안된 경우이기 때문에, 그럴 경우에는 무조건 &lt;code&gt;$AIRFLOW_HOME&lt;/code&gt; 설정을 다시 하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;설정 방법은 아래 코드를 참조한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ export AIRFLOW_HOME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;pwd&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ echo $AIRFLOW_HOME&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-03-gui에서-확인&#34;&gt;Step 03. GUI에서 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://0.0.0.0:8080/home&#34;&gt;&lt;code&gt;http://0.0.0.0:8080/&lt;/code&gt;&lt;/a&gt; 에 접속한 후, 로그인을 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;그러면 아래와 같은 화면이 나타나면 정상적으로 실행이 된 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/09/airflow_csv2json/airflow_01.png&#34; alt=&#34;airflow_01.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>파이썬을 활용한 JSON 파일 입출력 예제 with faker</title>
      <link>https://dschloe.github.io/programming/2021/09/json_input_output/</link>
      <pubDate>Wed, 08 Sep 2021 18:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/09/json_input_output/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;JSON은 (JavaScript Object Notataion)의 약자이며, 주로 API 호출 시에 사용한다.&lt;/li&gt;&#xA;&lt;li&gt;JSON 데이터를 개별적인 파일 형태로 저장하기도 한다.&lt;/li&gt;&#xA;&lt;li&gt;json 라이브러리를 활용하여 입출력을 진행하고, pandas 라이브러리를 통해서도 직접 불러오도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;json-파일-쓰기-전체-코드&#34;&gt;JSON 파일 쓰기 전체 코드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일은 &lt;a href=&#34;http://wirtejson.py&#34;&gt;&lt;code&gt;wirtejson.py&lt;/code&gt;&lt;/a&gt; 형태로 저장한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;from faker import Faker&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;output&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;open&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;data.json&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;w&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fake&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;Faker&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;all_df&lt;span style=&#34;color:#f92672&#34;&gt;={}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;all_df&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;records&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;]=[]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; x in range&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;1000&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;data&lt;span style=&#34;color:#f92672&#34;&gt;={&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;:fake.name&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;age&amp;#34;&lt;/span&gt;:fake.random_int&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;min&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;18, max&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;80, step&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;1&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;street&amp;#34;&lt;/span&gt;:fake.street_address&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;city&amp;#34;&lt;/span&gt;:fake.city&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;state&amp;#34;&lt;/span&gt;:fake.state&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;zip&amp;#34;&lt;/span&gt;:fake.zipcode&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;lng&amp;#34;&lt;/span&gt;:float&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;fake.longitude&lt;span style=&#34;color:#f92672&#34;&gt;())&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;lat&amp;#34;&lt;/span&gt;:float&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;fake.latitude&lt;span style=&#34;color:#f92672&#34;&gt;())}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;all_df&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;records&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;.append&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;data&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#x9;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;json.dump&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;all_df,output&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;faker&lt;/code&gt; 라이브러리 설명은 &lt;a href=&#34;%5Bhttps://dschloe.github.io/python/data_engineering/ch03_reading_writing_file/csv_input_ouput/%5D(https://dschloe.github.io/python/data_engineering/ch03_reading_writing_file/csv_input_ouput/)&#34;&gt;파이썬을 활용한 파일 입출력 예제 with faker&lt;/a&gt; 에서 확인한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;all_df&lt;/code&gt;는 빈(empty) 딕셔너리 형태로 저장한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;all_df[&amp;quot;records&amp;quot;]&lt;/code&gt; 라는 이름의 key 값에 각 레코드들의 배열을 담도록 하였다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;json.dump&lt;/code&gt; 로 표현하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;이제 파일을 실행하여 json을 내보낸뒤 결과물을 확인하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ python3 ch01_writejson.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;... data.json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;data.json&lt;/code&gt; 파일을 열어서 확인하면 아래와 같이 깔끔하게 정렬된 json 데이터를 확인할 수 있을 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/09/json_input_output/writejson_01.png&#34; alt=&#34;writejson_01.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>파이썬을 활용한 CSV 파일 입출력 예제 with faker</title>
      <link>https://dschloe.github.io/programming/2021/09/csv_input_ouput/</link>
      <pubDate>Wed, 08 Sep 2021 16:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/09/csv_input_ouput/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;사전-작업&#34;&gt;사전 작업&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 임시 데이터를 기록할 라이브러리인 &lt;code&gt;faker&lt;/code&gt; 를 설치한다.&lt;/li&gt;&#xA;&lt;li&gt;흔히 쓰이는 필드들을 함수 하나로 쉽게 만들 수 있도록 지원한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ pip3 install faker&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;데이터-생성하기-전체-코드&#34;&gt;데이터 생성하기 전체 코드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 &lt;code&gt;[writecsv.py](http://writecsv.py)&lt;/code&gt; 형태로 저장하였다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 한줄 씩 설명하면 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; faker &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Faker&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; csv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;output&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;open(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;mydata.csv&amp;#39;&lt;/span&gt;, mode &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;w&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fake&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;Faker()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;header&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;age&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;state&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lng&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lat&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mywriter&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;csv&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;writer(output)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mywriter&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;writerow(header)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; r &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; range(&lt;span style=&#34;color:#ae81ff&#34;&gt;1000&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    mywriter&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;writerow([fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name(),fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;random_int(min&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;18&lt;/span&gt;, max&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;80&lt;/span&gt;, step&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;), fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;street_address(), fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;city(),fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;state(),fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;zipcode(),fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;longitude(),fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;latitude()])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;output&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;close()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;from faker import Faker&lt;/code&gt; 는 라이브러리를 불러오는 것이다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;import csv&lt;/code&gt; 는 &lt;code&gt;.csv&lt;/code&gt; 파일로 만들어주는 함수를 제공한다.&lt;/li&gt;&#xA;&lt;li&gt;이제 하나씩 살펴보도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;output&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;open(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;mydata.csv&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;w&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;파일을 쓰기 모드로 연다는 뜻이며, &lt;code&gt;w&lt;/code&gt; 파일 쓰기 모드로 지정한다.&lt;/li&gt;&#xA;&lt;li&gt;읽기 전용 모드로 사용하려면 &lt;code&gt;r&lt;/code&gt; ,&lt;/li&gt;&#xA;&lt;li&gt;기존 내용에 덧붙여 쓴다면, &lt;code&gt;a&lt;/code&gt;,&lt;/li&gt;&#xA;&lt;li&gt;읽기와 쓰기가 모두 가능한 파일 모드는 &lt;code&gt;r+&lt;/code&gt; ,&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 텍스트가 아닌 파일을 다룰 때는 &lt;code&gt;b&lt;/code&gt; 붙인다. 예를 들면, 데이터를 바이트 단위로 기록하려면 &lt;code&gt;mode = &amp;quot;wb&amp;quot;&lt;/code&gt; 로 지정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fake &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Faker()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;fake&lt;/code&gt;는 &lt;code&gt;Faker()&lt;/code&gt; 클래스의 객체를 생성했다는 것을 의미한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;header&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;age&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;street&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;state&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lng&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lat&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;header라는 리스트 객체를 만들고, 그 안에 각종 데이터가 들어갈 컬럼명을 추가했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mywriter&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;csv&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;writer(output)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mywriter&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;writerow(header)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; r &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; range(&lt;span style=&#34;color:#ae81ff&#34;&gt;1000&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    mywriter&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;writerow([fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name(),fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;random_int(min&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;18&lt;/span&gt;, max&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;80&lt;/span&gt;, step&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;), fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;street_address(), fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;city(),fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;state(),fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;zipcode(),fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;longitude(),fake&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;latitude()])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;output&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;close()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;csv.writer 객체를 생성하여 mywriter로 지정한다.&lt;/li&gt;&#xA;&lt;li&gt;그리고, header를 writerow()로 추가하면, 일종의 컬럼값이 우선 만들어진다.&lt;/li&gt;&#xA;&lt;li&gt;그 후에, 데이터 행을 파일에 기록하는 코드를 fake 내 함수를 반복문으로 활용하여 만든 것이다.&lt;/li&gt;&#xA;&lt;li&gt;모든 작업이 완료가 되었으면 &lt;code&gt;output.close()&lt;/code&gt; 로 종료 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ python3 ch01_loadcsv.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ch01_loadcsv.py data.csv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;파일을 실행하면 위와 같이 데이터가 만들어진 것을 볼 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;실제 아래와 같이 나온 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/09/csv_input_ouput/loadcsv_01.png&#34; alt=&#34;loadcsv_01.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kibana Installation</title>
      <link>https://dschloe.github.io/programming/2021/09/kibana_install/</link>
      <pubDate>Tue, 07 Sep 2021 13:13:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/09/kibana_install/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Elastic Search&lt;/code&gt;는 GUI를 제공하지 않고 API만 제공한다. 따라서, 시각화 도구인 키바나를 GUI로 사용하도록 하는 것이 특징이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Elastic Search&lt;/code&gt; 설치는 &lt;a href=&#34;%5Bhttps://dschloe.github.io/python/data_engineering/ch02_infra/elastic_search_install/%5D(https://dschloe.github.io/python/data_engineering/ch02_infra/elastic_search_install/)&#34;&gt;Elastic Search Engine Installation&lt;/a&gt;에서 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;즉, 다시 말하면 &lt;code&gt;Elastic Search&lt;/code&gt; 는 API 데이터만 제공할 뿐이고, 이를 가시적으로 보여주기 위해서는 Kibana를 설치해야 한다는 뜻이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;설치&#34;&gt;설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기본적인 설치 메뉴얼은 &lt;a href=&#34;%5Bhttps://www.elastic.co/guide/en/kibana/current/install.html%5D(https://www.elastic.co/guide/en/kibana/current/install.html)&#34;&gt;Install Kibana&lt;/a&gt;에서 확인이 가능하다.&lt;/li&gt;&#xA;&lt;li&gt;본 책에서는 MacOS 설치 과정으로 진행을 하였다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;%5Bhttps://www.elastic.co/guide/en/kibana/current/targz.html#targz%5D(https://www.elastic.co/guide/en/kibana/current/targz.html#targz)&#34;&gt;Install Kibana from archive on Linux or macOS&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;코드는 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ curl -O https://artifacts.elastic.co/downloads/kibana/kibana-7.14.1-darwin-x86_64.tar.gz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ curl https://artifacts.elastic.co/downloads/kibana/kibana-7.14.1-darwin-x86_64.tar.gz.sha512 | shasum -a &lt;span style=&#34;color:#ae81ff&#34;&gt;512&lt;/span&gt; -c -&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ tar -xzf kibana-7.14.1-darwin-x86_64.tar.gz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ cd kibana-7.14.1-darwin-x86_64/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;실행&#34;&gt;실행&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치가 종료가 된 이후에는 실행을 한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;주의&lt;/code&gt; : 이 때 주의해야 하는 것은 &lt;code&gt;elastic search&lt;/code&gt; 가 먼저 실행이 되어 있어야 한다는 점이다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://localhost:5601&#34;&gt;http://localhost:5601&lt;/a&gt; 포트를 열도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ ./bin/kibana&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;/img/programming/2021/09/kibana_install/kibana_install&lt;/p&gt;</description>
    </item>
    <item>
      <title>Elastic Search Engine Installation</title>
      <link>https://dschloe.github.io/programming/2021/09/elastic_search_install/</link>
      <pubDate>Tue, 07 Sep 2021 11:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/09/elastic_search_install/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;검색 엔진을 말한다.&lt;/li&gt;&#xA;&lt;li&gt;Mac에서 설치하는 과정을 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;가상 환경은 &lt;code&gt;virtualenv&lt;/code&gt; 를 통해서 진행한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조: &lt;a href=&#34;https://lee-mandu.tistory.com/517?category=838684&#34;&gt;https://lee-mandu.tistory.com/517?category=838684&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;그 후에 가상 환경에 접속한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;설치&#34;&gt;설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;각 OS별 설치 과정은 해당 URL에서 참조할 수 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;URL: &lt;a href=&#34;https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html&#34;&gt;https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;MacOS: &lt;a href=&#34;https://www.elastic.co/guide/en/elasticsearch/reference/current/targz.html&#34;&gt;https://www.elastic.co/guide/en/elasticsearch/reference/current/targz.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;설치는 다음 코드를 순차적으로 실행하면 끝이 난다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.14.1-darwin-x86_64.tar.gz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.14.1-darwin-x86_64.tar.gz.sha512&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ shasum -a &lt;span style=&#34;color:#ae81ff&#34;&gt;512&lt;/span&gt; -c elasticsearch-7.14.1-darwin-x86_64.tar.gz.sha512 &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ tar -xzf elasticsearch-7.14.1-darwin-x86_64.tar.gz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ cd elasticsearch-7.14.1/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;LICENSE.txt     NOTICE.txt      README.asciidoc bin             config          jdk.app         lib             logs            modules         plugins&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;현재 경로에서 &lt;code&gt;config/elasticsearch.yml&lt;/code&gt; 파일을 열고 노드와 클러스터 이름을 지정해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Use a descriptive name for your cluster:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;cluster.name&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;dataEngineeringWithPython&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# ------------------------------------ Node ------------------------------------&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Use a descriptive name for the node:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;node.name&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;OnlyMode&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이제 준비가 끝났다면, 다음 명령을 실행하여 일래스틱 서치를 진행해본다.&lt;/li&gt;&#xA;&lt;li&gt;사전에 Java가 설치가 되어 있어야 한다. 만약 설치가 안 되어 있다면, &lt;a href=&#34;%5Bhttps://dschloe.github.io/python/data_engineering/ch02_infra/apache_nifi_install/%5D(https://dschloe.github.io/python/data_engineering/ch02_infra/apache_nifi_install/)&#34;&gt;Apache NiFi Installation&lt;/a&gt;에서 설치과정을 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ ./bin/elasticsearch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;2021-09-07T11:09:50,528&lt;span style=&#34;color:#f92672&#34;&gt;][&lt;/span&gt;INFO &lt;span style=&#34;color:#f92672&#34;&gt;][&lt;/span&gt;o.e.n.Node               &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;OnlyMode&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; version&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;7.14.1&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;, pid&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;14599&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;, build&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;default/tar/66b55ebfa59c92c15db3f69a335d500018b3331e/2021-08-26T09:01:05.390870785Z&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;, OS&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;Mac OS X/11.4/x86_64&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;, JVM&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;AdoptOpenJDK/OpenJDK 64-Bit Server VM/11.0.11/11.0.11+9&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;2021-09-07T11:10:20,876&lt;span style=&#34;color:#f92672&#34;&gt;][&lt;/span&gt;INFO &lt;span style=&#34;color:#f92672&#34;&gt;][&lt;/span&gt;o.e.i.g.DatabaseRegistry &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;OnlyMode&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; database file changed &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;/var/folders/zq/ch7gky6n3rzgjf1pd0w2l35w0000gn/T/elasticsearch-1663630215408415345/geoip-databases/18vlOg1KR7q3JLo9G5S8SA/GeoLite2-City.mmdb&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;, reload database...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이제 http://localhost:9200을 열어본다.&lt;/li&gt;&#xA;&lt;li&gt;이 책에서 사용할 NoSQL DB가 준비가 되었다는 뜻을 의미한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/09/elastic_search_install/elastic.png&#34; alt=&#34;elastic.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Apache Airflow Installation</title>
      <link>https://dschloe.github.io/programming/2021/09/apache_airflow_install/</link>
      <pubDate>Mon, 06 Sep 2021 20:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/09/apache_airflow_install/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;NiFi와 같은 용도의 소프트웨어이며, 현재 가장 인기 있는 오픈소스 데이터 파이프라인 도구라고 할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;보통은 시스템에 경로를 설정한다. 그런데, 본 장에서는 가상환경 설정 후 진행하는 것으로 했다.&lt;/li&gt;&#xA;&lt;li&gt;가상 환경은 &lt;code&gt;virtualenv&lt;/code&gt; 를 통해서 진행한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조: &lt;a href=&#34;https://lee-mandu.tistory.com/517?category=838684&#34;&gt;https://lee-mandu.tistory.com/517?category=838684&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;그 후에 가상 환경에 접속한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ source venv/bin/activate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-01-환경변수-설정&#34;&gt;Step 01. 환경변수 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 &lt;code&gt;pip&lt;/code&gt; 으로 설치 하기에 앞서서 환경 변수를 임시로 설정한다.&lt;/li&gt;&#xA;&lt;li&gt;해당 환경 변수가 설정된 곳으로 airflow 설치 관련 폴더 및 파일들이 다운로드 될 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ export AIRFLOW_HOME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;pwd&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;venv&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; $ echo $AIRFLOW_HOME&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/Users/evan/Desktop/data_engineering_python/install_files/airflow&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-02-라이브러리-설치&#34;&gt;Step 02. 라이브러리 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 airflow 설치를 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;이때, 설치 명령어에 따른 옵션은 아래 그림에서 살펴보기를 바란다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/09/apache_airflow_install/airflow_01.png&#34; alt=&#34;airflow_01.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Apache NiFi Installation</title>
      <link>https://dschloe.github.io/programming/2021/09/apache_nifi_install/</link>
      <pubDate>Mon, 06 Sep 2021 16:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/09/apache_nifi_install/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 엔지니어링에 필요한 기본적인 인프라를 설치 진행하는 튜토리얼을 만들었다.&lt;/li&gt;&#xA;&lt;li&gt;기본적으로 교재에 충실하지만, 약 1년전에 쓰인 책이라, 최신 버전으로 업그레이드 하였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;apache-nifi-설치과정&#34;&gt;Apache NiFi 설치과정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 웹사이트에 방문하여 필요한 파일을 다운로드 받는다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;URL: &lt;a href=&#34;https://nifi.apache/&#34;&gt;https://nifi.apache&lt;/a&gt;.org/download.html&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;wget을 이용해서 NiFi를 현재 디렉터리에 내려받는다.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ wget https://downloads.apache.org/nifi/1.14.0/nifi-1.14.0-bin.tar.gz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;--2021-09-06 13:10:55--  https://downloads.apache.org/nifi/1.14.0/nifi-1.14.0-bin.tar.gz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Resolving downloads.apache.org &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;downloads.apache.org&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;... 135.181.214.104, 135.181.209.10, 88.99.95.219&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Connecting to downloads.apache.org &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;downloads.apache.org&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;|135.181.214.104|:443... connected.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;HTTP request sent, awaiting response... &lt;span style=&#34;color:#ae81ff&#34;&gt;200&lt;/span&gt; OK&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Length: &lt;span style=&#34;color:#ae81ff&#34;&gt;1417663663&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;1.3G&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;application/x-gzip&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Saving to: ‘nifi-1.14.0-bin.tar.gz’&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nifi-1.14.0-bin.tar.gz                      100%&lt;span style=&#34;color:#f92672&#34;&gt;[==========================================================================================&lt;/span&gt;&amp;gt;&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;   1.32G  5.27MB/s    in 4m 13s&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;&#xA;&lt;li&gt;&lt;code&gt;.tar.gz&lt;/code&gt; 파일의 압축을 푼다.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ tar -xvf nifi-1.14.0-bin.tar.gz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nifi-1.14.0             nifi-1.14.0-bin.tar.gz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;&#xA;&lt;li&gt;&lt;code&gt;nifi-1.14.0&lt;/code&gt; 의 디렉터리가 생겼을 것이며, 해당 디렉터리로 가서 다음 명령어를 실행한다.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cd nifi-1.14.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ bin/nifi.sh start&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nifi.sh: JAVA_HOME not set; results may vary&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Java home: &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;NiFi home: /Users/evan/Desktop/data_engineering_python/install_files/nifi-1.14.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Bootstrap Config File: /Users/evan/Desktop/data_engineering_python/install_files/nifi-1.14.0/conf/bootstrap.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;The operation couldn’t be completed. Unable to locate a Java Runtime.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Please visit http://www.java.com &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; information on installing Java.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;자바가 이미 설치가 되어 있다면 정상적으로 실행이 된다.&lt;/li&gt;&#xA;&lt;li&gt;그러나, 자바가 설치가 되어 있지 않다면 위 에러와 같이 별도로 자바 환경 설치를 해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;3.1 자바 설치 및 환경변수 지정&lt;/p&gt;</description>
    </item>
    <item>
      <title>LSTM을 활용한 주식가격 예측</title>
      <link>https://dschloe.github.io/programming/2021/08/deep_learning_lstm/</link>
      <pubDate>Fri, 27 Aug 2021 16:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/08/deep_learning_lstm/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://inf.run/bqTn&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://inf.run/Uf3Z&#34;&gt;[비전공자 대환영] 캐글 데이터를 활용한 Optuna with MLFlow - 캐글다지기&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;머신러닝 하이퍼파라미터 튜닝 등을 배우고 싶다면 다음 강의를 참고하세요.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad2.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;lstm과-rnn의-개요&#34;&gt;LSTM과 RNN의 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;RNN은 자연어처리에서 사용되는 대표적인 알고리즘&#xA;&lt;ul&gt;&#xA;&lt;li&gt;순환신경망으로 표현됨&lt;/li&gt;&#xA;&lt;li&gt;활용범위: 음성 인식, 언어 모델링, 번역, 이미지 주석 생성&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=http%3A%2F%2Fcfile3.uf.tistory.com%2Fimage%2F9901A1415ACB86A0211095&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>기업 요청 샘플 (수강생) - Python Dash를 활용한 대시보드</title>
      <link>https://dschloe.github.io/programming/2021/08/dash_cpu_logdata/</link>
      <pubDate>Thu, 26 Aug 2021 14:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/08/dash_cpu_logdata/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;보안 로그 파일을 업로드한 뒤, 점검 결과를 자동으로 출력해주도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;(수강생의 도전) 보안 로그 파일을 업로드 한 뒤, CPU 사용률이 70%가 넘으면 경고 메시지를 뛰우도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;advert-inline&#34;&gt;&#xA;&#x9;&lt;script async src=&#34;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9871603218577546&#34;&#xA;&#x9;&#x9;&#x9;crossorigin=&#34;anonymous&#34;&gt;&lt;/script&gt;&#xA;&#x9;&#xA;&#x9;&lt;ins class=&#34;adsbygoogle&#34;&#xA;     &#x9; style=&#34;display:block; text-align:center;&#34;&#xA;     &#x9; data-ad-layout=&#34;in-article&#34;&#xA;     &#x9; data-ad-format=&#34;fluid&#34;&#xA;&#x9;&#x9; data-ad-client=&#34;ca-pub-9871603218577546&#34;&#xA;&#x9;&#x9; data-ad-slot=&#34;3951220622&#34;&#xA;&#x9;&#x9; data-ad-format=&#34;auto&#34;&#xA;&#x9;&#x9; data-full-width-responsive=&#34;true&#34;&gt;&#xA;&#x9;&lt;/ins&gt;&#xA;&#x9;&lt;script&gt;&#xA;     (adsbygoogle = window.adsbygoogle || []).push({});&#xA;&#x9;&lt;/script&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&lt;h2 id=&#34;chapter-1-로그데이터-분석-및-확인&#34;&gt;Chapter 1. 로그데이터 분석 및 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 CPU가 들어있는 로그데이터를 확인한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;골든시스에서 제공한 Sample 데이터를 근거로 랜덤하게 데이터를 생성했다.  파일명: &lt;code&gt;(cpu_test.txt)&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Dorm_E_116.95#&#xA;Dorm_E_116.95#sh logg&#xA;Dorm_E_116.95#sh logging &#xA;Syslog logging: enabled (0 messages dropped, 1 messages rate-limited, 0 flushes, 0 overruns, xml disabled, filtering disabled)&#xA;&#xA;No Active Message Discriminator.&#xA;&#xA;No Inactive Message Discriminator.&#xA;&#xA;    Console logging: level debugging, 2178 messages logged, xml disabled,&#xA;                     filtering disabled&#xA;    Monitor logging: level debugging, 244 messages logged, xml disabled,&#xA;                     filtering disabled&#xA;    Buffer logging:  level debugging, 2178 messages logged, xml disabled,&#xA;                    filtering disabled&#xA;    Exception Logging: size (4096 bytes)&#xA;    Count and timestamp logging messages: disabled&#xA;    File logging: disabled&#xA;    Persistent logging: disabled&#xA;&#xA;No active filter modules.&#xA;&#xA;    Trap logging: level informational, 2176 message lines logged&#xA;        Logging Source-Interface:       VRF Name:&#xA;          &#xA;Log Buffer (100000 bytes):&#xA;17:19:23: %PM-4-ERR_DISABLE: storm-control error detected on Gi1/0/36, putting Gi1/0/36 in err-disable state&#xA;Jul  7 17:19:23: %STORM_CONTROL-3-SHUTDOWN: A packet storm was detected on Gi1/0/36. The interface has been disabled.&#xA;Jul  7 17:19:25: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/36, changed state to down&#xA;Jul  7 17:19:53: %PM-4-ERR_RECOVER: Attempting to recover from storm-control err-disable state on Gi1/0/36&#xA;Switch#show processor cpu&#xA;CPU utilization for five seconds: 4%/1%; one minute: 3%; five minutes: 3%&#xA;.&#xA;.&#xA;.&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;업무 수행 시, 위와 같은 데이터를 생성한다. 그 후에, 점검일지 파일을 작성한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;점검일지 파일 Sample&#xA;/img/programming/2021/08/dash_cpu_logdata/log_01.png&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/08/dash_cpu_logdata/log_01.png&#34; alt=&#34;log_01.png&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-문제점-진단&#34;&gt;(1) 문제점 진단&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;통상적으로 위와 같이 명령어를 입력한 뒤 결괏값을 찾아 수기로 입력하여 작성하도록 함&lt;/li&gt;&#xA;&lt;li&gt;일일이 확인해야 하는 번거로움이 있다보니, 이를 자동으로 처리할 수 있는 툴 제작 의뢰를 받음&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-해결방안&#34;&gt;(2) 해결방안&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;명령어 및 결괏값이 일정한 패턴이 있기 때문에, 문자열 매칭을 통해 전처리가 가능한 것을 확인&lt;/li&gt;&#xA;&lt;li&gt;또한, Dash 프레임워크를 통해 비교적 간단하게 대시보드를 만들 수 있음에 착안하였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-배경지식&#34;&gt;(3) 배경지식&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;보안 관련 명령어 지식이 필요할 수도 있어서, 공유한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;URL: &lt;a href=&#34;https://www.cisco.com/c/ko_kr/support/docs/ios-nx-os-software/ios-software-releases-120-mainline/15102-showproc-cpu.html#showproccpu&#34;&gt;https://www.cisco.com/c/ko_kr/support/docs/ios-nx-os-software/ios-software-releases-120-mainline/15102-showproc-cpu.html#showproccpu&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;chapter-2-문자열-전처리-함수-만들기&#34;&gt;Chapter 2. 문자열 전처리 함수 만들기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 Jupyter Lab에서 간단한 테스트 함수를 만들어 보았다.&lt;/li&gt;&#xA;&lt;li&gt;전체 코드는 아래와 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일을 불러온 뒤 우선 각 코드 라인 중에서 &lt;code&gt;CPU utilization&lt;/code&gt; 가 있는 텍스트만 남기고 그 외에는 모두 삭제한다.&lt;/li&gt;&#xA;&lt;li&gt;여기에서 다른 명령어의 결괏값을 확인하다면, if else 구문으로 계속적으로 확장할 수 있을 것이다.&lt;/li&gt;&#xA;&lt;li&gt;그 후에, 각 re.sub 함수를 활용하여 수치만 뽑아낸다.&lt;/li&gt;&#xA;&lt;li&gt;이를 각 데이터 프레임에 추가한 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; re&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;text_cleanser&lt;/span&gt;(FILE_PATH):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;with&lt;/span&gt; open(FILE_PATH, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;r&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; f:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        logLines &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; f&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;splitlines()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    cleaned_lines &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [x &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; x &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; logLines &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;CPU utilization&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; x]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    clean_text &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; re&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sub(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/[0-9]%&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;, cleaned_lines[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;temp:&amp;#34;&lt;/span&gt;, clean_text)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    result_list &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; re&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;findall(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;\d+&amp;#34;&lt;/span&gt;, clean_text)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; result_list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;FILE_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/cpu_test.txt&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;result_list &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; text_cleanser(FILE_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;result_list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 파일을 Jupyter lab에서 실행하면 아래와 같은 결괏값이 출력될 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp: CPU utilization for five seconds: 4%; one minute: 3%; five minutes: 3%&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[&amp;#39;4&amp;#39;, &amp;#39;3&amp;#39;, &amp;#39;3&amp;#39;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;출력한 결과물을 pandas 데이터 프레임에 적용한 결과는 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame({&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;분류&amp;#34;&lt;/span&gt;:[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;cpu&amp;#34;&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                     &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;점검내용&amp;#34;&lt;/span&gt;: [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;CPU 사용률 점검 및 불필요한 프로세스 확인&amp;#34;&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                     &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;점검기준&amp;#34;&lt;/span&gt;: [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;MEM 임계치: 70% (MAX)&amp;#34;&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                     &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;점검방법&amp;#34;&lt;/span&gt;: [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;show processes cpu | in five&amp;#34;&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                     &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;5초 동안 CPU 사용률&amp;#34;&lt;/span&gt;: [result_list[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]], &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                     &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;1분 동안 CPU 사용률&amp;#34;&lt;/span&gt;: [result_list[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]], &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                     &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;5분 동안 CPU 사용률&amp;#34;&lt;/span&gt;: [result_list[&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;]], &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    })&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/08/dash_cpu_logdata/log_02.png&#34; alt=&#34;log_02.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>네이버 뉴스 댓글 크롤링 대시보드 만들기 with Heroku</title>
      <link>https://dschloe.github.io/programming/2021/08/dash-crawling-tutorial/</link>
      <pubDate>Tue, 17 Aug 2021 11:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/08/dash-crawling-tutorial/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1-개요&#34;&gt;1. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기존 웹크롤링은 주로 코드에 기반한 소개가 주를 이루었음&lt;/li&gt;&#xA;&lt;li&gt;본 장에서는 가급적 사용자 기준에 맞춰서 뉴스 URL만 입력하면 댓글 수집할 수 있는 기능 소개함&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;advert-inline&#34;&gt;&#xA;&#x9;&lt;script async src=&#34;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9871603218577546&#34;&#xA;&#x9;&#x9;&#x9;crossorigin=&#34;anonymous&#34;&gt;&lt;/script&gt;&#xA;&#x9;&#xA;&#x9;&lt;ins class=&#34;adsbygoogle&#34;&#xA;     &#x9; style=&#34;display:block; text-align:center;&#34;&#xA;     &#x9; data-ad-layout=&#34;in-article&#34;&#xA;     &#x9; data-ad-format=&#34;fluid&#34;&#xA;&#x9;&#x9; data-ad-client=&#34;ca-pub-9871603218577546&#34;&#xA;&#x9;&#x9; data-ad-slot=&#34;3951220622&#34;&#xA;&#x9;&#x9; data-ad-format=&#34;auto&#34;&#xA;&#x9;&#x9; data-full-width-responsive=&#34;true&#34;&gt;&#xA;&#x9;&lt;/ins&gt;&#xA;&#x9;&lt;script&gt;&#xA;     (adsbygoogle = window.adsbygoogle || []).push({});&#xA;&#x9;&lt;/script&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&lt;h2 id=&#34;2-라이브러리&#34;&gt;2. 라이브러리&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;크롤링 및 대시보드 작업을 위한 필수 라이브러리는 다음과 같음 (requirements.txt)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;colorama==0.4.4&#xA;dash==1.21.0&#xA;gunicorn==20.1.0&#xA;numpy==1.19.4&#xA;pandas==1.2.0&#xA;beautifulsoup4==4.9.3&#xA;openpyxl==3.0.7&#xA;requests==2.26.0&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 파일을 프로젝트의 가장 최상단에 위치시켜 놓는다.&lt;/li&gt;&#xA;&lt;li&gt;설치 진행 시에는 &lt;code&gt;pip install -r requirements.txt&lt;/code&gt; 해도 좋고, 아니면 개별적으로 설치를 해도 좋다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;3-코드-설명&#34;&gt;3. 코드 설명&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본장에서는 디테일한 코드 설명은 넘어가도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-크롤링-코드&#34;&gt;(1) 크롤링 코드&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 크롤링 코드는 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 크롤링 라이브러리&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; bs4 &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; BeautifulSoup&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; requests&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; re&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 데이터프레임&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 샘플 URL을 적용한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://news.naver.com/main/read.naver?mode=LSD&amp;amp;mid=shm&amp;amp;sid1=100&amp;amp;oid=022&amp;amp;aid=0003609357&amp;#34;&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;get_df&lt;/span&gt;(url):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 댓글을 달 빈 리스트를 생성합니다.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    List &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; []&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; url&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    oid &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; url&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;split(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;oid=&amp;#34;&lt;/span&gt;)[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;split(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;amp;&amp;#34;&lt;/span&gt;)[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    aid &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; url&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;split(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;aid=&amp;#34;&lt;/span&gt;)[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    page &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    header &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;User-agent&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;referer&amp;#34;&lt;/span&gt;: url,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;while&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        c_url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://apis.naver.com/commentBox/cbox/web_neo_list_jsonp.json?ticket=news&amp;amp;templateId=default_society&amp;amp;pool=cbox5&amp;amp;_callback=jQuery1707138182064460843_1523512042464&amp;amp;lang=ko&amp;amp;country=&amp;amp;objectId=news&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; oid &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;%2C&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; aid &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;amp;categoryId=&amp;amp;pageSize=20&amp;amp;indexSize=10&amp;amp;groupId=&amp;amp;listType=OBJECT&amp;amp;pageType=more&amp;amp;page=&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; str(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            page) &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;amp;refresh=false&amp;amp;sort=FAVORITE&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 파싱하는 단계입니다.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        r &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; requests&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(c_url, headers&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;header)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        cont &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; BeautifulSoup(r&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;content, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;html.parser&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        total_comm &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; str(cont)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;split(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;comment&amp;#34;:&amp;#39;&lt;/span&gt;)[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;split(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;,&amp;#34;&lt;/span&gt;)[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;match&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; re&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;findall(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#34;contents&amp;#34;:([^\*]*),&amp;#34;userIdNo&amp;#34;&amp;#39;&lt;/span&gt;, str(cont))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 댓글을 리스트에 중첩합니다.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        List&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;append(&lt;span style=&#34;color:#66d9ef&#34;&gt;match&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 한번에 댓글이 20개씩 보이기 때문에 한 페이지씩 몽땅 댓글을 긁어 옵니다.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; int(total_comm) &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;=&lt;/span&gt; ((page) &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;break&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            page &lt;span style=&#34;color:#f92672&#34;&gt;+=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#75715e&#34;&gt;# &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;flatten&lt;/span&gt;(l):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        flatList &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; []&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; elem &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; l:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# if an element of a list is a list&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# iterate over this list and add elements to flatList&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; type(elem) &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; list:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; e &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; elem:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    flatList&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;append(e)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               flatList&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;append(elem)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; flatList&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 리스트 결과입니다.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# print(flatten(List))&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# convert dataframe&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame(flatten(List), columns&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;기사댓글&amp;#34;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rename_axis(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;index&amp;#34;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reset_index()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# write_excel&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# data.to_excel(&amp;#34;news_comments.xlsx&amp;#34;, sheet_name=&amp;#34;Sheet1&amp;#34;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# data = get_df(url) # URL 테스트 시, 실행 &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame({&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;index&amp;#34;&lt;/span&gt;: [&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;], &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;기사댓글&amp;#34;&lt;/span&gt;: [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;댓글&amp;#34;&lt;/span&gt;]}) &lt;span style=&#34;color:#75715e&#34;&gt;# 앱 배포시 실행&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# print(data.head())&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;중간에 주석처리 한 것을 풀면 된다.&lt;/li&gt;&#xA;&lt;li&gt;해당 코드는 &lt;a href=&#34;http://app.py&#34;&gt;app.py&lt;/a&gt; 또는 일반적인 주피터 노트북, 구글 코랩에서 실행해도 된다.&lt;/li&gt;&#xA;&lt;li&gt;수집된 댓글을 확인해보니, 중간에 삭제된 글은 댓글 수집 시, 제외되는 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/08/dash-crawling-tutorial/dash-crawling-04.png&#34; alt=&#34;dash-crawling-04.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python Dash를 활용한 대시보드에서 엑셀 데이터로 다운로드 받기</title>
      <link>https://dschloe.github.io/programming/2021/08/dash_security_log/</link>
      <pubDate>Thu, 12 Aug 2021 09:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/08/dash_security_log/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;대시보드-dash-project---excel-다운로드&#34;&gt;[대시보드] Dash Project - Excel 다운로드&lt;/h1&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;각 레벨에 따라 달라지는 데이터를 시각화로 표현하고 결과치를 엑셀로 다운로드 받는 기능을 구현한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;advert-inline&#34;&gt;&#xA;&#x9;&lt;script async src=&#34;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9871603218577546&#34;&#xA;&#x9;&#x9;&#x9;crossorigin=&#34;anonymous&#34;&gt;&lt;/script&gt;&#xA;&#x9;&#xA;&#x9;&lt;ins class=&#34;adsbygoogle&#34;&#xA;     &#x9; style=&#34;display:block; text-align:center;&#34;&#xA;     &#x9; data-ad-layout=&#34;in-article&#34;&#xA;     &#x9; data-ad-format=&#34;fluid&#34;&#xA;&#x9;&#x9; data-ad-client=&#34;ca-pub-9871603218577546&#34;&#xA;&#x9;&#x9; data-ad-slot=&#34;3951220622&#34;&#xA;&#x9;&#x9; data-ad-format=&#34;auto&#34;&#xA;&#x9;&#x9; data-full-width-responsive=&#34;true&#34;&gt;&#xA;&#x9;&lt;/ins&gt;&#xA;&#x9;&lt;script&gt;&#xA;     (adsbygoogle = window.adsbygoogle || []).push({});&#xA;&#x9;&lt;/script&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&lt;h2 id=&#34;데이터-다운로드&#34;&gt;데이터 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터는 &lt;code&gt;로그 분석을 통한 보안 위험도 예측 AI 경진대회&lt;/code&gt; 에서 가져왔다. (회원가입 필수)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Data: &lt;a href=&#34;https://dacon.io/competitions/official/235717/data&#34;&gt;https://dacon.io/competitions/official/235717/data&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;데이터는 train 데이터만 활용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;train.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;id  level                                           full_log&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  Sep &lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;02&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;22&lt;/span&gt; localhost kibana: {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;err...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  Feb  &lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;16&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;21&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;00&lt;/span&gt; localhost logstash: [&lt;span style=&#34;color:#ae81ff&#34;&gt;2021&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;02&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;..&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  Jan &lt;span style=&#34;color:#ae81ff&#34;&gt;13&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;01&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;50&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;40&lt;/span&gt; localhost kibana: {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;err...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  Jan  &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;18&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;31&lt;/span&gt; localhost kibana: {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;err...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;  type&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;SYSCALL msg&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;audit(&lt;span style=&#34;color:#ae81ff&#34;&gt;1603094402.016&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;52981&lt;/span&gt;): &lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;함수-작성&#34;&gt;함수 작성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;각 레벨에 따른 첫번째 글자수의 빈도를 구하는 데이터를 구하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;예를 들면, level 1에 대한 첫번째 글자 수를 집계한 결과는 아래와 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래와 같은 결과값이 나오는 함수를 작성할 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;index     cnt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  type&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;SYSCALL  &lt;span style=&#34;color:#ae81ff&#34;&gt;116496&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;           Jan    &lt;span style=&#34;color:#ae81ff&#34;&gt;3019&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;           Oct    &lt;span style=&#34;color:#ae81ff&#34;&gt;2904&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;           Nov    &lt;span style=&#34;color:#ae81ff&#34;&gt;2646&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;           Feb    &lt;span style=&#34;color:#ae81ff&#34;&gt;2381&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;먼저 함수를 작성해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;get_df&lt;/span&gt;(data, level&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# pandas dataframe&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    lvl_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;loc[data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;level &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; level]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;full_log&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;apply(&lt;span style=&#34;color:#66d9ef&#34;&gt;lambda&lt;/span&gt; x: x&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;split(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39; &amp;#39;&lt;/span&gt;)[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;])&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value_counts()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rename(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cnt&amp;#39;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_frame()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reset_index()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; lvl_df&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; get_df(train_df, level &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;index     cnt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  type&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;SYSCALL  &lt;span style=&#34;color:#ae81ff&#34;&gt;116496&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;           Jan    &lt;span style=&#34;color:#ae81ff&#34;&gt;3019&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;           Oct    &lt;span style=&#34;color:#ae81ff&#34;&gt;2904&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;           Nov    &lt;span style=&#34;color:#ae81ff&#34;&gt;2646&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;           Feb    &lt;span style=&#34;color:#ae81ff&#34;&gt;2381&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 데이터를 토대로 시각화를 작성하고, 그 후에는 엑셀로 된 데이터로 변환하는 것이 목표이다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 각 레벨의 값에 따라 데이터 결괏값과 시각화의 그림도 달라지게 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;프로젝트-폴더-정리&#34;&gt;프로젝트 폴더 정리&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;최종적인 프로젝트 폴더 및 파일은 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;C:.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;│&lt;/span&gt;  .gitignore&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;│&lt;/span&gt;  app.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;│&lt;/span&gt;  README.md&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;│&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;│&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;├─&lt;/span&gt;assets&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;│&lt;/span&gt;      style.css&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;│&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;├─&lt;/span&gt;data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;│&lt;/span&gt;      train.csv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;1-데이터-불러오기&#34;&gt;(1) 데이터 불러오기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 &lt;code&gt;app.py&lt;/code&gt;를 작성하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 데이터를 불러오는 코드 사용자 정의 함수는 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; dash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; dash_table&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; dash_core_components &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; dcc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; dash_html_components &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; html&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; dash.dependencies &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Input, Output&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 함수 정의&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;get_df&lt;/span&gt;(data, level&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# pandas dataframe&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    lvl_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;loc[data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;level &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; level]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;full_log&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;apply(&lt;span style=&#34;color:#66d9ef&#34;&gt;lambda&lt;/span&gt; x: x&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;split(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39; &amp;#39;&lt;/span&gt;)[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;])&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value_counts()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rename(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cnt&amp;#39;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_frame()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reset_index()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; lvl_df&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;DATA_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(DATA_PATH &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;train.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(train_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; get_df(train_df, level&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head()) &lt;span style=&#34;color:#75715e&#34;&gt;# 결과치가 잘 나오는지 확인하다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;level=1&lt;/code&gt; 에서, 숫자를 변경하여 결괏값이 서로 다르게 나타나는지 반드시 확인하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-dash-객체-생성&#34;&gt;(2) Dash 객체 생성&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;dash&lt;/code&gt; 클래스를 호출화여 app 인스턴스화를 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;또한, &lt;code&gt;app.title&lt;/code&gt; 과 &lt;code&gt;app.layout&lt;/code&gt; 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;external_stylesheets &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://fonts.googleapis.com/css2?&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;family=Lato:wght@400;700&amp;amp;display=swap&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;rel&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;stylesheet&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;app &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; dash&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Dash(__name__, external_stylesheets&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;external_stylesheets)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;app&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;title &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Temp Analytics: Understand Your Data!&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;app&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;layout &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; html&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Div(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    html&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;P(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hello World&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;app&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;run_server(debug&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;앱을 실행하면 아래와 같이 결괏값이 나타날 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;id  level                                           full_log&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  Sep &lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;02&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;22&lt;/span&gt; localhost kibana&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt; {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;err...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;1   1      0  Feb  8 16:21:00 localhost logstash: [2021-02-0...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;2   2      0  Jan 13 01:50:40 localhost kibana: {&amp;#34;&lt;/span&gt;type&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;:&amp;#34;&lt;/span&gt;err...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  Jan  &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;18&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;31&lt;/span&gt; localhost kibana&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt; {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;err...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;4   4      1  type=SYSCALL msg=audit(1603094402.016:52981): ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;          index     cnt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;0  type=SYSCALL  116496&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;1           Jan    3019&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;2           Oct    2904&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;3           Nov    2646&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;4           Feb    2381&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Dash is running on http://127.0.0.1:8050/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;[http://127.0.0.1:8050/](http://127.0.0.1:8050/)&lt;/code&gt; 을 클릭하면 &lt;code&gt;Hello World&lt;/code&gt; 만 나타날 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-html-상단-머리글-입력&#34;&gt;(3) HTML 상단 머리글 입력&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 &lt;code&gt;HTML&lt;/code&gt; 코드를 추가로 입력한다.&lt;/li&gt;&#xA;&lt;li&gt;이제 &lt;code&gt;app.layout&lt;/code&gt; 을 입력 하는 코드를 작성해보도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;HTML 코드는 &lt;code&gt;DIV 태그&lt;/code&gt;가 기준이 된다. 따라서, &lt;code&gt;DIV&lt;/code&gt; 태그가 완성될 때마다 화면을 공유하도록 했다.&lt;/li&gt;&#xA;&lt;li&gt;먼저, 화면의 상단 &lt;code&gt;DIV&lt;/code&gt; 태그를 작업한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;app&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;layout &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; html&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Div(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;children&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        html&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Div(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            children&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                html&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;P(children&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;📈&amp;#34;&lt;/span&gt;, className&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;header_emoji&amp;#34;&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                html&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;H1(children&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Temp Analytics&amp;#34;&lt;/span&gt;, className&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;header_title&amp;#34;&lt;/span&gt;, ),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                html&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;P(children&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Temp&amp;#34;&lt;/span&gt;, className&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;header_description&amp;#34;&lt;/span&gt;, ),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            ],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            className&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;header&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        ),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;아직 &lt;code&gt;style.css&lt;/code&gt;을 입히기 전의 화면을 보면 다음과 같이 출력될 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/08/dash_security_log/dash_01.png&#34; alt=&#34;dash_01.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python Dash를 활용한 대시보드 만들기 with Heroku</title>
      <link>https://dschloe.github.io/programming/2021/08/dash_project/</link>
      <pubDate>Wed, 04 Aug 2021 18:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/08/dash_project/</guid>
      <description>&lt;h2 id=&#34;강의-소개&#34;&gt;강의 소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자의 강의를 소개합니다.&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/mQTuD7gx-hw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;advert-inline&#34;&gt;&#xA;&#x9;&lt;script async src=&#34;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9871603218577546&#34;&#xA;&#x9;&#x9;&#x9;crossorigin=&#34;anonymous&#34;&gt;&lt;/script&gt;&#xA;&#x9;&#xA;&#x9;&lt;ins class=&#34;adsbygoogle&#34;&#xA;     &#x9; style=&#34;display:block; text-align:center;&#34;&#xA;     &#x9; data-ad-layout=&#34;in-article&#34;&#xA;     &#x9; data-ad-format=&#34;fluid&#34;&#xA;&#x9;&#x9; data-ad-client=&#34;ca-pub-9871603218577546&#34;&#xA;&#x9;&#x9; data-ad-slot=&#34;3951220622&#34;&#xA;&#x9;&#x9; data-ad-format=&#34;auto&#34;&#xA;&#x9;&#x9; data-full-width-responsive=&#34;true&#34;&gt;&#xA;&#x9;&lt;/ins&gt;&#xA;&#x9;&lt;script&gt;&#xA;     (adsbygoogle = window.adsbygoogle || []).push({});&#xA;&#x9;&lt;/script&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;대시보드 프로젝트를 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;Heroku에 배포까지 진행하는 것을 목적으로 한다.&lt;/li&gt;&#xA;&lt;li&gt;참조: &lt;a href=&#34;https://realpython.com/python-dash/&#34;&gt;https://realpython.com/python-dash/&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;여기에 있는 내용을 최대한 간결하게 한글로 재 작성하였다. 중간에 없는 코드들도 있으니, 가급적 본 소스코드를 활용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1-데이터-수집&#34;&gt;1. 데이터 수집&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터: &lt;a href=&#34;https://www.kaggle.com/neuromusic/avocado-prices&#34;&gt;https://www.kaggle.com/neuromusic/avocado-prices&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;다운로드 받은 파일은 임의의 폴더 안에 넣습니다. (필자: dashboard-project21)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;C:\Users\&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;\Desktop\dashboard-project21&amp;gt;tree /f&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;폴더 PATH의 목록입니다.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;볼륨 일련 번호는 E657-CFA3입니다.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;C:.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;│&lt;/span&gt;  README.md&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;│&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;└─&lt;/span&gt;data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        avocado.csv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;파일 경로를 주의해서 보도록 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;2-가상환경-및-라이브러리-설치&#34;&gt;2. 가상환경 및 라이브러리 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;conda를 활용하여 가상환경 설정을 합니다.&lt;/li&gt;&#xA;&lt;li&gt;(dashboard-project21) 형태로 터미널 명령어가 바뀌어 있어야 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ conda create --name dashboard-project21 python=&lt;span style=&#34;color:#ae81ff&#34;&gt;3.8&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ conda activate dashboard-project21&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(dashboard-project21) C:\Users\&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;\Desktop\dashboard-project21&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 &lt;code&gt;dash&lt;/code&gt; 라이브러리를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ conda install dash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ conda install pandas&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ conda install colorama&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;3-대시-보드-코드-작성&#34;&gt;3. 대시 보드 코드 작성&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-데이터-수집-및-dash-클래스-정의&#34;&gt;(1) 데이터 수집 및 Dash 클래스 정의&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; dash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; dash_core_components &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; dcc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; dash_html_components &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; html&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# step 1. Data Import&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;avocado.csv&amp;#34;&lt;/span&gt;, index_col&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;query(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type == &amp;#39;conventional&amp;#39; and region == &amp;#39;Albany&amp;#39;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Date&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_datetime(data[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Date&amp;#34;&lt;/span&gt;], format&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;%Y-%m-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%d&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sort_values(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Date&amp;#34;&lt;/span&gt;, inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# step 2. Dash Class&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;app &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; dash&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Dash(__name__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;dash&lt;/code&gt; 라이브러리는 대시보드 어플리케이션 초기화를 담당한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;dash_core_components&lt;/code&gt; 동적 구성요소들(예: 그래프, 드롭다운 메뉴, 날짜 기간 등) 작성할 수 있도록 도와주는 기능을 제공한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;dash_html_components&lt;/code&gt; 은 html 태그에 접근하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pandas&lt;/code&gt; 데이터 수집 및 가공을 제공할 수 있는 함수들을 지원한다.&lt;/li&gt;&#xA;&lt;li&gt;코드 설명&#xA;&lt;ul&gt;&#xA;&lt;li&gt;step 1&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터를 avocado.csv 데이터를 수집한 후, &lt;code&gt;type = conventional&lt;/code&gt; 과, &lt;code&gt;region = Albany&lt;/code&gt; 만 추출하는 행을 추출한다.&lt;/li&gt;&#xA;&lt;li&gt;그 이후 날짜의 오름차순으로 정렬하는 코드를 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;step 2&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Dash 클래스를 정의하여 app이라는 객체를 별도 생성한 것을 의미한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-대시보드-html-layout-정의&#34;&gt;(2) 대시보드 HTML Layout 정의&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이전 코드에 이어서 작성을 하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# step 3. HTML&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;app&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;layout &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; html&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Div(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;  &lt;span style=&#34;color:#75715e&#34;&gt;# Header Message&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    children&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        html&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;H1(children&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Temp Analytics&amp;#34;&lt;/span&gt;,),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        html&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;P(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            children&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Temp&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        ),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 그래프&#x9;&#x9;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        dcc&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Graph(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            figure&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;{&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data&amp;#34;&lt;/span&gt;: [&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;x&amp;#34;&lt;/span&gt;: data[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Date&amp;#34;&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;y&amp;#34;&lt;/span&gt;: data[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;AveragePrice&amp;#34;&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;lines&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                ],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;layout&amp;#34;&lt;/span&gt;: {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;title&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Title_1&amp;#34;&lt;/span&gt;},&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        ),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        dcc&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Graph(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            figure&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;{&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data&amp;#34;&lt;/span&gt;: [&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;x&amp;#34;&lt;/span&gt;: data[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Date&amp;#34;&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;y&amp;#34;&lt;/span&gt;: data[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Total Volume&amp;#34;&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;lines&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                ],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;layout&amp;#34;&lt;/span&gt;: {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;title&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Title_2&amp;#34;&lt;/span&gt;},&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        ),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;Dash&lt;/code&gt;는 크게 2가지로 구성이 된다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python과 Oracle 연동</title>
      <link>https://dschloe.github.io/programming/2021/07/python_oracle/</link>
      <pubDate>Fri, 16 Jul 2021 00:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/07/python_oracle/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파이참에서 가상환경을 만들어 오라클 연동 예제를 작성한다.&lt;/li&gt;&#xA;&lt;li&gt;아나콘다, 파이참, 그리고 오라클 설치는 생략한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1-가상환경-활성화&#34;&gt;1. 가상환경 활성화&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;cmd 창에서 가상 환경을 세팅 하도록 한다. (권장: 관리자 실행)&lt;/li&gt;&#xA;&lt;li&gt;바탕화면에 필자는 &lt;code&gt;python_oracle&lt;/code&gt; 폴더를 생성했다.&lt;/li&gt;&#xA;&lt;li&gt;현재 경로는 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;C:\Users\&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;\Desktop\python_oracle&amp;gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;먼저 가상환경을 만든다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;conda create --name your_env_name python=&lt;span style=&#34;color:#ae81ff&#34;&gt;3.8&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;done&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# To activate this environment, use&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#     $ conda activate python_oracle&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# To deactivate an active environment, use&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#     $ conda deactivate&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;your_env_name 대신 다른 이름으로 설정해도 된다.&lt;/li&gt;&#xA;&lt;li&gt;가상 환경에 접속한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;C:\Users\&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;\Desktop\python_oracle&amp;gt;conda activate python_oracle&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(python_oracle) C:\Users\&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;\Desktop\python_oracle&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;2-필수-라이브러리-설치&#34;&gt;2. 필수 라이브러리 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ML을 위한 필수 라이브러리를 설치한다.&lt;/li&gt;&#xA;&lt;li&gt;pycaret &amp;amp; oracle&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(python_oracle) C:\Users\&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;\Desktop\python_oracle&amp;gt;pip install pycaret&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;... wordcloud-&lt;span style=&#34;color:#ae81ff&#34;&gt;1.8&lt;/span&gt;.1 yellowbrick-&lt;span style=&#34;color:#ae81ff&#34;&gt;1.3&lt;/span&gt;.post1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(python_oracle) C:\Users\&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;\Desktop\python_oracle&amp;gt;pip install cx_Oracle&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Collecting cx_Oracle&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Downloading cx_Oracle-&lt;span style=&#34;color:#ae81ff&#34;&gt;8.2&lt;/span&gt;.&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;-cp38-cp38-win_amd64.whl (&lt;span style=&#34;color:#ae81ff&#34;&gt;219&lt;/span&gt; kB)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     |&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;████████████████████████████████&lt;/span&gt;| &lt;span style=&#34;color:#ae81ff&#34;&gt;219&lt;/span&gt; kB &lt;span style=&#34;color:#ae81ff&#34;&gt;2.2&lt;/span&gt; MB/s&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Installing collected packages&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt; cx-Oracle&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Successfully installed cx-Oracle-&lt;span style=&#34;color:#ae81ff&#34;&gt;8.2&lt;/span&gt;.1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(python_oracle) C:\Users\&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;\Desktop\python_oracle&amp;gt; deactivate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;deactivate&lt;/code&gt; 한 뒤,  &lt;code&gt;lsnrctl status&lt;/code&gt; 명령어를 통해 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;C:\Users\&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;\Desktop\python_oracle&amp;gt;lsnrctl status&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;LSNRCTL &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;64&lt;/span&gt;-bit Windows&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt; Version &lt;span style=&#34;color:#ae81ff&#34;&gt;19.0&lt;/span&gt;.0.0.0 - Production on &lt;span style=&#34;color:#ae81ff&#34;&gt;16&lt;/span&gt;-7월 &lt;span style=&#34;color:#ae81ff&#34;&gt;-2021&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;28&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Copyright (c) &lt;span style=&#34;color:#ae81ff&#34;&gt;1991&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2019&lt;/span&gt;, Oracle.  All rights reserved.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=&lt;span style=&#34;color:#ae81ff&#34;&gt;1521&lt;/span&gt;)))에 연결되었습니다&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;리스너의 상태&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;------------------------&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;별칭                     LISTENER&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;버전                     TNSLSNR &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;64&lt;/span&gt;-bit Windows&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt; Version &lt;span style=&#34;color:#ae81ff&#34;&gt;19.0&lt;/span&gt;.0.0.0 - Production&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;시작 날짜                 &lt;span style=&#34;color:#ae81ff&#34;&gt;13&lt;/span&gt;-7월 &lt;span style=&#34;color:#ae81ff&#34;&gt;-2021&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;17&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;21&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;03&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;업타임                   &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt; 일 &lt;span style=&#34;color:#ae81ff&#34;&gt;17&lt;/span&gt; 시간. &lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt; 분. &lt;span style=&#34;color:#ae81ff&#34;&gt;25&lt;/span&gt; 초&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;트레이스 수준            off&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;보안                     ON&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;:&lt;/span&gt; Local OS Authentication&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;SNMP                     OFF리스너 매개변수 파일   C:\ORACLE\WINDOWS.X64_193000_db_home\network\admin\listener.ora&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;리스너 로그 파일         C:\ORACLE\diag\tnslsnr\DESKTOP-F7LRGM5\listener\alert\log.xml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;끝점 요약 청취 중...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=&lt;span style=&#34;color:#ae81ff&#34;&gt;127.0&lt;/span&gt;.0.&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)(PORT=&lt;span style=&#34;color:#ae81ff&#34;&gt;1521&lt;/span&gt;)))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=DESKTOP-F7LRGM5)(PORT=&lt;span style=&#34;color:#ae81ff&#34;&gt;5500&lt;/span&gt;))(Security=(my_wallet_directory=C:\ORACLE\admin\orcl\xdb_wallet))(Presentation=HTTP)(Session=RAW))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;서비스 요약...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;CLRExtProc&amp;#34;&lt;/span&gt; 서비스는 1개의 인스턴스를 가집니다.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;CLRExtProc&amp;#34;&lt;/span&gt; 인스턴스(UNKNOWN 상태)는 이 서비스에 대해 &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; 처리기를 가집니다.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orcl&amp;#34;&lt;/span&gt; 서비스는 1개의 인스턴스를 가집니다.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orcl&amp;#34;&lt;/span&gt; 인스턴스(READY 상태)는 이 서비스에 대해 &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; 처리기를 가집니다.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orclXDB&amp;#34;&lt;/span&gt; 서비스는 1개의 인스턴스를 가집니다.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;orcl&amp;#34;&lt;/span&gt; 인스턴스(READY 상태)는 이 서비스에 대해 &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; 처리기를 가집니다.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;명령이 성공적으로 수행되었습니다&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))&lt;/code&gt;에 연결되었습니다&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;3-연동코드-작성&#34;&gt;3. 연동코드 작성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필수 정보를 확인한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;IP주소: localhost&lt;/li&gt;&#xA;&lt;li&gt;Port번호: 1521&lt;/li&gt;&#xA;&lt;li&gt;서비스이름: orcl&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;JupyterLab을 연 후 코드를 작성한다. (관리자 살행)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가상환경 &lt;code&gt;python_oracle&lt;/code&gt; 으로 연결이 되어 있는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/07/python_oracle/connect_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>In ML, Data Leakage - 2</title>
      <link>https://dschloe.github.io/programming/2021/07/ch04_common_pitfalls_ans_recommended_practices/</link>
      <pubDate>Thu, 15 Jul 2021 16:11:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/07/ch04_common_pitfalls_ans_recommended_practices/</guid>
      <description>&lt;h2 id=&#34;머신러닝-전처리-자주하는-안-좋은-습관들-모음&#34;&gt;머신러닝 전처리 자주하는 안 좋은 습관들 모음&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참고 자료: &lt;a href=&#34;https://scikit-learn.org/stable/common_pitfalls.html&#34;&gt;https://scikit-learn.org/stable/common_pitfalls.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;sample-데이터&#34;&gt;Sample 데이터&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 가상의 데이터를 하나 생성합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.datasets &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; make_regression&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.model_selection &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; train_test_split&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;random_state &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X, y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; make_regression(random_state &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; random_state, n_features &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, noise &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train, X_test, y_train, y_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_test_split(X, y, test_size &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0.4&lt;/span&gt;, random_state &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; random_state)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;inconsistent-preprocessing&#34;&gt;Inconsistent preprocessing&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;모델을 학습시킬 때 이러한 데이터 변환을 사용하는 경우 테스트 데이터든 프로덕션 시스템의 데이터든 후속 데이터셋에도 사용해야 합니다. 그렇지 않으면 피쳐 공간이 변경되고 모델이 효과적으로 수행되지 않습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;wrong&#34;&gt;Wrong&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저, 잘못된 방식을 소개합니다.&lt;/li&gt;&#xA;&lt;li&gt;train 데이터에는 scaler가 적용되었지만, 테스트 데이터에는 적용되지 않았습니다. 따라서, 이러한 경우 모델 성능이 예상보다 떨어질 수 있습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.metrics &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; mean_squared_error&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.linear_model &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; LinearRegression&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.preprocessing &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; StandardScaler&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;scaler &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; StandardScaler()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train_transformed &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; scaler&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit_transform(X_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; LinearRegression()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train_transformed, y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mean_squared_error(y_test, model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(X_test))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;62.80867119249524&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;right&#34;&gt;Right&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Non-Transformed X_test 데이터를 예측값으로 넣으려면 X_train과 마찬가지로 동일하게 transform을 적용해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;scaler &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; StandardScaler()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train_transformed &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; scaler&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit_transform(X_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_test_transformed &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; scaler&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;transform(X_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; LinearRegression()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train_transformed, y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mean_squared_error(y_test, model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(X_test_transformed))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;0.9027975466369481&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;더 좋은 방법은 &lt;code&gt;pipeline&lt;/code&gt;을 구축하는 것이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Pipeline&lt;/code&gt; 구축 예제: &lt;a href=&#34;https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.Pipeline.html&#34;&gt;https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.Pipeline.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;transformation을 estimators와 쉽게 연계할 수 있으며 transformation을 잊어버릴 가능성도 줄어든다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Pipeline&lt;/code&gt;은 또한 &lt;code&gt;Data Leakage&lt;/code&gt;를 예방하는데&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.datasets &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; make_regression&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.model_selection &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; train_test_split&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.metrics &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; mean_squared_error&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.linear_model &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; LinearRegression&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.preprocessing &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; StandardScaler&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.pipeline &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; make_pipeline&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;random_state &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X, y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; make_regression(random_state &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; random_state, n_features &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, noise &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train, X_test, y_train, y_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_test_split(X, y, test_size &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0.4&lt;/span&gt;, random_state &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; random_state)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; make_pipeline(StandardScaler(), LinearRegression())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train, y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mean_squared_error(y_test, model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(X_test))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;0.9027975466369481&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;data-leakage&#34;&gt;Data Leakage&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;모델을 구축할 때 예측 시점에 사용할 수 없는 정보가 사용될 때 데이터 누출이 발생함.&lt;/li&gt;&#xA;&lt;li&gt;이로 인해 교차 검증 시, 매우 낙관적인 성능 추정치가 발생하기도 하며, 실제 새로운 데이터와 만날 때는 성능이 매우 크게 저하 되기도 함.&lt;/li&gt;&#xA;&lt;li&gt;훈련 및 테스트 데이터 하위 집합 모두 이전 섹션에서 설명한 것과 동일한 전처리 변환을 받아야 하지만,&lt;/li&gt;&#xA;&lt;li&gt;이러한 변환은 훈련 데이터에서만 학습되는 것이 중요하다. 예를 들어 평균값으로 나누는 정규화 단계가 있는 경우 평균은 모든 데이터의 평균이 아니라 훈련 데이터 하위 집합의 평균이어야 합니다. 테스트 하위 집합이 평균 계산에 포함되는 경우 테스트 하위 집합의 정보가 모델에 영향을 줍니다.&lt;/li&gt;&#xA;&lt;li&gt;Data Leakage가 발생하는 몇가지 상황을 살펴본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;data-leakage-during-pre-processing&#34;&gt;Data Leakage During Pre-Processing&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 가상의 데이터를 만듭니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;n_samples, n_features, n_classes &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;200&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;100000&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rng &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;random&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;RandomState(&lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; rng&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;standard_normal((n_samples, n_features))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; rng&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;choice(n_classes, n_samples)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(X&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, y&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;(200, 100000) (200,)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h4 id=&#34;wrong-1&#34;&gt;Wrong&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 &lt;code&gt;transformation&lt;/code&gt;부터 머신러닝 학습, 그리고 평가까지 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.model_selection &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; train_test_split&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.feature_selection &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; SelectKBest&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.ensemble &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; GradientBoostingClassifier&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.metrics &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; accuracy_score&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 여기 부분이 잘못 되었다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_selected &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; SelectKBest(k&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;25&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit_transform(X, y)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train, X_test, y_train, y_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_test_split(X_selected, y, random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gbc &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; GradientBoostingClassifier(random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gbc&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train, y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y_pred &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; gbc&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(X_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;accuracy_score(y_test, y_pred)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;0.72&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h4 id=&#34;right-1&#34;&gt;Right&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Data Leakage를 예방하기 위해 먼저 train 데이터와 test 데이터를 분리한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;fit&lt;/code&gt;이나 &lt;code&gt;fit_transform&lt;/code&gt;은 train 데이터에만 적용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train, X_test, y_train, y_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_test_split(X, y, random_state &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;select &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; SelectKBest(k&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;25&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train_selected &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; select&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit_transform(X_train, y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gbc &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; GradientBoostingClassifier(random_state &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gbc&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train_selected, y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;GradientBoostingClassifier(ccp_alpha=0.0, criterion=&#39;friedman_mse&#39;, init=None,&#xA;                           learning_rate=0.1, loss=&#39;deviance&#39;, max_depth=3,&#xA;                           max_features=None, max_leaf_nodes=None,&#xA;                           min_impurity_decrease=0.0, min_impurity_split=None,&#xA;                           min_samples_leaf=1, min_samples_split=2,&#xA;                           min_weight_fraction_leaf=0.0, n_estimators=100,&#xA;                           n_iter_no_change=None, presort=&#39;deprecated&#39;,&#xA;                           random_state=1, subsample=1.0, tol=0.0001,&#xA;                           validation_fraction=0.1, verbose=0,&#xA;                           warm_start=False)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_test_selected &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; select&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;transform(X_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y_pred &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; gbc&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(X_test_selected)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;accuracy_score(y_test, y_pred)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;0.5&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 Pipeline을 통해 구성하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.pipeline &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; make_pipeline&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train, X_test, y_train, y_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_test_split(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    X, y, random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pipeline &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; make_pipeline(SelectKBest(k&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;25&lt;/span&gt;), &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                         GradientBoostingClassifier(random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pipeline&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train, y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Pipeline(memory=None,&#xA;         steps=[(&#39;selectkbest&#39;,&#xA;                 SelectKBest(k=25,&#xA;                             score_func=&amp;lt;function f_classif at 0x7f56a7c7f5f0&amp;gt;)),&#xA;                (&#39;gradientboostingclassifier&#39;,&#xA;                 GradientBoostingClassifier(ccp_alpha=0.0,&#xA;                                            criterion=&#39;friedman_mse&#39;, init=None,&#xA;                                            learning_rate=0.1, loss=&#39;deviance&#39;,&#xA;                                            max_depth=3, max_features=None,&#xA;                                            max_leaf_nodes=None,&#xA;                                            min_impurity_decrease=0.0,&#xA;                                            min_impurity_split=None,&#xA;                                            min_samples_leaf=1,&#xA;                                            min_samples_split=2,&#xA;                                            min_weight_fraction_leaf=0.0,&#xA;                                            n_estimators=100,&#xA;                                            n_iter_no_change=None,&#xA;                                            presort=&#39;deprecated&#39;,&#xA;                                            random_state=1, subsample=1.0,&#xA;                                            tol=0.0001, validation_fraction=0.1,&#xA;                                            verbose=0, warm_start=False))],&#xA;         verbose=False)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;테스트 데이터는 예측을 할 때만 사용하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y_pred &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pipeline&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(X_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;accuracy_score(y_test, y_pred)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;0.5&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pipeline은 cross_val_score에 직접 사용할 수도 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.model_selection &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; cross_val_score&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;scores &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; cross_val_score(pipeline, X, y)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Mean accuracy: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;scores&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mean()&lt;span style=&#34;color:#e6db74&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;.2f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;+/-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;scores&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;std()&lt;span style=&#34;color:#e6db74&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;.2f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Mean accuracy: 0.52+/-0.04&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>In ML, Data Leakage - 1</title>
      <link>https://dschloe.github.io/programming/2021/07/ch03_data_preparation/</link>
      <pubDate>Thu, 15 Jul 2021 11:11:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/07/ch03_data_preparation/</guid>
      <description>&lt;h2 id=&#34;data-leakage&#34;&gt;Data Leakage&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;모형 평가를 하기 전에 전체 데이터셋을 가공 및 변환함.&lt;/li&gt;&#xA;&lt;li&gt;이를 평가에 반영하면 새로운 데이터를 예측할 때 부정확한 결과를 도출 할 수 있음.&lt;/li&gt;&#xA;&lt;li&gt;이를 방지 하기 위해서는 training 데이터만 데이터 전처리를 수행하는 것이 바람직함.&lt;/li&gt;&#xA;&lt;li&gt;Data Leakage를 피하기 위해서는 scikit-learn modeling pipeline을 설계해햐 함.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;데이터-준비&#34;&gt;데이터 준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가상의 데이터를 준비한다.&lt;/li&gt;&#xA;&lt;li&gt;데이터는 모두 수치형 데이터로 준비했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.datasets &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; make_classification&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X, y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; make_classification(n_samples &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1000&lt;/span&gt;, n_features &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;, n_informative &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt;, n_redundant &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;, random_state &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# summarize the dataset&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(X&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, y&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;(1000, 20) (1000,)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;일반적인-방법의-데이터-전처리&#34;&gt;일반적인 방법의 데이터 전처리&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;수치형 데이터이기 때문에, MinMaxScaler 클래스를 활용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.preprocessing &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; MinMaxScaler&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;scaler &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; MinMaxScaler()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; scaler&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit_transform(X)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 데이터셋을 분리하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.model_selection &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; train_test_split&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train, X_test, y_train, y_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_test_split(X, y, test_size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.33&lt;/span&gt;, random_state &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 로지스틱 회귀분석을 시행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.linear_model &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; LogisticRegression&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; LogisticRegression()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train, y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,&#xA;                   intercept_scaling=1, l1_ratio=None, max_iter=100,&#xA;                   multi_class=&#39;auto&#39;, n_jobs=None, penalty=&#39;l2&#39;,&#xA;                   random_state=None, solver=&#39;lbfgs&#39;, tol=0.0001, verbose=0,&#xA;                   warm_start=False)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 모형을 평가하도록 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.metrics &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; accuracy_score&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yhat &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(X_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;accuracy &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; accuracy_score(y_test, yhat)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Accuracy: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%.3f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt; (accuracy &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Accuracy: 84.848&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이것이 일반적인 방법론이다. 그러나 엄밀히 말하면 Data Leakage 현상이 나타났다고 볼 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;data-leakage-피하는-방법&#34;&gt;Data Leakage 피하는 방법&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 먼저 데이터 셋을 분리하도록 합니다.&lt;/li&gt;&#xA;&lt;li&gt;Train 데이터에만 scaler를 적용하도록 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.utils.validation &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; check_random_state&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X, y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; make_classification(n_samples &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2000&lt;/span&gt;, n_features &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;, n_informative &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt;, n_redundant &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;, random_state &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train, X_test, y_train, y_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_test_split(X, y, test_size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.33&lt;/span&gt;, random_state &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;그 후, X_train과 X_test에만 scaler를 적용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;scaler &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; MinMaxScaler()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;scaler&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; scaler&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;transform(X_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; scaler&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;transform(X_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이제 모형을 만든 후, 결괏값을 적용합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; LogisticRegression()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train, y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yhat &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(X_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;accuracy &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; accuracy_score(y_test, yhat)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Accuracy: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%.3f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt; (accuracy &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Accuracy: 88.333&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;결과를 보면 알겠지만, 모형의 성능에도 좋지 않음을 올 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;reference&#34;&gt;Reference&lt;/h2&gt;&#xA;&lt;p&gt;Jason Brownlee. 2020. How to Avoid Data Leakage When Performing Data Preparation. Retrieved from &lt;a href=&#34;https://machinelearningmastery.com/data-preparation-without-data-leakage/&#34;&gt;https://machinelearningmastery.com/data-preparation-without-data-leakage/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>엑셀 데이터 가공하기 변환</title>
      <link>https://dschloe.github.io/programming/2021/07/excel_multipleheaders/</link>
      <pubDate>Mon, 12 Jul 2021 05:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/07/excel_multipleheaders/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;정리되지 못한 엑셀 파일을 불러와서 하나의 테이블을 만드는 과정을 진행해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/07/excel_multipleheaders/tutorial_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 데이터를 원본 그대로 받아서 pandas 데이터 프레임에 추가한다.&lt;/li&gt;&#xA;&lt;li&gt;A3 셀에 있는 &lt;code&gt;[시·도지사선거][서울특별시][강남구]&lt;/code&gt; 분리하여 각 column에 추가한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;라이브러리-불러오기&#34;&gt;라이브러리 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;3개의 라이브러리를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; openpyxl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;파일-확인&#34;&gt;파일 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;data 폴더 내 데이터를 확인한다.&lt;/li&gt;&#xA;&lt;li&gt;추후, 엑셀 데이터만 추려서 반복문을 활용하여 동일하게 처리할 수 있도록 상상을 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;listdir(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;data&amp;#39;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[&#39;1 강남구-[2021년_재·보궐선거]_개표단위별_개표결과.xlsx&#39;, &#39;.DS_Store&#39;, &#39;~$1 강남구-[2021년_재·보궐선거]_개표단위별_개표결과.xlsx&#39;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;openpyxl-라이브러리-할용&#34;&gt;openpyxl 라이브러리 할용&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;openpyxl&lt;/code&gt; 라이브러리는 &lt;code&gt;A Python library to read/write Excel 2010 xlsx/xlsm files&lt;/code&gt;을 가지고 있다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 A3 셀에 있는 &lt;code&gt;[시·도지사선거][서울특별시][강남구]&lt;/code&gt; 데이터를 가져오도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, &lt;code&gt;openpyxl&lt;/code&gt; 라이브리를 활용하면 각 셀에 접근해서 개별적으로 데이터를 가져올 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;DATA_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;FILE_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;listdir(DATA_PATH)[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wb_obt&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; openpyxl&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;load_workbook(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; FILE_PATH) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sheet &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; wb_obt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;active&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;values &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sheet[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;A3&amp;#34;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;values&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&#39;[시·도지사선거][서울특별시][강남구]&#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;문자열-전처리&#34;&gt;문자열 전처리&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 하나의 셀로 연결되어 있는 것을 각각 분리하도록 하는 코드를 작성한다.&lt;/li&gt;&#xA;&lt;li&gt;strip(&amp;lsquo;pattern&amp;rsquo;)는 특정 문자를 제거하는 것이고, split(&amp;lsquo;pattern&amp;rsquo;)는 문자열을 특수문자로 분리하는 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;city_list &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; values&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;strip(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;[]&amp;#34;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;split(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;][&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;city_list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[&#39;시·도지사선거&#39;, &#39;서울특별시&#39;, &#39;강남구&#39;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;데이터-수집-및-전처리&#34;&gt;데이터 수집 및 전처리&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때 중요한 parameters는 skiprows, header이다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 skiprows는 특정 행은 건너 뛴다는 의미를 가지고 있다. 즉, 데이터프레임에 접근하기 전까지의 행은 건너 뛴다는 의미다.&lt;/li&gt;&#xA;&lt;li&gt;header는 엑셀의 열에 해당하는데, 본 데이터에서는 &lt;code&gt;multiple headers&lt;/code&gt;가 있다. 따라서, 이를 리스트 처리하면 해당 열은 모두 가져올 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_excel(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/1 강남구-[2021년_재·보궐선거]_개표단위별_개표결과.xlsx&amp;#34;&lt;/span&gt;, skiprows&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;,  header&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;], )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop(columns&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns[&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;], axis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;) &lt;span style=&#34;color:#75715e&#34;&gt;# 마지막 column은 NAN라 삭제.  &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;                읍면동명               투표구명               선거인수                투표수  \&#xA;  Unnamed: 0_level_1 Unnamed: 1_level_1 Unnamed: 2_level_1 Unnamed: 3_level_1   &#xA;0                 합계                              452344.0           276485.0   &#xA;1               거소투표                                3062.0             2877.0   &#xA;2             관외사전투표                               12957.0            12955.0   &#xA;3                신사동                 소계            13922.0             8672.0   &#xA;4                                관내사전투표             2667.0             2667.0   &#xA;&#xA;     후보자별 득표수                                                               \&#xA;  더불어민주당\n박영선 국민의힘\n오세훈 기본소득당\n신지혜 국가혁명당\n허경영 미래당\n오태양 민생당\n이수봉 민생당\n이수봉.1   &#xA;0     66907.0  202320.0      909.0     2005.0    229.0    424.0        NaN   &#xA;1       595.0    1995.0       14.0       97.0     11.0     24.0        NaN   &#xA;2      4393.0    8171.0       48.0      100.0     18.0     18.0        NaN   &#xA;3      1581.0    6910.0       20.0       45.0      6.0     15.0        NaN   &#xA;4       632.0    1977.0        6.0       12.0      3.0      6.0        NaN   &#xA;&#xA;                                                                        \&#xA;  신자유민주연합\n배영규 여성의당\n김진아 진보당\n송명숙 무소속\n정동희 무소속\n이도엽 무소속\n신지예         계   &#xA;0         20.0    1212.0    274.0     82.0     47.0    655.0  275084.0   &#xA;1          3.0       2.0      6.0      8.0      2.0      8.0    2765.0   &#xA;2          0.0      67.0     23.0      6.0      2.0     39.0   12885.0   &#xA;3          1.0      36.0      5.0      3.0      1.0     20.0    8643.0   &#xA;4          0.0       8.0      3.0      1.0      1.0      5.0    2654.0   &#xA;&#xA;              무효\n투표수                 기권수  &#xA;  Unnamed: 18_level_1 Unnamed: 19_level_1  &#xA;0              1401.0            175859.0  &#xA;1               112.0               185.0  &#xA;2                70.0                 2.0  &#xA;3                29.0              5250.0  &#xA;4                13.0                 0.0  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;header[0]&lt;/code&gt;값은 읍면동명, 투표구명, 선거인수, 투표수 등으로 정리가 되어 있다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;header[1]&lt;/code&gt;값은 각 후보들의 값이 나타난 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;여기에서 후보자별 득표수만 지우기만 하면 된다. 다만, 각각 가져와야 하는 값이 서로 다르다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때, MultiIndex에 대응하기 위해 get_level_values() 함수를 사용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;MultiIndex([(    &#39;읍면동명&#39;,  &#39;Unnamed: 0_level_1&#39;),&#xA;            (    &#39;투표구명&#39;,  &#39;Unnamed: 1_level_1&#39;),&#xA;            (    &#39;선거인수&#39;,  &#39;Unnamed: 2_level_1&#39;),&#xA;            (     &#39;투표수&#39;,  &#39;Unnamed: 3_level_1&#39;),&#xA;            (&#39;후보자별 득표수&#39;,         &#39;더불어민주당\n박영선&#39;),&#xA;            (&#39;후보자별 득표수&#39;,           &#39;국민의힘\n오세훈&#39;),&#xA;            (&#39;후보자별 득표수&#39;,          &#39;기본소득당\n신지혜&#39;),&#xA;            (&#39;후보자별 득표수&#39;,          &#39;국가혁명당\n허경영&#39;),&#xA;            (&#39;후보자별 득표수&#39;,            &#39;미래당\n오태양&#39;),&#xA;            (&#39;후보자별 득표수&#39;,            &#39;민생당\n이수봉&#39;),&#xA;            (&#39;후보자별 득표수&#39;,          &#39;민생당\n이수봉.1&#39;),&#xA;            (&#39;후보자별 득표수&#39;,        &#39;신자유민주연합\n배영규&#39;),&#xA;            (&#39;후보자별 득표수&#39;,           &#39;여성의당\n김진아&#39;),&#xA;            (&#39;후보자별 득표수&#39;,            &#39;진보당\n송명숙&#39;),&#xA;            (&#39;후보자별 득표수&#39;,            &#39;무소속\n정동희&#39;),&#xA;            (&#39;후보자별 득표수&#39;,            &#39;무소속\n이도엽&#39;),&#xA;            (&#39;후보자별 득표수&#39;,            &#39;무소속\n신지예&#39;),&#xA;            (&#39;후보자별 득표수&#39;,                   &#39;계&#39;),&#xA;            ( &#39;무효\n투표수&#39;, &#39;Unnamed: 18_level_1&#39;),&#xA;            (     &#39;기권수&#39;, &#39;Unnamed: 19_level_1&#39;)],&#xA;           )&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get_level_values(&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Index([&#39;읍면동명&#39;, &#39;투표구명&#39;, &#39;선거인수&#39;, &#39;투표수&#39;, &#39;후보자별 득표수&#39;, &#39;후보자별 득표수&#39;, &#39;후보자별 득표수&#39;,&#xA;       &#39;후보자별 득표수&#39;, &#39;후보자별 득표수&#39;, &#39;후보자별 득표수&#39;, &#39;후보자별 득표수&#39;, &#39;후보자별 득표수&#39;, &#39;후보자별 득표수&#39;,&#xA;       &#39;후보자별 득표수&#39;, &#39;후보자별 득표수&#39;, &#39;후보자별 득표수&#39;, &#39;후보자별 득표수&#39;, &#39;후보자별 득표수&#39;, &#39;무효\n투표수&#39;,&#xA;       &#39;기권수&#39;],&#xA;      dtype=&#39;object&#39;)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get_level_values(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Index([&#39;Unnamed: 0_level_1&#39;, &#39;Unnamed: 1_level_1&#39;, &#39;Unnamed: 2_level_1&#39;,&#xA;       &#39;Unnamed: 3_level_1&#39;, &#39;더불어민주당\n박영선&#39;, &#39;국민의힘\n오세훈&#39;, &#39;기본소득당\n신지혜&#39;,&#xA;       &#39;국가혁명당\n허경영&#39;, &#39;미래당\n오태양&#39;, &#39;민생당\n이수봉&#39;, &#39;민생당\n이수봉.1&#39;, &#39;신자유민주연합\n배영규&#39;,&#xA;       &#39;여성의당\n김진아&#39;, &#39;진보당\n송명숙&#39;, &#39;무소속\n정동희&#39;, &#39;무소속\n이도엽&#39;, &#39;무소속\n신지예&#39;, &#39;계&#39;,&#xA;       &#39;Unnamed: 18_level_1&#39;, &#39;Unnamed: 19_level_1&#39;],&#xA;      dtype=&#39;object&#39;)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제, 각각의 index를 list로 변환후 하나의 column으로 합치는 과정을 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;총 20개의 column이 정렬된 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;col_1 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get_level_values(&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;tolist()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;col_2 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get_level_values(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)[&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;tolist()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;col_3 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get_level_values(&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)[&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;tolist()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cols &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; col_1 &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; col_2 &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; col_3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cols&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[&#39;읍면동명&#39;,&#xA; &#39;투표구명&#39;,&#xA; &#39;선거인수&#39;,&#xA; &#39;투표수&#39;,&#xA; &#39;더불어민주당\n박영선&#39;,&#xA; &#39;국민의힘\n오세훈&#39;,&#xA; &#39;기본소득당\n신지혜&#39;,&#xA; &#39;국가혁명당\n허경영&#39;,&#xA; &#39;미래당\n오태양&#39;,&#xA; &#39;민생당\n이수봉&#39;,&#xA; &#39;민생당\n이수봉.1&#39;,&#xA; &#39;신자유민주연합\n배영규&#39;,&#xA; &#39;여성의당\n김진아&#39;,&#xA; &#39;진보당\n송명숙&#39;,&#xA; &#39;무소속\n정동희&#39;,&#xA; &#39;무소속\n이도엽&#39;,&#xA; &#39;무소속\n신지예&#39;,&#xA; &#39;계&#39;,&#xA; &#39;후보자별 득표수&#39;,&#xA; &#39;무효\n투표수&#39;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; cols&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Index([&#39;읍면동명&#39;, &#39;투표구명&#39;, &#39;선거인수&#39;, &#39;투표수&#39;, &#39;더불어민주당\n박영선&#39;, &#39;국민의힘\n오세훈&#39;, &#39;기본소득당\n신지혜&#39;,&#xA;       &#39;국가혁명당\n허경영&#39;, &#39;미래당\n오태양&#39;, &#39;민생당\n이수봉&#39;, &#39;민생당\n이수봉.1&#39;, &#39;신자유민주연합\n배영규&#39;,&#xA;       &#39;여성의당\n김진아&#39;, &#39;진보당\n송명숙&#39;, &#39;무소속\n정동희&#39;, &#39;무소속\n이도엽&#39;, &#39;무소속\n신지예&#39;, &#39;계&#39;,&#xA;       &#39;후보자별 득표수&#39;, &#39;무효\n투표수&#39;],&#xA;      dtype=&#39;object&#39;)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 시도와 시군구를 각각 추가한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;시도&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; city_list[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;시군구&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; city_list[&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head(&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;     읍면동명    투표구명      선거인수       투표수  더불어민주당\n박영선  국민의힘\n오세훈  기본소득당\n신지혜  \&#xA;0      합계          452344.0  276485.0      66907.0   202320.0       909.0   &#xA;1    거소투표            3062.0    2877.0        595.0     1995.0        14.0   &#xA;2  관외사전투표           12957.0   12955.0       4393.0     8171.0        48.0   &#xA;3     신사동      소계   13922.0    8672.0       1581.0     6910.0        20.0   &#xA;4          관내사전투표    2667.0    2667.0        632.0     1977.0         6.0   &#xA;5          신사동제1투    2313.0    1052.0        205.0      827.0         1.0   &#xA;6          신사동제2투    1740.0     733.0        220.0      492.0         3.0   &#xA;7          신사동제3투    1896.0     813.0        261.0      508.0         6.0   &#xA;8          신사동제4투    2812.0    1736.0        112.0     1611.0         0.0   &#xA;9          신사동제5투    2494.0    1671.0        151.0     1495.0         4.0   &#xA;&#xA;   국가혁명당\n허경영  미래당\n오태양  민생당\n이수봉  ...  여성의당\n김진아  진보당\n송명숙  무소속\n정동희  \&#xA;0      2005.0     229.0     424.0  ...     1212.0     274.0      82.0   &#xA;1        97.0      11.0      24.0  ...        2.0       6.0       8.0   &#xA;2       100.0      18.0      18.0  ...       67.0      23.0       6.0   &#xA;3        45.0       6.0      15.0  ...       36.0       5.0       3.0   &#xA;4        12.0       3.0       6.0  ...        8.0       3.0       1.0   &#xA;5         8.0       1.0       1.0  ...        4.0       0.0       1.0   &#xA;6        10.0       0.0       2.0  ...        5.0       0.0       0.0   &#xA;7         8.0       0.0       3.0  ...       14.0       2.0       0.0   &#xA;8         2.0       1.0       2.0  ...        2.0       0.0       1.0   &#xA;9         5.0       1.0       1.0  ...        3.0       0.0       0.0   &#xA;&#xA;   무소속\n이도엽  무소속\n신지예         계  후보자별 득표수   무효\n투표수     시도  시군구  &#xA;0      47.0     655.0  275084.0    1401.0  175859.0  서울특별시  강남구  &#xA;1       2.0       8.0    2765.0     112.0     185.0  서울특별시  강남구  &#xA;2       2.0      39.0   12885.0      70.0       2.0  서울특별시  강남구  &#xA;3       1.0      20.0    8643.0      29.0    5250.0  서울특별시  강남구  &#xA;4       1.0       5.0    2654.0      13.0       0.0  서울특별시  강남구  &#xA;5       0.0       2.0    1050.0       2.0    1261.0  서울특별시  강남구  &#xA;6       0.0       1.0     733.0       0.0    1007.0  서울특별시  강남구  &#xA;7       0.0       6.0     809.0       4.0    1083.0  서울특별시  강남구  &#xA;8       0.0       1.0    1732.0       4.0    1076.0  서울특별시  강남구  &#xA;9       0.0       5.0    1665.0       6.0     823.0  서울특별시  강남구  &#xA;&#xA;[10 rows x 22 columns]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;어느정도 정리가 된 것으로 보인다.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>AirFlow ch01. 개요</title>
      <link>https://dschloe.github.io/programming/2021/07/airflow_00_intro/</link>
      <pubDate>Fri, 09 Jul 2021 14:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/07/airflow_00_intro/</guid>
      <description>&lt;h2 id=&#34;인프런-강의&#34;&gt;인프런 강의&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Airflow 2.0 원서 나온 것을 공부용으로 활용합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;airflow-project&#34;&gt;Airflow Project&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/07/airflow_00_intro/book_cover.png#center&#34; alt=&#34;Airflow%20Project%20ad0ddb927b43444a9837279ad7ea27fe/book_cover.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 책에 나온 내용을 Chapter별로 요약하여 정리하려고 한다.&lt;/li&gt;&#xA;&lt;li&gt;원서 구매 페이지는 아래와 같다.&lt;/li&gt;&#xA;&lt;li&gt;구매 페이지: &lt;a href=&#34;https://www.amazon.com/Data-Pipelines-Apache-Airflow-Harenslak/dp/1617296902&#34;&gt;Data Pipelines with Apache Airflow&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;chapter-1-apache-airflow-introduction&#34;&gt;Chapter 1. Apache Airflow Introduction&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/07/airflow_00_intro/figure_1-1.png#center&#34; alt=&#34;Airflow%20Project%20ad0ddb927b43444a9837279ad7ea27fe/figure_1-1.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>AirFlow 설치 및 실행 with M1</title>
      <link>https://dschloe.github.io/programming/2021/07/airflow_01/</link>
      <pubDate>Thu, 08 Jul 2021 14:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/07/airflow_01/</guid>
      <description>&lt;h2 id=&#34;인프런-강의&#34;&gt;인프런 강의&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;미니-프로젝트-개요&#34;&gt;미니 프로젝트 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;목적: Airflow와 빅쿼리를 활용하여 ETL 및 대시보드를 만들어보는 과정을 설계&lt;/li&gt;&#xA;&lt;li&gt;환경: MacOS M1&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;part-i-docker-and-airflow&#34;&gt;Part I. Docker and Airflow&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Docker와 Airflow를 설치 및 실행한다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;필자는 가상환경을 선정하고, 그 위에 도커를 추가로 설치하였다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>PostgreSQL 기초 1</title>
      <link>https://dschloe.github.io/programming/2021/07/db_creation_01/</link>
      <pubDate>Sun, 04 Jul 2021 00:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/07/db_creation_01/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;psql shell 명령어를 간단히 배우도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Database&lt;/code&gt;, &lt;code&gt;Schema&lt;/code&gt;, &lt;code&gt;Table&lt;/code&gt;를 생성하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;데이터타입에 대해 배우도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;psql-shell-명령어&#34;&gt;psql Shell 명령어&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;명령어&lt;/th&gt;&#xA;          &lt;th&gt;설명&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;\q&lt;/td&gt;&#xA;          &lt;td&gt;psql을 종료한다.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;\l&lt;/td&gt;&#xA;          &lt;td&gt;데이터베이스를 조회한다.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;\c&lt;/td&gt;&#xA;          &lt;td&gt;입력한 DB로 이동한다.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;\e&lt;/td&gt;&#xA;          &lt;td&gt;외부편집기로 sql 쿼리 입력 가능&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;\dt&lt;/td&gt;&#xA;          &lt;td&gt;현재 DB에서 테이블을 확인할 수 있음.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;자주 사용하는 명령어이기 때문에 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;db-및-table-다루기&#34;&gt;DB 및 Table 다루기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;콘솔창에서 book 이름의 DB를 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;evan&lt;span style=&#34;color:#f92672&#34;&gt;=#&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;DATABASE&lt;/span&gt; book;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;DATABASE&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;그 후, book에 접속한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;evan&lt;span style=&#34;color:#f92672&#34;&gt;=#&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;\&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;c&lt;/span&gt; book&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;You &lt;span style=&#34;color:#66d9ef&#34;&gt;are&lt;/span&gt; now connected &lt;span style=&#34;color:#66d9ef&#34;&gt;to&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;database&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;book&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;user&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;evan&amp;#34;&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;book&lt;span style=&#34;color:#f92672&#34;&gt;=#&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 DROP DATABASE 구문을 통해 book 삭제한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;evan&lt;span style=&#34;color:#f92672&#34;&gt;=#&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;DROP&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;DATABASE&lt;/span&gt; book;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;DROP&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;DATABASE&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;schema-생성&#34;&gt;SCHEMA 생성&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;postgres&lt;span style=&#34;color:#f92672&#34;&gt;=#&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;SCHEMA&lt;/span&gt; ann_simmons;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;SCHEMA&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;postgres&lt;span style=&#34;color:#f92672&#34;&gt;=#&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;SCHEMA&lt;/span&gt; ty_beck;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;SCHEMA&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;postgres&lt;span style=&#34;color:#f92672&#34;&gt;=#&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;SCHEMA&lt;/span&gt; production;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;SCHEMA&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;two-table-생성&#34;&gt;Two Table 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;두개의 테이블을 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TABLE&lt;/span&gt; customers ();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TABLE&lt;/span&gt; orders ();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;커밋을 항상 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;psql 터미널에서 &lt;code&gt;\dt&lt;/code&gt;를 실행하여 출력값이 잘 나오는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;postgres&lt;span style=&#34;color:#f92672&#34;&gt;=#&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;\&lt;/span&gt;dt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         List &lt;span style=&#34;color:#66d9ef&#34;&gt;of&lt;/span&gt; relations&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;Schema&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt;   Name    &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;Type&lt;/span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;Owner&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;--------+-----------+-------+-------&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt; customers &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;table&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt; evan&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt; orders    &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;table&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt; evan&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;rows&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;primary-key-생성&#34;&gt;Primary Key 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 Primary Key 생성하는 것을 준비한다.&lt;/li&gt;&#xA;&lt;li&gt;이제 이 두개의 Table를 생성하도록 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TABLE&lt;/span&gt; business_type (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;id serial &lt;span style=&#34;color:#66d9ef&#34;&gt;PRIMARY&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;KEY&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#x9;description TEXT &lt;span style=&#34;color:#66d9ef&#34;&gt;NOT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TABLE&lt;/span&gt; applicant (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;id serial &lt;span style=&#34;color:#66d9ef&#34;&gt;PRIMARY&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;KEY&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#x9;name TEXT &lt;span style=&#34;color:#66d9ef&#34;&gt;NOT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#x9;zip_code CHAR(&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;NOT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#x9;business_type_id INTEGER &lt;span style=&#34;color:#66d9ef&#34;&gt;references&lt;/span&gt; business_type(id)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TABLE&lt;/span&gt; users (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  id serial &lt;span style=&#34;color:#66d9ef&#34;&gt;PRIMARY&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;KEY&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  first_name TEXT &lt;span style=&#34;color:#66d9ef&#34;&gt;NOT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  last_name TEXT &lt;span style=&#34;color:#66d9ef&#34;&gt;NOT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  email TEXT &lt;span style=&#34;color:#66d9ef&#34;&gt;NOT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  hashed_password CHAR(&lt;span style=&#34;color:#ae81ff&#34;&gt;72&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;NOT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;schematable-생성&#34;&gt;schema.table 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;temp schema를 생성한 후, temp.users table를 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TABLE&lt;/span&gt; temp.users (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  id serial &lt;span style=&#34;color:#66d9ef&#34;&gt;PRIMARY&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;KEY&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  first_name TEXT &lt;span style=&#34;color:#66d9ef&#34;&gt;NOT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  last_name TEXT &lt;span style=&#34;color:#66d9ef&#34;&gt;NOT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  email TEXT &lt;span style=&#34;color:#66d9ef&#34;&gt;NOT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  hashed_password CHAR(&lt;span style=&#34;color:#ae81ff&#34;&gt;72&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;NOT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;data-types&#34;&gt;Data Types&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;크게 Text, NUMERIC, BOOLEAN 형태로 구성이 됩니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;-- Create the project table&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TABLE&lt;/span&gt; project (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#75715e&#34;&gt;-- Primary Key&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;id SERIAL &lt;span style=&#34;color:#66d9ef&#34;&gt;PRIMARY&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;KEY&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;-- franchise 기회&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;is_franchise BOOLEAN &lt;span style=&#34;color:#66d9ef&#34;&gt;DEFAULT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;FALSE&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#75715e&#34;&gt;-- Franchise 이름&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    franchise_name TEXT &lt;span style=&#34;color:#66d9ef&#34;&gt;DEFAULT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;-- Project 시도&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    project_state TEXT,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;-- Project 시군&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    project_county TEXT,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;-- Project로 발생한 Job 수&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    jobs_supported NUMERIC&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Data Types URL: &lt;a href=&#34;https://www.postgresql.org/docs/current/datatype.html&#34;&gt;https://www.postgresql.org/docs/current/datatype.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;다양한-text-data-types&#34;&gt;다양한 Text Data Types&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TABLE&lt;/span&gt; book (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  isbn CHAR(&lt;span style=&#34;color:#ae81ff&#34;&gt;13&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;NOT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  author_first_name VARCHAR(&lt;span style=&#34;color:#ae81ff&#34;&gt;50&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;NOT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  author_last_name VARCHAR(&lt;span style=&#34;color:#ae81ff&#34;&gt;50&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;NOT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  content TEXT &lt;span style=&#34;color:#66d9ef&#34;&gt;NOT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Text data 타입은: TEXT, VARCHAR(N), CHAR(N) 크게 3가지 형태로 구성이 된다.&lt;/li&gt;&#xA;&lt;li&gt;TEXT&#xA;&lt;ul&gt;&#xA;&lt;li&gt;길이를 알 수 없는 텍스트 데이터에 적합&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;VARCHAR(N)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;N은 최대 길이가 N자인 문자열만 저장하도록 열을 제한함.&lt;/li&gt;&#xA;&lt;li&gt;N보다 글자수가 큰 값이 입력이 되면 error가 발생이 됨&lt;/li&gt;&#xA;&lt;li&gt;만약 N을 지정하지 않으면 TEXT와 동일하게 됨&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;CHAR(N)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;정확하게 N 숫자만큼 글자만 들어가게 됨&lt;/li&gt;&#xA;&lt;li&gt;isbn은 주로 출판사에서 볼 수 있는 문자열임&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;numeric-data&#34;&gt;Numeric Data&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TABLE&lt;/span&gt; employee (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  id SERIAL &lt;span style=&#34;color:#66d9ef&#34;&gt;PRIMARY&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;KEY&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  first_name VARCHAR(&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;NOT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  last_name VARCHAR(&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;NOT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  num_sales INTEGER&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;-- Create the client table&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TABLE&lt;/span&gt; client (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  id SERIAL &lt;span style=&#34;color:#66d9ef&#34;&gt;PRIMARY&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;KEY&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  name VARCHAR(&lt;span style=&#34;color:#ae81ff&#34;&gt;50&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  site_url VARCHAR(&lt;span style=&#34;color:#ae81ff&#34;&gt;50&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  num_employees SMALLINT,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  num_customers INTEGER&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;-- Create the campaign table&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TABLE&lt;/span&gt; campaign (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  id SERIAL &lt;span style=&#34;color:#66d9ef&#34;&gt;PRIMARY&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;KEY&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  name VARCHAR(&lt;span style=&#34;color:#ae81ff&#34;&gt;50&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  budget NUMERIC(&lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  num_days SMALLINT &lt;span style=&#34;color:#66d9ef&#34;&gt;DEFAULT&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  goal_amount INTEGER &lt;span style=&#34;color:#66d9ef&#34;&gt;DEFAULT&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  num_applications INTEGER &lt;span style=&#34;color:#66d9ef&#34;&gt;DEFAULT&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Integer Types&lt;/p&gt;</description>
    </item>
    <item>
      <title>(Python-Plotly) Plotly 그래프 깃헙 블로그에 올리기</title>
      <link>https://dschloe.github.io/programming/2021/06/ch_plotly_html/</link>
      <pubDate>Thu, 24 Jun 2021 10:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/06/ch_plotly_html/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/06/ch_plotly_html/viz_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;깃헙 브로그에 동적 시각화를 올리는 방법에 대해 기술한다.&lt;/li&gt;&#xA;&lt;li&gt;현재까지 찾아낸 것은 이게 최선입니다! 더 나은 것이 있다면 공유 부탁드립니다. (꾸벅)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;필수-라이브러리-설치&#34;&gt;필수 라이브러리 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;라이브러리를 설치합니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Getting Started with Plotly in Python, &lt;a href=&#34;https://plotly.com/python/getting-started/&#34;&gt;https://plotly.com/python/getting-started/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Getting Started with Chart Studio in Python, &lt;a href=&#34;https://plotly.com/python/getting-started-with-chart-studio/&#34;&gt;https://plotly.com/python/getting-started-with-chart-studio/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ pip install plotly&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ pip install chart_studio&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;plotly&lt;/code&gt;의 역할 그래프를 작성하는 기본 도구이며, &lt;code&gt;chart_studio&lt;/code&gt;의 역할은 그래프를 &lt;code&gt;plotly&lt;/code&gt; 홈페이지 업로드 할 수 있도록 도와주고, 또한 &lt;code&gt;iframe output&lt;/code&gt;으로 변환하는 데 도움을 주는 코드이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-01-그래프-작성&#34;&gt;step 01. 그래프 작성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그래프를 작성합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; plotly.express &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; px&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; chart_studio&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gapminder &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; px&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;gapminder()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; px&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;scatter(gapminder&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;query(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;year==2007&amp;#34;&lt;/span&gt;), x&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;gdpPercap&amp;#34;&lt;/span&gt;, y&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;lifeExp&amp;#34;&lt;/span&gt;, size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pop&amp;#34;&lt;/span&gt;, color&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;continent&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           hover_name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;country&amp;#34;&lt;/span&gt;, log_x&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;, size_max&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;60&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 출력물은 실제로는 동적 시각화로 구현이 됩니다만, 캡쳐하여 올려 놓습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/06/ch_plotly_html/viz_02.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>File Download VIA SSH Terminal</title>
      <link>https://dschloe.github.io/programming/2021/06/csv_download_via_ssh/</link>
      <pubDate>Fri, 11 Jun 2021 09:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/06/csv_download_via_ssh/</guid>
      <description>&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;CURL 명령어는 진심 매우 좋더라.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;동기부여&#34;&gt;동기부여&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SQL 강의를 해야 하는데, 그에 맞는 데이터를 찾는 중이었다. SQL 예제와 함께 있는 데이터를 찾던 중, URL로 적힌 CSV 파일을 확인하였다. 이를 직접 Download로 쉽게 받을 수 있을 까 하는 생각에 구글링 몇개 해보였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;참고자료&#34;&gt;참고자료&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;StackoverFlow에 다음과 같은 글을 찾았다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;URL: &lt;a href=&#34;https://stackoverflow.com/questions/19453773/how-to-download-csv-via-terminal-ssh&#34;&gt;How to download CSV via terminal (SSH)?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;참고 소스 코드는 아래와 같다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-o, --output &amp;lt;file&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          Write  output to &amp;lt;file&amp;gt; instead of stdout.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-O, --remote-name&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          Write output to a local file named like the remote file we get. (Only the file part of the remote file is used, the path is cut off.)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;예시 코드는 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-SQL&#34; data-lang=&#34;SQL&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; curl &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;O https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;data&lt;/span&gt;.cityofchicago.org&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;api&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;views&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;ijzp&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;q8t2&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;rows&lt;/span&gt;.csv&lt;span style=&#34;color:#f92672&#34;&gt;?&lt;/span&gt;accessType&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;DOWNLOAD &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; Chicago.csv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;OR&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-SQL&#34; data-lang=&#34;SQL&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; curl https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;data&lt;/span&gt;.cityofchicago.org&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;api&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;views&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;ijzp&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;q8t2&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;rows&lt;/span&gt;.csv&lt;span style=&#34;color:#f92672&#34;&gt;?&lt;/span&gt;accessType&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;DOWNLOAD &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; Chicago.csv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;적용&#34;&gt;적용&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자 역시 적용해 보았다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; curl &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;O &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://assets/your_url/actsin.csv&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; temp.csv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt; Total    &lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt; Received &lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt; Xferd  Average Speed   Time    Time     Time  &lt;span style=&#34;color:#66d9ef&#34;&gt;Current&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                 Dload  Upload   Total   Spent    &lt;span style=&#34;color:#66d9ef&#34;&gt;Left&lt;/span&gt;  Speed&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;2078&lt;/span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;2078&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;7556&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;--:--:-- --:--:-- --:--:--  7528&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt; ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;actsin.csv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;정상적으로 다운로드 되 것을 확인할 수 있었다. 는&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;sql-데이터로-불러오기&#34;&gt;SQL 데이터로 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 postgreSQL 강의를 준비하고 있어서, 해당 데이터를 pgAdmin4로 활용하여 불러보았다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 테이블을 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;DROP&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TABLE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;IF&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;EXISTS&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;actsin&amp;#34;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TABLE&lt;/span&gt; actsin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    actsin_id integer &lt;span style=&#34;color:#66d9ef&#34;&gt;PRIMARY&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;KEY&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    movie_id integer,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    actor_id integer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;그리고 파일을 불러온 후 쿼리로 잘 불러오는지 확인합니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;중간 내용은 생략이 되었습니다. 추후 파일 불러오는 블로그 작성 시 공유 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-SQL&#34; data-lang=&#34;SQL&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;SELECT&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;FROM&lt;/span&gt; actsin &lt;span style=&#34;color:#66d9ef&#34;&gt;LIMIT&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; actsin_id &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt; movie_id &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt; actor_id &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;-----------+----------+----------&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;37&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;56&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;14&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;29&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;rows&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;정상적으로 데이터가 조회되는 것을 확인할 수 있습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>PostgreSQL 테이블 생성 예제</title>
      <link>https://dschloe.github.io/programming/2021/06/table_creation_01/</link>
      <pubDate>Wed, 09 Jun 2021 00:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/06/table_creation_01/</guid>
      <description>&lt;h2 id=&#34;테이블-생성-및-수정-삭제&#34;&gt;테이블 생성 및 수정 삭제&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;pgAdmin4을 활용한 테이블 수정 삭제&lt;/li&gt;&#xA;&lt;li&gt;Schemas에서 public-Table 마우스 오른쪽 버튼을 누른 뒤 Query Tool을 선택합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/06/table_creation_01/table_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;developers 테이블을 별도로 생성합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TABLE&lt;/span&gt; developers (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;book_id INTEGER, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;date DATE,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;name VARCHAR(&lt;span style=&#34;color:#ae81ff&#34;&gt;80&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;CREATE TABLE&#xA;Query returned successfully in 65 msec.&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 값을 입력하도록 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;INSERT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;INTO&lt;/span&gt; developers &lt;span style=&#34;color:#66d9ef&#34;&gt;VALUES&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;2019-12-17&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#34;자바&amp;#34;&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;그런데, 작은 따옴표(&amp;rsquo;)를 넣고 싶을 때는 큰 따옴표(&amp;quot;)로 깜사면, 에러가 발생이 됩니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-SQL&#34; data-lang=&#34;SQL&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;INSERT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;INTO&lt;/span&gt; developers &lt;span style=&#34;color:#66d9ef&#34;&gt;VALUES&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;2019-12-17&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#39;자바&amp;#39;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ERROR: 오류:  &amp;#34;&amp;#39;자바&amp;#39;&amp;#34; 이름의 칼럼은 없습니다&#xA;LINE 1: INSERT INTO developers VALUES(1, &amp;#39;2019-12-17&amp;#39;, &amp;#34;&amp;#39;자바&amp;#39;&amp;#34;)&#xA;                                                       ^&#xA;SQL state: 42703&#xA;Character: 48&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;이런 경우에는 작은 따옴표를 두번 입혀서 깜사도록 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-SQL&#34; data-lang=&#34;SQL&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;INSERT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;INTO&lt;/span&gt; developers &lt;span style=&#34;color:#66d9ef&#34;&gt;VALUES&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;2019-12-17&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#39;&amp;#39;자바&amp;#39;&amp;#39;&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;INSERT 0 1&#xA;&#xA;Query returned successfully in 38 msec.&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 Python&amp;rsquo;s Programming을 입력하도록 합니다.&lt;/li&gt;&#xA;&lt;li&gt;입력하고자 하는 &amp;lsquo;주위로 각각 두번 &amp;rsquo;&amp;rsquo; 입력하도록 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-SQL&#34; data-lang=&#34;SQL&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;INSERT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;INTO&lt;/span&gt; developers &lt;span style=&#34;color:#66d9ef&#34;&gt;VALUES&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;2019-12-17&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Python&amp;#39;&amp;#39;s Programming&amp;#39;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;INSERT 0 1&#xA;&#xA;Query returned successfully in 32 msec.&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;테이블-조회&#34;&gt;테이블 조회&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;일단 먼저 잘 조회가 되는지 확인 하도록 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-SQL&#34; data-lang=&#34;SQL&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;SELECT&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;FROM&lt;/span&gt; developers;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/06/table_creation_01/able_02.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>pgAdmin4 GUI installation on MacOS M1</title>
      <link>https://dschloe.github.io/programming/2021/06/pgadmin4/</link>
      <pubDate>Mon, 07 Jun 2021 23:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/06/pgadmin4/</guid>
      <description>&lt;h2 id=&#34;pgadmin-설치-및-서버-연결-macos&#34;&gt;pgAdmin 설치 및 서버 연결 (MacOS)&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;GUI 프로그램을 설치해본다.&lt;/li&gt;&#xA;&lt;li&gt;Windows는 자동으로 설치가 되기 때문에 생략을 한다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 해당 싸이트에 접속을 합니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;URL: &lt;a href=&#34;https://www.pgadmin.org/download/&#34;&gt;https://www.pgadmin.org/download/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/06/pgadmin4/install_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;macOS를 클릭한 뒤 다음 화면에서 &lt;code&gt;pgAdmin 4 v5.3&lt;/code&gt; 최신버전을 다운로드 받도록 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/06/pgadmin4/install_02.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;프로그램을 설치하면 첫 화면에서 Password를 입력하도록 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/06/pgadmin4/install_03.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;새로운 서버를 생성하여 서버를 등록하도록 합니다. 그 후에 이름은 LocalTest라고 정합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/06/pgadmin4/install_04.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그 후에, username은 postgres를 username으로 입력하고 Postgresql을 설치할 때 설정한 password를 입력합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/06/pgadmin4/install_05.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실제 서버에 연결 되었는지 확인하도록 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/06/pgadmin4/install_06.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Postgre SQL Installation on Windows 10</title>
      <link>https://dschloe.github.io/programming/2021/06/postgresql_install_windows/</link>
      <pubDate>Fri, 04 Jun 2021 07:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/06/postgresql_install_windows/</guid>
      <description>&lt;h2 id=&#34;windows&#34;&gt;Windows&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PostgreSQL Downloads&#xA;&lt;ul&gt;&#xA;&lt;li&gt;URL: &lt;a href=&#34;https://www.enterprisedb.com/downloads/postgres-postgresql-downloads&#34;&gt;https://www.enterprisedb.com/downloads/postgres-postgresql-downloads&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;각 컴퓨터에 맞는 버전을 선택합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/06/postgresql_install_windows/install_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;필자는 13.3 버전을 선택하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;이번에는 프로그램을 클릭하여 설치를 진행합니다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/06/postgresql_install_windows/install_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;모든 값은 default로 진행합니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;비밀번호는 작성 후, 반드시 기억하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 temp라고 명명하였습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/06/postgresql_install_windows/install_03.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;포트는 5432를 확인합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/06/postgresql_install_windows/install_04.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;언어는 한국어로 선택하도록 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/06/postgresql_install_windows/install_05.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;몇번의 Next를 더 누르시면서, 설치를 진행합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/06/postgresql_install_windows/install_06.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;설치가 완료되면 Stack Builder 체크 박스는 제 후 완료를 합니다.&#xA;해&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/06/postgresql_install_windows/install_07.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;프로그램을 검색하여 PostgreSQL이 잘 설정되는지 확인을 하도록 합니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/06/postgresql_install_windows/install_08.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;환경변수-추가&#34;&gt;환경변수 추가&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;CMD에서 활용하려면 환경변수를 설정하도록 합니다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 경로를 복사합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/06/postgresql_install_windows/install_09.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>[Python] 이미지 데이터 입출력</title>
      <link>https://dschloe.github.io/programming/2021/06/ch01_fileio/</link>
      <pubDate>Wed, 02 Jun 2021 14:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/06/ch01_fileio/</guid>
      <description>&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;OpenCV를 활용한 다양한 이미지 입출력에 대해 배우도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;readingwriting-an-image-file&#34;&gt;Reading/Writing an image file&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이미지 관련 I/O&lt;/li&gt;&#xA;&lt;li&gt;BMP, PNG, JPEG, and TIFF also supported.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;img &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;zeros((&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;), dtype&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;uint8)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;img&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;array([[0, 0, 0],&#xA;       [0, 0, 0],&#xA;       [0, 0, 0]], dtype=uint8)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;각 픽셀은 8비트 int로 구성되어 있음.&lt;/li&gt;&#xA;&lt;li&gt;각 픽셀의 범위는 0-255, 0은 검은색, 255는 흰색을 의미함.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; cv2 &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;img &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; cv2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;cvtColor(img, cv2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;COLOR_GRAY2BGR)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;img&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;array([[[0, 0, 0],&#xA;        [0, 0, 0],&#xA;        [0, 0, 0]],&#xA;&#xA;       [[0, 0, 0],&#xA;        [0, 0, 0],&#xA;        [0, 0, 0]],&#xA;&#xA;       [[0, 0, 0],&#xA;        [0, 0, 0],&#xA;        [0, 0, 0]]], dtype=uint8)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;3차원 배열을 의미. 각 채널은 Blue, Green, Red를 의미한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;image-load&#34;&gt;image Load&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Convert PNG into JPEG&lt;/li&gt;&#xA;&lt;li&gt;사용할 이미지는 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/06/ch01_fileIO/MyPic.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Postgre SQL Installation on MacOS M1</title>
      <link>https://dschloe.github.io/programming/2021/05/postgresql_install/</link>
      <pubDate>Mon, 31 May 2021 07:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/05/postgresql_install/</guid>
      <description>&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;MacOS&lt;/code&gt; &lt;code&gt;M1&lt;/code&gt;에서 &lt;code&gt;PostgreSQL&lt;/code&gt; 설치에서 중요한 건 환경변수만 추가한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;m1의-구조&#34;&gt;M1의 구조&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;M1애서는 Intel, Silicon, Universal 3개의 시스템을 지원한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그런데, PostgreSQL 프로그램은 기본적으로 Intel 기반으로 작동을 한다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/05/postgresql_install/install_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;postgre-sql-다운로드&#34;&gt;Postgre SQL 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;해당 웹 페이지로 간다. (URL: &lt;a href=&#34;https://postgresapp.com/&#34;&gt;https://postgresapp.com/&lt;/a&gt;)&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/05/postgresql_install/install_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;다운로드 받은 후 &lt;code&gt;Postgres-2.4.3-13.dmg&lt;/code&gt; (2021.5.31일 기준) 설치 파일을 클릭한 후, 아래 화면이 나오면, 설치를 진행합니다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/05/postgresql_install/install_02.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;설치 진행이 완료가 되면 아래 화면에서 &lt;code&gt;Initialize&lt;/code&gt; 또는 &lt;code&gt;Start&lt;/code&gt; 버튼을 클릭하면 설치는 끝이 납니다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/05/postgresql_install/install_03.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;환경변수-설정&#34;&gt;환경변수 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그런데, 환경변수 설정을 하지 않으면 터미널에서 실행이 되지 않습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ psql&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-bash: psql: command not found&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/05/postgresql_install/install_04.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pandas 속도 비교 - with or without Dictionary</title>
      <link>https://dschloe.github.io/programming/2021/05/dictionary_replace/</link>
      <pubDate>Sun, 30 May 2021 10:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/05/dictionary_replace/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Dictionary를 활용한 값 변경의 속도가 훨씬 빠르다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;데이터-불러오기&#34;&gt;데이터 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;diamonds 데이터셋을 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;load_dataset(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;diamonds&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(diamonds)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;       carat        cut color clarity  depth  table  price     x     y     z&#xA;0       0.23      Ideal     E     SI2   61.5   55.0    326  3.95  3.98  2.43&#xA;1       0.21    Premium     E     SI1   59.8   61.0    326  3.89  3.84  2.31&#xA;2       0.23       Good     E     VS1   56.9   65.0    327  4.05  4.07  2.31&#xA;3       0.29    Premium     I     VS2   62.4   58.0    334  4.20  4.23  2.63&#xA;4       0.31       Good     J     SI2   63.3   58.0    335  4.34  4.35  2.75&#xA;...      ...        ...   ...     ...    ...    ...    ...   ...   ...   ...&#xA;53935   0.72      Ideal     D     SI1   60.8   57.0   2757  5.75  5.76  3.50&#xA;53936   0.72       Good     D     SI1   63.1   55.0   2757  5.69  5.75  3.61&#xA;53937   0.70  Very Good     D     SI1   62.8   60.0   2757  5.66  5.68  3.56&#xA;53938   0.86    Premium     H     SI2   61.0   58.0   2757  6.15  6.12  3.74&#xA;53939   0.75      Ideal     D     SI2   62.2   55.0   2757  5.83  5.87  3.64&#xA;&#xA;[53940 rows x 10 columns]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Color 데이터를 확인해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;color&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value_counts()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;G    11292&#xA;E     9797&#xA;F     9542&#xA;H     8304&#xA;D     6775&#xA;I     5422&#xA;J     2808&#xA;Name: color, dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;color-데이터-값-변경하기&#34;&gt;color 데이터 값 변경하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;D, E, F는 A로 바꿉니다.&lt;/li&gt;&#xA;&lt;li&gt;G, H는 B로 바꿉니다.&lt;/li&gt;&#xA;&lt;li&gt;I, J는 C로 바꿉니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;without-dictionary&#34;&gt;Without Dictionary&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 첫번째 방법입니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; time &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;start_time &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;color&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;replace(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;D&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;A&amp;#39;&lt;/span&gt;, inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;color&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;replace(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;E&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;A&amp;#39;&lt;/span&gt;, inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;color&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;replace(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;F&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;A&amp;#39;&lt;/span&gt;, inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;color&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;replace(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;G&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;color&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;replace(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;H&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;color&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;replace(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;I&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;C&amp;#39;&lt;/span&gt;, inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;color&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;replace(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;J&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;C&amp;#39;&lt;/span&gt;, inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Time using .replace() only: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; sec&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time() &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; start_time))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;---&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;color&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value_counts())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Time using .replace() only: 0.025814056396484375 sec&#xA;---&#xA;A    26114&#xA;B    19596&#xA;C     8230&#xA;Name: color, dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;with-dictionary&#34;&gt;With Dictionary&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 Dictionary를 활용합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;load_dataset(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;diamonds&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;start_time &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;replace({&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;color&amp;#39;&lt;/span&gt;: {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;D&amp;#39;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;A&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;E&amp;#39;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;A&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;F&amp;#39;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;A&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;G&amp;#39;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;H&amp;#39;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;I&amp;#39;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;C&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;J&amp;#39;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;C&amp;#39;&lt;/span&gt;}}, inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Time using .replace() only: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; sec&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time() &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; start_time))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;---&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;color&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value_counts())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Time using .replace() only: 0.005134105682373047 sec&#xA;---&#xA;A    26114&#xA;B    19596&#xA;C     8230&#xA;Name: color, dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;동일한 결괏값이 나왔지만, 속도 차이가 0.02초 vs 0.005초 차이로 매우 큼을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;즉, 값을 변경한다면, Dictionary를 사용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[MLOps] Weight &amp; Biases 소개 및 사용 방법</title>
      <link>https://dschloe.github.io/programming/2021/05/install/</link>
      <pubDate>Sat, 29 May 2021 09:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/05/install/</guid>
      <description>&lt;h2 id=&#34;인프런-강의&#34;&gt;인프런 강의&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;wandb로 MLOps를 배워봅니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/05/install/intro_01.jpeg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;references&#34;&gt;References&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://greeksharifa.github.io/references/2020/06/10/wandb-usage/&#34;&gt;Weight &amp;amp; Biases(wandb) 사용법(wandb 설치 및 설명)&lt;/a&gt; by greeksharifa&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/91HhNtmb0B4?autoplay=1&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=1&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;초기-설정&#34;&gt;초기 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;싸이트: &lt;a href=&#34;https://wandb.ai/site&#34;&gt;https://wandb.ai/site&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pandas 속도 비교 - loc vs replace(2)</title>
      <link>https://dschloe.github.io/programming/2021/05/loc_replace_2/</link>
      <pubDate>Thu, 20 May 2021 00:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/05/loc_replace_2/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;값을 변경할 때에는 &lt;code&gt;.replace&lt;/code&gt; 메서드를 사용합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Replace&lt;/code&gt; 속도를 측정해보자.&lt;/li&gt;&#xA;&lt;li&gt;이번에는 multiple 값을 변경하는 방법에 대해 알아봅니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;비교-1-loc-vs-replace&#34;&gt;비교 1 &lt;code&gt;.loc&lt;/code&gt; vs &lt;code&gt;.replace&lt;/code&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;값을 바꾸는 방법은 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;data[&#39;column&#39;].loc[data[&#39;column&#39;] == &#39;Old Value&#39;] = &#39;New Value&#39;&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;load_dataset(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;diamonds&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(diamonds)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;       carat        cut color clarity  depth  table  price     x     y     z&#xA;0       0.23      Ideal     E     SI2   61.5   55.0    326  3.95  3.98  2.43&#xA;1       0.21    Premium     E     SI1   59.8   61.0    326  3.89  3.84  2.31&#xA;2       0.23       Good     E     VS1   56.9   65.0    327  4.05  4.07  2.31&#xA;3       0.29    Premium     I     VS2   62.4   58.0    334  4.20  4.23  2.63&#xA;4       0.31       Good     J     SI2   63.3   58.0    335  4.34  4.35  2.75&#xA;...      ...        ...   ...     ...    ...    ...    ...   ...   ...   ...&#xA;53935   0.72      Ideal     D     SI1   60.8   57.0   2757  5.75  5.76  3.50&#xA;53936   0.72       Good     D     SI1   63.1   55.0   2757  5.69  5.75  3.61&#xA;53937   0.70  Very Good     D     SI1   62.8   60.0   2757  5.66  5.68  3.56&#xA;53938   0.86    Premium     H     SI2   61.0   58.0   2757  6.15  6.12  3.74&#xA;53939   0.75      Ideal     D     SI2   62.2   55.0   2757  5.83  5.87  3.64&#xA;&#xA;[53940 rows x 10 columns]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;info()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;pandas.core.frame.DataFrame&#39;&amp;gt;&#xA;RangeIndex: 53940 entries, 0 to 53939&#xA;Data columns (total 10 columns):&#xA; #   Column   Non-Null Count  Dtype   &#xA;---  ------   --------------  -----   &#xA; 0   carat    53940 non-null  float64 &#xA; 1   cut      53940 non-null  category&#xA; 2   color    53940 non-null  category&#xA; 3   clarity  53940 non-null  category&#xA; 4   depth    53940 non-null  float64 &#xA; 5   table    53940 non-null  float64 &#xA; 6   price    53940 non-null  int64   &#xA; 7   x        53940 non-null  float64 &#xA; 8   y        53940 non-null  float64 &#xA; 9   z        53940 non-null  float64 &#xA;dtypes: category(3), float64(6), int64(1)&#xA;memory usage: 3.0 MB&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;비교-2-loc-vs-replace&#34;&gt;비교 2. &lt;code&gt;.loc&lt;/code&gt; vs &lt;code&gt;.replace&lt;/code&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;cut&lt;/code&gt; Column에 있는 값 중, &lt;code&gt;Premium&lt;/code&gt;과 &lt;code&gt;Ideal&lt;/code&gt; 모두 &lt;code&gt;Best&lt;/code&gt;로 변경합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; time&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;load_dataset(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;diamonds&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cut&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cut&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;astype(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;object&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;start_time &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cut&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;loc[(diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cut&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Premium&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt; (diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cut&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Ideal&amp;#39;&lt;/span&gt;)] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Best&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Time using .loc[]: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; sec&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time() &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; start_time))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(diamonds)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Time using .loc[]: 0.008001089096069336 sec&#xA;       carat        cut color clarity  depth  table  price     x     y     z&#xA;0       0.23       Best     E     SI2   61.5   55.0    326  3.95  3.98  2.43&#xA;1       0.21       Best     E     SI1   59.8   61.0    326  3.89  3.84  2.31&#xA;2       0.23       Good     E     VS1   56.9   65.0    327  4.05  4.07  2.31&#xA;3       0.29       Best     I     VS2   62.4   58.0    334  4.20  4.23  2.63&#xA;4       0.31       Good     J     SI2   63.3   58.0    335  4.34  4.35  2.75&#xA;...      ...        ...   ...     ...    ...    ...    ...   ...   ...   ...&#xA;53935   0.72       Best     D     SI1   60.8   57.0   2757  5.75  5.76  3.50&#xA;53936   0.72       Good     D     SI1   63.1   55.0   2757  5.69  5.75  3.61&#xA;53937   0.70  Very Good     D     SI1   62.8   60.0   2757  5.66  5.68  3.56&#xA;53938   0.86       Best     H     SI2   61.0   58.0   2757  6.15  6.12  3.74&#xA;53939   0.75       Best     D     SI2   62.2   55.0   2757  5.83  5.87  3.64&#xA;&#xA;[53940 rows x 10 columns]&#xA;&#xA;&#xA;/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pandas/core/indexing.py:1636: SettingWithCopyWarning: &#xA;A value is trying to be set on a copy of a slice from a DataFrame&#xA;&#xA;See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy&#xA;  self._setitem_single_block(indexer, value, name)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 replace 메서드를 사용해본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;data[&#39;column&#39;].replace(&#39;old value&#39;, &#39;new value&#39;, inplace = True&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;load_dataset(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;diamonds&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;start_time &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;replace([&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Premium&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Ideal&amp;#39;&lt;/span&gt;], &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Best&amp;#39;&lt;/span&gt;, inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Time using replace(): &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; sec&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time() &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; start_time)) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Time using replace(): 0.0011608600616455078 sec&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기존 코드에서, &lt;code&gt;Good&lt;/code&gt;과 &lt;code&gt;Very Good&lt;/code&gt;을 &lt;code&gt;Low&lt;/code&gt;로 변경코드를 추가합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;load_dataset(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;diamonds&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cut&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cut&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;astype(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;object&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;start_time &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cut&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;loc[(diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cut&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Premium&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt; \&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    (diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cut&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Ideal&amp;#39;&lt;/span&gt;)] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Best&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cut&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;loc[(diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cut&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Very Good&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt; \&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    (diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cut&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Good&amp;#39;&lt;/span&gt;)] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Low&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Time using .loc[]: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; sec&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time() &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; start_time))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(diamonds)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Time using .loc[]: 0.013423681259155273 sec&#xA;       carat   cut color clarity  depth  table  price     x     y     z&#xA;0       0.23  Best     E     SI2   61.5   55.0    326  3.95  3.98  2.43&#xA;1       0.21  Best     E     SI1   59.8   61.0    326  3.89  3.84  2.31&#xA;2       0.23   Low     E     VS1   56.9   65.0    327  4.05  4.07  2.31&#xA;3       0.29  Best     I     VS2   62.4   58.0    334  4.20  4.23  2.63&#xA;4       0.31   Low     J     SI2   63.3   58.0    335  4.34  4.35  2.75&#xA;...      ...   ...   ...     ...    ...    ...    ...   ...   ...   ...&#xA;53935   0.72  Best     D     SI1   60.8   57.0   2757  5.75  5.76  3.50&#xA;53936   0.72   Low     D     SI1   63.1   55.0   2757  5.69  5.75  3.61&#xA;53937   0.70   Low     D     SI1   62.8   60.0   2757  5.66  5.68  3.56&#xA;53938   0.86  Best     H     SI2   61.0   58.0   2757  6.15  6.12  3.74&#xA;53939   0.75  Best     D     SI2   62.2   55.0   2757  5.83  5.87  3.64&#xA;&#xA;[53940 rows x 10 columns]&#xA;&#xA;&#xA;/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pandas/core/indexing.py:1636: SettingWithCopyWarning: &#xA;A value is trying to be set on a copy of a slice from a DataFrame&#xA;&#xA;See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy&#xA;  self._setitem_single_block(indexer, value, name)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;load_dataset(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;diamonds&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;start_time &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;replace([[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Premium&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Ideal&amp;#39;&lt;/span&gt;], [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Very Good&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Good&amp;#39;&lt;/span&gt;]], [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Best&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Low&amp;#39;&lt;/span&gt;], inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Time using replace(): &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; sec&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time() &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; start_time)) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(diamonds)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Time using replace(): 0.002335071563720703 sec&#xA;       carat   cut color clarity  depth  table  price     x     y     z&#xA;0       0.23  Best     E     SI2   61.5   55.0    326  3.95  3.98  2.43&#xA;1       0.21  Best     E     SI1   59.8   61.0    326  3.89  3.84  2.31&#xA;2       0.23   Low     E     VS1   56.9   65.0    327  4.05  4.07  2.31&#xA;3       0.29  Best     I     VS2   62.4   58.0    334  4.20  4.23  2.63&#xA;4       0.31   Low     J     SI2   63.3   58.0    335  4.34  4.35  2.75&#xA;...      ...   ...   ...     ...    ...    ...    ...   ...   ...   ...&#xA;53935   0.72  Best     D     SI1   60.8   57.0   2757  5.75  5.76  3.50&#xA;53936   0.72   Low     D     SI1   63.1   55.0   2757  5.69  5.75  3.61&#xA;53937   0.70   Low     D     SI1   62.8   60.0   2757  5.66  5.68  3.56&#xA;53938   0.86  Best     H     SI2   61.0   58.0   2757  6.15  6.12  3.74&#xA;53939   0.75  Best     D     SI2   62.2   55.0   2757  5.83  5.87  3.64&#xA;&#xA;[53940 rows x 10 columns]&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Pandas 속도 비교 - loc vs replace</title>
      <link>https://dschloe.github.io/programming/2021/05/loc_replace/</link>
      <pubDate>Sat, 15 May 2021 20:36:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/05/loc_replace/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;loc and Replace&lt;/code&gt; 속도를 비교 측정해본다..&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;방법-1-loc-vs-replace&#34;&gt;방법 1. &lt;code&gt;.loc&lt;/code&gt; vs &lt;code&gt;.replace&lt;/code&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;값을 바꾸는 방법은 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;data[&#39;column&#39;].loc[data[&#39;column&#39;] == &#39;Old Value&#39;] = &#39;New Value&#39;&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;load_dataset(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;diamonds&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(diamonds)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;       carat        cut color clarity  depth  table  price     x     y     z&#xA;0       0.23      Ideal     E     SI2   61.5   55.0    326  3.95  3.98  2.43&#xA;1       0.21    Premium     E     SI1   59.8   61.0    326  3.89  3.84  2.31&#xA;2       0.23       Good     E     VS1   56.9   65.0    327  4.05  4.07  2.31&#xA;3       0.29    Premium     I     VS2   62.4   58.0    334  4.20  4.23  2.63&#xA;4       0.31       Good     J     SI2   63.3   58.0    335  4.34  4.35  2.75&#xA;...      ...        ...   ...     ...    ...    ...    ...   ...   ...   ...&#xA;53935   0.72      Ideal     D     SI1   60.8   57.0   2757  5.75  5.76  3.50&#xA;53936   0.72       Good     D     SI1   63.1   55.0   2757  5.69  5.75  3.61&#xA;53937   0.70  Very Good     D     SI1   62.8   60.0   2757  5.66  5.68  3.56&#xA;53938   0.86    Premium     H     SI2   61.0   58.0   2757  6.15  6.12  3.74&#xA;53939   0.75      Ideal     D     SI2   62.2   55.0   2757  5.83  5.87  3.64&#xA;&#xA;[53940 rows x 10 columns]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;cut Column에 있는 값 중, Premium을 Best로 바꿔보도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; time&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;start_time &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cut&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;loc[diamonds[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cut&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Premium&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Best&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Time using .loc[]: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; sec&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time() &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; start_time))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Time using .loc[]: 0.0020329952239990234 sec&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 replace 메서드를 사용해본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;data[&#39;column&#39;].replace(&#39;old value&#39;, &#39;new value&#39;, inplace = True&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;load_dataset(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;diamonds&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;start_time &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;replace(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Premium&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Best&amp;#39;&lt;/span&gt;, inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Time using replace(): &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; sec&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time() &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; start_time))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Time using replace(): 0.00027108192443847656 sec&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Pandas 속도 비교 - iloc and loc</title>
      <link>https://dschloe.github.io/programming/2021/05/loc_iloc/</link>
      <pubDate>Wed, 12 May 2021 20:36:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/05/loc_iloc/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;.loc[]와 .iloc[] 인덱스의 속도 차이를 측정해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;시간이 허락한다면, Pandas 속도를 비교하는 게시글을 자주 작성하려고 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pandas가 상대적으로 속도가 느리기 때문에, 조금 더 효율적인 코드를 작성하는 쪽에 초점을 맞춰본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;.loc[] : index name locator를 의미한다.&lt;/li&gt;&#xA;&lt;li&gt;iloc[] : index number locator를 의미한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;행-선택시-속도-비교&#34;&gt;행 선택시 속도 비교&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 행을 선택할 때의 속도 차이를 확인하도록 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; time&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;load_dataset(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;diamonds&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diamonds&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;info()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;pandas.core.frame.DataFrame&#39;&amp;gt;&#xA;RangeIndex: 53940 entries, 0 to 53939&#xA;Data columns (total 10 columns):&#xA; #   Column   Non-Null Count  Dtype   &#xA;---  ------   --------------  -----   &#xA; 0   carat    53940 non-null  float64 &#xA; 1   cut      53940 non-null  category&#xA; 2   color    53940 non-null  category&#xA; 3   clarity  53940 non-null  category&#xA; 4   depth    53940 non-null  float64 &#xA; 5   table    53940 non-null  float64 &#xA; 6   price    53940 non-null  int64   &#xA; 7   x        53940 non-null  float64 &#xA; 8   y        53940 non-null  float64 &#xA; 9   z        53940 non-null  float64 &#xA;dtypes: category(3), float64(6), int64(1)&#xA;memory usage: 3.0 MB&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 &lt;code&gt;.loc&lt;/code&gt; 속도 측정을 해봅니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;row_nums &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; range(&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;10000&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;start_time &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rows &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; diamonds&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;loc[row_nums]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;end_time &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Time using .loc[]: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; sec&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(end_time &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; start_time))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Time using .loc[]: 0.0029916763305664062 sec&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 동일하게 &lt;code&gt;.iloc&lt;/code&gt;를 적용해봅니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;start_time &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rows &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; diamonds&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;iloc[row_nums]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;end_time &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Time using .iloc[]: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; sec&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(end_time &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; start_time))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Time using .iloc[]: 0.001990079879760742 sec&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;열-선택시-속도-비교&#34;&gt;열 선택시 속도 비교&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 iloc를 활용하여 열을 선택합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;iloc_start_time &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cols &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; diamonds&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;iloc[:, [&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;]]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;iloc_end_time &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Time using .iloc[]: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; sec&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(iloc_end_time &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; iloc_start_time))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Time using .iloc[]: 0.0009975433349609375 sec&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 Column명을 입력해서 추출하도록 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;name_start_time &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cols &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; diamonds[[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;carat&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;color&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;depth&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;price&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;y&amp;#39;&lt;/span&gt;]]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;name_end_time &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Time using selection by name : &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; sec&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(name_end_time &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; name_start_time))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Time using selection by name : 0.000997304916381836 sec&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;reference&#34;&gt;Reference&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Fast, Flexible, Easy and Intuitive: How to Speed Up Your Pandas Projects Retrieved from &lt;a href=&#34;https://realpython.com/fast-flexible-pandas/&#34;&gt;https://realpython.com/fast-flexible-pandas/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[Python] PyCaret Windows 10 아나콘다 설치 방법</title>
      <link>https://dschloe.github.io/programming/2021/05/pycaret_install/</link>
      <pubDate>Tue, 11 May 2021 00:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/05/pycaret_install/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;관리자 실행해서 아나콘다 가상 환경을 만든 후, 새로운 패키지를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;pycaret-설치-방법-windows-10&#34;&gt;PyCaret 설치 방법 (Windows 10)&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;윈도우 10 환경에서 PyCaret 패키지를 설치해봅니다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.anaconda.com/products/individual&#34;&gt;아나콘다&lt;/a&gt; 설치에 관한 내용은 생략합니다. 다만, 이 때, 필요한 것은 환경변수에 추가가 되어 있어야 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;가상환경-설정&#34;&gt;가상환경 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;새로운 가상환경을 만듭니다. (이게 제일 편합니다.)&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;명령프롬프트&lt;/code&gt;를 관리자로 실행합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/05/pycaret_install/tutorial_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>시간 측정의 중요성 및 방법</title>
      <link>https://dschloe.github.io/programming/2021/05/ch01_measuring_time/</link>
      <pubDate>Mon, 10 May 2021 07:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/05/ch01_measuring_time/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;코드를 효과적으로 작성해야 하는 이유를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;calculation-비교&#34;&gt;Calculation 비교&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;요한 카를 프리드리히 가우스(1777-1855)가 문제를 냈다고 알려짐&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;1 + 2 + &amp;hellip; + 1000000 까지 해당하는 모든 연속 양수의 합계를 구한다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;두가지 방법이 존재한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>[Python] PyDataset Library를 활용한 Sample 데이터 수집</title>
      <link>https://dschloe.github.io/programming/2021/05/pydataset/</link>
      <pubDate>Sun, 09 May 2021 17:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/05/pydataset/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;R처럼 Sample 데이터를 쉽게 불러오자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;sample-dataset&#34;&gt;Sample Dataset&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Sample Data를 가져오는 코드를 작성합니다.&lt;/li&gt;&#xA;&lt;li&gt;이 때 &lt;code&gt;PyDataset&lt;/code&gt; 라이브러리를 활용합니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;URL: &lt;a href=&#34;https://github.com/iamaziz/PyDataset&#34;&gt;https://github.com/iamaziz/PyDataset&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install pydataset&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Collecting pydataset&#xA;[?25l  Downloading https://files.pythonhosted.org/packages/4f/15/548792a1bb9caf6a3affd61c64d306b08c63c8a5a49e2c2d931b67ec2108/pydataset-0.2.0.tar.gz (15.9MB)&#xA;[K     |████████████████████████████████| 15.9MB 285kB/s &#xA;[?25hRequirement already satisfied: pandas in /usr/local/lib/python3.7/dist-packages (from pydataset) (1.1.5)&#xA;Requirement already satisfied: python-dateutil&amp;gt;=2.7.3 in /usr/local/lib/python3.7/dist-packages (from pandas-&amp;gt;pydataset) (2.8.1)&#xA;Requirement already satisfied: numpy&amp;gt;=1.15.4 in /usr/local/lib/python3.7/dist-packages (from pandas-&amp;gt;pydataset) (1.19.5)&#xA;Requirement already satisfied: pytz&amp;gt;=2017.2 in /usr/local/lib/python3.7/dist-packages (from pandas-&amp;gt;pydataset) (2018.9)&#xA;Requirement already satisfied: six&amp;gt;=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil&amp;gt;=2.7.3-&amp;gt;pandas-&amp;gt;pydataset) (1.15.0)&#xA;Building wheels for collected packages: pydataset&#xA;  Building wheel for pydataset (setup.py) ... [?25l[?25hdone&#xA;  Created wheel for pydataset: filename=pydataset-0.2.0-cp37-none-any.whl size=15939431 sha256=ebe470895a3467fe13c7654021e9108227a6dec8ce6da4f9b4e704520bcd6203&#xA;  Stored in directory: /root/.cache/pip/wheels/fe/3f/dc/5d02ccc767317191b12d042dd920fcf3432fab74bc7978598b&#xA;Successfully built pydataset&#xA;Installing collected packages: pydataset&#xA;Successfully installed pydataset-0.2.0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; pydataset &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(data())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;        dataset_id                                             title&#xA;0    AirPassengers       Monthly Airline Passenger Numbers 1949-1960&#xA;1          BJsales                 Sales Data with Leading Indicator&#xA;2              BOD                         Biochemical Oxygen Demand&#xA;3     Formaldehyde                     Determination of Formaldehyde&#xA;4     HairEyeColor         Hair and Eye Color of Statistics Students&#xA;..             ...                                               ...&#xA;752        VerbAgg                  Verbal Aggression item responses&#xA;753           cake                 Breakage Angle of Chocolate Cakes&#xA;754           cbpp                 Contagious bovine pleuropneumonia&#xA;755    grouseticks  Data on red grouse ticks from Elston et al. 2001&#xA;756     sleepstudy       Reaction times in a sleep deprivation study&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터를 불러오는 코드를 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cake &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; data(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;cake&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(cake)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;cake&amp;#34;&lt;/span&gt;, show_doc&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;     replicate recipe  temperature  angle  temp&#xA;1            1      A          175     42   175&#xA;2            1      A          185     46   185&#xA;3            1      A          195     47   195&#xA;4            1      A          205     39   205&#xA;5            1      A          215     53   215&#xA;..         ...    ...          ...    ...   ...&#xA;266         15      C          185     28   185&#xA;267         15      C          195     25   195&#xA;268         15      C          205     25   205&#xA;269         15      C          215     31   215&#xA;270         15      C          225     25   225&#xA;cake&#xA;&#xA;PyDataset Documentation (adopted from R Documentation. The displayed examples are in R)&#xA;&#xA;## Breakage Angle of Chocolate Cakes&#xA;&#xA;### Description&#xA;&#xA;Data on the breakage angle of chocolate cakes made with three different&#xA;recipes and baked at six different temperatures. This is a split-plot design&#xA;with the recipes being whole-units and the different temperatures being&#xA;applied to sub-units (within replicates). The experimental notes suggest that&#xA;the replicate numbering represents temporal ordering.&#xA;&#xA;### Format&#xA;&#xA;A data frame with 270 observations on the following 5 variables.&#xA;&#xA;`replicate`&#xA;&#xA;a factor with levels `1` to `15`&#xA;&#xA;`recipe`&#xA;&#xA;a factor with levels `A`, `B` and `C`&#xA;&#xA;`temperature`&#xA;&#xA;an ordered factor with levels `175` &amp;lt; `185` &amp;lt; `195` &amp;lt; `205` &amp;lt; `215` &amp;lt; `225`&#xA;&#xA;`angle`&#xA;&#xA;a numeric vector giving the angle at which the cake broke.&#xA;&#xA;`temp`&#xA;&#xA;numeric value of the baking temperature (degrees F).&#xA;&#xA;### Details&#xA;&#xA;The `replicate` factor is nested within the `recipe` factor, and `temperature`&#xA;is nested within `replicate`.&#xA;&#xA;### Source&#xA;&#xA;Original data were presented in Cook (1938), and reported in Cochran and Cox&#xA;(1957, p. 300). Also cited in Lee, Nelder and Pawitan (2006).&#xA;&#xA;### References&#xA;&#xA;Cook, F. E. (1938) _Chocolate cake, I. Optimum baking temperature_. Master&#39;s&#xA;Thesis, Iowa State College.&#xA;&#xA;Cochran, W. G., and Cox, G. M. (1957) _Experimental designs_, 2nd Ed. New&#xA;York, John Wiley \&amp;amp; Sons.&#xA;&#xA;Lee, Y., Nelder, J. A., and Pawitan, Y. (2006) _Generalized linear models with&#xA;random effects. Unified analysis via H-likelihood_. Boca Raton, Chapman and&#xA;Hall/CRC.&#xA;&#xA;### Examples&#xA;&#xA;    str(cake)&#xA;    ## &#39;temp&#39; is continuous, &#39;temperature&#39; an ordered factor with 6 levels&#xA;    (fm1 &amp;lt;- lmer(angle ~ recipe * temperature + (1|recipe:replicate), cake, REML= FALSE))&#xA;    (fm2 &amp;lt;- lmer(angle ~ recipe + temperature + (1|recipe:replicate), cake, REML= FALSE))&#xA;    (fm3 &amp;lt;- lmer(angle ~ recipe + temp        + (1|recipe:replicate), cake, REML= FALSE))&#xA;    ## and now &amp;quot;choose&amp;quot; :&#xA;    anova(fm3, fm2, fm1)&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Custom Containers with AI Platform Training</title>
      <link>https://dschloe.github.io/programming/2021/05/ch01_using_custom_containers_with_ai_platform_training/</link>
      <pubDate>Wed, 05 May 2021 14:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/05/ch01_using_custom_containers_with_ai_platform_training/</guid>
      <description>&lt;h2 id=&#34;인프런-강의&#34;&gt;인프런 강의&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;UCI Machine Learning Repository&lt;/code&gt; 데이터를 활용해서 MLOps를 구축해본다.&lt;/li&gt;&#xA;&lt;li&gt;본 장에서는 MLOps의 간단한 흐름을 파악하는데 주력한다.&lt;/li&gt;&#xA;&lt;li&gt;실제로는 하나부터 열까지 모든 코드를 따 짜야 한다.&lt;/li&gt;&#xA;&lt;li&gt;관련 내용은 추후에 여유가 될 때 업데이트를 해보도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;감사-인사&#34;&gt;감사 인사&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;God Google 감사합니다.&lt;/li&gt;&#xA;&lt;li&gt;God Coursera 감사합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;objectives&#34;&gt;Objectives&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Create a train and a validation split with BigQuery.&lt;/li&gt;&#xA;&lt;li&gt;Wrap a machine learning model into a Docker container and train it on AI Platform.&lt;/li&gt;&#xA;&lt;li&gt;Use the hyperparameter tuning engine on Google Cloud to find the best hyperparameters.&lt;/li&gt;&#xA;&lt;li&gt;Deploy a trained machine learning model on Google Cloud as a REST API and query it.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;task-0-setup&#34;&gt;Task 0: Setup&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;클라우드 창에서 Cloud Shell을 활성화 합니다. (그림 생략)&lt;/li&gt;&#xA;&lt;li&gt;현재 프로젝트가 잘 연결이 되어 있는지 확인합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ student_02_2523be913322@cloudshell:~ &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;qwiklabs-gcp-02-9960bd90e36a&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;$ gcloud auth list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           Credentialed Accounts&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ACTIVE  ACCOUNT&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;*       student-02-2523be913322@qwiklabs.net&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;To set the active account, run:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    $ gcloud config set account &lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;ACCOUNT&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;만약 실제 프로젝트에서 연결이 안되어 있다면 &lt;a href=&#34;https://cloud.google.com/sdk/gcloud/reference/config/set&#34;&gt;gcloud config set&lt;/a&gt;에서 참고합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;task-1-enable-cloud-services&#34;&gt;Task 1: Enable Cloud Services&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;여러 형태의 클라우드 서비스를 실행해야 하는 코드를 작성한다.&lt;/li&gt;&#xA;&lt;li&gt;먼저, Cloud Shell에서 프로젝트 ID를 Google Cloud Project로 설정하려면 다음 명령을 실행합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ export PROJECT_ID&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;gcloud config get-value core/project&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ gcloud config set project $PROJECT_ID&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;필요한 클라우드 서비스를 활용하기 위해 다음 명령어를 추가합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ gcloud services enable &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cloudbuild.googleapis.com &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;container.googleapis.com &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cloudresourcemanager.googleapis.com &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;iam.googleapis.com &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;containerregistry.googleapis.com &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;containeranalysis.googleapis.com &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ml.googleapis.com &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dataflow.googleapis.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Cloud Build 서비스 계정에 대한 Editor 사용 권한 추가 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ PROJECT_NUMBER&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;gcloud projects describe $PROJECT_ID --format&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;value(projectNumber)&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;CLOUD_BUILD_SERVICE_ACCOUNT&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;PROJECT_NUMBER&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;@cloudbuild.gserviceaccount.com&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gcloud projects add-iam-policy-binding $PROJECT_ID &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  --member serviceAccount:$CLOUD_BUILD_SERVICE_ACCOUNT &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  --role roles/editor&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Updated IAM policy &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; project &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;qwiklabs-gcp-02-9960bd90&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;e36a&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bindings:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;- members:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  - serviceAccount:qwiklabs-gcp-02-9960bd90e36a@qwiklabs&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-gcp-02-9960bd90e36a.iam.gserviceaccount.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  - user:student-02-2523be913322@qwiklabs.net&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  role: roles/appengine.appAdmin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;- members:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  - serviceAccount:qwiklabs-gcp-02-9960bd90e36a@qwiklabs&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-gcp-02-9960bd90e36a.iam.gserviceaccount.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;- members:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  - serviceAccount:qwiklabs-gcp-02-9960bd90e36a@qwiklabs-gcp-02-9960bd90e36a.iam.gserviceaccount.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  - user:student-02-2523be913322@qwiklabs.net&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  role: roles/viewer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;etag: BwXBj7nBxIk&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;version: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;각각의 Role의 역할이 바뀐것을 확인했다면, 다음 Task를 진행하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;task-2-create-an-instance-of-ai-platform-pipelines&#34;&gt;Task 2. Create an instance of AI Platform Pipelines&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Google Cloud Console의 탐색 메뉴에서 AI 플랫폼으로 스크롤하여 Pin 아이콘을 클릭합니다. 이렇게 하면 나중에 실습에서 쉽게 액세스할 수 있도록 메뉴 상단에 바로 가기가 만들어집니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/05/ch01_Using_custom_containers_with_AI_Platform_Training/tutorial_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Training Data Split in BigQuery</title>
      <link>https://dschloe.github.io/programming/2021/05/random_sampling/</link>
      <pubDate>Tue, 04 May 2021 22:10:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/05/random_sampling/</guid>
      <description>&lt;h2 id=&#34;i-구글-클라우드-설정&#34;&gt;I. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>R Path Setting on MacOS</title>
      <link>https://dschloe.github.io/programming/2021/05/r_path/</link>
      <pubDate>Mon, 03 May 2021 13:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/05/r_path/</guid>
      <description>&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;터미널에서 R 실행이 안된다면 PATH를 설정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;문제-상황&#34;&gt;문제 상황&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MacOS 터미널에서 R을 실행하고 싶은데, 가끔 아래와 같은 에러 메시지가 나올때가 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ R &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bash: R: command not found&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;문제-해결&#34;&gt;문제 해결&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;이는 환경설정 문제이다. 즉, 이러한 경우에는 여러 솔루션이 있다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ref. &lt;a href=&#34;https://stackoverflow.com/questions/44336345/running-r-from-mac-osx-terminal/44343563&#34;&gt;Running R from Mac OSX terminal&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;그 중에서 필자는 &lt;code&gt;Fourth Solution:&lt;/code&gt; 선택하였다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ export PATH&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/Library/Frameworks/R.framework/Resources:&lt;/span&gt;$PATH&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;그 후에 &lt;code&gt;terminal&lt;/code&gt;에서 &lt;code&gt;which R&lt;/code&gt;을 실행해본다. 아래와 같이 정상적으로 출력이 된다면, 환경설정은 잘 된 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ which R&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/Library/Frameworks/R.framework/Resources/R&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;&#xA;&lt;p&gt;Happy To Code&lt;/p&gt;</description>
    </item>
    <item>
      <title>(Python) Pandas Data Convert</title>
      <link>https://dschloe.github.io/programming/2021/04/pandas_data_convert/</link>
      <pubDate>Wed, 28 Apr 2021 14:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/04/pandas_data_convert/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pandas에서 데이터 형변환은 &lt;code&gt;astype&lt;/code&gt;로 끝낸다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;참고자료&#34;&gt;참고자료&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;astype&lt;/code&gt;에 대한 공식 문서를 살펴본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참고자료: &lt;a href=&#34;https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.astype.html&#34;&gt;https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.astype.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;예제&#34;&gt;예제&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가상의 &lt;code&gt;temp&lt;/code&gt; 데이터를 만든다.&lt;/li&gt;&#xA;&lt;li&gt;모두 0, 1, 2 데이터이지만 각 데이터 타입은 모두 다르다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame({&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;A&amp;#34;&lt;/span&gt;: [&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;], &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                     &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;B&amp;#34;&lt;/span&gt;: [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;0&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;1&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2&amp;#34;&lt;/span&gt;], &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                     &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;C&amp;#34;&lt;/span&gt;: [&lt;span style=&#34;color:#ae81ff&#34;&gt;0.0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1.0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2.0&lt;/span&gt;]})&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;info()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;pandas.core.frame.DataFrame&#39;&amp;gt;&#xA;RangeIndex: 3 entries, 0 to 2&#xA;Data columns (total 3 columns):&#xA; #   Column  Non-Null Count  Dtype  &#xA;---  ------  --------------  -----  &#xA; 0   A       3 non-null      int64  &#xA; 1   B       3 non-null      object &#xA; 2   C       3 non-null      float64&#xA;dtypes: float64(1), int64(1), object(1)&#xA;memory usage: 200.0+ bytes&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(temp)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;   A  B  C&#xA;0  0  0  0&#xA;1  1  1  1&#xA;2  2  2  2&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;확인&#34;&gt;확인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;변환을 진행할 때는, 아래와 같이 확인하는 용도로 우선 확인한다. 이 때 확인해야 하는 것은 &lt;code&gt;dtype: ~&lt;/code&gt; 이다.&lt;/li&gt;&#xA;&lt;li&gt;보시다시피 정상적으로 잘 변환되는 것을 알 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;A&amp;#34;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;astype(str)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;0    0&#xA;1    1&#xA;2    2&#xA;Name: A, dtype: object&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;B&amp;#34;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;astype(int)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;0    0&#xA;1    1&#xA;2    2&#xA;Name: B, dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;C&amp;#34;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;astype(int)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;0    0&#xA;1    1&#xA;2    2&#xA;Name: C, dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;적용&#34;&gt;적용&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 본 데이터에 적용을 해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;A&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; temp[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;A&amp;#34;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;astype(str)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;B&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; temp[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;B&amp;#34;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;astype(int)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;C&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; temp[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;C&amp;#34;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;astype(int)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;info()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;pandas.core.frame.DataFrame&#39;&amp;gt;&#xA;RangeIndex: 3 entries, 0 to 2&#xA;Data columns (total 3 columns):&#xA; #   Column  Non-Null Count  Dtype &#xA;---  ------  --------------  ----- &#xA; 0   A       3 non-null      object&#xA; 1   B       3 non-null      int64 &#xA; 2   C       3 non-null      int64 &#xA;dtypes: int64(2), object(1)&#xA;memory usage: 200.0+ bytes&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;처음과 달라진 &lt;code&gt;Dtype&lt;/code&gt;를 확인할 수 있을 것이다.&lt;/li&gt;&#xA;&lt;li&gt;간단한 문법이지만, 막상 실무에서 적용하려면 생각이 잘 나지 않을수도 있다. 작은 도움이 되기를 바란다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Happy To Code&lt;/p&gt;</description>
    </item>
    <item>
      <title>(Python) Defining the Encoding</title>
      <link>https://dschloe.github.io/programming/2021/04/encoding/</link>
      <pubDate>Fri, 23 Apr 2021 09:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/04/encoding/</guid>
      <description>&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;공식 문서를 한번 읽어보도록 합니다.&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;why&#34;&gt;Why?&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;한글 사용자에게 인코딩은 언제나 어렵습니다. 한글 깨져요&amp;hellip;&lt;/li&gt;&#xA;&lt;li&gt;그리고 파이썬의 기본 인코딩은 &lt;code&gt;ASCII&lt;/code&gt;라 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;how-to-use&#34;&gt;How to use&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;임의의 &lt;code&gt;.py&lt;/code&gt; 파일에서 다음과 같이 시작을 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#!/usr/bin/python&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# -*- coding: utf-8 -*-&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;,&lt;/span&gt; sys&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;첫줄은 &lt;code&gt;/usr/bin&lt;/code&gt;에 있는 파이썬에서 실행한다는 의미.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;경로는 각자의 코드에서 수정 가능&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;두번째 줄은 File Encoding 형식을 지정&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조: &lt;a href=&#34;https://realpython.com/python-encodings-guide/#python-3-all-in-on-unicode&#34;&gt;Unicode &amp;amp; Character Encodings in Python: A Painless Guide&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;references&#34;&gt;References&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Defining the Encoding, &lt;a href=&#34;https://www.python.org/dev/peps/pep-0263/&#34;&gt;https://www.python.org/dev/peps/pep-0263/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>(SQL-Tutorial) 데이터 분석을 위한 SQL 레시피와 빅쿼리 사용</title>
      <link>https://dschloe.github.io/programming/2021/04/01_sql_tutorial_intro/</link>
      <pubDate>Thu, 22 Apr 2021 09:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/04/01_sql_tutorial_intro/</guid>
      <description>&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;데이터 분석을 위한 SQL 레시피 교재를 빅쿼리에서 활용해본다.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/04/01_sql_tutorial_intro/tutorial01.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;책-소개&#34;&gt;책 소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;블로그 글 중 잘 정리된 글이 있어 소개합니다. &lt;a href=&#34;https://m.blog.naver.com/iyunpd/221302511091&#34;&gt;빅데이터책: 데이터 분석을 위한 SQL 레시피 읽어보았습니다.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;실습-준비&#34;&gt;실습 준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://hanbit.co.kr/support/supplement_survey.html?pcode=B8585882565&#34;&gt;도서의 부록/예제소스를 다운로드 하세요.&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;예제 소스 코드를 열어봅니다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/04/01_sql_tutorial_intro/tutorial02.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;sql 소스코드로 구성이 되어 있는 것을 확인할 수 있습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;저자가 말하는 샘플 데이터 내용은 아래와 같습니다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/04/01_sql_tutorial_intro/tutorial03.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;이번에는 임의의 SQL 파일을 열어서 확인하도록 합니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/04/01_sql_tutorial_intro/tutorial04.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 이미지에서 보면, &lt;code&gt;Table&lt;/code&gt;을 생성하는 형태로 구성이 되어 있는 것을 알 수 있습니다.&lt;/li&gt;&#xA;&lt;li&gt;따라서, 위 코드가 실제 빅쿼리에도 동일하게 적용이 되는지 확인을 하도록 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;빅쿼리에서의-실습&#34;&gt;빅쿼리에서의 실습&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;빅쿼리를 처음 하시는 분들은 다음 게시글에서 확인 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/gcp/bigquery/01_settings/python_bigquery/&#34;&gt;Kaggle-Python-Bigquery 연동 예제&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/gcp/bigquery/01_settings/ch01_bigquery_getstarted/&#34;&gt;Ch01 BigQuery getstarted&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;새로운 프로젝트를 생성합니다. 필자는 &lt;code&gt;sqlRecipe&lt;/code&gt;라고 하였습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/04/01_sql_tutorial_intro/tutorial05.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kaggle-Python-Bigquery 연동 예제</title>
      <link>https://dschloe.github.io/programming/2021/04/python_bigquery/</link>
      <pubDate>Fri, 16 Apr 2021 15:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/04/python_bigquery/</guid>
      <description>&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;캐글 데이터를 빅쿼리에 넣어보&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;캐글-데이터-다운로드&#34;&gt;캐글 데이터 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;캐글 데이터를 다운로드 받습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install kaggle&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Requirement already satisfied: kaggle in /usr/local/lib/python3.7/dist-packages (1.5.12)&#xA;Requirement already satisfied: six&amp;gt;=1.10 in /usr/local/lib/python3.7/dist-packages (from kaggle) (1.15.0)&#xA;Requirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages (from kaggle) (2.23.0)&#xA;Requirement already satisfied: urllib3 in /usr/local/lib/python3.7/dist-packages (from kaggle) (1.24.3)&#xA;Requirement already satisfied: certifi in /usr/local/lib/python3.7/dist-packages (from kaggle) (2020.12.5)&#xA;Requirement already satisfied: python-dateutil in /usr/local/lib/python3.7/dist-packages (from kaggle) (2.8.1)&#xA;Requirement already satisfied: tqdm in /usr/local/lib/python3.7/dist-packages (from kaggle) (4.41.1)&#xA;Requirement already satisfied: python-slugify in /usr/local/lib/python3.7/dist-packages (from kaggle) (4.0.1)&#xA;Requirement already satisfied: idna&amp;lt;3,&amp;gt;=2.5 in /usr/local/lib/python3.7/dist-packages (from requests-&amp;gt;kaggle) (2.10)&#xA;Requirement already satisfied: chardet&amp;lt;4,&amp;gt;=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests-&amp;gt;kaggle) (3.0.4)&#xA;Requirement already satisfied: text-unidecode&amp;gt;=1.3 in /usr/local/lib/python3.7/dist-packages (from python-slugify-&amp;gt;kaggle) (1.3)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;mkdir &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;{&amp;#34;username&amp;#34;:&amp;#34;your_id&amp;#34;,&amp;#34;key&amp;#34;:&amp;#34;your_key&amp;#34;}&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;chmod &lt;span style=&#34;color:#ae81ff&#34;&gt;600&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;kaggle competitions download &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;c tabular&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;playground&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;series&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;apr&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2021&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Warning: Looks like you&#39;re using an outdated API Version, please consider updating (server 1.5.12 / client 1.5.4)&#xA;Downloading test.csv.zip to /content&#xA;  0% 0.00/2.07M [00:00&amp;lt;?, ?B/s]&#xA;100% 2.07M/2.07M [00:00&amp;lt;00:00, 59.0MB/s]&#xA;Downloading train.csv.zip to /content&#xA;  0% 0.00/2.13M [00:00&amp;lt;?, ?B/s]&#xA;100% 2.13M/2.13M [00:00&amp;lt;00:00, 69.3MB/s]&#xA;Downloading sample_submission.csv to /content&#xA;  0% 0.00/879k [00:00&amp;lt;?, ?B/s]&#xA;100% 879k/879k [00:00&amp;lt;00:00, 124MB/s]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;sample_data  sample_submission.csv  test.csv.zip  train.csv.zip&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;unzip &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;*.zip&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Archive:  train.csv.zip&#xA;  inflating: train.csv               &#xA;&#xA;Archive:  test.csv.zip&#xA;  inflating: test.csv                &#xA;&#xA;2 archives were successfully processed.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;사용자-계정-인증&#34;&gt;사용자 계정 인증&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; auth&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;auth&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;authenticate_user()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Authenticated&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Authenticated&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;빅쿼리-사용-예제&#34;&gt;빅쿼리 사용 예제&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;빅쿼리 사용에 앞서서 세팅을 해야 합니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>파이썬 객체 지향 프로그래밍 - Attributes &amp; Methods (2)</title>
      <link>https://dschloe.github.io/programming/2021/04/python_oop_2/</link>
      <pubDate>Wed, 14 Apr 2021 16:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/04/python_oop_2/</guid>
      <description>&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;클래스를 직접 구현하면서 &lt;code&gt;Attributes &amp;amp; Methods&lt;/code&gt;의 차이점에 대해 이해한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기본적인 클래스 등을 작성해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Customer&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;pass&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;class &amp;lt;name&amp;gt;:&lt;/code&gt; 클래스의 이름을 정의함&lt;/li&gt;&#xA;&lt;li&gt;만약, &lt;code&gt;pass&lt;/code&gt;를 입력하면 하나의 &lt;code&gt;empty&lt;/code&gt; 클래스를 생성하는 것이다.&lt;/li&gt;&#xA;&lt;li&gt;이렇게 생성된 클래스는 여러개의 인스턴스를 만들 수 있음&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;c1 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Customer() &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;c2 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Customer()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;methods-추가&#34;&gt;Methods 추가&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 간단한 method를 추가한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Customer&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;identify&lt;/span&gt;(self, name): &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;저는 소비자 &amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; name &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; 입니다.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;함수 작성 시에는 self를 가장 먼저 입력한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cust &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Customer()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cust&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;identify(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Evan&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;저는 소비자 Evan 입니다.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Self를 어떻게 이해하면 좋을까? 다양한 프로그래밍 설명이 있지만, 직관적으로 표현하면, instance 자기 자신이라고 표현하는 것이 맞다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;cust.identify(&amp;ldquo;Evan&amp;rdquo;)는 Customer.identify(cust, &amp;ldquo;Evan&amp;rdquo;)이라고 해석하는 것과 동일하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;attributes-추가&#34;&gt;Attributes 추가&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 Attributes를 추가한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Customer&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;set_name&lt;/span&gt;(self, new_name):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; new_name&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;set_name이 호출 될 때, &lt;code&gt;.name&lt;/code&gt;도 같이 호출 된다.&lt;/li&gt;&#xA;&lt;li&gt;조금더 구체적으로 살펴보면 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cust2 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Customer() &lt;span style=&#34;color:#75715e&#34;&gt;# 이 때에는 .name이 존재하지 않는다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cust2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;set_name(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Evan&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#75715e&#34;&gt;# 이 때에는 .name이 생성되며, &amp;#34;Evan&amp;#34; 이름이 저장된다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(cust2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name) &lt;span style=&#34;color:#75715e&#34;&gt;# 정상적으로 호출이 된다&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Evan&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 identify 메서드 형식을 바꾸도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Customer&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;set_name&lt;/span&gt;(self, new_name):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; new_name&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;identify&lt;/span&gt;(self): &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;저는 소비자 &amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; 입니다.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;idenfity( ) 내부에 name 인자는 없었졌다. 그리고, print( ) 내부에 있는 name은 self.name으로 변경 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cust &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Customer()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cust&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;set_name(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Evan&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cust&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;identify()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;저는 소비자 Evan 입니다.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;references&#34;&gt;References&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Object-Oriented Programming in Python Retrieved from &lt;a href=&#34;https://www.datacamp.com/courses/object-oriented-programming-in-python&#34;&gt;https://www.datacamp.com/courses/object-oriented-programming-in-python&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>파이썬 객체 지향 프로그래밍 - Attributes &amp; Methods</title>
      <link>https://dschloe.github.io/programming/2021/04/python_oop_1/</link>
      <pubDate>Wed, 14 Apr 2021 13:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/04/python_oop_1/</guid>
      <description>&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Attributes &amp;amp; Methods의 차이점에 대해 이해한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Object = State + Behavior&#xA;&lt;ul&gt;&#xA;&lt;li&gt;예) Email, Phone Number, 배송상태&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Class는 일종의 가이드라인을 의미&lt;/li&gt;&#xA;&lt;li&gt;파이썬 내의 모든 객체는 일종으 클래스임&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Object&lt;/th&gt;&#xA;          &lt;th&gt;Class&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;7&lt;/td&gt;&#xA;          &lt;td&gt;int&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&amp;ldquo;Hello&amp;rdquo;&lt;/td&gt;&#xA;          &lt;td&gt;str&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;pd.DataFrame()&lt;/td&gt;&#xA;          &lt;td&gt;DataFrame&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;해당 클래스를 찾기 위해 &lt;code&gt;type( )&lt;/code&gt;를 사용함.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array([&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(type(temp))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;numpy.ndarray&#39;&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;state--behavior&#34;&gt;State + Behavior&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/04/python_oop_1/oop.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그렇다면, State를 지칭하는 파이썬 문법은 무엇인가?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파이썬에서는 이를 &lt;code&gt;Attributes&lt;/code&gt;라고 부른다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;또한, Behavior를 지칭하는 파이썬 문법은 무엇인가?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파이썬에서는 이를 &lt;code&gt;Methods&lt;/code&gt;라고 부른다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;먼저 Attributes 문법을 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# shape attribute&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;(3,)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 Methods 문법을 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# reshpae method&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reshape(&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;array([[1],&#xA;       [2],&#xA;       [3]])&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;소결&#34;&gt;소결&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Object = Attributes + Methods&#xA;&lt;ul&gt;&#xA;&lt;li&gt;attribute &amp;lt;-&amp;gt; variables &amp;lt;-&amp;gt; obj.my_attribute,&lt;/li&gt;&#xA;&lt;li&gt;attribute &amp;lt;-&amp;gt; function() &amp;lt;-&amp;gt; obj.my_method().&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;dir() 해당 객체의 모든 attributes, methods를 보여줌&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dir(temp)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[&#39;T&#39;,&#xA; &#39;__abs__&#39;,&#xA; &#39;__add__&#39;,&#xA; &#39;__and__&#39;,&#xA; &#39;__array__&#39;,&#xA; &#39;__array_finalize__&#39;,&#xA; &#39;__array_function__&#39;,&#xA; &#39;__array_interface__&#39;,&#xA; &#39;__array_prepare__&#39;,&#xA; &#39;__array_priority__&#39;,&#xA; &#39;__array_struct__&#39;,&#xA; &#39;__array_ufunc__&#39;,&#xA; &#39;__array_wrap__&#39;,&#xA; &#39;__bool__&#39;,&#xA; &#39;__class__&#39;,&#xA; &#39;__complex__&#39;,&#xA; &#39;__contains__&#39;,&#xA; &#39;__copy__&#39;,&#xA; &#39;__deepcopy__&#39;,&#xA; &#39;__delattr__&#39;,&#xA; &#39;__delitem__&#39;,&#xA; &#39;__dir__&#39;,&#xA; &#39;__divmod__&#39;,&#xA; &#39;__doc__&#39;,&#xA; &#39;__eq__&#39;,&#xA; &#39;__float__&#39;,&#xA; &#39;__floordiv__&#39;,&#xA; &#39;__format__&#39;,&#xA; &#39;__ge__&#39;,&#xA; &#39;__getattribute__&#39;,&#xA; &#39;__getitem__&#39;,&#xA; &#39;__gt__&#39;,&#xA; &#39;__hash__&#39;,&#xA; &#39;__iadd__&#39;,&#xA; &#39;__iand__&#39;,&#xA; &#39;__ifloordiv__&#39;,&#xA; &#39;__ilshift__&#39;,&#xA; &#39;__imatmul__&#39;,&#xA; &#39;__imod__&#39;,&#xA; &#39;__imul__&#39;,&#xA; &#39;__index__&#39;,&#xA; &#39;__init__&#39;,&#xA; &#39;__init_subclass__&#39;,&#xA; &#39;__int__&#39;,&#xA; &#39;__invert__&#39;,&#xA; &#39;__ior__&#39;,&#xA; &#39;__ipow__&#39;,&#xA; &#39;__irshift__&#39;,&#xA; &#39;__isub__&#39;,&#xA; &#39;__iter__&#39;,&#xA; &#39;__itruediv__&#39;,&#xA; &#39;__ixor__&#39;,&#xA; &#39;__le__&#39;,&#xA; &#39;__len__&#39;,&#xA; &#39;__lshift__&#39;,&#xA; &#39;__lt__&#39;,&#xA; &#39;__matmul__&#39;,&#xA; &#39;__mod__&#39;,&#xA; &#39;__mul__&#39;,&#xA; &#39;__ne__&#39;,&#xA; &#39;__neg__&#39;,&#xA; &#39;__new__&#39;,&#xA; &#39;__or__&#39;,&#xA; &#39;__pos__&#39;,&#xA; &#39;__pow__&#39;,&#xA; &#39;__radd__&#39;,&#xA; &#39;__rand__&#39;,&#xA; &#39;__rdivmod__&#39;,&#xA; &#39;__reduce__&#39;,&#xA; &#39;__reduce_ex__&#39;,&#xA; &#39;__repr__&#39;,&#xA; &#39;__rfloordiv__&#39;,&#xA; &#39;__rlshift__&#39;,&#xA; &#39;__rmatmul__&#39;,&#xA; &#39;__rmod__&#39;,&#xA; &#39;__rmul__&#39;,&#xA; &#39;__ror__&#39;,&#xA; &#39;__rpow__&#39;,&#xA; &#39;__rrshift__&#39;,&#xA; &#39;__rshift__&#39;,&#xA; &#39;__rsub__&#39;,&#xA; &#39;__rtruediv__&#39;,&#xA; &#39;__rxor__&#39;,&#xA; &#39;__setattr__&#39;,&#xA; &#39;__setitem__&#39;,&#xA; &#39;__setstate__&#39;,&#xA; &#39;__sizeof__&#39;,&#xA; &#39;__str__&#39;,&#xA; &#39;__sub__&#39;,&#xA; &#39;__subclasshook__&#39;,&#xA; &#39;__truediv__&#39;,&#xA; &#39;__xor__&#39;,&#xA; &#39;all&#39;,&#xA; &#39;any&#39;,&#xA; &#39;argmax&#39;,&#xA; &#39;argmin&#39;,&#xA; &#39;argpartition&#39;,&#xA; &#39;argsort&#39;,&#xA; &#39;astype&#39;,&#xA; &#39;base&#39;,&#xA; &#39;byteswap&#39;,&#xA; &#39;choose&#39;,&#xA; &#39;clip&#39;,&#xA; &#39;compress&#39;,&#xA; &#39;conj&#39;,&#xA; &#39;conjugate&#39;,&#xA; &#39;copy&#39;,&#xA; &#39;ctypes&#39;,&#xA; &#39;cumprod&#39;,&#xA; &#39;cumsum&#39;,&#xA; &#39;data&#39;,&#xA; &#39;diagonal&#39;,&#xA; &#39;dot&#39;,&#xA; &#39;dtype&#39;,&#xA; &#39;dump&#39;,&#xA; &#39;dumps&#39;,&#xA; &#39;fill&#39;,&#xA; &#39;flags&#39;,&#xA; &#39;flat&#39;,&#xA; &#39;flatten&#39;,&#xA; &#39;getfield&#39;,&#xA; &#39;imag&#39;,&#xA; &#39;item&#39;,&#xA; &#39;itemset&#39;,&#xA; &#39;itemsize&#39;,&#xA; &#39;max&#39;,&#xA; &#39;mean&#39;,&#xA; &#39;min&#39;,&#xA; &#39;nbytes&#39;,&#xA; &#39;ndim&#39;,&#xA; &#39;newbyteorder&#39;,&#xA; &#39;nonzero&#39;,&#xA; &#39;partition&#39;,&#xA; &#39;prod&#39;,&#xA; &#39;ptp&#39;,&#xA; &#39;put&#39;,&#xA; &#39;ravel&#39;,&#xA; &#39;real&#39;,&#xA; &#39;repeat&#39;,&#xA; &#39;reshape&#39;,&#xA; &#39;resize&#39;,&#xA; &#39;round&#39;,&#xA; &#39;searchsorted&#39;,&#xA; &#39;setfield&#39;,&#xA; &#39;setflags&#39;,&#xA; &#39;shape&#39;,&#xA; &#39;size&#39;,&#xA; &#39;sort&#39;,&#xA; &#39;squeeze&#39;,&#xA; &#39;std&#39;,&#xA; &#39;strides&#39;,&#xA; &#39;sum&#39;,&#xA; &#39;swapaxes&#39;,&#xA; &#39;take&#39;,&#xA; &#39;tobytes&#39;,&#xA; &#39;tofile&#39;,&#xA; &#39;tolist&#39;,&#xA; &#39;tostring&#39;,&#xA; &#39;trace&#39;,&#xA; &#39;transpose&#39;,&#xA; &#39;var&#39;,&#xA; &#39;view&#39;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;references&#34;&gt;References&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Object-Oriented Programming in Python Retrieved from &lt;a href=&#34;https://www.datacamp.com/courses/object-oriented-programming-in-python&#34;&gt;https://www.datacamp.com/courses/object-oriented-programming-in-python&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>GCP Kubernetes Engine을 통한 배포(2)</title>
      <link>https://dschloe.github.io/programming/2021/04/ch02_creating_kubernetes_engine_deployments/</link>
      <pubDate>Tue, 13 Apr 2021 19:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/04/ch02_creating_kubernetes_engine_deployments/</guid>
      <description>&lt;h2 id=&#34;인프런-강의&#34;&gt;인프런 강의&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;(GCP) GKE&lt;/code&gt;를 활용하여 &lt;code&gt;nginx&lt;/code&gt;를 실행해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-1-gcp-shell-활성화&#34;&gt;Step 1. GCP Shell 활성화&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;You can list the active account name with this command:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;your_project_id&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;$ gcloud auth list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           Credentialed Accounts&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ACTIVE  ACCOUNT&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;*       student-04-e46af1f1cd7b@qwiklabs.net&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;To set the active account, run:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    $ gcloud config set account &lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;ACCOUNT&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;You can list the project ID with this command:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;your_project_id&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;$ gcloud config list project&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;core&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;project &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; qwiklabs-gcp-04-79efc1e4ae0f&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your active configuration is: &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;cloudshell-24251&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-2-create-deployment-manifests&#34;&gt;Step 2. Create Deployment manifests&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Task 1. Create deployment manifests and deploy to the cluster&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-connect-to-the-lab-gke-cluster&#34;&gt;(1) Connect to the lab GKE cluster&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In Cloud Shell, type the following command to set the environment variable for the zone and cluster name.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;your_project_id&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;$ export my_zone&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;us-central1-a&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;your_project_id&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;$ export my_cluster&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;standard-cluster-1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Configure kubectl tab completion in Cloud Shell.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;your_project_id&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;$ source &amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;kubectl completion bash&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;In Cloud Shell, configure access to your cluster for the kubectl command-line tool, using the following command:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ gcloud container clusters get-credentials $my_cluster --zone $my_zone&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Fetching cluster endpoint and auth data.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;kubeconfig entry generated &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; standard-cluster-1.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;In Cloud Shell enter the following command to clone the repository to the lab Cloud Shell.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;your_project_id&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;$ git clone https://github.com/GoogleCloudPlatform/training-data-analyst&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Create a soft link as a shortcut to the working directory.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;your_project_id&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;$ ln -s ~/training-data-analyst/courses/ak8s/v1.1 ~/ak8s&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Change to the directory that contains the sample files for this lab.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;your_project_id&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;$ cd ~/ak8s/Deployments/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;your_id@cloudshell:~/ak8s/Deployments &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;your_project_id&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;$&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;2-create-a-deployment-manifest&#34;&gt;(2) Create a deployment manifest&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;You will create a deployment using a sample deployment manifest called &lt;code&gt;nginx-deployment.yaml&lt;/code&gt; that has been provided for you. This deployment is configured to run three Pod replicas with a single nginx container in each Pod listening on TCP port 80.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Let&amp;rsquo;s create &lt;code&gt;nginx-deployment.yaml&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;apiVersion&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;apps/v1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;kind&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;Deployment&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;metadata&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;name&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;nginx-deployment&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;labels&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;app&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;nginx&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;spec&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;replicas&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;selector&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;matchLabels&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;app&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;nginx&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;template&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;metadata&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;labels&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;app&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;nginx&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;spec&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;containers&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - &lt;span style=&#34;color:#f92672&#34;&gt;name&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;nginx&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;image&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;nginx:1.7.9&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;ports&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        - &lt;span style=&#34;color:#f92672&#34;&gt;containerPort&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;80&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;To deploy your manifest, execute the following command:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~/ak8s/Deployments &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;your_project_id&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;$ kubectl apply -f ./nginx-deployment.yaml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;To view a list of deployments, execute the following command:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~/ak8s/Deployments &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;your_project_id&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;$ kubectl get deployments&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;NAME               READY   UP-TO-DATE   AVAILABLE   AGE&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nginx-deployment   3/3     &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;            &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;           24s&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-3manually-scale-up-and-down-the-number-of-pods-in-deployments&#34;&gt;Step 3.Manually scale up and down the number of Pods in deployments&lt;/h2&gt;&#xA;&lt;p&gt;Sometimes, you want to shut down a Pod instance. Other times, you want ten Pods running. In Kubernetes, you can scale a specific Pod to the desired number of instances. To shut them down, you scale to zero. In this task, you scale Pods up and down in the Google Cloud Console and Cloud Shell.&lt;/p&gt;</description>
    </item>
    <item>
      <title>[Python] Open API를 활용한 Air Quality 데이터 수집 예제</title>
      <link>https://dschloe.github.io/programming/2021/04/py-openaq/</link>
      <pubDate>Wed, 07 Apr 2021 00:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/04/py-openaq/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;오픈 데이터로 활용하여 시계열 데이터를 확보해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;동기-부여&#34;&gt;동기 부여&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pandas 공식 홈페이지가 살짝 바뀐 듯 하였다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/04/py-openaq/py-openaq01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;li&gt;시계열 데이터를 다루는 페이지를 확인하던 중 open air quality data API가 있는 것을 확인하였다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Github: &lt;a href=&#34;https://github.com/dhhagan/py-openaq&#34;&gt;https://github.com/dhhagan/py-openaq&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;라이브러리-설치&#34;&gt;라이브러리 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;라이브러리 설치는 비교적 간단하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ pip install py-openaq&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Collecting py-openaq&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Downloading py-openaq-1.1.0.tar.gz &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;7.9 kB&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Building wheels &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; collected packages: py-openaq&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Building wheel &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; py-openaq &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;setup.py&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; ... &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Created wheel &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; py-openaq: filename&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;py_openaq-1.1.0-py3-none-any.whl size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;9036&lt;/span&gt; sha256&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;1d5011bd3ef180c93d275081f6f5ad20d569c9f7ce2982eabaaeee7307070b75&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Stored in directory: /Users/evan/Library/Caches/pip/wheels/01/1d/be/6b6a0ee792bbc9138aeb645707cdad8da741bb2d789beb04d9&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Successfully built py-openaq&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Installing collected packages: py-openaq&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Successfully installed py-openaq-1.1.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;데이터-불러오기&#34;&gt;데이터 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터를 불러오면 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; openaq&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;api &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; openaq&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;OpenAQ()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;location &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;FR04014&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;date_from &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2019-05-07T01:00:00&amp;#34;&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;date_to &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2019-06-21T00:00:00&amp;#34;&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;parameter &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;no2&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;FR04014_results &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; api&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;measurements(location&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;location, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                   parameter&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;parameter, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                   date_from&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;date_from, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                   date_to&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;date_to, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                   limit&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;10000&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                   df&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                   index&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;local&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(FR04014_results&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;FR04014_results&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;(1002, 9)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;style&gt;&#xA;    #customers {&#xA;      font-family: &#34;Trebuchet MS&#34;, Arial, Helvetica, sans-serif;&#xA;      border-collapse: collapse;&#xA;    }&#xA;&#xA;    #customers td,&#xA;    #customers th {&#xA;      border: 1px solid #ddd;&#xA;      padding: 8px;&#xA;    }&#xA;&#xA;    #customers tr:nth-child(even) {&#xA;      background-color: #f2f2f2;&#xA;    }&#xA;&#xA;    #customers tr:hover {&#xA;      background-color: #ddd;&#xA;    }&#xA;&#xA;    #customers th {&#xA;      padding-top: 12px;&#xA;      padding-bottom: 12px;&#xA;      text-align: left;&#xA;      background-color: rgb(175, 107, 76);&#xA;      color: white;&#xA;    }&#xA;  &lt;/style&gt;&#xA;&#xA;&lt;div style=&#34;width:100%; height:300px; overflow:auto&#34;&gt;&#xA;    &lt;table border=&#34;1&#34; id=&#34;customers&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr style=&#34;text-align: right;&#34;&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;location&lt;/th&gt;&#xA;      &lt;th&gt;parameter&lt;/th&gt;&#xA;      &lt;th&gt;value&lt;/th&gt;&#xA;      &lt;th&gt;unit&lt;/th&gt;&#xA;      &lt;th&gt;country&lt;/th&gt;&#xA;      &lt;th&gt;city&lt;/th&gt;&#xA;      &lt;th&gt;date.utc&lt;/th&gt;&#xA;      &lt;th&gt;coordinates.latitude&lt;/th&gt;&#xA;      &lt;th&gt;coordinates.longitude&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;date.local&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;2019-06-21 02:00:00&lt;/th&gt;&#xA;      &lt;td&gt;FR04014&lt;/td&gt;&#xA;      &lt;td&gt;no2&lt;/td&gt;&#xA;      &lt;td&gt;20.0&lt;/td&gt;&#xA;      &lt;td&gt;b&#39;\xc2\xb5g/m\xc2\xb3&#39;&lt;/td&gt;&#xA;      &lt;td&gt;FR&lt;/td&gt;&#xA;      &lt;td&gt;Paris&lt;/td&gt;&#xA;      &lt;td&gt;2019-06-21 00:00:00+00:00&lt;/td&gt;&#xA;      &lt;td&gt;48.837243&lt;/td&gt;&#xA;      &lt;td&gt;2.393902&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;2019-06-21 01:00:00&lt;/th&gt;&#xA;      &lt;td&gt;FR04014&lt;/td&gt;&#xA;      &lt;td&gt;no2&lt;/td&gt;&#xA;      &lt;td&gt;21.8&lt;/td&gt;&#xA;      &lt;td&gt;b&#39;\xc2\xb5g/m\xc2\xb3&#39;&lt;/td&gt;&#xA;      &lt;td&gt;FR&lt;/td&gt;&#xA;      &lt;td&gt;Paris&lt;/td&gt;&#xA;      &lt;td&gt;2019-06-20 23:00:00+00:00&lt;/td&gt;&#xA;      &lt;td&gt;48.837243&lt;/td&gt;&#xA;      &lt;td&gt;2.393902&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;2019-06-21 00:00:00&lt;/th&gt;&#xA;      &lt;td&gt;FR04014&lt;/td&gt;&#xA;      &lt;td&gt;no2&lt;/td&gt;&#xA;      &lt;td&gt;26.5&lt;/td&gt;&#xA;      &lt;td&gt;b&#39;\xc2\xb5g/m\xc2\xb3&#39;&lt;/td&gt;&#xA;      &lt;td&gt;FR&lt;/td&gt;&#xA;      &lt;td&gt;Paris&lt;/td&gt;&#xA;      &lt;td&gt;2019-06-20 22:00:00+00:00&lt;/td&gt;&#xA;      &lt;td&gt;48.837243&lt;/td&gt;&#xA;      &lt;td&gt;2.393902&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;2019-06-20 23:00:00&lt;/th&gt;&#xA;      &lt;td&gt;FR04014&lt;/td&gt;&#xA;      &lt;td&gt;no2&lt;/td&gt;&#xA;      &lt;td&gt;24.9&lt;/td&gt;&#xA;      &lt;td&gt;b&#39;\xc2\xb5g/m\xc2\xb3&#39;&lt;/td&gt;&#xA;      &lt;td&gt;FR&lt;/td&gt;&#xA;      &lt;td&gt;Paris&lt;/td&gt;&#xA;      &lt;td&gt;2019-06-20 21:00:00+00:00&lt;/td&gt;&#xA;      &lt;td&gt;48.837243&lt;/td&gt;&#xA;      &lt;td&gt;2.393902&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;2019-06-20 22:00:00&lt;/th&gt;&#xA;      &lt;td&gt;FR04014&lt;/td&gt;&#xA;      &lt;td&gt;no2&lt;/td&gt;&#xA;      &lt;td&gt;21.4&lt;/td&gt;&#xA;      &lt;td&gt;b&#39;\xc2\xb5g/m\xc2\xb3&#39;&lt;/td&gt;&#xA;      &lt;td&gt;FR&lt;/td&gt;&#xA;      &lt;td&gt;Paris&lt;/td&gt;&#xA;      &lt;td&gt;2019-06-20 20:00:00+00:00&lt;/td&gt;&#xA;      &lt;td&gt;48.837243&lt;/td&gt;&#xA;      &lt;td&gt;2.393902&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;정상적으로 데이터가 불러오진 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;다음은 3개의 데이터셋을 만들어서 합친 후, 시계열 데이터 핸들링을 연습해보독 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;reference&#34;&gt;Reference&lt;/h2&gt;&#xA;&lt;p&gt;HP-Nunes.(2020). An Introduction to Data Collection: REST APIs with Python &amp;amp; Pizzas, Medium, Retrieved from &lt;a href=&#34;https://medium.com/@geocuriosity/an-introduction-to-data-collection-rest-apis-with-python-pizzas-7b682cef676c&#34;&gt;https://medium.com/@geocuriosity/an-introduction-to-data-collection-rest-apis-with-python-pizzas-7b682cef676c&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>GCP Kubernetes Engine을 통한 배포(1)</title>
      <link>https://dschloe.github.io/programming/2021/04/ch01_deploying_kubernetes_engine/</link>
      <pubDate>Thu, 01 Apr 2021 21:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/04/ch01_deploying_kubernetes_engine/</guid>
      <description>&lt;h2 id=&#34;인프런-강의&#34;&gt;인프런 강의&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;(GCP) GKE&lt;/code&gt;를 활용하여 &lt;code&gt;nginx&lt;/code&gt;를 실행해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-1-gke-cluster-setup&#34;&gt;Step 1. GKE Cluster Setup&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;네비게이션 메뉴에서 &lt;code&gt;Kubernetes Engine &amp;gt; Clusters&lt;/code&gt;를 클릭합니다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/04/ch01_deploying_kubernetes_engine/kubernetes_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;위 화면에서 &lt;code&gt;Create&lt;/code&gt;를 클릭합니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;그 이후에, &lt;code&gt;Cluster&lt;/code&gt; 이름은 &lt;code&gt;standard-cluster-1&lt;/code&gt;으로 바꾸고, &lt;code&gt;Zone&lt;/code&gt;은 us-central1-a로 바꿉니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;나머지는 모두 &lt;code&gt;Default&lt;/code&gt;로 그냥 놔둡니다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/04/ch01_deploying_kubernetes_engine/kubernetes_02.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker Started using Cloud Build</title>
      <link>https://dschloe.github.io/programming/2021/03/ch01_working_with_cloud_build/</link>
      <pubDate>Tue, 30 Mar 2021 22:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/03/ch01_working_with_cloud_build/</guid>
      <description>&lt;h2 id=&#34;인프런-강의&#34;&gt;인프런 강의&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;(GCP) Cloud Build&lt;/code&gt;를 활용하여 &lt;code&gt;Docker&lt;/code&gt;를 활용해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-1-api-enabled&#34;&gt;Step 1. API Enabled&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;클라우드 네비게이션 메뉴에서 &lt;code&gt;APIs &amp;amp; Services&lt;/code&gt;를 클릭한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Enable APIs and Services&lt;/code&gt;를 클릭한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Search for APIs &amp;amp; Services&lt;/code&gt;에서 &lt;code&gt;Cloud Build&lt;/code&gt;를 입력한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Cloud Build API&lt;/code&gt;를 클릭한 후, &lt;code&gt;Enable&lt;/code&gt; 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;li&gt;뒤로가기 버튼을 클릭한 후, &lt;code&gt;Google Container Registry API&lt;/code&gt; 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;step-2-docker-file-작성&#34;&gt;Step 2. Docker File 작성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;아래 그림처럼 &lt;code&gt;Activate Cloud Shell&lt;/code&gt;를 클릭한다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/03/ch01_working_with_cloud_build/cloud_build_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Google Colab에서 Kaggle API 쉽게 사용하는 방법</title>
      <link>https://dschloe.github.io/programming/2021/03/kaggle_api_easy_to_use/</link>
      <pubDate>Tue, 30 Mar 2021 16:31:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/03/kaggle_api_easy_to_use/</guid>
      <description>&lt;h2 id=&#34;한줄-요약&#34;&gt;한줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;귀찮지만 한 2개의 Cell은 입력후 실행하자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Google Colab에서 Kaggle을 사용하려면 보통 다음과 같은 과정을 거칩니다.&lt;/li&gt;&#xA;&lt;li&gt;패키지 설치는 필수입니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install kaggle&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Requirement already satisfied: kaggle in /usr/local/lib/python3.7/dist-packages (1.5.10)&#xA;Requirement already satisfied: python-dateutil in /usr/local/lib/python3.7/dist-packages (from kaggle) (2.8.1)&#xA;Requirement already satisfied: six&amp;gt;=1.10 in /usr/local/lib/python3.7/dist-packages (from kaggle) (1.15.0)&#xA;Requirement already satisfied: urllib3 in /usr/local/lib/python3.7/dist-packages (from kaggle) (1.24.3)&#xA;Requirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages (from kaggle) (2.23.0)&#xA;Requirement already satisfied: tqdm in /usr/local/lib/python3.7/dist-packages (from kaggle) (4.41.1)&#xA;Requirement already satisfied: certifi in /usr/local/lib/python3.7/dist-packages (from kaggle) (2020.12.5)&#xA;Requirement already satisfied: python-slugify in /usr/local/lib/python3.7/dist-packages (from kaggle) (4.0.1)&#xA;Requirement already satisfied: chardet&amp;lt;4,&amp;gt;=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests-&amp;gt;kaggle) (3.0.4)&#xA;Requirement already satisfied: idna&amp;lt;3,&amp;gt;=2.5 in /usr/local/lib/python3.7/dist-packages (from requests-&amp;gt;kaggle) (2.10)&#xA;Requirement already satisfied: text-unidecode&amp;gt;=1.3 in /usr/local/lib/python3.7/dist-packages (from python-slugify-&amp;gt;kaggle) (1.3)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;문제점&#34;&gt;문제점&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 코드를 봅시다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; files&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;uploaded &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; files&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;upload()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; fn &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; uploaded&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;keys():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;User uploaded file &amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{name}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; with length &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{length}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; bytes&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;fn, length&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;len(uploaded[fn])))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Then move kaggle.json into the folder where the API expects to find it.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;mkdir &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;p &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; mv kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; chmod &lt;span style=&#34;color:#ae81ff&#34;&gt;600&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;문제는 kaggle.json 파일을 매번 업로드 해줘야 하는데, 매우 번거롭습니다. 간혹 파일이 삭제되기도 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;해결방법&#34;&gt;해결방법&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이럴 때 간편한 방법은 위 방법 대신에 아래와 같이 입력을 하는 것입니다.&lt;/li&gt;&#xA;&lt;li&gt;key값은 kaggle.json 파일에 있습니다. 메모장 같은 텍스트 에디터나 파이참 같은 통합개발환경툴을 사용하면 바로 확인이 가능합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;mkdir &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;{&amp;#34;username&amp;#34;:&amp;#34;your_name&amp;#34;,&amp;#34;key&amp;#34;:&amp;#34;your_key&amp;#34;}&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;chmod &lt;span style=&#34;color:#ae81ff&#34;&gt;600&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;mkdir: cannot create directory ‘/root/.kaggle’: File exists&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실제 잘 되는지 확인해 봅니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;kaggle competitions list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Warning: Looks like you&#39;re using an outdated API Version, please consider updating (server 1.5.12 / client 1.5.4)&#xA;ref                                            deadline             category            reward  teamCount  userHasEntered  &#xA;---------------------------------------------  -------------------  ---------------  ---------  ---------  --------------  &#xA;contradictory-my-dear-watson                   2030-07-01 23:59:00  Getting Started     Prizes        102           False  &#xA;gan-getting-started                            2030-07-01 23:59:00  Getting Started     Prizes        209           False  &#xA;tpu-getting-started                            2030-06-03 23:59:00  Getting Started  Knowledge        493           False  &#xA;digit-recognizer                               2030-01-01 00:00:00  Getting Started  Knowledge       3394           False  &#xA;titanic                                        2030-01-01 00:00:00  Getting Started  Knowledge      27213            True  &#xA;house-prices-advanced-regression-techniques    2030-01-01 00:00:00  Getting Started  Knowledge       6963            True  &#xA;connectx                                       2030-01-01 00:00:00  Getting Started  Knowledge        595           False  &#xA;nlp-getting-started                            2030-01-01 00:00:00  Getting Started  Knowledge       1723            True  &#xA;competitive-data-science-predict-future-sales  2022-12-31 23:59:00  Playground           Kudos      10797            True  &#xA;jane-street-market-prediction                  2021-08-23 23:59:00  Featured          $100,000       4245            True  &#xA;hungry-geese                                   2021-07-26 23:59:00  Playground          Prizes        423           False  &#xA;coleridgeinitiative-show-us-the-data           2021-06-22 23:59:00  Featured           $90,000        188           False  &#xA;bms-molecular-translation                      2021-06-02 23:59:00  Featured           $50,000        350           False  &#xA;iwildcam2021-fgvc8                             2021-05-26 23:59:00  Research         Knowledge         11           False  &#xA;herbarium-2021-fgvc8                           2021-05-26 23:59:00  Research         Knowledge         30           False  &#xA;plant-pathology-2021-fgvc8                     2021-05-26 23:59:00  Research         Knowledge        121           False  &#xA;hotel-id-2021-fgvc8                            2021-05-26 23:59:00  Research         Knowledge         26           False  &#xA;hashcode-2021-oqr-extension                    2021-05-25 23:59:00  Playground       Knowledge        101           False  &#xA;indoor-location-navigation                     2021-05-17 23:59:00  Research           $10,000        734           False  &#xA;hpa-single-cell-image-classification           2021-05-11 23:59:00  Featured           $25,000        432           False  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;만약, kaggle json 파일을 새로 받았다면? 당연한 말이지만, 위 &lt;code&gt;key&lt;/code&gt;값도 새로 입력해줘야 합니다.&lt;/li&gt;&#xA;&lt;li&gt;아래 코드를 확인해본다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/03/kaggle_api_easy_to_use/colab_kaggle.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;귀찮지만, 두개의 &lt;code&gt;Cell&lt;/code&gt;은 실행합시다. 작은 도움이 되기를 바랍니다. &lt;code&gt;Happy to Code&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>왜 Git 그래프가 채워지지 않는가?</title>
      <link>https://dschloe.github.io/programming/2021/03/git_commit_issue/</link>
      <pubDate>Mon, 29 Mar 2021 15:11:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/03/git_commit_issue/</guid>
      <description>&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이메일을 확인하자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 강의를 위해 깃헙 계정이 여러개가 존재함&lt;/li&gt;&#xA;&lt;li&gt;강사용 PC에서 지속적으로 Commit을 진행했으나 Github 그래프가 출력이 되지 않는 오류 발생을 해결하는 과정에서 확인&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;github-질의&#34;&gt;Github 질의&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://docs.github.com/en/github/setting-up-and-managing-your-github-profile/why-are-my-contributions-not-showing-up-on-my-profile&#34;&gt;Why are my contributions not showing up on my profile?&lt;/a&gt; 이런 글이 있습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;그러나, 제 경우에는 제 개인 PC는 반영이 잘 되고, 강사 PC에는 안되는 상황이어서, 맞지 않은 케이스였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;왜-공통-이유-중의-하나는-이메일&#34;&gt;왜? 공통 이유 중의 하나는 이메일&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때, 가장 중요한 것은 이메일입니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사실, 해당 내용에도 나오지만, 가장 흔한 이유 중의 하나라고 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Your local Git commit email isn&amp;rsquo;t connected to your account&#xA;Commits must be made with an email address that is connected to your account on GitHub, or the GitHub-provided noreply email address provided to you in your email settings, in order to appear on your contributions graph. For more information about noreply email addresses, see &amp;ldquo;Setting your commit email address.&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introduction to MLOps</title>
      <link>https://dschloe.github.io/programming/2021/03/intro/</link>
      <pubDate>Sun, 28 Mar 2021 11:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/03/intro/</guid>
      <description>&lt;h2 id=&#34;인프런-강의&#34;&gt;인프런 강의&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MLOps를 소개해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;what-is-mlops&#34;&gt;What is MLOps?&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;최근 기술 트렌드 중의 &lt;code&gt;Hot&lt;/code&gt;한 주제는 &lt;code&gt;DevOps&lt;/code&gt;이다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Dev&lt;/code&gt;는 &lt;code&gt;Development&lt;/code&gt;의 약어이며, &lt;code&gt;Ops&lt;/code&gt;는 &lt;code&gt;Operation&lt;/code&gt;의 약자이다.&lt;/li&gt;&#xA;&lt;li&gt;과거에는 개발팀과 운영팀 두개로 존재하는 것이 상식이었지만, 가장 큰 문제는 &lt;code&gt;Communication&lt;/code&gt; 문제! 이러한 문제점을 해결하기 위해 나온 방법론이 &lt;code&gt;DevOps&lt;/code&gt;이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;이러한 부분은 머신러닝과 딥러닝도 동일함. 즉, 개발자를 위한 배포와 운영이 &lt;code&gt;DevOps&lt;/code&gt;라면,  머신러닝 엔지니어를 위해 나온 기술은 &lt;code&gt;MLOps&lt;/code&gt;로 볼 수 있다. 자세한 것은 유투브 영상을 통해서 기본적인 개념을 배웠으면 한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Windows 10 KoNLP 설치</title>
      <link>https://dschloe.github.io/programming/2021/03/konlp_issue/</link>
      <pubDate>Fri, 26 Mar 2021 14:11:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/03/konlp_issue/</guid>
      <description>&lt;h2 id=&#34;한줄-요약&#34;&gt;한줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;KoNLP는 여기에서 무조건 해결한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;konlp-이슈&#34;&gt;KoNLP 이슈&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;R에서 텍스트 마이닝을 진행할 때에는 반드시 한번쯤은 패키지 설치로 인해 어려움을 겪는다. - R 입문자 분들이 초반에 호기롭게 시작하였다가 대부분 포기하려고 하는 지점이기도 하다.&lt;/li&gt;&#xA;&lt;li&gt;사실, 조금 더 간편한 방법이 나오기를 기대한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;advert-inline&#34;&gt;&#xA;&#x9;&lt;script async src=&#34;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9871603218577546&#34;&#xA;&#x9;&#x9;&#x9;crossorigin=&#34;anonymous&#34;&gt;&lt;/script&gt;&#xA;&#x9;&#xA;&#x9;&lt;ins class=&#34;adsbygoogle&#34;&#xA;     &#x9; style=&#34;display:block; text-align:center;&#34;&#xA;     &#x9; data-ad-layout=&#34;in-article&#34;&#xA;     &#x9; data-ad-format=&#34;fluid&#34;&#xA;&#x9;&#x9; data-ad-client=&#34;ca-pub-9871603218577546&#34;&#xA;&#x9;&#x9; data-ad-slot=&#34;3951220622&#34;&#xA;&#x9;&#x9; data-ad-format=&#34;auto&#34;&#xA;&#x9;&#x9; data-full-width-responsive=&#34;true&#34;&gt;&#xA;&#x9;&lt;/ins&gt;&#xA;&#x9;&lt;script&gt;&#xA;     (adsbygoogle = window.adsbygoogle || []).push({});&#xA;&#x9;&lt;/script&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&lt;h2 id=&#34;1단계-java-설치-및-환경-변수-설정&#34;&gt;1단계 Java 설치 및 환경 변수 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;주의: 윈도우 10 64비트&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;여러 좋은 자료들이 많아서 같이 참고하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>트위터 데이터 수집 with R</title>
      <link>https://dschloe.github.io/programming/2021/03/rtweet/</link>
      <pubDate>Wed, 24 Mar 2021 11:00:00 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/03/rtweet/</guid>
      <description>&lt;h2 id=&#34;1줄-요약&#34;&gt;1줄 요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;R을 활용하여 트위터 데이터를 수집하는 방법 및 절차에 대해 배우도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;트위터-api-인증&#34;&gt;트위터 API 인증&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://apps.twitter.com&#34;&gt;https://apps.twitter.com&lt;/a&gt;에 접속한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;회원가입을 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;create an app&lt;/code&gt; 버튼을 클릭한다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/03/rtweet/twitter01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;필자는 &lt;code&gt;Hobbysit&lt;/code&gt;-&lt;code&gt;Exploring the API&lt;/code&gt;를 선택했다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/03/rtweet/twitter02.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그 후에 개인 정보 등을 입력해야 한다.&lt;/li&gt;&#xA;&lt;li&gt;휴대폰, 이메일 인증 등&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;인증 메일이 오기전까지는 조금 시일이 걸린다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;rtweet-패키지&#34;&gt;rtweet 패키지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;별도의 인증 절차 없이 사용 가능한 패키지&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/ropensci/rtweet&#34;&gt;https://github.com/ropensci/rtweet&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;우선 설치 후, 사용해보도록 한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 코드는 Github 예제로 있는 코드를 가져온 것임&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# install.packages(&amp;#34;rtweet&amp;#34;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(rtweet)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(dplyr)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(ggplot2)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;search-tweets&#34;&gt;Search Tweets&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;search_tweets()&lt;/code&gt; 함수를 활용하면 매우 쉽게 데이터를 가져올 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rstats &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;search_tweets&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;#테슬라&amp;#34;&lt;/span&gt;, n &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1000&lt;/span&gt;, include_rts &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;FALSE&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;select&lt;/span&gt;(name, location, description)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;앱 인증 절차만 진행이 되면 데이터를 가져올 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;glimpse&lt;/span&gt;(rstats)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## Rows: 132&#xA;## Columns: 3&#xA;## $ name        &amp;lt;chr&amp;gt; &amp;#34;얼리어답터&amp;#34;, &amp;#34;얼리어답터&amp;#34;, &amp;#34;허프포스트코리아&amp;#34;, &amp;#34;뉴스핌&amp;#34;, &amp;#34;뉴스핌&amp;#34;, &amp;#34;disclosure&amp;#34;, ~&#xA;## $ location    &amp;lt;chr&amp;gt; &amp;#34;&amp;#34;, &amp;#34;&amp;#34;, &amp;#34;SEOUL&amp;#34;, &amp;#34;Korea&amp;#34;, &amp;#34;Korea&amp;#34;, &amp;#34;&amp;#34;, &amp;#34;&amp;#34;, &amp;#34;&amp;#34;, &amp;#34;&amp;#34;, &amp;#34;&amp;#34;, &amp;#34;&amp;#34;,~&#xA;## $ description &amp;lt;chr&amp;gt; &amp;#34;2001년부터 전세계의 테크 트랜드를 한국에 소개했던 얼리어답터가 완전히 새롭게 다시 시작합니다. 더 ~&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;텍스트 데이터를 수집할 수 있었다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;그-외-패키지와의-비교&#34;&gt;그 외 패키지와의 비교&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Github에는 &lt;code&gt;rtweet&lt;/code&gt; 패키지가 어떤 Task를 수행하는 비교하는 표가 있다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/03/rtweet/twitter03.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>disk.frame 패키지 소개</title>
      <link>https://dschloe.github.io/programming/2021/03/disk_frame/</link>
      <pubDate>Tue, 23 Mar 2021 00:00:00 +0000</pubDate>
      <guid>https://dschloe.github.io/programming/2021/03/disk_frame/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/03/disk_frame/disk.frame_logo.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;대용량 데이터 전처리시에 필요한 패키지를 소개한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;url: &lt;a href=&#34;https://www.youtube.com/watch?v=EOjObl_GSi4&#34;&gt;https://www.youtube.com/watch?v=EOjObl_GSi4&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/EOjObl_GSi4?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;주석은 가급적 원어를 남겨 놓으니 잘 번역하기를 바란다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;설치&#34;&gt;설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치 방법은 기존과 마찬가지로 간단하게 작성할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;install.packages&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;disk.frame&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;suppressPackageStartupMessages&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(disk.frame))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(nycflights13)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;패키지-주요-아이디어&#34;&gt;패키지 주요 아이디어&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;메모리보다 많은 데이터를 각각의 &lt;code&gt;chunks&lt;/code&gt;로 분해하여 하나의 폴더 안에 저장한다. (HDD 디스크 사용)&lt;/li&gt;&#xA;&lt;li&gt;자세한 셜명은 Giuhub를 참고 (&lt;a href=&#34;https://github.com/xiaodaigh/disk.frame&#34;&gt;https://github.com/xiaodaigh/disk.frame&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실습 환경을 구성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;setup_disk.frame&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## The number of workers available for disk.frame is 1&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# this allows large datasets to be transferred between sessions&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;options&lt;/span&gt;(future.globals.maxSize &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;Inf&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;빠른-시작&#34;&gt;빠른 시작&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;nycflights13 데이터를 활용한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 예제는 dplyr 배울 때, 자주 등장하는 예제&lt;/li&gt;&#xA;&lt;li&gt;참고: &lt;a href=&#34;https://r4ds.had.co.nz/transform.html&#34;&gt;https://r4ds.had.co.nz/transform.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;diskframe으로-변환&#34;&gt;disk.frame으로 변환&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 객체를 disk.frame으로 변환한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# convert the flights data.frame to a disk.frame&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# optionally, you may specify an outdir, otherwise, the &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;flights.df &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;as.disk.frame&lt;/span&gt;(nycflights13&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;flights, overwrite &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TRUE&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;class&lt;/span&gt;(flights.df)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## [1] &amp;#34;disk.frame&amp;#34;        &amp;#34;disk.frame.folder&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;flights.df&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## path: &amp;#34;/var/folders/zq/ch7gky6n3rzgjf1pd0w2l35w0000gn/T//Rtmp3ymGwx/file61302e8c8834.df&amp;#34;&#xA;## nchunks: 1&#xA;## nrow (at source): 336776&#xA;## ncol (at source): 19&#xA;## nrow (post operations): ???&#xA;## ncol (post operations): ???&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;객체가 disk.frame으로 변환된 것을 확인할 수 있다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux 기본 명령어</title>
      <link>https://dschloe.github.io/programming/2021/03/linux_command/</link>
      <pubDate>Tue, 09 Mar 2021 10:11:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/03/linux_command/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기본 문법을 다뤄봅니다. (추가적으로 올리고 싶을 때마다 정리해서 올릴 예정입니다.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;unzip&#34;&gt;unzip&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;만약에 여러개의 &lt;code&gt;zip&lt;/code&gt; 파일을 받는다면 어떻게 해야할까?&lt;/li&gt;&#xA;&lt;li&gt;다음과 같이 할 수도 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ unzip a.zip b.zip c.zip d.zip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;코드가 조금 길어지는 것 같다. 간단하게 하면 다음과 같이 할 수도 있다.&lt;/li&gt;&#xA;&lt;li&gt;캐글 대회 데이터를 직접 응용하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ kaggle competitions download -c sf-crime&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Warning: Looks like you&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;#39;&lt;/span&gt;re using an outdated API Version, please consider updating &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;server 1.5.10 / client 1.5.4&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Downloading test.csv.zip to /content&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; 48% 9.00M/18.7M &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;00:00&amp;lt;00:00, 52.3MB/s&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;100% 18.7M/18.7M &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;00:00&amp;lt;00:00, 74.0MB/s&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Downloading sampleSubmission.csv.zip to /content&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  0% 0.00/2.35M &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;00:00&amp;lt;?, ?B/s&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;100% 2.35M/2.35M &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;00:00&amp;lt;00:00, 157MB/s&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Downloading train.csv.zip to /content&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; 41% 9.00M/22.1M &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;00:00&amp;lt;00:00, 33.6MB/s&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;100% 22.1M/22.1M &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;00:00&amp;lt;00:00, 63.4MB/s&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 목록을 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sampleSubmission.csv.zip  test.csv.zip  train.csv.zip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이제 &lt;code&gt;.zip&lt;/code&gt; 파일을 해제하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ unzip &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;*.zip&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Archive:  train.csv.zip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  inflating: train.csv               &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Archive:  test.csv.zip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  inflating: test.csv                &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Archive:  sampleSubmission.csv.zip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  inflating: sampleSubmission.csv    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt; archives were successfully processed.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;실제 파이썬 코드를 확인해서 데이터 크기를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;DATA_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;./&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; file &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;listdir(DATA_PATH):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;csv&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; file &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zip&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; file:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(file&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ljust(&lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; str(round(os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;getsize(file) &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1000000&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;)) &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;MB&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;test.csv                      91.0MB&#xA;sampleSubmission.csv          75.05MB&#xA;train.csv                     127.43MB&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;pwd&#34;&gt;pwd&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;pwd는 Print Working Directory의 약자로써, 현재 작업중인 경로의 정보를 출력하는 명령어이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ pwd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/Users/username&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;reference&#34;&gt;Reference&lt;/h2&gt;&#xA;&lt;p&gt;Chris Jean,&#xA;Unzip Multiple Files from Linux Command Line Retrieved from &lt;a href=&#34;https://chrisjean.com/unzip-multiple-files-from-linux-command-line/&#34;&gt;https://chrisjean.com/unzip-multiple-files-from-linux-command-line/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>CI CD Pipeline for Data Science</title>
      <link>https://dschloe.github.io/programming/2021/03/ci_cd_pipeline/</link>
      <pubDate>Tue, 02 Mar 2021 16:31:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/03/ci_cd_pipeline/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;최근 &lt;a href=&#34;http://www.yes24.com/Product/Goods/95343845&#34;&gt;밑바닥부터 시작하는 딥러닝 3&lt;/a&gt;로 수업을 수강생들과 진행하며 배포에 관한 내용이 있었습니다. (p 98).&lt;/li&gt;&#xA;&lt;li&gt;구체적인 방법은 소개하지 않아서, 보충 자료로 작성하였다. 전&lt;/li&gt;&#xA;&lt;li&gt;단계별로 진행하는데, 깃허브에 관한 기본적인 내용 및 코드는 알고 있다는 전제하에 작성하였다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;깃허브를 처음 접하시는 분들은 &lt;a href=&#34;https://dschloe.github.io/settings/github_settings/&#34;&gt;Github Project 포트폴리오&lt;/a&gt;를 참고하기를 바란다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;필요한-것&#34;&gt;필요한 것&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Github: &lt;a href=&#34;https://github.com/&#34;&gt;https://github.com/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Travis-CI: &lt;a href=&#34;https://www.travis-ci.com/&#34;&gt;https://www.travis-ci.com/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Codecov: &lt;a href=&#34;https://about.codecov.io/&#34;&gt;https://about.codecov.io/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;PyPI: &lt;a href=&#34;https://pypi.org/&#34;&gt;https://pypi.org/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;steps---travis-logins&#34;&gt;Steps - Travis Logins&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Travis에 깃허브로 로그인 한다. 아래와 같은 화면이 나오면 로그인이 잘 된 것이다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/03/ci_cd_pipeline/ci_cd_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;영문 내용을 잘 읽어본다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-activate-your-github-repositories&#34;&gt;(1) Activate your GitHub repositories&lt;/h3&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Once you&amp;rsquo;re signed in, go to your profile page where you&amp;rsquo;ll see all the organizations you&amp;rsquo;re a member of.&#xA;You can install the GitHub App integration by clicking the Activate button for each organization you would like to use with Travis CI.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pandas read_csv skiprows 활용</title>
      <link>https://dschloe.github.io/programming/2021/02/pandas_skiprows/</link>
      <pubDate>Sat, 20 Feb 2021 20:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/02/pandas_skiprows/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;문제-개요&#34;&gt;문제 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Kaggle 데이터 &lt;a href=&#34;https://www.kaggle.com/c/new-york-city-taxi-fare-prediction&#34;&gt;New York City Taxi Fare Prediction&lt;/a&gt; 데이터를 구글 코랩에서 Loading 하는 중 메모리 문제가 발생함&lt;/li&gt;&#xA;&lt;li&gt;계통추출(Systematic Sampling)을 통해 데이터를 불러오기로 함&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://www.netquest.com/hubfs/Imported_Blog_Media/Systematic_sampling.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;예제-실습&#34;&gt;예제 실습&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 예제를 통해서 실제로 데이터가 줄어드는지 확인을 해본다.&lt;/li&gt;&#xA;&lt;li&gt;핵심 코드는 &lt;code&gt;skip_logic&lt;/code&gt; 함수이며, &lt;code&gt;skiprows = skiprows=lambda x: skip_logic(x, 3)&lt;/code&gt; 형태로 작성할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;IRIS 데이터는 &lt;a href=&#34;https://www.kaggle.com/saurabh00007/iriscsv&#34;&gt;https://www.kaggle.com/saurabh00007/iriscsv&lt;/a&gt; 에서 다운로드 받았다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;iris 데이터외에도 각자 데이터를 가지고 실습을 해도 좋다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;skip_logic&lt;/span&gt;(index, skip_num):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; index &lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt; skip_num &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;**** skiprows 기본 옵션 ****&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    iris &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;iris.csv&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(iris&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;**** skiprows 인덱스 0, 2, 5만 제외 ****&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    iris &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;iris.csv&amp;#39;&lt;/span&gt;, skiprows&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(iris&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;**** skiprows 인덱스 range(3, 20)만 제외 ****&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    iris &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;iris.csv&amp;#39;&lt;/span&gt;, skiprows&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[i &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; i &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; range(&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;)])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(iris&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;**** skiprows 입력값의 배수에 해당하는 값만 Load ****&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    iris &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;iris.csv&amp;#39;&lt;/span&gt;, skiprows&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;lambda&lt;/span&gt; x: skip_logic(x, &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(iris&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;__main__&amp;#39;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    main()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;**** skiprows 기본 옵션 ****&#xA;(150, 6)&#xA;**** skiprows 인덱스 0, 2, 5만 제외 ****&#xA;(147, 6)&#xA;**** skiprows 인덱스 range(3, 20)만 제외 ****&#xA;(133, 6)&#xA;**** skiprows 입력값의 배수에 해당하는 값만 Load ****&#xA;(50, 6)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;실전-적용&#34;&gt;실전 적용&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 배운 것을 적용해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;데이터-크기&#34;&gt;데이터 크기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;train.csv 데이터의 크기를 확인해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;convert_bytes&lt;/span&gt;(file_path, unit&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  size &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;getsize(file_path)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; unit &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;KB&amp;#34;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;File size: &amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; str(round(size &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1024&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;)) &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39; Kilobytes&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;elif&lt;/span&gt; unit &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;MB&amp;#34;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;File size: &amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; str(round(size &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; (&lt;span style=&#34;color:#ae81ff&#34;&gt;1024&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1024&lt;/span&gt;), &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;)) &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39; Megabytes&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;elif&lt;/span&gt; unit &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;GB&amp;#34;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;File size: &amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; str(round(size &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; (&lt;span style=&#34;color:#ae81ff&#34;&gt;1024&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1024&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1024&lt;/span&gt;), &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;)) &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39; Gigabytes&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;File size: &amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; str(size) &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39; bytes&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;file_list &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;train.csv&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;test.csv&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;sample_submission.csv&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; file &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; file_list:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;The &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{file}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; size: &amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(file&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;file))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  convert_bytes(file)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  convert_bytes(file, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;KB&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  convert_bytes(file, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;MB&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  convert_bytes(file, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;GB&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;--&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;The train.csv size: &#xA;File size: 5697178298 bytes&#xA;File size: 5563650.682 Kilobytes&#xA;File size: 5433.253 Megabytes&#xA;File size: 5.306 Gigabytes&#xA;----------&#xA;The test.csv size: &#xA;File size: 983020 bytes&#xA;File size: 959.98 Kilobytes&#xA;File size: 0.937 Megabytes&#xA;File size: 0.001 Gigabytes&#xA;----------&#xA;The sample_submission.csv size: &#xA;File size: 343271 bytes&#xA;File size: 335.226 Kilobytes&#xA;File size: 0.327 Megabytes&#xA;File size: 0.0 Gigabytes&#xA;----------&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;실전-적용-1&#34;&gt;실전 적용&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 실전 적용을 해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;skip_logic&lt;/span&gt;(index, skip_num):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; index &lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt; skip_num &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;./train.csv&amp;#39;&lt;/span&gt;, skiprows&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;lambda&lt;/span&gt; x: skip_logic(x, &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;./test.csv&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;submission &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;./sample_submission.csv&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;(13855964, 8)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;결론&#34;&gt;결론&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;대용량 데이터를 다루는 것은 쉽지 않지만, &lt;code&gt;skiprows&lt;/code&gt; 파라미터를 적절히 활용하여 메모리 이슈를 피하자.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>ACEA Water, Intro to Time Series Forecasting</title>
      <link>https://dschloe.github.io/programming/2021/02/intro-to-time-series-forecasting/</link>
      <pubDate>Tue, 16 Feb 2021 18:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/02/intro-to-time-series-forecasting/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;&#xA;&lt;p&gt;Can you build a model to predict the amount of water in each waterbody to help preserve this natural resource?&#xA;This is an Analytics competition where your task is to create a Notebook that best addresses the Evaluation criteria below. Submissions should be shared directly with host and will be judged by the Acea Group based on how well they addrss:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tutorial of Ranzcr EDA</title>
      <link>https://dschloe.github.io/programming/2021/02/tutorial-of-ranzcr-eda/</link>
      <pubDate>Thu, 11 Feb 2021 18:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/02/tutorial-of-ranzcr-eda/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;competition&#34;&gt;Competition&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.kaggle.com/c/ranzcr-clip-catheter-line-classification&#34;&gt;https://www.kaggle.com/c/ranzcr-clip-catheter-line-classification&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Thanks to &lt;a href=&#34;https://www.kaggle.com/yasufuminakama/ranzcr-resnext50-32x4d-starter-training&#34;&gt;RANZCR/resnext50_32x4d starter [training]&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Please visit here and upvote&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; matplotlib &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;check-file-size&#34;&gt;Check File Size&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Check Each Size of Dataset Folder in this competition&#xA;&lt;ul&gt;&#xA;&lt;li&gt;train_records = 4.5GB&lt;/li&gt;&#xA;&lt;li&gt;test_tfrecords = 0.5MB&lt;/li&gt;&#xA;&lt;li&gt;train (image data) = 6.5GB&lt;/li&gt;&#xA;&lt;li&gt;test (image data) = 0.8MB&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;get_folder_size&lt;/span&gt;(file_directory):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# file_list = os.listdir(file_directory)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  dir_sizes &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; r, d, f &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;walk(file_directory, &lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      size &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sum(os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;getsize(os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;join(r,f)) &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; f &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; f&lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;d)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      size &lt;span style=&#34;color:#f92672&#34;&gt;+=&lt;/span&gt; sum(dir_sizes[os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;join(r,d)] &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; d &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; d)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      dir_sizes[r] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; size&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; is &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; MB&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(r, round(size&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;), &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;))      &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;base_dir &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;../input/ranzcr-clip-catheter-line-classification&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;get_folder_size(base_dir)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;../input/ranzcr-clip-catheter-line-classification/test is 805 MB&#xA;../input/ranzcr-clip-catheter-line-classification/test_tfrecords is 555 MB&#xA;../input/ranzcr-clip-catheter-line-classification/train_tfrecords is 4563 MB&#xA;../input/ranzcr-clip-catheter-line-classification/train is 6592 MB&#xA;../input/ranzcr-clip-catheter-line-classification is 12524 MB&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;check-train-file&#34;&gt;Check train file&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Let&amp;rsquo;s descirbe train&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;../input/ranzcr-clip-catheter-line-classification/train.csv&amp;#39;&lt;/span&gt;, index_col &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;../input/ranzcr-clip-catheter-line-classification/sample_submission.csv&amp;#39;&lt;/span&gt;, index_col &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;display(train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;display(test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;style&gt;&#xA;    #customers {&#xA;      font-family: &#34;Trebuchet MS&#34;, Arial, Helvetica, sans-serif;&#xA;      border-collapse: collapse;&#xA;    }&#xA;&#xA;    #customers td,&#xA;    #customers th {&#xA;      border: 1px solid #ddd;&#xA;      padding: 8px;&#xA;    }&#xA;&#xA;    #customers tr:nth-child(even) {&#xA;      background-color: #f2f2f2;&#xA;    }&#xA;&#xA;    #customers tr:hover {&#xA;      background-color: #ddd;&#xA;    }&#xA;    #customers th {&#xA;      padding-top: 12px;&#xA;      padding-bottom: 12px;&#xA;      text-align: left;&#xA;      background-color: rgb(175, 107, 76);&#xA;      color: white;&#xA;    }&#xA;  &lt;/style&gt;&#xA;  &lt;div style=&#34;width:100%; height:400px; overflow:auto&#34;&gt;&#xA;    &lt;table border=&#34;1&#34; id=&#34;customers&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr style=&#34;text-align: right;&#34;&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;ETT - Abnormal&lt;/th&gt;&#xA;      &lt;th&gt;ETT - Borderline&lt;/th&gt;&#xA;      &lt;th&gt;ETT - Normal&lt;/th&gt;&#xA;      &lt;th&gt;NGT - Abnormal&lt;/th&gt;&#xA;      &lt;th&gt;NGT - Borderline&lt;/th&gt;&#xA;      &lt;th&gt;NGT - Incompletely Imaged&lt;/th&gt;&#xA;      &lt;th&gt;NGT - Normal&lt;/th&gt;&#xA;      &lt;th&gt;CVC - Abnormal&lt;/th&gt;&#xA;      &lt;th&gt;CVC - Borderline&lt;/th&gt;&#xA;      &lt;th&gt;CVC - Normal&lt;/th&gt;&#xA;      &lt;th&gt;Swan Ganz Catheter Present&lt;/th&gt;&#xA;      &lt;th&gt;PatientID&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;StudyInstanceUID&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;1.2.826.0.1.3680043.8.498.26697628953273228189375557799582420561&lt;/th&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;ec89415d1&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;1.2.826.0.1.3680043.8.498.46302891597398758759818628675365157729&lt;/th&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;bf4c6da3c&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;1.2.826.0.1.3680043.8.498.23819260719748494858948050424870692577&lt;/th&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;3fc1c97e5&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;1.2.826.0.1.3680043.8.498.68286643202323212801283518367144358744&lt;/th&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;c31019814&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;1.2.826.0.1.3680043.8.498.10050203009225938259119000528814762175&lt;/th&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;207685cd1&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;  &lt;div style=&#34;width:100%; height:400px; overflow:auto&#34;&gt;&#xA;    &lt;table border=&#34;1&#34; id=&#34;customers&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr style=&#34;text-align: right;&#34;&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;ETT - Abnormal&lt;/th&gt;&#xA;      &lt;th&gt;ETT - Borderline&lt;/th&gt;&#xA;      &lt;th&gt;ETT - Normal&lt;/th&gt;&#xA;      &lt;th&gt;NGT - Abnormal&lt;/th&gt;&#xA;      &lt;th&gt;NGT - Borderline&lt;/th&gt;&#xA;      &lt;th&gt;NGT - Incompletely Imaged&lt;/th&gt;&#xA;      &lt;th&gt;NGT - Normal&lt;/th&gt;&#xA;      &lt;th&gt;CVC - Abnormal&lt;/th&gt;&#xA;      &lt;th&gt;CVC - Borderline&lt;/th&gt;&#xA;      &lt;th&gt;CVC - Normal&lt;/th&gt;&#xA;      &lt;th&gt;Swan Ganz Catheter Present&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;StudyInstanceUID&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;1.2.826.0.1.3680043.8.498.46923145579096002617106567297135160932&lt;/th&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;1.2.826.0.1.3680043.8.498.84006870182611080091824109767561564887&lt;/th&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;1.2.826.0.1.3680043.8.498.12219033294413119947515494720687541672&lt;/th&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;1.2.826.0.1.3680043.8.498.84994474380235968109906845540706092671&lt;/th&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;1.2.826.0.1.3680043.8.498.35798987793805669662572108881745201372&lt;/th&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;definitions-of-variables&#34;&gt;Definitions of Variables&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What&amp;rsquo;s inside data?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;StudyInstanceUID - unique ID for each image&lt;/li&gt;&#xA;&lt;li&gt;ETT - Abnormal - endotracheal tube placement abnormal&lt;/li&gt;&#xA;&lt;li&gt;ETT - Borderline - endotracheal tube placement borderline abnormal&lt;/li&gt;&#xA;&lt;li&gt;ETT - Normal - endotracheal tube placement normal&lt;/li&gt;&#xA;&lt;li&gt;NGT - Abnormal - nasogastric tube placement abnormal&lt;/li&gt;&#xA;&lt;li&gt;NGT - Borderline - nasogastric tube placement borderline abnormal&lt;/li&gt;&#xA;&lt;li&gt;NGT - Incompletely Imaged - nasogastric tube placement inconclusive due to imaging&lt;/li&gt;&#xA;&lt;li&gt;NGT - Normal - nasogastric tube placement borderline normal&lt;/li&gt;&#xA;&lt;li&gt;CVC - Abnormal - central venous catheter placement abnormal&lt;/li&gt;&#xA;&lt;li&gt;CVC - Borderline - central venous catheter placement borderline abnormal&lt;/li&gt;&#xA;&lt;li&gt;CVC - Normal - central venous catheter placement normal&lt;/li&gt;&#xA;&lt;li&gt;Swan Ganz Catheter Present(??)&lt;/li&gt;&#xA;&lt;li&gt;PatientID - unique ID for each patient in the dataset&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;a id=&#34;chapter-four&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kaggle API on Mac/Linux</title>
      <link>https://dschloe.github.io/programming/2021/02/kaggle_api/</link>
      <pubDate>Fri, 05 Feb 2021 21:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/02/kaggle_api/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;새로운 학생들과 Kaggle 경진대회를 나가게 되었다.&lt;/li&gt;&#xA;&lt;li&gt;참여 경진대회&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.kaggle.com/c/vinbigdata-chest-xray-abnormalities-detection/data&#34;&gt;VinBigData Chest X-ray Abnormalities Detection&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;기존에는 주로 Google Colab에서 했지만, 대용량 데이터부터 터미널로 다운로드 받아야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;핵심-문장&#34;&gt;핵심 문장&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;kaggle.json 파일을 각 OS에 맞게 옮긴다.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;kaggle-api-다운로드&#34;&gt;Kaggle API 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;계정 [Profile]-[My Account]를 클릭 후, 아래 화면에서 Kaggle API를 다운로드 받는다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_1_6_Colab_with_Kaggle/kaggle_01_api.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;파일-이동&#34;&gt;파일 이동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다운로드 파일을 적절한 위치에 옮긴다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ mv kaggle.json ~/.kaggle/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ chmod &lt;span style=&#34;color:#ae81ff&#34;&gt;600&lt;/span&gt; ~/.kaggle/kaggle.json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;python-파일-만들기&#34;&gt;Python 파일 만들기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;class를 활용하여 파일을 다운로드 받는다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;(사실, 터미널에서 해도 되기는 하다.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; kaggle.api.kaggle_api_extended &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; KaggleApi&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;KAGGLE&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;__init__&lt;/span&gt;(self):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;api &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; KaggleApi()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;api&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;authenticate()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;search&lt;/span&gt;(self, category):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        competitions &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;api&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;competitions_list(category &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; category)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; comp &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; competitions:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            print(comp&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ref, comp&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reward, comp&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;userRank, sep&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;,&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;download&lt;/span&gt;(self, name):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        files &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;api&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;competition_download_files(name)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; files&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;__main__&amp;#39;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    kaggle &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; KAGGLE()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;search(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;all&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;download(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;titanic&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;파일을 만든 후, 위 소스코드를 붙여 넣고, 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ python3 yourpython.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;contradictory-my-dear-watson,Prizes,None&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gan-getting-started,Prizes,None&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tpu-getting-started,Knowledge,None&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;digit-recognizer,Knowledge,None&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;titanic,Knowledge,None&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;house-prices-advanced-regression-techniques,Knowledge,1286&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;connectx,Knowledge,None&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nlp-getting-started,Knowledge,1071&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;competitive-data-science-predict-future-sales,Kudos,None&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hungry-geese,Prizes,None&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;indoor-location-navigation,$10,000,None&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hpa-single-cell-image-classification,$25,000,None&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vinbigdata-chest-xray-abnormalities-detection,$50,000,None&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hubmap-kidney-segmentation,$60,000,None&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ranzcr-clip-catheter-line-classification,$50,000,None&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tabular-playground-series-feb-2021,Swag,None&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rock-paper-scissors,Prizes,None&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;jane-street-market-prediction,$100,000,None&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;santa-2020,Prizes,None&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cassava-leaf-disease-classification,$18,000,3059&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;만약 상태 진행 표시가 필요하다면, 차라리 캐글 명령어를 직접 입력하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ kaggle competitions download -c vinbigdata-chest-xray-abnormalities-detection&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/02/kaggle_api/download.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kaggle House Price ML</title>
      <link>https://dschloe.github.io/programming/2021/02/house_price_ml/</link>
      <pubDate>Mon, 01 Feb 2021 09:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/02/house_price_ml/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;현재 책 출판 준비 중입니다.&lt;/li&gt;&#xA;&lt;li&gt;구체적인 설명은 책이 출판된 이후에 요약해서 올리도록 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;이전-글&#34;&gt;이전 글&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Kaggle Feature Engineering - House Price&#xA;&lt;ul&gt;&#xA;&lt;li&gt;URL: &lt;a href=&#34;https://dschloe.github.io/kaggle/kaggle_feature_engineering/&#34;&gt;https://dschloe.github.io/kaggle/kaggle_feature_engineering/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이전 글에서, Kaggle API, Feature Engineering에 대한 코드를 정리했으니, 참고하기를 바란다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;머신러닝-모형-학습-및-평가&#34;&gt;머신러닝 모형 학습 및 평가&lt;/h2&gt;&#xA;&lt;h3 id=&#34;데이터셋-분리-및-교차-검증&#34;&gt;데이터셋 분리 및 교차 검증&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; all_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;iloc[:len(y), :]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; all_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;iloc[len(y):, :]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, y&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, X_test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;((1458, 258), (1458,), (1459, 258))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.model_selection &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; train_test_split&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train, X_test, y_train, y_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_test_split(X, y, test_size &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0.25&lt;/span&gt;, random_state &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, X_test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, y_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, y_test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;((1093, 258), (365, 258), (1093,), (365,))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;평가지표&#34;&gt;평가지표&lt;/h3&gt;&#xA;&lt;h4 id=&#34;mae&#34;&gt;MAE&lt;/h4&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;mean_absolute_error&lt;/span&gt;(y_true, y_pred):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  error &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; yt, yp &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; zip(y_true, y_pred):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    error &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; error &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;abs(yt&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;yp)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  mae &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; error &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; len(y_true)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; mae&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;mse&#34;&gt;MSE&lt;/h4&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;mean_squared_error&lt;/span&gt;(y_true, y_pred):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  error &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; yt, yp &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; zip(y_true, y_pred):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    error &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; error &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; (yt &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; yp) &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  mse &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; error &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; len(y_true)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; mse&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;rmse&#34;&gt;RMSE&lt;/h4&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;root_rmse_squared_error&lt;/span&gt;(y_true, ypred):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  error &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; yt, yp &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; zip(y_true, y_pred):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    error &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; error &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; (yt &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; yp) &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  mse &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; error &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; len(y_true)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  rmse &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;round(np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sqrt(mse), &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; rmse&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;test1&#34;&gt;Test1&lt;/h4&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y_true &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;400&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;300&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;800&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y_pred &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;380&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;320&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;777&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;MAE:&amp;#34;&lt;/span&gt;, mean_absolute_error(y_true, y_pred))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;MSE:&amp;#34;&lt;/span&gt;, mean_squared_error(y_true, y_pred))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;RMSE:&amp;#34;&lt;/span&gt;, root_rmse_squared_error(y_true, y_pred))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;MAE: 21.0&#xA;MSE: 443.0&#xA;RMSE: 21.048&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h4 id=&#34;test2&#34;&gt;Test2&lt;/h4&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y_true &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;400&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;300&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;800&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;900&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y_pred &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;380&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;320&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;777&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;600&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;MAE:&amp;#34;&lt;/span&gt;, mean_absolute_error(y_true, y_pred))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;MSE:&amp;#34;&lt;/span&gt;, mean_squared_error(y_true, y_pred))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;RMSE:&amp;#34;&lt;/span&gt;, root_rmse_squared_error(y_true, y_pred))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;MAE: 90.75&#xA;MSE: 22832.25&#xA;RMSE: 151.103&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h4 id=&#34;rmse-with-sklean&#34;&gt;RMSE with Sklean&lt;/h4&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.metrics &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; mean_squared_error&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;rmsle&lt;/span&gt;(y_true, y_pred):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sqrt(mean_squared_error(y_true, y_pred))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;모형-정의-및-검증-평가&#34;&gt;모형 정의 및 검증 평가&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.metrics &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; mean_squared_error&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.model_selection &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; KFold, cross_val_score&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.linear_model &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; LinearRegression&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;cv_rmse&lt;/span&gt;(model, n_folds&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    cv &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; KFold(n_splits&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;n_folds, random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;, shuffle&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    rmse_list &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sqrt(&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;cross_val_score(model, X, y, scoring&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;neg_mean_squared_error&amp;#39;&lt;/span&gt;, cv&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;cv))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;CV RMSE value list:&amp;#39;&lt;/span&gt;, np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;round(rmse_list, &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;CV RMSE mean value:&amp;#39;&lt;/span&gt;, np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;round(np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mean(rmse_list), &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; (rmse_list)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;n_folds &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rmse_scores &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lr_model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; LinearRegression()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;score &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; cv_rmse(lr_model, n_folds)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;linear regression - mean: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{:.4f}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; (std: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{:.4f}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;)&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(score&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mean(), score&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;std()))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rmse_scores[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;linear regression&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; (score&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mean(), score&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;std())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;CV RMSE value list: [0.139  0.1749 0.1489 0.1102 0.1064]&#xA;CV RMSE mean value: 0.1359&#xA;linear regression - mean: 0.1359 (std: 0.0254)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;첫번째-최종-예측-값-제출&#34;&gt;첫번째 최종 예측 값 제출&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.model_selection &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; cross_val_predict&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; all_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;iloc[:len(y), :]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; all_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;iloc[len(y):, :]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, y&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, X_test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lr_model_fit &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; lr_model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X, y)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;final_preds &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;floor(np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;expm1(lr_model_fit&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(X_test)))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(final_preds)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[117164. 158072. 187662. ... 173438. 115451. 219376.]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;submission &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;sample_submission.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;submission&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;iloc[:,&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; final_preds&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(submission&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;submission&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;The_first_regression.csv&amp;#34;&lt;/span&gt;, index&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;     Id  SalePrice&#xA;0  1461   117164.0&#xA;1  1462   158072.0&#xA;2  1463   187662.0&#xA;3  1464   197265.0&#xA;4  1465   199692.0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;kaggle-업데이트&#34;&gt;Kaggle 업데이트&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;먼저 경진대회 Submission 파일을 클릭한 후, 파일을 업르도 한다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/02/house_price_ML/kaggle_upload_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kaggle Feature Engineering - House Price</title>
      <link>https://dschloe.github.io/programming/2021/01/kaggle_feature_engineering/</link>
      <pubDate>Thu, 28 Jan 2021 09:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/01/kaggle_feature_engineering/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;현재 책 출판 준비 중입니다.&lt;/li&gt;&#xA;&lt;li&gt;구체적인 설명은 책이 출판된 이후에 요약해서 올리도록 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;kaggle-api&#34;&gt;Kaggle API&lt;/h2&gt;&#xA;&lt;p&gt;Kaggle API를 활용한 데이터를 수집하는 예제는 &lt;a href=&#34;https://dschloe.github.io/kaggle/chapter_4_4_house_price_prediction_feature_engineering3/&#34;&gt;Feature Engineering with Housing Price Prediction - Numerical Features&lt;/a&gt; 에서도 확인할 수 있기 때문에 생략 합니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ml 개발환경 세팅</title>
      <link>https://dschloe.github.io/programming/2021/01/m1_settings/</link>
      <pubDate>Thu, 21 Jan 2021 01:11:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/01/m1_settings/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;M1에서 GPU를 활용한 딥러닝을 수행하는 예제 코드를 구현해봤다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참고: &lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/m1_tensorflow/&#34;&gt;M1 tensorflow Test Preview&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Apple 공식 Repo대로 설치를 하면 잘 될 것이라 생각했지만, 생각지 못한 복병을 만났다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;어떻게 해결했는지 그 과정에 대해 잠깐 기술하려고 한다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;rosetta-너는-누구니&#34;&gt;Rosetta 너는 누구니?&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그동안 맥북은 인텔 기반의 Mac 프로세서를 사용해왔고, M1은 애플이 개발한 프로세서를 처음 도입한 것이다.&lt;/li&gt;&#xA;&lt;li&gt;그런데, 이게 왜 문제가 되는 것일까?&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>M1 tensorflow Test Preview</title>
      <link>https://dschloe.github.io/programming/2021/01/m1_tensorflow/</link>
      <pubDate>Sun, 17 Jan 2021 21:20:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/01/m1_tensorflow/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;M1에서 &lt;code&gt;Tensorflow&lt;/code&gt; 테스트를 진행해본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;현재 M1 시스템 환경은 아래와 같다. (2021-01-16)&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/01/m1_tensorflow/pic01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;주의: 텐서플로 공식 버전은 아님&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;라이브러리-설치&#34;&gt;라이브러리 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 코드를 설치해본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Apple 공식 Repo: &lt;a href=&#34;https://github.com/apple/tensorflow_macos&#34;&gt;https://github.com/apple/tensorflow_macos&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;실행 전, 필수 체크 사항&#xA;&lt;ul&gt;&#xA;&lt;li&gt;macOS 11.0+&lt;/li&gt;&#xA;&lt;li&gt;Python 3.8, available from the &lt;a href=&#34;https://developer.apple.com/download/more/?=command%20line%20tools&#34;&gt;Xcode Command Line Tools&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ /bin/bash -c &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;curl -fsSL https://raw.githubusercontent.com/apple/tensorflow_macos/master/scripts/download_and_install.sh&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Installation script &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; pre-release tensorflow_macos 0.1alpha1.  Please visit https://github.com/apple/tensorflow_macos &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; instructions and license information.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;This script will download tensorflow_macos 0.1alpha1 and needed binary dependencies, &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt; install them into a new &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;or existing Python 3.8 virtual enviornoment.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Continue &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;y/N&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;? &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;위 질문이 나오면 y 입력한다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/01/m1_tensorflow/pic02.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch07_data_upload</title>
      <link>https://dschloe.github.io/programming/2021/01/ch07_data_load_from_local/</link>
      <pubDate>Fri, 08 Jan 2021 15:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/01/ch07_data_load_from_local/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 빅쿼리 책 Chapter 4장 학습&lt;/li&gt;&#xA;&lt;li&gt;참고 교재는 아래와 같다.&#xA;&lt;img src=&#34;http://image.yes24.com/goods/95562895/800x0&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;로컬에서 데이터를 업로드 해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;데이터-다운로드&#34;&gt;데이터 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;깃허브에서 데이터를 다운로드 받는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git clone https://github.com/onlybooks/bigquery.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;ch04 폴더로 이동한 뒤, 실제 압축된 파일의 내용을 페이지 단위로 확인해본다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 ch04 폴더로 이동한다.&lt;/li&gt;&#xA;&lt;li&gt;zlees 명령으로 데이터를 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cd bigquery/ch04&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ zless college_scorecard.csv.gz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;명령을 실행한 후 스페이스 이용하여 페이지 단위로 데이터 확인 후, 종료하려면 q키를 누른다.&lt;/li&gt;&#xA;&lt;li&gt;zless는 .gz과 같은 파일을 풀지 않고 Preview 형식으로 볼 수 있도록 도와준다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;bq-명령줄-도구&#34;&gt;bq 명령줄 도구&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;bq&lt;/code&gt;에 대해 자세히 확인하려면 아래 싸이트에서 확인하기를 바란다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://cloud.google.com/bigquery/docs/quickstarts/quickstart-command-line?hl=ko&#34;&gt;빠른 시작: bq 명령줄 도구 사용&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;bq 명령줄 도구는 빅쿼리 플랫폼상의 빅쿼리 서비스를 사용하기 위한 편리한 명령들 제공&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ bq --location&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;US mk ch04&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Dataset &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;biggquerysample:ch04&amp;#39;&lt;/span&gt; successfully created.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;에러-상황-1&#34;&gt;에러 상황 1.&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음과 같은 에러 메시지가 발견이 되면 프로젝트를 세팅해줘야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ bq --location&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;US mk ch04&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;BigQuery error in mk operation: Not found: Project biggquerysample2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;대개의 경우, project 세팅을 해줘야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ gcloud config set project your_project_ID&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;데이터-로드&#34;&gt;데이터 로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 데이터를 빅쿼리 내부의 테이블로 로드하는 명령을 수행해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ bq --location&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;US load --source_format&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;CSV --autodetect ch04.college_scorecard ./college_scorecard.csv.gz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Upload complete.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Waiting on bqjob_r1c47395bddea55ee_00000176e0b2548e_1 ... &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;37s&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; Current status: DONE &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;에러-상황&#34;&gt;에러 상황&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 에러 상황이 발생하지는 않았다.&lt;/li&gt;&#xA;&lt;li&gt;교재에서는 에러가 발생할 수도 있다고 하였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Could not parse &amp;#39;NULL&amp;#39; as int for field HBCU (position 26) starting at location 11945910&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;위 문제는 데이터 상에 NULL값이 발생해서 생긴 값이다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch06_gcloud_projects</title>
      <link>https://dschloe.github.io/programming/2021/01/ch06_gcloud_projects/</link>
      <pubDate>Thu, 07 Jan 2021 17:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/01/ch06_gcloud_projects/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;MacOS m1, Big Sur&lt;/code&gt;에서 &lt;code&gt;gcloud&lt;/code&gt; 환경 세팅을 해본다.&lt;/li&gt;&#xA;&lt;li&gt;목표는 &lt;code&gt;gcloud&lt;/code&gt;를 설치 한 뒤, 신규 프로젝트를 설치하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;gcloud-projects-list&#34;&gt;gcloud projects list&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;현재 active project를 실행하여 보여주는 명령어를 실행하여 확인한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;프로젝트는 각 계정마다 조금씩 다를 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ gcloud projects list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PROJECT_ID       NAME             PROJECT_NUMBER&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;biggquerysample  biggquerysample  &lt;span style=&#34;color:#ae81ff&#34;&gt;826877287968&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;new-gcloud-projects&#34;&gt;New gcloud projects&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 새로운 프로젝트를 만들어본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ gcloud projects create bigquerysample2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Create in progress &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;https://cloudresourcemanager.googleapis.com/v1/projects/your_project_name&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Waiting &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;your_number_will_be_created&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; to finish...done.                                                                                        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Enabling service &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;cloudapis.googleapis.com&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; on project &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;bigquerysample2&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Operation &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;your_number_will_be_created&amp;#34;&lt;/span&gt; finished successfully.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이제 새로운 프로젝트가 생겼는지 다시 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ gcloud projects list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PROJECT_ID       NAME             PROJECT_NUMBER&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;biggquerysample  biggquerysample  &lt;span style=&#34;color:#ae81ff&#34;&gt;826877287968&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bigquerysample2  bigquerysample2  &lt;span style=&#34;color:#ae81ff&#34;&gt;641510072575&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;새로운-프로젝트-이동&#34;&gt;새로운 프로젝트 이동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 &lt;code&gt;gcloud config list&lt;/code&gt;로 실행하면 아래와 같이 &lt;code&gt;project=bigquerysample&lt;/code&gt;로 세팅이 되어 있는 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ gcloud config list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;core&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;account &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; yourname@gmail.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;disable_usage_reporting &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; False&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;project &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; biggquerysample&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your active configuration is: &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;default&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;기존 &lt;code&gt;gcloud&lt;/code&gt;는 &lt;code&gt;biggquerysample&lt;/code&gt;에서 &lt;code&gt;biggquerysample2&lt;/code&gt;로 이동해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ gcloud config set project biggquerysample2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ gcloud config list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;core&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;account &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; yourname@gmail.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;disable_usage_reporting &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; False&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;project &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; biggquerysample2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your active configuration is: &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;default&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;reference&#34;&gt;Reference&lt;/h2&gt;&#xA;&lt;p&gt;Warrick.(2020). Setup and Switch Between Google Cloud Projects in the SDK. Retrieved from &lt;a href=&#34;https://medium.com/google-cloud/setup-and-switch-between-google-cloud-projects-in-the-sdk-885c5000624c&#34;&gt;https://medium.com/google-cloud/setup-and-switch-between-google-cloud-projects-in-the-sdk-885c5000624c&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch05_gcloud_settings</title>
      <link>https://dschloe.github.io/programming/2021/01/ch05_gcloud_settings/</link>
      <pubDate>Thu, 07 Jan 2021 11:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/01/ch05_gcloud_settings/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;MacOS m1, Big Sur&lt;/code&gt;에서 &lt;code&gt;gcloud&lt;/code&gt; 환경 세팅을 해본다.&lt;/li&gt;&#xA;&lt;li&gt;목표는 &lt;code&gt;gcloud&lt;/code&gt;를 설치 한 뒤, 신규 프로젝트를 설치하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;cloud-sdk-시작-전&#34;&gt;Cloud SDK 시작 전&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MacOS에서는 Python이 필요하다.&lt;/li&gt;&#xA;&lt;li&gt;지원되는 버전은 Python3(권장, 3.5 ~ 3.8) 및 Python 2 (2.7.9) 이상이다.&lt;/li&gt;&#xA;&lt;li&gt;만약 &lt;code&gt;Python&lt;/code&gt;이 설치되지 않았다면 추가로 설치를 진행해야 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.python.org/&#34;&gt;https://www.python.org/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;cloud-sdk-시작&#34;&gt;Cloud SDK 시작&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필요한 파일 및 설치 참고 자료는 &lt;a href=&#34;https://cloud.google.com/sdk/docs/quickstart#mac&#34;&gt;공식홈페이지: 빠른 시작: Cloud SDK 시작하기&lt;/a&gt; 에서 확인한다.&lt;/li&gt;&#xA;&lt;li&gt;압축 파일을 풀고 해당 경로로 이동한다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 환경문제가 발생할 수 있으니, 가급적 &lt;code&gt;.sh&lt;/code&gt; 스크립트를 실행한다.&lt;/li&gt;&#xA;&lt;li&gt;다음과 같이 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cd google-cloud-sdk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ./install.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Do you want to help improve the Google Cloud SDK &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;y/N&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;? y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Modify profile to update your $PATH and enable shell command &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;completion?&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Do you want to &lt;span style=&#34;color:#66d9ef&#34;&gt;continue&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;Y/n&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;? N&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;cloud-sdk-초기화&#34;&gt;Cloud SDK 초기화&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;명령 프롬프트에서 다음 명령어를 실행하면 로그인 등을 진행해야 한다.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저, GCP 프로젝트 폴더를 만들고, 해당 경로로 이동한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ mkdir GCP&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cd GCP&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이제 초기화를 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ gcloud init&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;Google 사용자 계정을 사용하여 로그인 한다.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;To &lt;span style=&#34;color:#66d9ef&#34;&gt;continue&lt;/span&gt;, you must log in. Would you like to log in &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;Y/n&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;? Y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;그러면, 구글 사용자 계정에 로그인하고 허용을 클릭한다.&lt;/li&gt;&#xA;&lt;li&gt;터미널에서 본인으 프로제트를 선택하거나 또는 신규 프로젝트를 선택한다.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;This account has a lot of projects! Listing them all can take a &lt;span style=&#34;color:#66d9ef&#34;&gt;while&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;1&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; Enter a project ID&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;2&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; Create a new project&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;3&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; List projects&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Please enter your numeric choice:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;Google Compute Engine API를 사용 설정한 경우 gcloud init을 사용하여 기본 Compute Engine 영역을 선택할 수 있습니다.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Which compute zone would you like to use as project default?&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;1&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;asia-east1-a&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;2&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;asia-east1-b&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;14&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; Do not use default zone&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; Please enter your numeric choice:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;gcloud init&lt;/code&gt;은 설정 단계를 성공적으로 완료되었다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gcloud has now been configured!&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;You can use &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;gcloud config&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; to change more gcloud settings.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your active configuration is: &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;default&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;gcloud-실행-완료&#34;&gt;gcloud 실행 완료&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SDK 설치에 대한 정보를 보려면 &lt;code&gt;gcloud&lt;/code&gt; 명령어를 실행해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ gcloud auth list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;core&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;account &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; jhjung@dschloe.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;disable_usage_reporting &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; False&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;project &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; bigquerysample&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your active configuration is: &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;default&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 내용까지 잘 출력이 되면, 정상적으로 출력이 된 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;참고자료&#34;&gt;참고자료&lt;/h2&gt;&#xA;&lt;p&gt;빠른 시작: Cloud SDK 시작하기: &lt;a href=&#34;https://cloud.google.com/sdk/docs/quickstart&#34;&gt;https://cloud.google.com/sdk/docs/quickstart&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kaggle Countplot with Text using Seaborn</title>
      <link>https://dschloe.github.io/programming/2021/01/kaggle_seabon_countplot/</link>
      <pubDate>Wed, 06 Jan 2021 23:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/01/kaggle_seabon_countplot/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;수강생 중 1명이 캐글 경진대회에 참여하고 있는데, 시각화의 어려움을 같이 해결하면서 팁을 공유한다.&lt;/li&gt;&#xA;&lt;li&gt;도구: Python + Seaborn + Matplotlib&lt;/li&gt;&#xA;&lt;li&gt;캐글 데이터: &lt;a href=&#34;https://www.kaggle.com/c/kaggle-survey-2020/notebooks?competitionId=23724&amp;amp;sortBy=voteCount&#34;&gt;https://www.kaggle.com/c/kaggle-survey-2020/notebooks?competitionId=23724&amp;amp;sortBy=voteCount&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;캐글-데이터-연동&#34;&gt;캐글 데이터 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;캐글 데이터를 구글 드라이브에 업로드 한 뒤 구글 코랩과 연동한다.&lt;/li&gt;&#xA;&lt;li&gt;Kaggle API를 통해 데이터를 불러올 수도 있지만, 수동으로 다운로드 받은 뒤 드라이브에 업로드 하였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Mount Google Drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; drive &lt;span style=&#34;color:#75715e&#34;&gt;# import drive from google colab&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ROOT &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/content/drive&amp;#34;&lt;/span&gt;     &lt;span style=&#34;color:#75715e&#34;&gt;# default location for the drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(ROOT)                 &lt;span style=&#34;color:#75715e&#34;&gt;# print content of ROOT (Optional)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;drive&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mount(ROOT)           &lt;span style=&#34;color:#75715e&#34;&gt;# we mount the google drive at /content/drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive&#xA;Mounted at /content/drive&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# import join used to join ROOT path and MY_GOOGLE_DRIVE_PATH&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; os.path &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; join  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# path to your project on Google Drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;MY_GOOGLE_DRIVE_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;My Drive/Colab Notebooks/competition/kaggle/2020 Kaggle Machine Learning&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PROJECT_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; join(ROOT, MY_GOOGLE_DRIVE_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(PROJECT_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/competition/kaggle/2020 Kaggle Machine Learning&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;cd &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{PROJECT_PATH}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/competition/kaggle/2020 Kaggle Machine Learning&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;라이브러리--데이터-불러오기&#34;&gt;라이브러리 &amp;amp; 데이터 불러오기&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;set_option(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;mode.chained_assignment&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;survey &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;./data/kaggle_survey_2020_responses.csv&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;question &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; survey&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;iloc[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;,:]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;T&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;full_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; survey&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;iloc[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;:,:]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;full_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/usr/local/lib/python3.6/dist-packages/IPython/core/interactiveshell.py:2718: DtypeWarning: Columns (0) have mixed types.Specify dtype option on import or set low_memory=False.&#xA;  interactivity=interactivity, compiler=compiler, result=result)&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;(20036, 355)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;데이터-전처리&#34;&gt;데이터 전처리&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 &lt;code&gt;India&lt;/code&gt;와 &lt;code&gt;USA&lt;/code&gt;를 제외한 나라는 삭제하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;출력된 결과를 확인해보면 알겠지만, 행이 대폭 감소한 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;full_df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Q3&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;replace({&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;United States of America&amp;#39;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;USA&amp;#39;&lt;/span&gt;}, inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df1 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; full_df[(full_df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Q3&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;India&amp;#39;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt;(full_df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Q3&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;USA&amp;#39;&lt;/span&gt;)]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df1&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reset_index(drop&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;, inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(df1[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Q3&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;unique())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df1&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[&#39;USA&#39; &#39;India&#39;]&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;(8088, 355)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;1차-데이터-시각화&#34;&gt;1차 데이터 시각화&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 countplot()을 활용하여 시각화를 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;countplot(x &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Q4&amp;#39;&lt;/span&gt;, hue &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Q3&amp;#39;&lt;/span&gt;, data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df1)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;matplotlib.axes._subplots.AxesSubplot at 0x7f3bbad50ac8&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2021/01/kaggle_seabon_countplot/output_10_1.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>matplotlib 03_2 Scatter Plot</title>
      <link>https://dschloe.github.io/programming/2021/01/matplotlib_03_02_scatterplot/</link>
      <pubDate>Mon, 04 Jan 2021 22:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/01/matplotlib_03_02_scatterplot/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;산점도-그래프&#34;&gt;산점도 그래프&lt;/h2&gt;&#xA;&lt;p&gt;산점도는 두 수치형 변수의 분포를 비교하고 두 변수 사이에 상관 관계가 있는지 여부를 확인하는 데 사용됩니다. 데이터 내에 구별되는 군집/분할이 있으면 산점도에서도 명확해집니다.&lt;/p&gt;&#xA;&lt;h3 id=&#34;1-라이브러리-불러오기&#34;&gt;(1) 라이브러리 불러오기&lt;/h3&gt;&#xA;&lt;p&gt;필요한 라이브러리를 불러옵니다.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;2-데이터-생성&#34;&gt;(2) 데이터 생성&lt;/h3&gt;&#xA;&lt;p&gt;이번에는 &lt;code&gt;seaborn&lt;/code&gt; 패키지 내 &lt;code&gt;tips&lt;/code&gt; 데이터를 활용합니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>(Mac) Python 기본 환경설정 및 주피터 노트북 설치</title>
      <link>https://dschloe.github.io/programming/2021/01/jupyter_notebook_mac/</link>
      <pubDate>Sun, 03 Jan 2021 00:11:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2021/01/jupyter_notebook_mac/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;M1 맥북을 구입 후, 환경 설정을 하다보며, 기록을 남기기로 하였다.&lt;/li&gt;&#xA;&lt;li&gt;환경변수에 대해 살짝 다루도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;Jupyter Notebook 설치를 진행해본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Note: 아나콘다가 아닌, &lt;code&gt;Python 공식홈페이지&lt;/code&gt;에서 다운 받은 것을 전제로 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;설정-1-zsh-to-bash-환경으로-바꾸기&#34;&gt;설정 1. zsh to bash 환경으로 바꾸기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 zsh는 잘 쓰지 않았다.&lt;/li&gt;&#xA;&lt;li&gt;그런데, Mac은 Default로 bash 환경을 쓴다.&lt;/li&gt;&#xA;&lt;li&gt;써보지 않았기에, bash로 바꾸도록 한다. (쉽다!)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-zsh&#34; data-lang=&#34;zsh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ chsh -s /bin/bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 설정을 진행한 후, 터미널을 종료한 뒤 다시 시작한다.&lt;/li&gt;&#xA;&lt;li&gt;만약, 현재 쉘 스크립트를 알고자 하면 아래와 같은 명령어를 입력하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ echo $SHELL&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/bin/bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;설정-2-파이썬-환경설정&#34;&gt;설정 2. 파이썬 환경설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 아래 코드를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cd ~&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ls -a&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#x9;&#x9;&#x9;.ipython&#x9;&#x9;.zshrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;..&#x9;&#x9;&#x9;.local&#x9;&#x9;&#x9;Applications&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.CFUserTextEncoding&#x9;.matplotlib&#x9;&#x9;Desktop&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.DS_Store&#x9;&#x9;.python_history&#x9;&#x9;Documents&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.Rhistory&#x9;&#x9;.r&#x9;&#x9;&#x9;Downloads&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.Trash&#x9;&#x9;&#x9;.rstudio-desktop&#x9;Library&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.bash_history&#x9;&#x9;.ssh&#x9;&#x9;&#x9;Movies&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.bash_profile&#x9;&#x9;.viminfo&#x9;&#x9;Music&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.bash_profile.swp&#x9;.zprofile&#x9;&#x9;Myblog&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.bash_sessions&#x9;&#x9;.zprofile.swp&#x9;&#x9;OneDrive&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.config&#x9;&#x9;&#x9;.zsh_history&#x9;&#x9;Pictures&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.gitconfig&#x9;&#x9;.zsh_sessions&#x9;&#x9;Public&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;위 파일 중에서 특히 관심을 가져야하는 파일은 두가지다&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hugo Blog 옮기기</title>
      <link>https://dschloe.github.io/programming/2020/12/hugo_blog/</link>
      <pubDate>Wed, 30 Dec 2020 17:11:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/12/hugo_blog/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;새로운 맥을 구입하면서 생긴 여러 에러를 해결하면서 기록으로 남겼다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;선수-학습&#34;&gt;선수 학습&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 포스트는 기존 &lt;code&gt;hugo&lt;/code&gt; 깃허브 블로그를 운영중인 독자들을 위한 글이다.&lt;/li&gt;&#xA;&lt;li&gt;만약 깃허브 블로그를 처음 만드시는 분은 공식 홈페이지를 참조하기를 바란다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://gohugo.io/getting-started/installing/&#34;&gt;https://gohugo.io/getting-started/installing/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;기존-블로그-활용&#34;&gt;기존 블로그 활용&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 &lt;code&gt;blog&lt;/code&gt;라는 깃허브 &lt;code&gt;repo&lt;/code&gt;가 존재하였음&lt;/li&gt;&#xA;&lt;li&gt;따라서, &lt;code&gt;blog&lt;/code&gt; 레포를 내려 받았다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git clone https://github.com/yourname/your_repo.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;상황-1-submodule에-대한-충분하지-못한-이해&#34;&gt;상황 1. submodule에 대한 충분하지 못한 이해&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자가 실수한 것이 있다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;github&lt;/code&gt;에서 &lt;code&gt;submodule&lt;/code&gt;은 영어 단어 그대로, 서브 모듈이다. 즉, 한개의 메인 프로젝트가 존재하지만, 다른 프로젝트는 공통으로 사용할 모듈이라는 뜻이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;자세한 설명은 &lt;a href=&#34;https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-%EC%84%9C%EB%B8%8C%EB%AA%A8%EB%93%88&#34;&gt;git 공식문서&lt;/a&gt;를 참고한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;다시 정리하자면,&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자에게 메인 프로젝트는 &lt;code&gt;blog&lt;/code&gt; 레포에 글을 남기는 것이다.&lt;/li&gt;&#xA;&lt;li&gt;필자가 필요한 것은 깃허브 블로그에 필요한 &lt;code&gt;mainroad&lt;/code&gt;라는 테마(theme) 모듈과, 배포를 위한 &lt;code&gt;public&lt;/code&gt; 모듈이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;public&lt;/code&gt;은 필자의 깃허브 주소와 연동되어 있는 모듈이라고 생각하면 쉽다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;즉, &lt;code&gt;public&lt;/code&gt;과 필자의 깃허브 주소 레포와 하나로 연결되어 있기 때문에, 자동으로 배포가 되는 시스템이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;여하튼, 필자가 실수한 것은 바로, 저 &lt;code&gt;public&lt;/code&gt;에 대한 &lt;code&gt;서브모듈&lt;/code&gt;을 생각하지 못했고, 이 에러가 가장 치명적이었다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;해결방안&#34;&gt;해결방안&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;어떻게 해결할까? &lt;code&gt;Note: 순서를 꼭 잘 지키도록 한다&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;우선, 깃허브를 내려받으면, 기존 &lt;code&gt;public&lt;/code&gt;과 &lt;code&gt;themes/your_theme&lt;/code&gt;는 삭제한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이유: 캐시가 남아 있는데, 위 두개 삭제를 하지 않으면 에러의 무한루프에 빠진다.&lt;/li&gt;&#xA;&lt;li&gt;아래 코드는 에러의 한 예다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-zsh&#34; data-lang=&#34;zsh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blog % git commit -m &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;updated&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;On branch master&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your branch is up to date with &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;origin/master&amp;#39;&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Changes not staged &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; commit:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        modified:   themes/mainroad &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;modified content, untracked content&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;no changes added to commit&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 에러가 발생이 되면, 안된다. 즉, 무언가 제대로 삭제가 되지 않았다는 뜻이며, 폴더가 없음에도 위와 같은 에러가 발생이 되면 그 때는 아래 명령어를 추가하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-zsh&#34; data-lang=&#34;zsh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git rm -r --cached themes/mainroad&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이 때, 중요한 것은, 삭제 후, &lt;code&gt;git push&lt;/code&gt; 까지 진행해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-zsh&#34; data-lang=&#34;zsh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ rm -rf public&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ rm -rf themes/your_theme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git add .&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git commit -m &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;your commit msg&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git push origin master&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;or main&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이제부터가 중요하다. 순서를 지키도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;먼저, theme부터 submodule을 진행한 후, 마지막으로 &lt;code&gt;public&lt;/code&gt;에 대한 &lt;code&gt;submodule&lt;/code&gt;을 설정한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;코드로 보면 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git submodule add https://github.com/developer_name/your_theme.git themes/your_theme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git submodule add -b master git@github.com:your_name/your_name.github.io.git public&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이렇게 함으로써 &lt;code&gt;blog&lt;/code&gt; 레포안에 있는 &lt;code&gt;public&lt;/code&gt; 디렉토리는 &lt;code&gt;your_name.github.io&lt;/code&gt; 주소와 연동이 끝나게 되는 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;주의점&#34;&gt;주의점&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자의 경우, &lt;code&gt;themes/my_theme&lt;/code&gt;안에 &lt;code&gt;shortcode&lt;/code&gt; 및 &lt;code&gt;css&lt;/code&gt; 코드 등을 추가하였다. 따라서, 이 코드 등도 당연히 추가가 되어야 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때에는 복사 붙여넣기로 대체 하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;상황-2-ssh-keygen의-필요성&#34;&gt;상황 2. ssh keygen의 필요성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 새로운 맥에어 &lt;code&gt;m1&lt;/code&gt;을 구입하였기 때문에, &lt;code&gt;SSH Key&lt;/code&gt;값을 만들어야 한다.&lt;/li&gt;&#xA;&lt;li&gt;검색을 통해서 쉽게 구할 수 있기 때문에, 자세한 내용은 &lt;a href=&#34;https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent#&#34;&gt;메뉴얼&lt;/a&gt;을 참고한다.&#xA;+&lt;/li&gt;&#xA;&lt;li&gt;코드로 구현하면 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-zsh&#34; data-lang=&#34;zsh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cd ~/.ssh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ssh-keygen -t ed25519 -C &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;your_email@example.com&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; Generating public/private ed25519 key pair.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; Enter a file in which to save the key &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;/Users/you/.ssh/id_ed25519&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;: &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;Press enter&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; Enter passphrase &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;empty &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; no passphrase&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;: &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;Type a passphrase&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; Enter same passphrase again: &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;Type passphrase again&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cat ~/.ssh/id_ras.pub&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이때, 출력값 전체(이메일 포함)하여 복사 한후, 깃허브 계정에서 [&lt;code&gt;Settings&lt;/code&gt;]-[&lt;code&gt;SSH and GPG Keys&lt;/code&gt;]-[&lt;code&gt;New SSH Key&lt;/code&gt;]를 클릭하며 붙여 넣기 한 후 저장한다.&lt;/li&gt;&#xA;&lt;li&gt;그런데, 하나 주의해야 하는 것은, 이대로 끝내면, 블로그를 업데이트 할 때마다, 계속 비밀버호를 입력하라고 한다. 매우 귀찮기 때문에, 아래와 같은 코드를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-zsh&#34; data-lang=&#34;zsh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ssh-add ~/.ssh/id_rsa&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ eval &lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;ssh-agent&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;여기까지 진행해주면 끝이 난다.&lt;/li&gt;&#xA;&lt;li&gt;만약 영구적으로 바꾸고 싶다면, &lt;code&gt;~/.ssh/config&lt;/code&gt; 설정 값을 바꿔줘야 하는데, 이 부분은 독자들에게 남기겠다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참고자료: &lt;a href=&#34;https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent#&#34;&gt;Generating a new SSH key and adding it to the ssh-agent&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;상황-3-버전-문제&#34;&gt;상황 3. 버전 문제&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;모두에게 해당 사항이 안될 수도 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;현재 필자가 겪는 에러이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-zsh&#34; data-lang=&#34;zsh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ WARN 2020/10/12 13:40:31 Failed to get translated string &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; language &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;en&amp;#34;&lt;/span&gt; and ID &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;authorbox_name&amp;#34;&lt;/span&gt;: template: :1:9: executing &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt; at &amp;lt;.Count&amp;gt;: can&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;#39;&lt;/span&gt;t evaluate field Count in type string&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;여하튼, 버전 문제 하나만 소개 하고 마무리 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/gohugoio/hugo/issues/7822&#34;&gt;Hugo 0.76.* i18n .Count warning message #7822&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;참고로 필자의 hugo version은 v0.79.1이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;블로그-옮기기-성공&#34;&gt;블로그 옮기기 성공&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 글을 보고 있다면, &lt;code&gt;m1&lt;/code&gt;에서 처음 작성하여 성공적으로 올린 글을 보게 되는 것이다.&lt;/li&gt;&#xA;&lt;li&gt;즉, 필자는 성공하였다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;hugo&lt;/code&gt;의 가장 큰 어려움은 사실 한글자료가 많지 않다.&lt;/li&gt;&#xA;&lt;li&gt;이 글을 보는 &lt;code&gt;hugo&lt;/code&gt; 사용자에게 작은 도움이 되기를 바란다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Git 명령어 중급편</title>
      <link>https://dschloe.github.io/programming/2020/12/git_intermediate/</link>
      <pubDate>Tue, 22 Dec 2020 21:11:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/12/git_intermediate/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;커밋을 하기 전에 확인해야 할 기본적인 명령어 등을 확인해본다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;tracked&lt;/code&gt; 상태의 파일을 &lt;code&gt;untracked&lt;/code&gt; 상태로 변경하는데, 스테이지에 등록하는 것과 반대 과정이라고 보면 된다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;stage&lt;/code&gt; 상태에 있는 것을 &lt;code&gt;unstage&lt;/code&gt; 상태로 변경하려면 삭제(&lt;code&gt;rm&lt;/code&gt;)나 리셋(&lt;code&gt;reset&lt;/code&gt;) 명령어를 사용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;파일-등록-취소&#34;&gt;파일 등록 취소&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;rm 명령어로 삭제 하려면, 기억해야 하는 것은 &lt;code&gt;스테이지&lt;/code&gt; 영역에서만 등록된 파일을 삭제하려면 &lt;code&gt;--cached 옵션&lt;/code&gt;을 함께 사용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git rm --cached main.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rm &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;main.py&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;캐시 목록에서 파일이 삭제가 된 이후에 &lt;code&gt;git status&lt;/code&gt;를 실행해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git status &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;On branch master&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Changes to be committed:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;use &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;git reset HEAD &amp;lt;file&amp;gt;...&amp;#34;&lt;/span&gt; to unstage&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        deleted: main.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Untracked files:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;use &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;git add &amp;lt;file&amp;gt;...&amp;#34;&lt;/span&gt; to update what will be committed&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        main.py &amp;lt;-- 스테이지 삭제&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nothing added to commit but untracked files present &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;use &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;git add&amp;#34;&lt;/span&gt; to track&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;사실 이 때 부터가 조금 중요하다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;deleted: main.py&lt;/code&gt;의 뜻은 삭제 또는 변화된 것으로 간주하기 때문에, 이 때에는 리셋 후 정리하라는 명령어이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git reset HEAD main.py ---&amp;gt; 리셋 시도&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;그리고 다시 &lt;code&gt;status&lt;/code&gt; 명령어를 실행하면 정상적으로 커밋이 정리가 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git status --&amp;gt; 상태 확인&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;On branch master&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nothing to commit, working tree clean&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;파일-이름-변경&#34;&gt;파일 이름 변경&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일 이름 변경시에는 &lt;code&gt;git mv old_file_name new_file_name&lt;/code&gt;와 같이 작업하면 된다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;단, 이 때 주의해야 하는 것은 파일의 경로다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git mv folder/main.py folder/test.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이와 같은 형태로 수정을 해줘야 한다.&lt;/li&gt;&#xA;&lt;li&gt;만약, &lt;code&gt;fatal: not under version control, source=folder/main.py, destination=folder/test.py&lt;/code&gt;와 같은 에러가 발생을 한다면, 이 때는 새로 추가된 파일을 &lt;code&gt;git add&lt;/code&gt;를 하지 않은 &lt;code&gt;untracked&lt;/code&gt; 상태인 것을 재 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;git-commit의-의미&#34;&gt;&lt;code&gt;git commit&lt;/code&gt;의 의미&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;commit&lt;/code&gt;은 크게 &lt;code&gt;HEAD&lt;/code&gt;와 스테이지를 결합하여 새로운 객체를 만드는 것과 유사하다. 즉, 변경된 파일의 차이를 깃 저장소에 기록하는 것을 말한다.&lt;/li&gt;&#xA;&lt;li&gt;그런데, 변경된 파일을 구별하려면 별도의 메시지를 같이 작성해야 하는데, 이를 커밋 메시지라고 해야 한다.&lt;/li&gt;&#xA;&lt;li&gt;조금 더 쉽게 설명하면 아래와 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;제안서 작업을 하기 위해 워드파일을 만들 때, 다음과 같이 저장하는 경우가 종종 있다.&lt;/li&gt;&#xA;&lt;li&gt;예) 제안서_1201.docx, 제안서_1202.docx&lt;/li&gt;&#xA;&lt;li&gt;두 문서 사이에는 당연히 차이가 발생한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이 때 문서명과 서로 다름을 표시해주는 역할을 해주는 것이 메시지라고 보면 된다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;따라서, 커밋 메시지는 반드시 작성해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이제 커밋 메시지를 남긴다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;커밋 메시지에 대한 내용은 다음 URL에서 확인해보자.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/settings/github_settings/#iii-%EC%98%AC%EB%B0%94%EB%A5%B4%EA%B2%8C-%EC%BB%A4%EB%B0%8B%ED%95%98%EA%B8%B0&#34;&gt;올바르게 커밋하기&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git commit -m &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;message&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;git-commit후의-수정&#34;&gt;&lt;code&gt;git commit&lt;/code&gt;후의 수정&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;git commit&lt;/code&gt;이 실행한 뒤에는 &lt;code&gt;git status&lt;/code&gt;를 실행해보면 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git status&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;On branch main&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your branch is ahead of &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;origin/main&amp;#39;&lt;/span&gt; by &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; commit.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;use &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;git push&amp;#34;&lt;/span&gt; to publish your local commits&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nothing to commit, working tree clean&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이 상태가 되면 &lt;code&gt;git push&lt;/code&gt;를 하면 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;파일-수정&#34;&gt;파일 수정&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그런데, &lt;code&gt;git push&lt;/code&gt; 이후에 수정할 것이 생겼다고 가정해보자.&lt;/li&gt;&#xA;&lt;li&gt;파일을 수정하면 &lt;code&gt;modified&lt;/code&gt; 상태로 돌아가게 된다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그런데, 수정하는 과정에서 파일을 잘못 수정할 수도 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;깃을 이용하면 수정한 파일을 커밋 전 마지막내용으로 쉽게 되돌릴 수 있다. 즉 이전 커밋으로 되돌리는 명령어는 다음과 같다.&lt;/li&gt;&#xA;&lt;li&gt;다만, 이 때에는 커밋 이후에 작업한 수정 내역은 모두 삭제가 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git checkout -- 수정파일 이름&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;수정한 파일은 다시 등록해야 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;반복되는 내용이기에 생략한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git add 수정파일이름&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git status&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git commit -m &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;00 file updated&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;git-commit-취소&#34;&gt;&lt;code&gt;git commit&lt;/code&gt; 취소&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 파일 수정이 아니라, 커밋을 취소하는 방법이다.&lt;/li&gt;&#xA;&lt;li&gt;그런데, 이 때에도 주의해야 하는 것은 취소한 해당파일들을 &lt;code&gt;stage&lt;/code&gt;로 보낼 것인지, 아니면 &lt;code&gt;unstage&lt;/code&gt;로 보낼 것인지를 결정해야 한다.&lt;/li&gt;&#xA;&lt;li&gt;시나리오는 다음과 같다.&lt;/li&gt;&#xA;&lt;li&gt;새로운 test.py을 만들어 1차 커밋을 한 뒤, 파일을 재 수정하여 2차 커밋을 진행한 상태이다. (물론, &lt;code&gt;git add&lt;/code&gt; 포함)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;방법-1-stage로-돌려보내기&#34;&gt;방법 1. stage로 돌려보내기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;commit&lt;/code&gt;취소 후, 해당 파일들은 &lt;code&gt;staged&lt;/code&gt; 상태로 워킹 디렉터리에 보존하는 방법이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git reset --soft HEAD^&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git status&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;On branch main&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your branch is ahead of &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;origin/main&amp;#39;&lt;/span&gt; by &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; commit.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;use &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;git push&amp;#34;&lt;/span&gt; to publish your local commits&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Changes to be committed:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;use &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;git restore --staged &amp;lt;file&amp;gt;...&amp;#34;&lt;/span&gt; to unstage&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        modified:   test.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;여전히 &lt;code&gt;modified&lt;/code&gt;  된 상태이며 여전히 &lt;code&gt;워킹 디렉터리&lt;/code&gt; 상태에 있음을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;이 때에는 &lt;code&gt;git add&lt;/code&gt;만 해준다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;방법-2-unstage로-돌려보내기&#34;&gt;방법 2. unstage로 돌려보내기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;방법1과 동일하지만 종착지가 다른 경우이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git reset --mixed HEAD^&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git reset HEAD^&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git reset HEAD~2 // 마지막 2개의 commit을 취소&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;필자는 git reset &amp;ndash;mixed HEAD^를 사용했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git reset --mixed HEAD^&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Unstaged changes after reset:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;M       kaggle/test.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git status&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;On branch main&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your branch is ahead of &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;origin/main&amp;#39;&lt;/span&gt; by &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; commit.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;use &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;git push&amp;#34;&lt;/span&gt; to publish your local commits&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Changes not staged &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; commit:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;use &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;git add &amp;lt;file&amp;gt;...&amp;#34;&lt;/span&gt; to update what will be committed&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;use &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;git restore &amp;lt;file&amp;gt;...&amp;#34;&lt;/span&gt; to discard changes in working directory&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        modified:   test.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;no changes added to commit &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;use &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;git add&amp;#34;&lt;/span&gt; and/or &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;git commit -a&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;첫번째 했을 때와 조금 다른 결과값을 나오는데, 아직까지는 현재는 &lt;code&gt;modified&lt;/code&gt; 이고 워킹 디렉터리에 보존되는 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;방법-3-unstage로-돌려보내고-워킹-디렉터리에서-삭제&#34;&gt;방법 3. unstage로 돌려보내고 워킹 디렉터리에서 삭제&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;방법1과 방법2는 파일들을 삭제하지는 않지만, 다음 명령어를 이용하면 워킹 디렉터리에서 삭제하는 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git reset --hard HEAD^&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;On branch main&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your branch is ahead of &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;origin/main&amp;#39;&lt;/span&gt; by &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; commit.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;use &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;git push&amp;#34;&lt;/span&gt; to publish your local commits&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nothing to commit, working tree clean&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이 때에는 &lt;code&gt;modified&lt;/code&gt; 상태가 없다.&lt;/li&gt;&#xA;&lt;li&gt;또한, 기존에 작업했던 소스코드들이 아예 사라지는 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;요약&#34;&gt;요약&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기본편과 마찬가지로 &lt;code&gt;staged&lt;/code&gt;와 &lt;code&gt;unstaged&lt;/code&gt;의 개념은 여전히 중요하다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;git commit&lt;/code&gt;취소하는 방법은 크게 3가지가 있지만, 방법 3을 사용하게 되면 기존 코드가 삭제되는 경향이 있으니 주의한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;reference&#34;&gt;Reference&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이호진(2020). Git 교과서. 서울: 길벗. Retreieved from &lt;a href=&#34;https://thebook.io/080212/&#34;&gt;https://thebook.io/080212/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Git 도구: Reset 명확히 알고 가기, &lt;a href=&#34;https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-Reset-%EB%AA%85%ED%99%95%ED%9E%88-%EC%95%8C%EA%B3%A0-%EA%B0%80%EA%B8%B0#r_git_reset&#34;&gt;https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-Reset-%EB%AA%85%ED%99%95%ED%9E%88-%EC%95%8C%EA%B3%A0-%EA%B0%80%EA%B8%B0#r_git_reset&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Git 명령어 기본편</title>
      <link>https://dschloe.github.io/programming/2020/12/git_basic/</link>
      <pubDate>Mon, 21 Dec 2020 21:11:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/12/git_basic/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;깃 명령어의 기본적인 명령어를 실행하는 것을 목표로 한다.&lt;/li&gt;&#xA;&lt;li&gt;깃 설치 및 깃허브 설치는 기존 게시글을 확인해본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/settings/github_settings/&#34;&gt;Github Project 포트폴리오&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;git-환경설정&#34;&gt;Git 환경설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;git&lt;/code&gt; 명령어를 입력 시, 제대로 실행되지 않았다면 환경변수를 추가한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;윈도우에서 제어판을 실행한 후 시스템 &amp;gt; 고급 시스템 설정 &amp;gt; 고급 &amp;gt; 환경 변수를 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;시스템 변수&lt;/code&gt; 항목에서 &lt;code&gt;Path&lt;/code&gt;를 더블클릭하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;환경 변수 편집 창에 &lt;code&gt;C:\Program Files\Git\cmd&lt;/code&gt; 경로를 추가한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;영상을 통해서 한번 보도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;git-기본문법&#34;&gt;Git 기본문법&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;git&lt;/code&gt;의 명령어의 기본 문법은 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git 명령어 또는 옵션&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이 때, 옵션은 짧은 옵션(-)과 긴 옵션(&amp;ndash;)으로 구분한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;git-version&#34;&gt;Git Version&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음과 같이 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git --version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git version 2.28.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;깃 명령어를 여러개 묶어서 사용도 가능하다. 이 때에는 세미콜론(;)으로 구분한다. (예)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git --version; git status&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;출력 생략&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;git-환경설정-1&#34;&gt;Git 환경설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;git&lt;/code&gt;을 설치한다고 해서 바로 &lt;code&gt;github&lt;/code&gt;와 함께 쓸 수 있는 것은 아니다.&lt;/li&gt;&#xA;&lt;li&gt;이 때 &lt;code&gt;config&lt;/code&gt; 명령어를 사용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;글로벌-사용자&#34;&gt;글로벌 사용자&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;로컬 사용자 등록도 다음과 같은 명령어를 통해 생성이 가능하다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 &lt;code&gt;cd&lt;/code&gt; 명령어를 통해서 깃의 저장소가 있는 폴더로 옮긴 뒤 &lt;code&gt;git config&lt;/code&gt; 명령어를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cd 저장소 폴더&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git config user.name &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;사용자이름&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git config user.email &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;이메일주소&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;깃에서 사용자를 구분하는 데 쓰는 &amp;ldquo;사용자 이름&amp;quot;과 &amp;ldquo;이메일 주소&amp;rdquo; 중 이메일 주소는 깃이 개발자를 구별하는 고유의 키 값으로 사용한다.&lt;/li&gt;&#xA;&lt;li&gt;이 때에는 해당 저장소에서만 사용이 가능한 것이지, 로컬 환경 내 다른 저장소는 해당이 되지 않는다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;즉, 혼자서만 사용이 가능하다면 매우 불편하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;혼자서 사용하기 좋은 글로벌 옵션을 추를 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;즉, 글로별 옵션을 권장한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git config --global user.name &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;사용자이름&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git config --global user.email &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;이메일주소&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;환경-설정-파일&#34;&gt;환경 설정 파일&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;환경 설정 파일은 보통 &lt;code&gt;.git/config&lt;/code&gt; 파일 형태로 저장되어 있다.&lt;/li&gt;&#xA;&lt;li&gt;몇몇 명령어를 입력하여 보자.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Note: 각 개개인마다 기본 환경이 다를 수 있으니, 참조 바란다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ls .git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;COMMIT_EDITMSG  HEAD            config          hooks           info            modules         packed-refs&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;FETCH_HEAD      ORIG_HEAD       description     index           logs            objects         refs&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;만약 &lt;code&gt;config&lt;/code&gt; 파일을 찾았다면 다음과 같이 코드를 작성한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;마찬가지로, 결과물은 설정에 따라 다를 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cat .git/config&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;core&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        repositoryformatversion &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        filemode &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; true&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        bare &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; false&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        logallrefupdates &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; true&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        ignorecase &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; true&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        precomposeunicode &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; true&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;user&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; 사용자이름&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        email &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; 이메일주소&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;만약 파일을 수정하고 싶다면, 편집기를 활용해서 수정하도록 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;code, vim, emacs, etc 등 다양한 편집기가 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ code .git/config&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;pycharm 사용자의 경우 다음과 같이 사용하면 파일이 열리기도 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ open .git/config&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;깃-개념&#34;&gt;깃 개념&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 폴더 생성 후에는 &lt;code&gt;초기화&lt;/code&gt; 명령어를 입력한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git init 경로명&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;초기화 명령어를 입력 시, 경로명을 입력하지 않으면, 현재 폴더에서 초기화된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git init .&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Initialized empty Git repository in 경로&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;git-add의-뜻&#34;&gt;&lt;code&gt;git add&lt;/code&gt;의 뜻&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;깃의 동작을 이해햐려면 먼저 워킹 디렉터리 또는 트리라고 한다.&lt;/li&gt;&#xA;&lt;li&gt;우선 두가지만 기억하면 된다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;untracked 상태: 실제 작업파일 및 폴더가 있는데, 이 공간을 자동으로 추적하지 않는다. 즉, 새로 만든 파일은 모두 &lt;code&gt;untracked&lt;/code&gt; 상태인 것이다.&lt;/li&gt;&#xA;&lt;li&gt;tracked 상태: &lt;code&gt;Git&lt;/code&gt;이 추적을 할 수 있도록 &lt;code&gt;git add&lt;/code&gt; 명령어를 사용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;깃은 요청받은 파일들만 추적 관리한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;git-add의-뜻-stage--unstage&#34;&gt;&lt;code&gt;git add&lt;/code&gt;의 뜻, stage &amp;amp; unstage&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;추적 상태가 된 뒤에는 임시 영역에 해당되는 &lt;code&gt;스테이지&lt;/code&gt; 공간으로 들어간다.&lt;/li&gt;&#xA;&lt;li&gt;즉, &lt;code&gt;git add&lt;/code&gt;가 끝나면 커밋을 하기 전 단계인 임시 영역으로 들어가게 된다.&lt;/li&gt;&#xA;&lt;li&gt;이 때 구분점은 &lt;code&gt;stage&lt;/code&gt; 상태와 &lt;code&gt;unstage&lt;/code&gt; 상태와 구분된다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그러나, 실질적으로는 대개의 경우 &lt;code&gt;tracked&lt;/code&gt; 부분과 &lt;code&gt;untracked&lt;/code&gt; 부분의 영역은 크게 차이가 없다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;그런데, 예외가 있는데, 스테이지 영역에 있는 파일과 워킹 디렉터리 안에 있는 파일 내용에 차이가 있을 경우 &lt;code&gt;unstage&lt;/code&gt; 상태가 된다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;즉, 파일이 수정할 경우 임시적으로 스테이지 목록에서 제거가 된 것이기 때문에 해당 파일만 &lt;code&gt;git add&lt;/code&gt;로 추가하면 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이 쯤에서 &lt;code&gt;git 라이프 싸이클&lt;/code&gt;을 그림으로 확인해본다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/12/git_basic/git_life_cycle.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;git-add의-뜻-modified--unmodified&#34;&gt;&lt;code&gt;git add&lt;/code&gt;의 뜻, modified &amp;amp; unmodified&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;코드를 변경한다는 뜻은 파일을 수정한다는 뜻이다.&lt;/li&gt;&#xA;&lt;li&gt;그런데, 파일이 수정되면, 스테이지에서는 수정한 파일과 원본 파일을 구분하기 위해 &lt;code&gt;수정함(modified)&lt;/code&gt;와 수정하지 않음(&lt;code&gt;unmodified&lt;/code&gt;) 상태로 표현한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;modified&lt;/code&gt;의 의미는 깃이 실제로 기록한 파일이며, 실질적으로 버전을 의미한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때, 깃 &lt;code&gt;commit&lt;/code&gt;을 하면 이 변경 내역은 영구적으로 기록된다.&lt;/li&gt;&#xA;&lt;li&gt;만약, 파일 수정을 하게 되면 이는 재 등록을 의미한다. 따라서 재 등록을 하려면 &lt;code&gt;git add&lt;/code&gt;를 작성해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;unmodified&lt;/code&gt;의 뜻은 수정하지 않았음을 의미한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;요약&#34;&gt;요약&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다양한 의견이 오갔기 때문에 한번 더 설명하면 아래와 같다. 즉, 스테이지를 기준으로 삼자.&lt;/li&gt;&#xA;&lt;li&gt;modified는 &lt;code&gt;unstage&lt;/code&gt; 상태를 말하며, 이 때에는 해당 파일을 &lt;code&gt;git add&lt;/code&gt; 하라는 뜻이다.&lt;/li&gt;&#xA;&lt;li&gt;우리가 습관적으로 &lt;code&gt;git add&lt;/code&gt; 한다는 뜻에는 이와 같이 다양한 &lt;code&gt;logic&lt;/code&gt;이 내부적으로 돌아가고 있다는 뜻이기도 하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;git-status&#34;&gt;git status&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이러한 변화의 상태들을 확인하는 가장 좋은 방법은 &lt;code&gt;git status&lt;/code&gt;를 의미한다.&lt;/li&gt;&#xA;&lt;li&gt;필자의 예를 들면 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git status&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;On branch master&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your branch is up to date with &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;origin/master&amp;#39;&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Changes not staged &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; commit:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;use &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;git add &amp;lt;file&amp;gt;...&amp;#34;&lt;/span&gt; to update what will be committed&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;use &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;git restore &amp;lt;file&amp;gt;...&amp;#34;&lt;/span&gt; to discard changes in working directory&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;commit or discard the untracked or modified content in submodules&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        modified:   content/Settings/git_basic.md&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;no changes added to commit &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;use &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;git add&amp;#34;&lt;/span&gt; and/or &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;git commit -a&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;여기에서 눈여겨 봐야 하는 것은 &lt;code&gt;modified&lt;/code&gt; 영역이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 영역은 현재 필자가 작업중인 파일이다. 즉, unstage 영역이기 때문에, 이 때, &lt;code&gt;git add&lt;/code&gt;를 진행해야 함을 의미한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;gitignore&#34;&gt;.gitignore&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 분석가들에게, 가장 어려운 부분은 데이터셋을 깃허브로 올리는가 하는 부분이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아쉽지만, 간단한 샘플 데이터를 제외하면, 올리지 않는 것이 좋다. (용량 제한)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이 때, &lt;code&gt;.gitignore&lt;/code&gt; 파일에 불필요한 파일이나, 또는 숨기고 싶은 파일, 데이터셋의 경로등을 나열해서 적어둔다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;여기에 파일 목록이 등록이 되면, 해당 파일은 &lt;code&gt;tracked&lt;/code&gt; 되지 않는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;파일을 등록하는 방법은 직접 파일명을 작성하는 방법을 사용하거나, 또는 정규표현식을 사용하기도 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;자세한 부분은 &lt;a href=&#34;https://www.toptal.com/developers/gitignore&#34;&gt;https://www.toptal.com/developers/gitignore&lt;/a&gt; 에서 확인해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;reference&#34;&gt;Reference&lt;/h2&gt;&#xA;&lt;p&gt;이호진(2020). Git 교과서. 서울: 길벗. Retreieved from &lt;a href=&#34;https://thebook.io/080212/&#34;&gt;https://thebook.io/080212/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>NLP - From Word2Vec TO GPT-3</title>
      <link>https://dschloe.github.io/programming/2020/12/ch11_the_nlp_lectures/</link>
      <pubDate>Sun, 20 Dec 2020 00:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/12/ch11_the_nlp_lectures/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 포스트는 자연어처리의 주요 흐름에 관해 간단하게 정리한 내용이다.&lt;/li&gt;&#xA;&lt;li&gt;일종의 모음집이라고 하면 좋을 것 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구체적인 자연어 이론에 대한 설명은 대해서는 유투브 영상 및 그 와 다양한 자료들을 참고하도록 하자. .&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;사전-학습의-개념&#34;&gt;사전 학습의 개념&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사전 학습 모델이란 기존에 자비어(Xavier) 등 임의의 값으로 초기화된 모델의 가중치들을 다른 문제(task)에 학습시킨 가중치들로 초기화하는 방법이다.&lt;/li&gt;&#xA;&lt;li&gt;이미지 분류에서는 보통 전이학습이라는 용어를 사용하기도 했다.&lt;/li&gt;&#xA;&lt;li&gt;자연어에서의 가장 대표적인 사전학습 모델이 버트와 GPT이다.&lt;/li&gt;&#xA;&lt;li&gt;현재는 이러한 대부분의 자연어 처리 모델이 언어 모델을 사전 학습한 모델을 활용하도록 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;예를 들면, &lt;code&gt;오늘 저녁 반찬 간이 조금 싱겁다&lt;/code&gt;라는 문장이 있을 때, &lt;code&gt;오늘 아침 반찬 간이&lt;/code&gt;라는 단어들을 통해 &lt;code&gt;싱거워&lt;/code&gt;라는 단어를 모델이 예측하며 학습하게 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이러한 학습을 통해 모델은 언어에 대한 전반적인 이해(Natural Language Understanding, NLU)를 하게 되고, 이렇게 사전 학습된 지식을 기반으로 하위 문제에 대한 성능을 향상 시킨다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;사전-학습의-방법&#34;&gt;사전 학습의 방법&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;첫번째는 특징 기반(feature-based) 방법이다.&lt;/li&gt;&#xA;&lt;li&gt;특징 기반 방법이란 사전 학습된 특징을 하위 문제의 모델에 부가적인 특징을 활용하는 방법이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;특징 기반의 사전 학습 활용 방법의 대표적인 예는 &lt;code&gt;word2vec&lt;/code&gt;으로, 학습한 임베딩 특징을 우리가 학습하고자 하는 모델의 임베딩 특징으로 활용하는 방법이다.&lt;/li&gt;&#xA;&lt;li&gt;사전 학습한 가중치를 활용하는 또 다른 방법은 미세 조정(&lt;code&gt;fine-tuning&lt;/code&gt;)이다. 미세 조정이란 사전 학습한 모든 가중치와 더불어 하위 문제를 위한 최소한의 가중치를 추가해서 모델을 추가로 학습(미세 조정) 하는 방법을 말한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;기존연구-소개&#34;&gt;기존연구 소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;버트와 GPT를 배우기에 앞서 자연어 처리 연구의 흐름에 대해 살펴보도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;word2vec--skip-gram&#34;&gt;Word2Vec &amp;amp; Skip Gram&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;문장에서 특정한 단어가 어떻게 올 것인지 예측하는 방법의 가장 기본적인 원리라고 할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;word2vec은 CBOW(Continuous Bag of Words)와 Skip-Gram이라는 두가지 모델로 나뉜다.&lt;/li&gt;&#xA;&lt;li&gt;두 모델은 서로 반대되는 개념이라고 할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; IPython.display &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; HTML&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;HTML(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;lt;iframe width=&amp;#34;560&amp;#34; height=&amp;#34;315&amp;#34; src=&amp;#34;https://www.youtube.com/embed/sY4YyacSsLc?start=596&amp;#34; frameborder=&amp;#34;0&amp;#34; allow=&amp;#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&amp;#34; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/sY4YyacSsLc?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;HTML(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;lt;iframe width=&amp;#34;560&amp;#34; height=&amp;#34;315&amp;#34; src=&amp;#34;https://www.youtube.com/embed/UqRCEmrv1gQ?start=596&amp;#34; frameborder=&amp;#34;0&amp;#34; allow=&amp;#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&amp;#34; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/UqRCEmrv1gQ?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;다음 문장을 확인해보자. 예시를 들면 다음과 같다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>정형데이터와 함께하는 텍스트 마이닝</title>
      <link>https://dschloe.github.io/programming/2020/12/ch08_kaggle_price_challenge/</link>
      <pubDate>Sat, 19 Dec 2020 10:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/12/ch08_kaggle_price_challenge/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;해당 포스트는 취업 준비반 대상 강의 교재로 &lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-%EC%99%84%EB%B2%BD%EA%B0%80%EC%9D%B4%EB%93%9C&#34;&gt;파이썬 머신러닝 완벽가이드&lt;/a&gt;를 축약한 내용입니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;매우 좋은 책이니 가급적 구매하시기를 바랍니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Mercari Price Suggestion Challenge&lt;/code&gt;는 캐글에서 진행된 과제이며, 제공되는 데이터 세트는 제품에 대한 여러 속성 및 제품 설명 등의 텍스트 데이터로 구성된다.&lt;/li&gt;&#xA;&lt;li&gt;데이터 세트는 다음 링크에서 확인한다. &lt;a href=&#34;https://www.kaggle.com/c/mercari-price-suggestion-challenge/data&#34;&gt;https://www.kaggle.com/c/mercari-price-suggestion-challenge/data&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;데이터-다운로드&#34;&gt;데이터 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터를 다운로드 받도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install kaggle&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;sudo apt install p7zip p7zip&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;full &lt;span style=&#34;color:#75715e&#34;&gt;# 7z 파일을 풀기 위한 것이다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Requirement already satisfied: kaggle in /usr/local/lib/python3.6/dist-packages (1.5.10)&#xA;Requirement already satisfied: python-dateutil in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.8.1)&#xA;Requirement already satisfied: python-slugify in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.0.1)&#xA;Requirement already satisfied: certifi in /usr/local/lib/python3.6/dist-packages (from kaggle) (2020.12.5)&#xA;Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.23.0)&#xA;Requirement already satisfied: urllib3 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.24.3)&#xA;Requirement already satisfied: tqdm in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.41.1)&#xA;Requirement already satisfied: six&amp;gt;=1.10 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.15.0)&#xA;Requirement already satisfied: text-unidecode&amp;gt;=1.3 in /usr/local/lib/python3.6/dist-packages (from python-slugify-&amp;gt;kaggle) (1.3)&#xA;Requirement already satisfied: chardet&amp;lt;4,&amp;gt;=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests-&amp;gt;kaggle) (3.0.4)&#xA;Requirement already satisfied: idna&amp;lt;3,&amp;gt;=2.5 in /usr/local/lib/python3.6/dist-packages (from requests-&amp;gt;kaggle) (2.10)&#xA;Reading package lists... Done&#xA;Building dependency tree       &#xA;Reading state information... Done&#xA;p7zip is already the newest version (16.02+dfsg-6).&#xA;p7zip set to manually installed.&#xA;p7zip-full is already the newest version (16.02+dfsg-6).&#xA;0 upgraded, 0 newly installed, 0 to remove and 14 not upgraded.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; files&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;uploaded &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; files&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;upload()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; fn &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; uploaded&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;keys():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;uploaded file &amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{name}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; with length &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{length}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; bytes&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;fn, length&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;len(uploaded[fn])))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# kaggle.json을 아래 폴더로 옮긴 뒤, file을 사용할 수 있도록 권한을 부여한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;mkdir &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;p &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; mv kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; chmod &lt;span style=&#34;color:#ae81ff&#34;&gt;600&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;input type=&#34;file&#34; id=&#34;files-3926e51c-13d0-41f0-9243-44ff2a497a71&#34; name=&#34;files[]&#34; multiple disabled&#xA;style=&#34;border:none&#34; /&gt;&#xA;&lt;output id=&#34;result-3926e51c-13d0-41f0-9243-44ff2a497a71&#34;&gt;&#xA;Upload widget is only available when the cell has been executed in the&#xA;current browser session. Please rerun this cell to enable.&#xA;&lt;/output&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>텍스트 마이닝 - 감성 분석</title>
      <link>https://dschloe.github.io/programming/2020/12/ch04_sentiment_analysis/</link>
      <pubDate>Sun, 13 Dec 2020 10:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/12/ch04_sentiment_analysis/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;해당 포스트는 취업 준비반 대상 강의 교재로 &lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-%EC%99%84%EB%B2%BD%EA%B0%80%EC%9D%B4%EB%93%9C&#34;&gt;파이썬 머신러닝 완벽가이드&lt;/a&gt;를 축약한 내용입니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;매우 좋은 책이니 가급적 구매하시기를 바랍니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;감성-분석-개요&#34;&gt;감성 분석 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;문서의 주관적인 감성/의견/감정/기분 등을 파악하기 위한 방법으로 소셜 미디어, 여론조사, 온라인 리뷰, 피드백 등 다양한 분야에서 활용되고 있다.&lt;/li&gt;&#xA;&lt;li&gt;감성 분석은 크게 지도학습 &amp;amp; 비지도학습 방식으로 수행된다.&lt;/li&gt;&#xA;&lt;li&gt;데이터는 캐글 대회 데이터를 활용하였다.&lt;/li&gt;&#xA;&lt;li&gt;따라서, 본 포스트에서는 지도학습 기반과 비지도학습 기반의 감성 분석을 실습한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;데이터-불러오기&#34;&gt;데이터 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;각각 필요한 데이터를 불러오도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; drive &lt;span style=&#34;color:#75715e&#34;&gt;# 패키지 불러오기 &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; os.path &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; join  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ROOT &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/content/drive&amp;#34;&lt;/span&gt;     &lt;span style=&#34;color:#75715e&#34;&gt;# 드라이브 기본 경로&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(ROOT)                 &lt;span style=&#34;color:#75715e&#34;&gt;# print content of ROOT (Optional)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;drive&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mount(ROOT)           &lt;span style=&#34;color:#75715e&#34;&gt;# 드라이브 기본 경로 Mount&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive&#xA;Mounted at /content/drive&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;MY_GOOGLE_DRIVE_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;My Drive/Colab Notebooks/NLP/&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 프로젝트 경로&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PROJECT_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; join(ROOT, MY_GOOGLE_DRIVE_PATH) &lt;span style=&#34;color:#75715e&#34;&gt;# 프로젝트 경로&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(PROJECT_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/NLP/&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;cd &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{PROJECT_PATH}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/NLP&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;review_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/labeledTrainData.tsv&amp;#34;&lt;/span&gt;, header &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, sep&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\t&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;, quoting &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;review_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head(&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&#xA;&lt;style scoped&gt;&#xA;    .dataframe tbody tr th:only-of-type {&#xA;        vertical-align: middle;&#xA;    }&#xA;&lt;pre&gt;&lt;code&gt;.dataframe tbody tr th {&#xA;    vertical-align: top;&#xA;}&#xA;&#xA;.dataframe thead th {&#xA;    text-align: right;&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;/style&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>텍스트 마이닝 - 뉴스 분류</title>
      <link>https://dschloe.github.io/programming/2020/12/ch03_news_group_classification/</link>
      <pubDate>Thu, 10 Dec 2020 10:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/12/ch03_news_group_classification/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;해당 포스트는 취업 준비반 대상 강의 교재로 &lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-%EC%99%84%EB%B2%BD%EA%B0%80%EC%9D%B4%EB%93%9C&#34;&gt;파이썬 머신러닝 완벽가이드&lt;/a&gt;를 축약한 내용입니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;매우 좋은 책이니 가급적 구매하시기를 바랍니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;텍스트-분류-실습---뉴스그룹-분류-개요&#34;&gt;텍스트 분류 실습 - 뉴스그룹 분류 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사이킷런은 &lt;code&gt;fetch_20newsgroups&lt;/code&gt; API를 이용해 뉴스그룹의 분류를 수행해 볼 수 있는 예제 데이터 활용 가능함.&lt;/li&gt;&#xA;&lt;li&gt;희소 행렬에 분류를 효과적으로 처리할 수 있는 알고리즘은 로지스틱 회귀, 선형 서포트 벡터 머신, 나이브 베이즈 등임.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;텍스트-정규화&#34;&gt;텍스트 정규화&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;fetch_20newsgroups()&lt;/code&gt;는 인터넷에서 데이터를 받은 후, 올리는 것이기 때문에 인터넷 연결 유무를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.datasets &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; fetch_20newsgroups&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;news_data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; fetch_20newsgroups(subset&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;all&amp;#39;&lt;/span&gt;, random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;156&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(news_data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;keys())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;dict_keys([&#39;data&#39;, &#39;filenames&#39;, &#39;target_names&#39;, &#39;target&#39;, &#39;DESCR&#39;])&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Target&lt;/code&gt; 클래스가 어떻게 구성돼 있는지 확인해 본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;target 클래스의 값과 분포도 &lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;, pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Series(news_data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;target)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value_counts()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sort_index())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;target 클래스의 이름들 &lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;, news_data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;target_names)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;target 클래스의 값과 분포도 &#xA; 0     799&#xA;1     973&#xA;2     985&#xA;3     982&#xA;4     963&#xA;5     988&#xA;6     975&#xA;7     990&#xA;8     996&#xA;9     994&#xA;10    999&#xA;11    991&#xA;12    984&#xA;13    990&#xA;14    987&#xA;15    997&#xA;16    910&#xA;17    940&#xA;18    775&#xA;19    628&#xA;dtype: int64&#xA;target 클래스의 이름들 &#xA; [&#39;alt.atheism&#39;, &#39;comp.graphics&#39;, &#39;comp.os.ms-windows.misc&#39;, &#39;comp.sys.ibm.pc.hardware&#39;, &#39;comp.sys.mac.hardware&#39;, &#39;comp.windows.x&#39;, &#39;misc.forsale&#39;, &#39;rec.autos&#39;, &#39;rec.motorcycles&#39;, &#39;rec.sport.baseball&#39;, &#39;rec.sport.hockey&#39;, &#39;sci.crypt&#39;, &#39;sci.electronics&#39;, &#39;sci.med&#39;, &#39;sci.space&#39;, &#39;soc.religion.christian&#39;, &#39;talk.politics.guns&#39;, &#39;talk.politics.mideast&#39;, &#39;talk.politics.misc&#39;, &#39;talk.religion.misc&#39;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Target&lt;/code&gt; 클래스의 값은 0부터 19까지 20개로 구성이 되어 있다.&lt;/li&gt;&#xA;&lt;li&gt;각각의 개별 데이터가 텍스트로 어떻게 구성되어 있는지 확인해 본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(news_data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;data[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;From: jlevine@rd.hydro.on.ca (Jody Levine)&#xA;Subject: Re: insect impacts&#xA;Organization: Ontario Hydro - Research Division&#xA;Lines: 64&#xA;&#xA;I feel childish.&#xA;&#xA;In article &amp;lt;1ppvds$92a@seven-up.East.Sun.COM&amp;gt; egreen@East.Sun.COM writes:&#xA;&amp;gt;In article 7290@rd.hydro.on.ca, jlevine@rd.hydro.on.ca (Jody Levine) writes:&#xA;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&#xA;&amp;gt;&amp;gt;&amp;gt;&amp;gt;how _do_ the helmetless do it?&#xA;&amp;gt;&amp;gt;&amp;gt;&#xA;&amp;gt;&amp;gt;&amp;gt;Um, the same way people do it on &#xA;&amp;gt;&amp;gt;&amp;gt;horseback&#xA;&amp;gt;&amp;gt;&#xA;&amp;gt;&amp;gt;not as fast, and they would probably enjoy eating bugs, anyway&#xA;&amp;gt;&#xA;&amp;gt;Every bit as fast as a dirtbike, in the right terrain.  And we eat&#xA;&amp;gt;flies, thank you.&#xA;&#xA;Who mentioned dirtbikes? We&#39;re talking highway speeds here. If you go 70mph&#xA;on your dirtbike then feel free to contribute.&#xA;&#xA;&amp;gt;&amp;gt;&amp;gt;jeeps&#xA;&amp;gt;&amp;gt;&#xA;&amp;gt;&amp;gt;you&#39;re *supposed* to keep the windscreen up&#xA;&amp;gt;&#xA;&amp;gt;then why does it go down?&#xA;&#xA;Because it wouldn&#39;t be a Jeep if it didn&#39;t. A friend of mine just bought one&#xA;and it has more warning stickers than those little 4-wheelers (I guess that&#39;s&#xA;becuase it&#39;s a big 4 wheeler). Anyway, it&#39;s written in about ten places that&#xA;the windshield should remain up at all times, and it looks like they&#39;ve made&#xA;it a pain to put it down anyway, from what he says. To be fair, I do admit&#xA;that it would be a similar matter to drive a windscreenless Jeep on the &#xA;highway as for bikers. They may participate in this discussion, but they&#39;re&#xA;probably few and far between, so I maintain that this topic is of interest&#xA;primarily to bikers.&#xA;&#xA;&amp;gt;&amp;gt;&amp;gt;snow skis&#xA;&amp;gt;&amp;gt;&#xA;&amp;gt;&amp;gt;NO BUGS, and most poeple who go fast wear goggles&#xA;&amp;gt;&#xA;&amp;gt;So do most helmetless motorcyclists.&#xA;&#xA;Notice how Ed picked on the more insignificant (the lower case part) of the &#xA;two parts of the statement. Besides, around here it is quite rare to see &#xA;bikers wear goggles on the street. It&#39;s either full face with shield, or &#xA;open face with either nothing or aviator sunglasses. My experience of &#xA;bicycling with contact lenses and sunglasses says that non-wraparound &#xA;sunglasses do almost nothing to keep the crap out of ones eyes.&#xA;&#xA;&amp;gt;&amp;gt;The question still stands. How do cruiser riders with no or negligible helmets&#xA;&amp;gt;&amp;gt;stand being on the highway at 75 mph on buggy, summer evenings?&#xA;&amp;gt;&#xA;&amp;gt;helmetless != goggleless&#xA;&#xA;Ok, ok, fine, whatever you say, but lets make some attmept to stick to the&#xA;point. I&#39;ve been out on the road where I had to stop every half hour to clean&#xA;my shield there were so many bugs (and my jacket would be a blood-splattered&#xA;mess) and I&#39;d see guys with shorty helmets, NO GOGGLES, long beards and tight&#xA;t-shirts merrily cruising along on bikes with no windscreens. Lets be really&#xA;specific this time, so that even Ed understands. Does anbody think that &#xA;splattering bugs with one&#39;s face is fun, or are there other reasons to do it?&#xA;Image? Laziness? To make a point about freedom of bug splattering?&#xA;&#xA;I&#39;ve        bike                      like       | Jody Levine  DoD #275 kV&#xA;     got a       you can        if you      -PF  | Jody.P.Levine@hydro.on.ca&#xA;                         ride it                 | Toronto, Ontario, Canada&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;뉴스그룹 기사의 내용뿐만 아니라 뉴스그룹 제목, 작성자, 소속, 이메일 등의 다양한 정보를 가지고 있음.&lt;/li&gt;&#xA;&lt;li&gt;그러나, 불필요한 부분들은 &lt;code&gt;remove&lt;/code&gt; 파라미터를 이용하여 제거할 수 있음.&lt;/li&gt;&#xA;&lt;li&gt;훈련 데이터와 테스트 데이터로 분류하는 코드를 작성해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.datasets &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; fetch_20newsgroups&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# subset=&amp;#39;train&amp;#39;으로 학습용 데이터만 추출, remove=(&amp;#39;headers&amp;#39;, &amp;#39;footers&amp;#39;, &amp;#39;quotes&amp;#39;)로 내용만 추출&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train_news &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; fetch_20newsgroups(subset&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;train&amp;#39;&lt;/span&gt;, remove&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;headers&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;footers&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;quotes&amp;#39;&lt;/span&gt;), random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;156&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_news&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y_train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_news&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;target&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# subset=&amp;#39;test&amp;#39;으로 테스트 데이터만 추출, remove=(&amp;#39;headers&amp;#39;, &amp;#39;footers&amp;#39;, &amp;#39;quotes&amp;#39;)로 내용만 추출&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;test_news &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; fetch_20newsgroups(subset&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;test&amp;#39;&lt;/span&gt;, remove&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;headers&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;footers&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;quotes&amp;#39;&lt;/span&gt;), random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;156&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; test_news&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; test_news&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;target&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;학습 데이터 크기 &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{0}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;, 테스트 데이터 크기 &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{1}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(len(train_news&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;data), len(test_news&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;data)))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Downloading 20news dataset. This may take a few minutes.&#xA;Downloading dataset from https://ndownloader.figshare.com/files/5975967 (14 MB)&#xA;&#xA;&#xA;학습 데이터 크기 11314, 테스트 데이터 크기 7532&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;피처-벡터화-변환&#34;&gt;피처 벡터화 변환&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 피처 벡터화를 진행해야 하는데, 이 때에는 &lt;code&gt;CountVectorizer&lt;/code&gt;를 이용해 학습 데이터의 텍스트를 피처 벡터화를 진행&lt;/li&gt;&#xA;&lt;li&gt;테스트 데이터 역시 피처 벡터화 진행&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때에는 테스트 데이터를 변환(transform) 해줘야 하며, 이 때, &lt;code&gt;fit_transform()&lt;/code&gt; 사용 하면 안됨&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.feature_extraction.text &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; CountVectorizer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Count Vectorization 피처 벡터화 변환 진행&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cnt_vect &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; CountVectorizer()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cnt_vect&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train_cnt_vect &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; cnt_vect&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;transform(X_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 테스트 데이터를 feature 벡터화 변환 수행&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_test_cnn_vect &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; cnt_vect&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;transform(X_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;학습 데이터 텍스트의 CountVectorizer Shape:&amp;#34;&lt;/span&gt;, X_train_cnt_vect&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;학습 데이터 텍스트의 CountVectorizer Shape: (11314, 101631)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이렇게 만들어진 학습 데이터를 &lt;code&gt;CountVectorizer&lt;/code&gt;로 피처를 추출한 결과 11314개의 문서에서, 단어가 101631개로 만들어진 것을 확인함&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;머신러닝-모델-학습예측평가&#34;&gt;머신러닝 모델 학습/예측/평가&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 로지스틱 회귀를 활용하여 뉴스그룹에 대한 분류를 예측해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.linear_model &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; LogisticRegression&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.metrics &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; accuracy_score&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Logistic Regresion을 이용해 학습/예측/평가 수행 &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lr_clf &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; LogisticRegression()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lr_clf&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train_cnt_vect, y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pred &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; lr_clf&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(X_test_cnn_vect)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;CountVectorized Logistic Regression의 예측 정확도는 &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{0:.3f}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(accuracy_score(y_test, pred)))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;CountVectorized Logistic Regression의 예측 정확도는 0.608&#xA;&#xA;&#xA;/usr/local/lib/python3.6/dist-packages/sklearn/linear_model/_logistic.py:940: ConvergenceWarning: lbfgs failed to converge (status=1):&#xA;STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.&#xA;&#xA;Increase the number of iterations (max_iter) or scale the data as shown in:&#xA;    https://scikit-learn.org/stable/modules/preprocessing.html&#xA;Please also refer to the documentation for alternative solver options:&#xA;    https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression&#xA;  extra_warning_msg=_LOGISTIC_SOLVER_CONVERGENCE_MSG)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Count&lt;/code&gt; 기반에서 TF-IDF 기반으로 벡터화 변경하여 예측 모델 수행함.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.feature_extraction.text &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; TfidfVectorizer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# TF-IDF 벡터화를 적용하여 학습 데이터 세트와 테스트 데이터 세트 변환. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tfidf_vect &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; TfidfVectorizer()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tfidf_vect&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train_tfidf_vect &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; tfidf_vect&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;transform(X_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_test_tfidf_vect &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; tfidf_vect&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;transform(X_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 &lt;code&gt;LogisticRegression&lt;/code&gt;을 이용해 학습/예측/평가 수행.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lr_clf &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; LogisticRegression()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lr_clf&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train_tfidf_vect, y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pred &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; lr_clf&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(X_test_tfidf_vect)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;TF-IDF Logistic Regression의 예측 정확도는 &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{0:.3f}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(accuracy_score(y_test, pred)))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;TF-IDF Logistic Regression의 예측 정확도는 0.674&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;TF-IDF가 단순 카운트 기반보다 훨씬 높은 예측 정확도 제공.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;모형-업그레이드-1단계&#34;&gt;모형 업그레이드 1단계&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;모형을 업그레이드 하기 위해서는 최상의 피처 전처리 수행이 필요함&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# stop words 필터링 추가 &amp;amp; ngram을 기본 (1, 1)에서 (1, 2)로 변경해 피처 벡터화 적용&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tfidf_vect &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; TfidfVectorizer(stop_words&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;english&amp;#34;&lt;/span&gt;, ngram_range&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;), max_df&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;300&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tfidf_vect&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train_tfidf_vect &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; tfidf_vect&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;transform(X_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_test_tfidf_vect &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; tfidf_vect&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;transform(X_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lr_clf &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; LogisticRegression()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lr_clf&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train_tfidf_vect, y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pred &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; lr_clf&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(X_test_tfidf_vect)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;TF-IDF Logistic Regression의 예측 정확도는 &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{0:.3f}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(accuracy_score(y_test, pred)))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;TF-IDF Logistic Regression의 예측 정확도는 0.692&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;모형-업그레이드-2단계&#34;&gt;모형 업그레이드 2단계&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 &lt;code&gt;GridSearchCV&lt;/code&gt;를 이용하여 로지스틱 회귀의 하이퍼 파라미터 최적화를&#xA;수행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.model_selection &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; GridSearchCV&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; time &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; datetime&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;start &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 최적 C값 도출 튜닝 수행 / 과적합 방지용&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;params &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;C&amp;#39;&lt;/span&gt; : [&lt;span style=&#34;color:#ae81ff&#34;&gt;0.01&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0.1&lt;/span&gt;]} &lt;span style=&#34;color:#75715e&#34;&gt;# [0.01, 0.1, 1, 5, 10]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;grid_cv_lr &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; GridSearchCV(lr_clf, param_grid&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;params, cv&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, scoring&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;accuracy&amp;#34;&lt;/span&gt;, verbose&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;grid_cv_lr&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train_tfidf_vect, y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Logistic Regression best C parameter :&amp;#39;&lt;/span&gt;, grid_cv_lr&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;best_params_)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# print(&amp;#39;Logistic Regression Best C Parameter :&amp;#39;, grid_cv_lr.best_params_)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sec &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time()&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;start&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;times &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; str(datetime&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;timedelta(seconds&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;sec))&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;split(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;times &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; times[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(times)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Fitting 2 folds for each of 2 candidates, totalling 4 fits&#xA;&#xA;&#xA;[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.&#xA;[Parallel(n_jobs=1)]: Done   4 out of   4 | elapsed:  2.4min finished&#xA;&#xA;&#xA;Logistic Regression best C parameter : {&#39;C&#39;: 0.1}&#xA;0:03:32&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; time&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; datetime&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;bench_mark&lt;/span&gt;(start):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  sec &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time() &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; start&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  times &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; str(datetime&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;timedelta(seconds&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;sec))&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;split(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  times &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; times[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(times)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;최적 C 값으로 학습된 grid_cv로 예측 및 정확도 평가&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pred &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; grid_cv_lr&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(X_test_tfidf_vect)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;TF-IDF Vectorized Logistic Regression의 예측 정확도는 &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{0:.3f}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(accuracy_score(y_test, pred)))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;TF-IDF Vectorized Logistic Regression의 예측 정확도는 0.645&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;사이킷런-파이프라인-활용한-머신러닝-수행&#34;&gt;사이킷런 파이프라인 활용한 머신러닝 수행&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사이킷런의 &lt;code&gt;Pipeline&lt;/code&gt; 클래스를 이용하여 피처 벡터화와 ML 알고리즘 학습/예측을 위한 코드 작성을 한 번에 진행 가능함.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Pipeline&lt;/code&gt;을 이용하여 데이터의 전처리와 머신러닝 학습 과정을 통일된 API 기반에서 처리할 수 있어서 보다 더 직관적인 ML 모델 코드를 생성할 수 있음.&lt;/li&gt;&#xA;&lt;li&gt;또한 대용량 데이터의 피처 벡터화 결과를 별도 데이터로 저장하지 않고 스트림 기반에서 바로 머신러닝 알고리즘의 데이터로 입력할 수 있기 때문에 수행 시간 절약도 가능함.&lt;/li&gt;&#xA;&lt;li&gt;다음은 텍스트 분류 예제 코드를 &lt;code&gt;Pipeline&lt;/code&gt;을 이용해 재 작성한 코드이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.pipeline &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Pipeline&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# TfidfVectorizer 객체를 tfidf_vect로, LogisticRegression 객체를 lr_clf로 생성하는 Pipeline 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pipeline &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Pipeline([&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                     (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tfidf_vect&amp;#39;&lt;/span&gt;, TfidfVectorizer(stop_words&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;english&amp;#39;&lt;/span&gt;, ngram_range&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;), max_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;300&lt;/span&gt;)), &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                     (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lr_clf&amp;#39;&lt;/span&gt;, LogisticRegression(C&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 파이프라인을 활용하면 fit(), transform()과 LogisticRegression의 &lt;code&gt;fit()&lt;/code&gt;, &lt;code&gt;predict()&lt;/code&gt;가 필요 없음&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;start &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pipeline&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train, y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pred &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pipeline&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(X_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Pipeline을 통한 Logistic Regression의 예측 정확도는 &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{0:.3f}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(accuracy_score(y_test, pred)))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bench_mark(start)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/usr/local/lib/python3.6/dist-packages/sklearn/linear_model/_logistic.py:940: ConvergenceWarning: lbfgs failed to converge (status=1):&#xA;STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.&#xA;&#xA;Increase the number of iterations (max_iter) or scale the data as shown in:&#xA;    https://scikit-learn.org/stable/modules/preprocessing.html&#xA;Please also refer to the documentation for alternative solver options:&#xA;    https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression&#xA;  extra_warning_msg=_LOGISTIC_SOLVER_CONVERGENCE_MSG)&#xA;&#xA;&#xA;Pipeline을 통한 Logistic Regression의 예측 정확도는 0.701&#xA;0:05:55&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지금까지 진행한 것은 단순하게 파이프라인을 활용해 머신러닝을 수행한 것이며, 이제 &lt;code&gt;Pipeline&lt;/code&gt; + &lt;code&gt;GridSearchCV&lt;/code&gt;를 적용한다.&lt;/li&gt;&#xA;&lt;li&gt;파라미터를 최적화하려면 너무 많은 튜닝 시간이 소모되기 때문에 주의 하도록 하며, 총 27개의 파라미터 X CV 2 총 54번의 학습을 진행하기 때문에 오래 걸리니 유의니 시간에 유의하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;start &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pipeline &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Pipeline([&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tfidf_vect&amp;#39;&lt;/span&gt;, TfidfVectorizer(stop_words&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;english&amp;#39;&lt;/span&gt;)),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lr_clf&amp;#39;&lt;/span&gt;, LogisticRegression())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Pipeline에 기술된 각각의 객체 변수에 언더바(_)2개를 연달아 붙여 GridSearchCV에 사용될 &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 파라미터/하이퍼 파라미터 이름과 값을 설정. . &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;params &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; { &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tfidf_vect__ngram_range&amp;#39;&lt;/span&gt;: [(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;), (&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;), (&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;)],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tfidf_vect__max_df&amp;#39;&lt;/span&gt;: [&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;300&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;700&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lr_clf__C&amp;#39;&lt;/span&gt;: [&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# GridSearchCV의 생성자에 Estimator가 아닌 Pipeline 객체 입력&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;grid_cv_pipe &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; GridSearchCV(pipeline, param_grid&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;params, cv&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt; , scoring&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;accuracy&amp;#39;&lt;/span&gt;, verbose&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;grid_cv_pipe&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train, y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(grid_cv_pipe&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;best_params_ , grid_cv_pipe&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;best_score_)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pred &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; grid_cv_pipe&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(X_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Pipeline을 통한 Logistic Regression 의 예측 정확도는 &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{0:.3f}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(accuracy_score(y_test ,pred)))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bench_mark(start)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;reference&#34;&gt;Reference&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;권철민. (2020). 파이썬 머신러닝 완벽가이드. 경기, 파주: 위키북스&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>입문자를 위한 머신러닝 - 오차행렬</title>
      <link>https://dschloe.github.io/programming/2020/12/ch03_confusion_matrix/</link>
      <pubDate>Wed, 02 Dec 2020 10:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/12/ch03_confusion_matrix/</guid>
      <description>&lt;h2 id=&#34;용어-정리&#34;&gt;용어 정리&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;영어로는 &lt;code&gt;confusion matrix&lt;/code&gt;로 불리우지만, 번역하면서 다양한 단어가 등장하고 있다. &lt;code&gt;오차행렬&lt;/code&gt;, &lt;code&gt;혼동행렬&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;제목은 &lt;code&gt;오차행렬&lt;/code&gt;이라고 표현했지만, 영어 단어를 그대로 살려 &lt;code&gt;confusion matrix&lt;/code&gt;라고 활용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;confusion-matrix&#34;&gt;Confusion Matrix&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;분류 모형을 통해 머신러닝을 학습하게 되면 &lt;code&gt;confusion matrix&lt;/code&gt; 표를 우선 작성하게 된다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/12/ch03_confusion_matrix/confusion_matrix.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;이 표에서 무엇을 볼 수 있는가?&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 전체 데이터의 크기를 확인할 수 있다. (165명)&lt;/li&gt;&#xA;&lt;li&gt;예측값 &lt;code&gt;YES&lt;/code&gt;는 (100+10) 110명이고, 예측값 &lt;code&gt;NO&lt;/code&gt;는 (50+5) 55명이다.&lt;/li&gt;&#xA;&lt;li&gt;실제값 &lt;code&gt;YES&lt;/code&gt;는 (100+5) 105명이고, 실제값 &lt;code&gt;NO&lt;/code&gt;는 (50+10) 60명이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;기본 영어를 정의해본다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>입문자를 위한 머신러닝 - GBM</title>
      <link>https://dschloe.github.io/programming/2020/11/ch02_gbm/</link>
      <pubDate>Sun, 29 Nov 2020 13:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/11/ch02_gbm/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 소스코는 교재 &lt;code&gt;파이썬 머신러닝 완벽 가이드&lt;/code&gt; 코드를 제 수업을 드는 학생들이 보다 편하게 구글 코랩에서 사용할 수 있도록 만든 예제입니다.&lt;/li&gt;&#xA;&lt;li&gt;책 구매하세요!&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.yes24.com/Product/Goods/87044746?OzSrank=1&#34;&gt;http://www.yes24.com/Product/Goods/87044746?OzSrank=1&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;gradient-boosting-machine&#34;&gt;Gradient Boosting Machine&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 GBM에 대해 학습하도록 합니다.&lt;/li&gt;&#xA;&lt;li&gt;GBM에 대해 이해하기 위해서는 경사하강법에 대해 배워야 합니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;경사하강법은 쉽게 말하면 가장 적은 오차를 찾아가는 방법론 중이 하나입니다.&lt;/li&gt;&#xA;&lt;li&gt;자세한 내용은 유투 강의를 들어주시기를 바랍니다. (&lt;a href=&#34;https://youtu.be/sDv4f4s2SB8&#34;&gt;Gradient Descent, Step-by-Step&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;위 이론을 &lt;code&gt;sklearn&lt;/code&gt;에서 구현한 것이며, 이 이론을 기반으로 다양한 알고리즘이 개발 되어 있습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;데이터-불러오기&#34;&gt;데이터 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터를 불러오도록 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;wget https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;archive&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ics&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;uci&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;edu&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;ml&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;machine&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;learning&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;databases&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;00240&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;UCI&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;HAR&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;Dataset&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;zip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;unzip &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;UCI HAR Dataset.zip&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;mv UCI\ HAR\ Dataset human_activity &lt;span style=&#34;color:#75715e&#34;&gt;# 폴더 이름을 변경하는 터미널 명령어 입니다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;--2020-11-27 05:48:03--  https://archive.ics.uci.edu/ml/machine-learning-databases/00240/UCI%20HAR%20Dataset.zip&#xA;Resolving archive.ics.uci.edu (archive.ics.uci.edu)... 128.195.10.252&#xA;Connecting to archive.ics.uci.edu (archive.ics.uci.edu)|128.195.10.252|:443... connected.&#xA;HTTP request sent, awaiting response... 200 OK&#xA;Length: 60999314 (58M) [application/x-httpd-php]&#xA;Saving to: ‘UCI HAR Dataset.zip’&#xA;&#xA;UCI HAR Dataset.zip 100%[===================&amp;gt;]  58.17M  31.3MB/s    in 1.9s    &#xA;&#xA;2020-11-27 05:48:05 (31.3 MB/s) - ‘UCI HAR Dataset.zip’ saved [60999314/60999314]&#xA;&#xA;Archive:  UCI HAR Dataset.zip&#xA;   creating: UCI HAR Dataset/&#xA;  inflating: UCI HAR Dataset/.DS_Store  &#xA;   creating: __MACOSX/&#xA;   creating: __MACOSX/UCI HAR Dataset/&#xA;  inflating: __MACOSX/UCI HAR Dataset/._.DS_Store  &#xA;  inflating: UCI HAR Dataset/activity_labels.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/._activity_labels.txt  &#xA;  inflating: UCI HAR Dataset/features.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/._features.txt  &#xA;  inflating: UCI HAR Dataset/features_info.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/._features_info.txt  &#xA;  inflating: UCI HAR Dataset/README.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/._README.txt  &#xA;   creating: UCI HAR Dataset/test/&#xA;   creating: UCI HAR Dataset/test/Inertial Signals/&#xA;  inflating: UCI HAR Dataset/test/Inertial Signals/body_acc_x_test.txt  &#xA;   creating: __MACOSX/UCI HAR Dataset/test/&#xA;   creating: __MACOSX/UCI HAR Dataset/test/Inertial Signals/&#xA;  inflating: __MACOSX/UCI HAR Dataset/test/Inertial Signals/._body_acc_x_test.txt  &#xA;  inflating: UCI HAR Dataset/test/Inertial Signals/body_acc_y_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/Inertial Signals/._body_acc_y_test.txt  &#xA;  inflating: UCI HAR Dataset/test/Inertial Signals/body_acc_z_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/Inertial Signals/._body_acc_z_test.txt  &#xA;  inflating: UCI HAR Dataset/test/Inertial Signals/body_gyro_x_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/Inertial Signals/._body_gyro_x_test.txt  &#xA;  inflating: UCI HAR Dataset/test/Inertial Signals/body_gyro_y_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/Inertial Signals/._body_gyro_y_test.txt  &#xA;  inflating: UCI HAR Dataset/test/Inertial Signals/body_gyro_z_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/Inertial Signals/._body_gyro_z_test.txt  &#xA;  inflating: UCI HAR Dataset/test/Inertial Signals/total_acc_x_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/Inertial Signals/._total_acc_x_test.txt  &#xA;  inflating: UCI HAR Dataset/test/Inertial Signals/total_acc_y_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/Inertial Signals/._total_acc_y_test.txt  &#xA;  inflating: UCI HAR Dataset/test/Inertial Signals/total_acc_z_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/Inertial Signals/._total_acc_z_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/._Inertial Signals  &#xA;  inflating: UCI HAR Dataset/test/subject_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/._subject_test.txt  &#xA;  inflating: UCI HAR Dataset/test/X_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/._X_test.txt  &#xA;  inflating: UCI HAR Dataset/test/y_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/._y_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/._test  &#xA;   creating: UCI HAR Dataset/train/&#xA;   creating: UCI HAR Dataset/train/Inertial Signals/&#xA;  inflating: UCI HAR Dataset/train/Inertial Signals/body_acc_x_train.txt  &#xA;   creating: __MACOSX/UCI HAR Dataset/train/&#xA;   creating: __MACOSX/UCI HAR Dataset/train/Inertial Signals/&#xA;  inflating: __MACOSX/UCI HAR Dataset/train/Inertial Signals/._body_acc_x_train.txt  &#xA;  inflating: UCI HAR Dataset/train/Inertial Signals/body_acc_y_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/Inertial Signals/._body_acc_y_train.txt  &#xA;  inflating: UCI HAR Dataset/train/Inertial Signals/body_acc_z_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/Inertial Signals/._body_acc_z_train.txt  &#xA;  inflating: UCI HAR Dataset/train/Inertial Signals/body_gyro_x_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/Inertial Signals/._body_gyro_x_train.txt  &#xA;  inflating: UCI HAR Dataset/train/Inertial Signals/body_gyro_y_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/Inertial Signals/._body_gyro_y_train.txt  &#xA;  inflating: UCI HAR Dataset/train/Inertial Signals/body_gyro_z_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/Inertial Signals/._body_gyro_z_train.txt  &#xA;  inflating: UCI HAR Dataset/train/Inertial Signals/total_acc_x_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/Inertial Signals/._total_acc_x_train.txt  &#xA;  inflating: UCI HAR Dataset/train/Inertial Signals/total_acc_y_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/Inertial Signals/._total_acc_y_train.txt  &#xA;  inflating: UCI HAR Dataset/train/Inertial Signals/total_acc_z_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/Inertial Signals/._total_acc_z_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/._Inertial Signals  &#xA;  inflating: UCI HAR Dataset/train/subject_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/._subject_train.txt  &#xA;  inflating: UCI HAR Dataset/train/X_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/._X_train.txt  &#xA;  inflating: UCI HAR Dataset/train/y_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/._y_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/._train  &#xA;  inflating: __MACOSX/._UCI HAR Dataset  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;get_new_feature_name_df&lt;/span&gt;(old_feature_name_df):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    feature_dup_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame(data&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;old_feature_name_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;groupby(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;column_name&amp;#39;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;cumcount(),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                  columns&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;dup_cnt&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    feature_dup_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; feature_dup_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reset_index()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    new_feature_name_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;merge(old_feature_name_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reset_index(), feature_dup_df, how&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;outer&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    new_feature_name_df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;column_name&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; new_feature_name_df[[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;column_name&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;dup_cnt&amp;#39;&lt;/span&gt;]]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;apply(&lt;span style=&#34;color:#66d9ef&#34;&gt;lambda&lt;/span&gt; x : x[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;str(x[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                                                                         &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; x[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; x[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;] ,  axis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    new_feature_name_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; new_feature_name_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop([&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;index&amp;#39;&lt;/span&gt;], axis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; new_feature_name_df&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;get_human_dataset&lt;/span&gt;( ):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 각 데이터 파일들은 공백으로 분리되어 있으므로 read_csv에서 공백 문자를 sep으로 할당.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    feature_name_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;./human_activity/features.txt&amp;#39;&lt;/span&gt;,sep&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;\s+&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        header&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;,names&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;column_index&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;column_name&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 중복된 피처명을 수정하는 get_new_feature_name_df()를 이용, 신규 피처명 DataFrame생성. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    new_feature_name_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; get_new_feature_name_df(feature_name_df)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# DataFrame에 피처명을 컬럼으로 부여하기 위해 리스트 객체로 다시 변환&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    feature_name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; new_feature_name_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;iloc[:, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;values&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;tolist()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 학습 피처 데이터 셋과 테스트 피처 데이터을 DataFrame으로 로딩. 컬럼명은 feature_name 적용&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    X_train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;./human_activity/train/X_train.txt&amp;#39;&lt;/span&gt;,sep&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;\s+&amp;#39;&lt;/span&gt;, names&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;feature_name )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    X_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;./human_activity/test/X_test.txt&amp;#39;&lt;/span&gt;,sep&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;\s+&amp;#39;&lt;/span&gt;, names&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;feature_name)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 학습 레이블과 테스트 레이블 데이터을 DataFrame으로 로딩하고 컬럼명은 action으로 부여&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    y_train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;./human_activity/train/y_train.txt&amp;#39;&lt;/span&gt;,sep&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;\s+&amp;#39;&lt;/span&gt;,header&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;,names&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;action&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    y_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;./human_activity/test/y_test.txt&amp;#39;&lt;/span&gt;,sep&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;\s+&amp;#39;&lt;/span&gt;,header&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;,names&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;action&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 로드된 학습/테스트용 DataFrame을 모두 반환 &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; X_train, X_test, y_train, y_test&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.ensemble &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; GradientBoostingClassifier&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.metrics &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; accuracy_score&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; time&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; warnings&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;warnings&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;filterwarnings(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ignore&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 결정 트리에서 사용한 get_human_dataset( )을 이용해 학습/테스트용 DataFrame 반환&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train, X_test, y_train, y_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; get_human_dataset()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;## 학습 피처 데이터 정보 ##&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(X_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;info())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;## 학습 피처 데이터 정보 ##&#xA;&amp;lt;class &#39;pandas.core.frame.DataFrame&#39;&amp;gt;&#xA;RangeIndex: 7352 entries, 0 to 7351&#xA;Columns: 561 entries, tBodyAcc-mean()-X to angle(Z,gravityMean)&#xA;dtypes: float64(561)&#xA;memory usage: 31.5 MB&#xA;None&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;옵션-체크-구글-코랩-개발환경-확인&#34;&gt;(옵션 체크) 구글 코랩 개발환경 확인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단하게 구글 코랩 개발환경을 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;cat &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;proc&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;cpuinfo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;processor&#x9;: 0&#xA;vendor_id&#x9;: GenuineIntel&#xA;cpu family&#x9;: 6&#xA;model&#x9;&#x9;: 79&#xA;model name&#x9;: Intel(R) Xeon(R) CPU @ 2.20GHz&#xA;stepping&#x9;: 0&#xA;microcode&#x9;: 0x1&#xA;cpu MHz&#x9;&#x9;: 2200.000&#xA;cache size&#x9;: 56320 KB&#xA;physical id&#x9;: 0&#xA;siblings&#x9;: 2&#xA;core id&#x9;&#x9;: 0&#xA;cpu cores&#x9;: 1&#xA;apicid&#x9;&#x9;: 0&#xA;initial apicid&#x9;: 0&#xA;fpu&#x9;&#x9;: yes&#xA;fpu_exception&#x9;: yes&#xA;cpuid level&#x9;: 13&#xA;wp&#x9;&#x9;: yes&#xA;flags&#x9;&#x9;: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt arat md_clear arch_capabilities&#xA;bugs&#x9;&#x9;: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa&#xA;bogomips&#x9;: 4400.00&#xA;clflush size&#x9;: 64&#xA;cache_alignment&#x9;: 64&#xA;address sizes&#x9;: 46 bits physical, 48 bits virtual&#xA;power management:&#xA;&#xA;processor&#x9;: 1&#xA;vendor_id&#x9;: GenuineIntel&#xA;cpu family&#x9;: 6&#xA;model&#x9;&#x9;: 79&#xA;model name&#x9;: Intel(R) Xeon(R) CPU @ 2.20GHz&#xA;stepping&#x9;: 0&#xA;microcode&#x9;: 0x1&#xA;cpu MHz&#x9;&#x9;: 2200.000&#xA;cache size&#x9;: 56320 KB&#xA;physical id&#x9;: 0&#xA;siblings&#x9;: 2&#xA;core id&#x9;&#x9;: 0&#xA;cpu cores&#x9;: 1&#xA;apicid&#x9;&#x9;: 1&#xA;initial apicid&#x9;: 1&#xA;fpu&#x9;&#x9;: yes&#xA;fpu_exception&#x9;: yes&#xA;cpuid level&#x9;: 13&#xA;wp&#x9;&#x9;: yes&#xA;flags&#x9;&#x9;: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt arat md_clear arch_capabilities&#xA;bugs&#x9;&#x9;: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa&#xA;bogomips&#x9;: 4400.00&#xA;clflush size&#x9;: 64&#xA;cache_alignment&#x9;: 64&#xA;address sizes&#x9;: 46 bits physical, 48 bits virtual&#xA;power management:&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;gbm-모형-학습&#34;&gt;GBM 모형 학습&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;GBM 수행 시간 측정을 위해 시작 시간을 설정합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# GBM 수행 시간 측정을 위함. 시작 시간 설정.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;start_time &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gb_clf &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; GradientBoostingClassifier(n_estimators&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;, &lt;span style=&#34;color:#75715e&#34;&gt;# 기본값은 100이지만, 수업 시간을 고려하여 10으로 지정하였음&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                    validation_fraction&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.2&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                    n_iter_no_change&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;, tol&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.01&lt;/span&gt;, verbose &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                    random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gb_clf&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train , y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gb_pred &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; gb_clf&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(X_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gb_accuracy &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; accuracy_score(y_test, gb_pred)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;GBM 정확도: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{0:.4f}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(gb_accuracy))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;GBM 수행 시간: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{0:.1f}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; 초 &amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time() &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; start_time))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;      Iter       Train Loss   Remaining Time &#xA;         1        8274.1239           48.73s&#xA;         2        6858.4625           46.31s&#xA;         3        5818.7911           41.54s&#xA;         4        4981.6935           35.95s&#xA;         5        4331.9874           30.14s&#xA;         6        3790.2625           24.27s&#xA;         7        3336.1237           18.25s&#xA;         8        2960.1395           12.17s&#xA;         9        2626.5821            6.10s&#xA;        10        2341.0659            0.00s&#xA;GBM 정확도: 0.8907&#xA;GBM 수행 시간: 61.1 초 &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;하이퍼-파라미터-및-튜닝&#34;&gt;하이퍼 파라미터 및 튜닝&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;튜닝이란, 모형이 가지고 있는 여러 조건들을 변형 시키는 것&lt;/li&gt;&#xA;&lt;li&gt;대표적인 파라미터 소개&#xA;&lt;ul&gt;&#xA;&lt;li&gt;n_estimators: &lt;code&gt;weak learner&lt;/code&gt;의 개수 지정, 디폴트는 100개이며, 많이 설정할수록 좋은 성능 기대 가능, 그러나 시간도 오래 소요됨&lt;/li&gt;&#xA;&lt;li&gt;max_features: 최적의 분할을 위해 고려할 피처의 개수&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;int&lt;/code&gt; 형으로 지정 시, 대상 피처의 개수, &lt;code&gt;float&lt;/code&gt;형으로 지정 시, 대상 피처의 퍼센트&lt;/li&gt;&#xA;&lt;li&gt;만약 전체 피처가 16개라면 분할 위해 4개 참조&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;max_depth: 트리의 최대 깊이 규정&lt;/li&gt;&#xA;&lt;li&gt;min_samples_split: 자식 규칙 노드를 분할해 만들기 위한 최소한의 샘플 데이터 개수&lt;/li&gt;&#xA;&lt;li&gt;min_samples_leaf: 말단 노드(Leaf)가 되기 위한 최소한의 샘플 데이터 수&lt;/li&gt;&#xA;&lt;li&gt;loss: 경사 하강법에서 사용할 비용 함수 지정&lt;/li&gt;&#xA;&lt;li&gt;learning_rate: GBM이 학습 진행 시 마다의 학습률. &lt;code&gt;Weak Learner&lt;/code&gt;가 순차적으로&lt;/li&gt;&#xA;&lt;li&gt;subsample: &lt;code&gt;weak learner&lt;/code&gt;가 학습에 사용하는 데이터의 샘플링 비율, 기본값은 1이며, 이는 전체학습 데이터를 기반으로 학습한다는 의미.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;그리드-서치&#34;&gt;그리드 서치&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;GridSearchCV API를 활용하여 모형에 사용되는 하이퍼 파라미터를 순차적으로 입력하며서 편리하게 최적의 파라미터를 도출할 수 있는 방안 제공&lt;/li&gt;&#xA;&lt;li&gt;즉, 랜덤포레스트의 파라미터를 순차적으로 변경 및 조정하면서 모형을 학습시키는 방법&lt;/li&gt;&#xA;&lt;li&gt;이를 통해, 머신러닝 모형 개발자의 코드량을 줄여주는 매우 편리한 기법&#xA;&lt;ul&gt;&#xA;&lt;li&gt;estimator: 머신러닝 모형의 객체가 온다.&lt;/li&gt;&#xA;&lt;li&gt;param_grid: 딕셔너리 형태로 조정하며, &lt;code&gt;estimator&lt;/code&gt;의 튜닝을 위해 파라미터명과 사용될 여러 파라미터 값 지정, 이 부분은 각 머신러닝 모형의 &lt;code&gt;Manual&lt;/code&gt;을 참조한다.&lt;/li&gt;&#xA;&lt;li&gt;scoring: 예측 성능을 측정할 평가 방법 지정하지만, 대개 별도의 성능 평가 지표 함수 활용&lt;/li&gt;&#xA;&lt;li&gt;cv: 교차 검증을 위해 분할되는 학습/테스트 세트의 개수 지정&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이 때에는 시간이 다소 소요될 수 있다. (5-10분)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.model_selection &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; GridSearchCV&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;start_time &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;params &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;n_estimators&amp;#39;&lt;/span&gt;:[&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;], &lt;span style=&#34;color:#75715e&#34;&gt;# 원 코드 100, 500&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;learning_rate&amp;#39;&lt;/span&gt; : [ &lt;span style=&#34;color:#ae81ff&#34;&gt;0.05&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0.1&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;grid_cv &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; GridSearchCV(gb_clf , param_grid&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;params , cv&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt; ,verbose&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, n_jobs &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;grid_cv&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train , y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;최적 하이퍼 파라미터:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;, grid_cv&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;best_params_)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;최고 예측 정확도: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{0:.4f}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(grid_cv&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;best_score_))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;GBM 수행 시간: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{0:.1f}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; 초 &amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;time() &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; start_time))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Fitting 2 folds for each of 4 candidates, totalling 8 fits&#xA;&#xA;&#xA;[Parallel(n_jobs=-1)]: Using backend LokyBackend with 2 concurrent workers.&#xA;[Parallel(n_jobs=-1)]: Done   8 out of   8 | elapsed:  4.2min finished&#xA;&#xA;&#xA;      Iter       Train Loss   Remaining Time &#xA;         1        8274.1239            1.75m&#xA;         2        6858.4625            1.78m&#xA;         3        5818.7911            1.72m&#xA;         4        4981.6935            1.63m&#xA;         5        4331.9874            1.54m&#xA;         6        3790.2625            1.44m&#xA;         7        3336.1237            1.34m&#xA;         8        2960.1395            1.24m&#xA;         9        2626.5821            1.14m&#xA;        10        2341.0659            1.04m&#xA;        20         940.8021            0.00s&#xA;최적 하이퍼 파라미터:&#xA; {&#39;learning_rate&#39;: 0.1, &#39;n_estimators&#39;: 20}&#xA;최고 예측 정확도: 0.8921&#xA;GBM 수행 시간: 380.2 초 &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;드&lt;/p&gt;</description>
    </item>
    <item>
      <title>입문자를 위한 머신러닝 - 랜덤 포레스트</title>
      <link>https://dschloe.github.io/programming/2020/11/ch01_randomforest/</link>
      <pubDate>Fri, 27 Nov 2020 21:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/11/ch01_randomforest/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 포스트는 교재 &lt;code&gt;파이썬 머신러닝 완벽 가이드&lt;/code&gt; 코드를 제 수업을 드는 학생들이 보다 편하게 구글 코랩에서 사용할 수 있도록 만든 예제입니다.&lt;/li&gt;&#xA;&lt;li&gt;책 구매하세요!&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.yes24.com/Product/Goods/87044746?OzSrank=1&#34;&gt;http://www.yes24.com/Product/Goods/87044746?OzSrank=1&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;random-forest&#34;&gt;Random Forest&lt;/h2&gt;&#xA;&lt;p&gt;랜덤 포레스트의 개요&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;배깅의 대표적인 알고리즘&lt;/li&gt;&#xA;&lt;li&gt;랜덤 포레스트는 개별 트리가 학습하는 데이터 세트는 전체 데이터에서 일부가 중첩되게 샘플링 된 데이터 세트&lt;/li&gt;&#xA;&lt;li&gt;부트스트래핑 부할 방식 채택&lt;/li&gt;&#xA;&lt;li&gt;참고 강의 이론&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=Z97uDTsvojY&#34;&gt;https://www.youtube.com/watch?v=Z97uDTsvojY&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=J4Wdy0Wc_xQ&#34;&gt;https://www.youtube.com/watch?v=J4Wdy0Wc_xQ&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;wget https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;archive&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ics&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;uci&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;edu&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;ml&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;machine&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;learning&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;databases&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;00240&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;UCI&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;HAR&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;Dataset&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;zip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;unzip &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;UCI HAR Dataset.zip&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;mv UCI\ HAR\ Dataset human_activity&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;--2020-11-27 05:21:51--  https://archive.ics.uci.edu/ml/machine-learning-databases/00240/UCI%20HAR%20Dataset.zip&#xA;Resolving archive.ics.uci.edu (archive.ics.uci.edu)... 128.195.10.252&#xA;Connecting to archive.ics.uci.edu (archive.ics.uci.edu)|128.195.10.252|:443... connected.&#xA;HTTP request sent, awaiting response... 200 OK&#xA;Length: 60999314 (58M) [application/x-httpd-php]&#xA;Saving to: ‘UCI HAR Dataset.zip’&#xA;&#xA;UCI HAR Dataset.zip 100%[===================&amp;gt;]  58.17M  33.8MB/s    in 1.7s    &#xA;&#xA;2020-11-27 05:21:53 (33.8 MB/s) - ‘UCI HAR Dataset.zip’ saved [60999314/60999314]&#xA;&#xA;Archive:  UCI HAR Dataset.zip&#xA;   creating: UCI HAR Dataset/&#xA;  inflating: UCI HAR Dataset/.DS_Store  &#xA;   creating: __MACOSX/&#xA;   creating: __MACOSX/UCI HAR Dataset/&#xA;  inflating: __MACOSX/UCI HAR Dataset/._.DS_Store  &#xA;  inflating: UCI HAR Dataset/activity_labels.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/._activity_labels.txt  &#xA;  inflating: UCI HAR Dataset/features.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/._features.txt  &#xA;  inflating: UCI HAR Dataset/features_info.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/._features_info.txt  &#xA;  inflating: UCI HAR Dataset/README.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/._README.txt  &#xA;   creating: UCI HAR Dataset/test/&#xA;   creating: UCI HAR Dataset/test/Inertial Signals/&#xA;  inflating: UCI HAR Dataset/test/Inertial Signals/body_acc_x_test.txt  &#xA;   creating: __MACOSX/UCI HAR Dataset/test/&#xA;   creating: __MACOSX/UCI HAR Dataset/test/Inertial Signals/&#xA;  inflating: __MACOSX/UCI HAR Dataset/test/Inertial Signals/._body_acc_x_test.txt  &#xA;  inflating: UCI HAR Dataset/test/Inertial Signals/body_acc_y_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/Inertial Signals/._body_acc_y_test.txt  &#xA;  inflating: UCI HAR Dataset/test/Inertial Signals/body_acc_z_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/Inertial Signals/._body_acc_z_test.txt  &#xA;  inflating: UCI HAR Dataset/test/Inertial Signals/body_gyro_x_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/Inertial Signals/._body_gyro_x_test.txt  &#xA;  inflating: UCI HAR Dataset/test/Inertial Signals/body_gyro_y_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/Inertial Signals/._body_gyro_y_test.txt  &#xA;  inflating: UCI HAR Dataset/test/Inertial Signals/body_gyro_z_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/Inertial Signals/._body_gyro_z_test.txt  &#xA;  inflating: UCI HAR Dataset/test/Inertial Signals/total_acc_x_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/Inertial Signals/._total_acc_x_test.txt  &#xA;  inflating: UCI HAR Dataset/test/Inertial Signals/total_acc_y_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/Inertial Signals/._total_acc_y_test.txt  &#xA;  inflating: UCI HAR Dataset/test/Inertial Signals/total_acc_z_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/Inertial Signals/._total_acc_z_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/._Inertial Signals  &#xA;  inflating: UCI HAR Dataset/test/subject_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/._subject_test.txt  &#xA;  inflating: UCI HAR Dataset/test/X_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/._X_test.txt  &#xA;  inflating: UCI HAR Dataset/test/y_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/test/._y_test.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/._test  &#xA;   creating: UCI HAR Dataset/train/&#xA;   creating: UCI HAR Dataset/train/Inertial Signals/&#xA;  inflating: UCI HAR Dataset/train/Inertial Signals/body_acc_x_train.txt  &#xA;   creating: __MACOSX/UCI HAR Dataset/train/&#xA;   creating: __MACOSX/UCI HAR Dataset/train/Inertial Signals/&#xA;  inflating: __MACOSX/UCI HAR Dataset/train/Inertial Signals/._body_acc_x_train.txt  &#xA;  inflating: UCI HAR Dataset/train/Inertial Signals/body_acc_y_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/Inertial Signals/._body_acc_y_train.txt  &#xA;  inflating: UCI HAR Dataset/train/Inertial Signals/body_acc_z_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/Inertial Signals/._body_acc_z_train.txt  &#xA;  inflating: UCI HAR Dataset/train/Inertial Signals/body_gyro_x_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/Inertial Signals/._body_gyro_x_train.txt  &#xA;  inflating: UCI HAR Dataset/train/Inertial Signals/body_gyro_y_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/Inertial Signals/._body_gyro_y_train.txt  &#xA;  inflating: UCI HAR Dataset/train/Inertial Signals/body_gyro_z_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/Inertial Signals/._body_gyro_z_train.txt  &#xA;  inflating: UCI HAR Dataset/train/Inertial Signals/total_acc_x_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/Inertial Signals/._total_acc_x_train.txt  &#xA;  inflating: UCI HAR Dataset/train/Inertial Signals/total_acc_y_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/Inertial Signals/._total_acc_y_train.txt  &#xA;  inflating: UCI HAR Dataset/train/Inertial Signals/total_acc_z_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/Inertial Signals/._total_acc_z_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/._Inertial Signals  &#xA;  inflating: UCI HAR Dataset/train/subject_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/._subject_train.txt  &#xA;  inflating: UCI HAR Dataset/train/X_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/._X_train.txt  &#xA;  inflating: UCI HAR Dataset/train/y_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/train/._y_train.txt  &#xA;  inflating: __MACOSX/UCI HAR Dataset/._train  &#xA;  inflating: __MACOSX/._UCI HAR Dataset  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;get_new_feature_name_df&lt;/span&gt;(old_feature_name_df):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    feature_dup_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame(data&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;old_feature_name_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;groupby(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;column_name&amp;#39;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;cumcount(),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                  columns&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;dup_cnt&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    feature_dup_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; feature_dup_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reset_index()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    new_feature_name_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;merge(old_feature_name_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reset_index(), feature_dup_df, how&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;outer&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    new_feature_name_df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;column_name&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; new_feature_name_df[[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;column_name&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;dup_cnt&amp;#39;&lt;/span&gt;]]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;apply(&lt;span style=&#34;color:#66d9ef&#34;&gt;lambda&lt;/span&gt; x : x[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;str(x[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                                                                         &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; x[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; x[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;] ,  axis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    new_feature_name_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; new_feature_name_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop([&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;index&amp;#39;&lt;/span&gt;], axis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; new_feature_name_df&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;get_human_dataset&lt;/span&gt;( ):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 각 데이터 파일들은 공백으로 분리되어 있으므로 read_csv에서 공백 문자를 sep으로 할당.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    feature_name_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;./human_activity/features.txt&amp;#39;&lt;/span&gt;,sep&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;\s+&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        header&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;,names&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;column_index&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;column_name&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 중복된 피처명을 수정하는 get_new_feature_name_df()를 이용, 신규 피처명 DataFrame생성. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    new_feature_name_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; get_new_feature_name_df(feature_name_df)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# DataFrame에 피처명을 컬럼으로 부여하기 위해 리스트 객체로 다시 변환&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    feature_name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; new_feature_name_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;iloc[:, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;values&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;tolist()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 학습 피처 데이터 셋과 테스트 피처 데이터을 DataFrame으로 로딩. 컬럼명은 feature_name 적용&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    X_train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;./human_activity/train/X_train.txt&amp;#39;&lt;/span&gt;,sep&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;\s+&amp;#39;&lt;/span&gt;, names&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;feature_name )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    X_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;./human_activity/test/X_test.txt&amp;#39;&lt;/span&gt;,sep&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;\s+&amp;#39;&lt;/span&gt;, names&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;feature_name)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 학습 레이블과 테스트 레이블 데이터을 DataFrame으로 로딩하고 컬럼명은 action으로 부여&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    y_train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;./human_activity/train/y_train.txt&amp;#39;&lt;/span&gt;,sep&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;\s+&amp;#39;&lt;/span&gt;,header&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;,names&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;action&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    y_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;./human_activity/test/y_test.txt&amp;#39;&lt;/span&gt;,sep&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;\s+&amp;#39;&lt;/span&gt;,header&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;,names&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;action&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 로드된 학습/테스트용 DataFrame을 모두 반환 &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; X_train, X_test, y_train, y_test&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.ensemble &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; RandomForestClassifier&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.metrics &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; accuracy_score&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; warnings&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;warnings&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;filterwarnings(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ignore&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 결정 트리에서 사용한 get_human_dataset( )을 이용해 학습/테스트용 DataFrame 반환&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train, X_test, y_train, y_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; get_human_dataset()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;## 학습 피처 데이터 정보 ##&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(X_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;info())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;## 학습 피처 데이터 정보 ##&#xA;&amp;lt;class &#39;pandas.core.frame.DataFrame&#39;&amp;gt;&#xA;RangeIndex: 7352 entries, 0 to 7351&#xA;Columns: 561 entries, tBodyAcc-mean()-X to angle(Z,gravityMean)&#xA;dtypes: float64(561)&#xA;memory usage: 31.5 MB&#xA;None&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단한 랜덤포레스트 모형을 만들어 학습 시킨다.&lt;/li&gt;&#xA;&lt;li&gt;매우 간단한 모형이기 때문에 학습에 시간이 많이 걸리지는 않는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 랜덤 포레스트 학습 및 별도의 테스트 셋으로 예측 성능 평가&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rf_clf &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; RandomForestClassifier(random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rf_clf&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train , y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pred &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; rf_clf&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(X_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;accuracy &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; accuracy_score(y_test , pred)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;랜덤 포레스트 정확도: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{0:.4f}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(accuracy))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;랜덤 포레스트 정확도: 0.9253&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;하이퍼-파라미터-및-튜닝&#34;&gt;하이퍼 파라미터 및 튜닝&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;튜닝이란, 모형이 가지고 있는 여러 조건들을 변형 시키는 것&lt;/li&gt;&#xA;&lt;li&gt;대표적인 파라미터 소개&#xA;&lt;ul&gt;&#xA;&lt;li&gt;n_estimators: 결정 트리의 개수 지정, 디폴트는 10개이며, 많이 설정할수록 좋은 성능 기대 가능, 그러나 시간도 오래 소요됨&lt;/li&gt;&#xA;&lt;li&gt;max_features: 최적의 분할을 위해 고려할 피처의 개수&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;int&lt;/code&gt; 형으로 지정 시, 대상 피처의 개수, &lt;code&gt;float&lt;/code&gt;형으로 지정 시, 대상 피처의 퍼센트&lt;/li&gt;&#xA;&lt;li&gt;만약 전체 피처가 16개라면 분할 위해 4개 참조&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;max_depth: 트리의 최대 깊이 규정&lt;/li&gt;&#xA;&lt;li&gt;min_samples_split: 자식 규칙 노드를 분할해 만들기 위한 최소한의 샘플 데이터 개수&lt;/li&gt;&#xA;&lt;li&gt;min_samples_leaf: 말단 노드(Leaf)가 되기 위한 최소한의 샘플 데이터 수&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;그리드-서치&#34;&gt;그리드 서치&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;GridSearchCV API를 활용하여 모형에 사용되는 하이퍼 파라미터를 순차적으로 입력하며서 편리하게 최적의 파라미터를 도출할 수 있는 방안 제공&lt;/li&gt;&#xA;&lt;li&gt;즉, 랜덤포레스트의 파라미터를 순차적으로 변경 및 조정하면서 모형을 학습시키는 방법&lt;/li&gt;&#xA;&lt;li&gt;이를 통해, 머신러닝 모형 개발자의 코드량을 줄여주는 매우 편리한 기법&#xA;&lt;ul&gt;&#xA;&lt;li&gt;estimator: 머신러닝 모형의 객체가 온다.&lt;/li&gt;&#xA;&lt;li&gt;param_grid: 딕셔너리 형태로 조정하며, &lt;code&gt;estimator&lt;/code&gt;의 튜닝을 위해 파라미터명과 사용될 여러 파라미터 값 지정, 이 부분은 각 머신러닝 모형의 &lt;code&gt;Manual&lt;/code&gt;을 참조한다.&lt;/li&gt;&#xA;&lt;li&gt;scoring: 예측 성능을 측정할 평가 방법 지정하지만, 대개 별도의 성능 평가 지표 함수 활용&lt;/li&gt;&#xA;&lt;li&gt;cv: 교차 검증을 위해 분할되는 학습/테스트 세트의 개수 지정&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이 때에는 시간이 다소 소요될 수 있다. (5-10분)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.model_selection &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; GridSearchCV&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;params &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;n_estimators&amp;#39;&lt;/span&gt;:[&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;max_depth&amp;#39;&lt;/span&gt; : [&lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt;], &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;min_samples_leaf&amp;#39;&lt;/span&gt; : [&lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;18&lt;/span&gt; ],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;min_samples_split&amp;#39;&lt;/span&gt; : [&lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;16&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# RandomForestClassifier 객체 생성 후 GridSearchCV 수행&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rf_clf &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; RandomForestClassifier(random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, n_jobs&lt;span style=&#34;color:#f92672&#34;&gt;=-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;grid_cv &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; GridSearchCV(rf_clf , param_grid&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;params , cv&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, n_jobs&lt;span style=&#34;color:#f92672&#34;&gt;=-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; ) &lt;span style=&#34;color:#75715e&#34;&gt;# n_job=-1 현재 모든 CPU를 활용한다는 뜻. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;grid_cv&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train , y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;최적 하이퍼 파라미터:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;, grid_cv&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;best_params_)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;최고 예측 정확도: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{0:.4f}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(grid_cv&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;best_score_))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;최적 하이퍼 파라미터:&#xA; {&#39;max_depth&#39;: 10, &#39;min_samples_leaf&#39;: 8, &#39;min_samples_split&#39;: 8, &#39;n_estimators&#39;: 100}&#xA;최고 예측 정확도: 0.9180&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;옵션-체크-구글-코랩-개발환경-확인&#34;&gt;(옵션 체크) 구글 코랩 개발환경 확인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단하게 구글 코랩 개발환경을 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;cat &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;proc&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;cpuinfo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;processor&#x9;: 0&#xA;vendor_id&#x9;: GenuineIntel&#xA;cpu family&#x9;: 6&#xA;model&#x9;&#x9;: 63&#xA;model name&#x9;: Intel(R) Xeon(R) CPU @ 2.30GHz&#xA;stepping&#x9;: 0&#xA;microcode&#x9;: 0x1&#xA;cpu MHz&#x9;&#x9;: 2300.000&#xA;cache size&#x9;: 46080 KB&#xA;physical id&#x9;: 0&#xA;siblings&#x9;: 2&#xA;core id&#x9;&#x9;: 0&#xA;cpu cores&#x9;: 1&#xA;apicid&#x9;&#x9;: 0&#xA;initial apicid&#x9;: 0&#xA;fpu&#x9;&#x9;: yes&#xA;fpu_exception&#x9;: yes&#xA;cpuid level&#x9;: 13&#xA;wp&#x9;&#x9;: yes&#xA;flags&#x9;&#x9;: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat md_clear arch_capabilities&#xA;bugs&#x9;&#x9;: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs&#xA;bogomips&#x9;: 4600.00&#xA;clflush size&#x9;: 64&#xA;cache_alignment&#x9;: 64&#xA;address sizes&#x9;: 46 bits physical, 48 bits virtual&#xA;power management:&#xA;&#xA;processor&#x9;: 1&#xA;vendor_id&#x9;: GenuineIntel&#xA;cpu family&#x9;: 6&#xA;model&#x9;&#x9;: 63&#xA;model name&#x9;: Intel(R) Xeon(R) CPU @ 2.30GHz&#xA;stepping&#x9;: 0&#xA;microcode&#x9;: 0x1&#xA;cpu MHz&#x9;&#x9;: 2300.000&#xA;cache size&#x9;: 46080 KB&#xA;physical id&#x9;: 0&#xA;siblings&#x9;: 2&#xA;core id&#x9;&#x9;: 0&#xA;cpu cores&#x9;: 1&#xA;apicid&#x9;&#x9;: 1&#xA;initial apicid&#x9;: 1&#xA;fpu&#x9;&#x9;: yes&#xA;fpu_exception&#x9;: yes&#xA;cpuid level&#x9;: 13&#xA;wp&#x9;&#x9;: yes&#xA;flags&#x9;&#x9;: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat md_clear arch_capabilities&#xA;bugs&#x9;&#x9;: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs&#xA;bogomips&#x9;: 4600.00&#xA;clflush size&#x9;: 64&#xA;cache_alignment&#x9;: 64&#xA;address sizes&#x9;: 46 bits physical, 48 bits virtual&#xA;power management:&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;모형의-개수-심기&#34;&gt;모형의 개수 심기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;최적의 파라미터를 활용하여 &lt;code&gt;n_estimators&lt;/code&gt;의 개수를 100개에서 300개로 늘려봅니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rf_clf1 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; RandomForestClassifier(n_estimators&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;300&lt;/span&gt;, max_depth&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;, min_samples_leaf&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;, \&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                 min_samples_split&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;, random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rf_clf1&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train , y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pred &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; rf_clf1&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(X_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;예측 정확도: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{0:.4f}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(accuracy_score(y_test , pred)))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;예측 정확도: 0.9165&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;matplotlib inline&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ftr_importances_values &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; rf_clf1&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;feature_importances_&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ftr_importances &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Series(ftr_importances_values,index&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;X_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns  )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ftr_top20 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ftr_importances&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sort_values(ascending&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;)[:&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;figure(figsize&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;title(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Feature importances Top 20&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;barplot(x&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;ftr_top20 , y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ftr_top20&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;index)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/11/ch01_randomForest/output_13_0.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>텍스트 마이닝 - 희소행렬</title>
      <link>https://dschloe.github.io/programming/2020/11/ch02_bag_of_words_coo_csr/</link>
      <pubDate>Wed, 25 Nov 2020 10:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/11/ch02_bag_of_words_coo_csr/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;해당 포스트는 취업 준비반 대상 강의 교재로 &lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-%EC%99%84%EB%B2%BD%EA%B0%80%EC%9D%B4%EB%93%9C&#34;&gt;파이썬 머신러닝 완벽가이드&lt;/a&gt;를 축약한 내용입니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;매우 좋은 책이니 가급적 구매하시기를 바랍니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;피처 벡터화에 있어서의 희소행렬에 대해 배운다.&lt;/li&gt;&#xA;&lt;li&gt;BOW 형태를 가진 언어 모델의 피처 벡터화는 대부분 희소 행렬이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;희소행렬&#34;&gt;희소행렬&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;희소 행렬은 너무 많은 불필요한 0 값이 메모리 공간에 할당되어 메모리 공간을 많이 차지하는데 있다.&lt;/li&gt;&#xA;&lt;li&gt;다음 그림을 살펴보자.&#xA;&lt;img src=&#34;https://miro.medium.com/max/700/1*CpZ9fxPY5iSEzgdyS021_Q.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;li&gt;이러한 희소 행렬을 물리적으로 적은 메모리 공간을 차지할 수 있도록 변환해야 하는데, 이 때, COO와 CSR 형식이 존재한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-희소-행렬---coo&#34;&gt;(1) 희소 행렬 - COO&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;COO(Coordinate: 좌표) 형식은 0이 아닌 데이터만 별도의 데이터 배열(Array)에 저장하고, 그 데이터가 가리키는 행과 열의 위치를 별도의 배열로 저장&lt;/li&gt;&#xA;&lt;li&gt;희소행렬 변환 위해 &lt;code&gt;Scipy&lt;/code&gt;를 활용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dense &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array([[&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;], [&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dense&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;array([[3, 0, 1],&#xA;       [0, 2, 0]])&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Scipy의 &lt;code&gt;coo_matrix&lt;/code&gt; 클래스를 이용해 &lt;code&gt;COO&lt;/code&gt;형식의 희소 행렬로 변환한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; scipy &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; sparse&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 0이 아닌 데이터 추출&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array([&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 행 위치와 열 위치를 각각 배열로 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;row_pos &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array([&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;col_pos &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array([&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# sparse 패키지의 coo_matrix를 이용해 COO 형식으로 희소 행렬 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sparse_coo &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sparse&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;coo_matrix((data, (row_pos, col_pos)))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sparse_coo&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;toarray()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;array([[3, 0, 1],&#xA;       [0, 2, 0]])&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다시 원래의 데이터 행렬로 추출됨을 알 수 있음.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-희소-행렬---csr-형식&#34;&gt;(2) 희소 행렬 - CSR 형식&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;CSR(Compressed Sparse Row)&lt;/code&gt; 형식은 &lt;code&gt;COO&lt;/code&gt; 형식이 행과 열의 위치를 나타내기 위해서 반복적인 위치 데이터를 사용해야 하는 문제점을 해결한 방식&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; numpy &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; array&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; scipy.sparse &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; csr_matrix&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 매트릭스&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;A &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; array([[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;], [&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;], [&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(A)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# CSR method&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;S &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; csr_matrix(A)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(S)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# reconstruct dense matrix&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;B &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; S&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;todense()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(B)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[[1 0 0 1 0 0]&#xA; [0 0 2 0 0 1]&#xA; [0 0 0 2 0 0]]&#xA;  (0, 0)&#x9;1&#xA;  (0, 3)&#x9;1&#xA;  (1, 2)&#x9;2&#xA;  (1, 5)&#x9;1&#xA;  (2, 3)&#x9;2&#xA;[[1 0 0 1 0 0]&#xA; [0 0 2 0 0 1]&#xA; [0 0 0 2 0 0]]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;COO&lt;/code&gt;와 &lt;code&gt;CSR&lt;/code&gt;이 어떻게 희소 행렬의 메모리를 줄일 수 있는지 예제를 통해서 살펴보았다.&lt;/li&gt;&#xA;&lt;li&gt;간단하게 정리를 하면 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; numpy &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; array&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; scipy &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; sparse&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dense &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; array([[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;], [&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;], [&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;coo &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sparse&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;coo_matrix(dense)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(coo)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;  (0, 0)&#x9;1&#xA;  (0, 3)&#x9;1&#xA;  (1, 2)&#x9;2&#xA;  (1, 5)&#x9;1&#xA;  (2, 3)&#x9;2&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;csr &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sparse&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;csr_matrix(dense)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(csr)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;  (0, 0)&#x9;1&#xA;  (0, 3)&#x9;1&#xA;  (1, 2)&#x9;2&#xA;  (1, 5)&#x9;1&#xA;  (2, 3)&#x9;2&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;옵션&#34;&gt;옵션&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사이킷런의 &lt;code&gt;CountVectorizer&lt;/code&gt;나 &lt;code&gt;TfidfVectorizer&lt;/code&gt; 클래스로 변환된 피처 벡터화 행렬은 모두 &lt;code&gt;Scipy&lt;/code&gt;의 &lt;code&gt;CSR&lt;/code&gt;형태의 희소 행렬이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;lsquo;This implementation produces a sparse representation of the counts using scipy.sparse.csr_matrix.&amp;rsquo; from &lt;a href=&#34;https://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.CountVectorizer.html&#34;&gt;https://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.CountVectorizer.html&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>텍스트 마이닝 - Bag of Words</title>
      <link>https://dschloe.github.io/programming/2020/11/ch02_bag_of_words/</link>
      <pubDate>Sun, 22 Nov 2020 14:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/11/ch02_bag_of_words/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;해당 포스트는 취업 준비반 대상 강의 교재로 &lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-%EC%99%84%EB%B2%BD%EA%B0%80%EC%9D%B4%EB%93%9C&#34;&gt;파이썬 머신러닝 완벽가이드&lt;/a&gt;를 축약한 내용입니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;매우 좋은 책이니 가급적 구매하시기를 바랍니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;문서가 가지는 모든 단어(Words)를 문맥이나 순서를 무시하고 일괄적으로 단어에 대해 빈도 값을 부여하여 피처 값을 추출하는 모델을 말한다.&lt;/li&gt;&#xA;&lt;li&gt;아래와 같은 세 개의 문장이 있다고 가정해본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Doc 1: I love dogs.&lt;/li&gt;&#xA;&lt;li&gt;Doc 2: I hate dogs and knitting.&lt;/li&gt;&#xA;&lt;li&gt;Doc 3: Knitting is my hobby and passion.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;위 문장을 각각의 행렬로 표현하면 아래와 같다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/11/ch02_bag_of_words/ch02_bow.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;BOW&lt;/code&gt; 모델의 장점은 쉽고 빠른 구축에 있기 때문에, 활용도는 높은 편이지만, BOW 기반의 NLP 연구는 잘 되지 않는다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;문맥 의미 부족&lt;/li&gt;&#xA;&lt;li&gt;희소 행렬 문제, 위 그림에서 공백은 0을 의미하며, 이는 문장이 많으면 많을 수록 0의 값도 계속 늘어나는데, 이를 해결하기 위해 COO(Coordinate) 또는 CSR(Compressed Sparse Row)형식의 기법을 활용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-bow-피처-벡터화&#34;&gt;II. BOW 피처 벡터화&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;피처 벡터화는 간단하게 말하면 문서 내 텍스트를 단어의 횟수나 정규화된 빈도 값으로 데이터 세트 모델로 변경하는 것을 말한다.&lt;/li&gt;&#xA;&lt;li&gt;보통 문서를 M이라고 하고, 단어를 N이라고 한다면, 행렬은 전체 문서의 개수 (M) X 전체 단어의 개수(N)으로 구성한다.&lt;/li&gt;&#xA;&lt;li&gt;일반적으로 BOW의 피처 벡터화는 두 가지 방식이 존재한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;카운트 기반의 벡터화&lt;/li&gt;&#xA;&lt;li&gt;TF-IDF(Term Frequency - Inverse Document Prequency) 기반의 벡터화&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-카운트-기반의-벡터화&#34;&gt;(1) 카운트 기반의 벡터화&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;단어 피처에 값을 부여하는 경우를 말한다. 간단한 예시를 활용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; collections &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Counter&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; nltk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; nltk &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; word_tokenize&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nltk&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;download(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;punkt&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 텍스트&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;text &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;Yesterday I went fishing. I don&amp;#39;t fish that often, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;so I didn&amp;#39;t catch any fish. I was told I&amp;#39;d enjoy myself, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;but it didn&amp;#39;t really seem that fun.&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 토큰화&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tokens &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; word_tokenize(text)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 모든 단어를 소문자화&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lower_tokens &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [t&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;lower() &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; t &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; tokens]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Counter화&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bow_simple &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Counter(lower_tokens)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 상위 10개의 단어 추출&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(bow_simple&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;most_common(&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[nltk_data] Downloading package punkt to /root/nltk_data...&#xA;[nltk_data]   Unzipping tokenizers/punkt.zip.&#xA;[(&#39;i&#39;, 5), (&#39;.&#39;, 3), (&amp;quot;n&#39;t&amp;quot;, 3), (&#39;fish&#39;, 2), (&#39;that&#39;, 2), (&#39;,&#39;, 2), (&#39;did&#39;, 2), (&#39;yesterday&#39;, 1), (&#39;went&#39;, 1), (&#39;fishing&#39;, 1)]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;단어 피처에 값을 부여할 때 각 문서에서 해당 언어가 나타나는 횟수, 즉 &lt;code&gt;Count&lt;/code&gt;를 부여하는 경우를 카운트 벡터화라고 한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>(Ref) Tools to Design or Visualize Architecture of Neural Network</title>
      <link>https://dschloe.github.io/programming/2020/11/tools_design_for_neural_network/</link>
      <pubDate>Fri, 20 Nov 2020 14:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/11/tools_design_for_neural_network/</guid>
      <description>&lt;h2 id=&#34;소개&#34;&gt;소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;항상 좋은 글을 올려주시는 존경하는 &lt;code&gt;Pega&lt;/code&gt;님의 소개로 올려드립니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Pega&lt;/code&gt;님 블로그: &lt;a href=&#34;https://jehyunlee.github.io/&#34;&gt;https://jehyunlee.github.io/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tools-to-design-or-visualize-architecture-of-neural-network&#34;&gt;Tools to Design or Visualize Architecture of Neural Network&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/gwding/draw_convnet&#34;&gt;&lt;strong&gt;draw_convnet&lt;/strong&gt;&lt;/a&gt; : Python script for illustrating Convolutional Neural Network (ConvNet)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/gwding/draw_convnet/master/convnet_fig.png&#34; alt=&#34;img&#34;&gt;&lt;/p&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://alexlenail.me/NN-SVG/LeNet.html&#34;&gt;&lt;strong&gt;NNSVG&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://i.stack.imgur.com/Q0xOe.png&#34; alt=&#34;AlexNet style&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://i.stack.imgur.com/K9lmg.png&#34; alt=&#34;enter image description here&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://i.stack.imgur.com/DlJ8J.png&#34; alt=&#34;enter image description here&#34;&gt;&lt;/p&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://github.com/HarisIqbal88/PlotNeuralNet&#34;&gt;PlotNeuralNet&lt;/a&gt;&lt;/strong&gt;  : Latex code for drawing neural networks for reports and presentation. Have a look into examples to see how they are made. Additionally, lets consolidate any improvements that you make and fix any bugs to help more people with this code.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://user-images.githubusercontent.com/17570785/50308846-c2231880-049c-11e9-8763-3daa1024de78.png&#34; alt=&#34;img&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>텍스트 마이닝 - 텍스트 전처리</title>
      <link>https://dschloe.github.io/programming/2020/11/ch01_text_mining/</link>
      <pubDate>Wed, 18 Nov 2020 14:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/11/ch01_text_mining/</guid>
      <description>&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;NLP(Natural Language Processing): 기계가 인간의 언어를 이해하고 해석하는 데 중점&#xA;&lt;ul&gt;&#xA;&lt;li&gt;활용예제: 기계 번역, 챗봇, 질의응답 시스템 (딥러닝)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Text Analysis: 비정형 텍스트에서 의미 있는 정보를 추출하는 것에 중점&#xA;&lt;ul&gt;&#xA;&lt;li&gt;활용예제: 비즈니스 인텔리전스, 예측분석 (머신러닝)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;텍스트 분석의 예&#xA;&lt;ul&gt;&#xA;&lt;li&gt;텍스트 분류: 문서가 특정 분류 또는 카테고리에 속하는 것을 예측하는 기법&lt;/li&gt;&#xA;&lt;li&gt;감성 분석: 텍스트에서 나타나는 감정/판단/믿음/의견 등의 주관적인 요소 분석하는 기법&lt;/li&gt;&#xA;&lt;li&gt;텍스트 요약: 텍스트 내에서의 중요한 주제나 중심 사상 추출(Topic Modeling)&lt;/li&gt;&#xA;&lt;li&gt;텍스트 군집화(Clustering)와 유사도 측정: 비슷한 유형의 문서에 대해 군집화를 수행하는 기법. 텍스트 분류를 비지도학습으로 수행하는 방법&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-텍스트-분석-개요&#34;&gt;II. 텍스트 분석 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;텍스트를 의미있는 숫자로 표현하는 것이 핵심&lt;/li&gt;&#xA;&lt;li&gt;영어 키워드: Feature Vectorization 또는 Feature Extraction.&lt;/li&gt;&#xA;&lt;li&gt;텍스트를 Feature Vectorization에는 BOW(Bag of Words)와 Word2Vec 두가지 방법이 존재.&lt;/li&gt;&#xA;&lt;li&gt;머신러닝을 수행하기 전에 반드시 선행되어야 함.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-텍스트-분석-수행-방법&#34;&gt;(1) 텍스트 분석 수행 방법&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1단계: 데이터 전처리 수행. 클렌징, 대/소문자 변경, 특수문자 삭제. 단어 등의 토큰화 작업, 의미 없는 단어(Stop word) 제거 작업, 어근 추출(Stemming/Lemmdatization)등의 텍스트 정규화 작업 필요&lt;/li&gt;&#xA;&lt;li&gt;2단계: 피처 벡터화/추출: 가공된 텍스트에서 피처 추출 및 벡터 값 할당.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Bag of Words: Count 기반 or TF-IDF 기반 벡터화&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;3단계: ML 모델 수립 및 학습/예측/평가를 수행.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-파이썬-기반의-nlp-텍스트-분석-패키지&#34;&gt;(2) 파이썬 기반의 NLP, 텍스트 분석 패키지&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;NTLK&lt;/code&gt;: 파이썬의 가장 대표적인 NLP 패키지. 방대한 데이터 세트와 서브 모듈 보유. 그러나, 속도가 느리다는 단점 존재&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Docs: &lt;a href=&#34;https://www.nltk.org/&#34;&gt;https://www.nltk.org/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&amp;lsquo;Gensim&amp;rsquo;: 토픽 모델링 분야에서 주로 사용되는 패키지. Word2Vec 구현도 가능&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Docs: &lt;a href=&#34;https://radimrehurek.com/gensim/&#34;&gt;https://radimrehurek.com/gensim/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;SpaCY&lt;/code&gt;: 최근 가장 주목을 받는 &lt;code&gt;NLP&lt;/code&gt; 패키지.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Docs: &lt;a href=&#34;https://spacy.io/&#34;&gt;https://spacy.io/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-텍스트-전처리---정규화&#34;&gt;III. 텍스트 전처리 - 정규화&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;텍스트 자체를 바로 피처로 만들 수는 없다. 텍스트를 가공하기 위한 클렌징, 토큰화, 어근화 등이 필요.&lt;/li&gt;&#xA;&lt;li&gt;정규화 작업의 종류는 다음과 같음&#xA;&lt;ul&gt;&#xA;&lt;li&gt;클렌징: 불필요한 문자,기호 등을 사전제거 (정규표현식 주로 활용)&lt;/li&gt;&#xA;&lt;li&gt;토큰화&lt;/li&gt;&#xA;&lt;li&gt;필터링/스톱 워드 제거/철자 수정&lt;/li&gt;&#xA;&lt;li&gt;Stemming&lt;/li&gt;&#xA;&lt;li&gt;Lemmatization&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-문장-토큰화&#34;&gt;(1) 문장 토큰화&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;문장 토큰화(sentence tokenization)는 문장의 마침표, 개행문자(\n) 등 문장의 마지막을 뜻하는 기호에 따라 분리하는 것이 일반적임&lt;/li&gt;&#xA;&lt;li&gt;아래 샘플코드는 문장 토큰화에 관한 것임&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;punkt&lt;/code&gt;는 마침표, 개행 문자 등의 데이터 세트를 다운로드 받는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; nltk &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; sent_tokenize&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; nltk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nltk&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;download(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;punkt&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[nltk_data] Downloading package punkt to /root/nltk_data...&#xA;[nltk_data]   Unzipping tokenizers/punkt.zip.&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;True&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;text_sample &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;The Matrix is everywhere its all around us, here even in this wroom. &lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;               You can see it out your window or on your television. &lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;               You feel it when you go to work, or go to church or pay your taxes.&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sentences &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sent_tokenize(text &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; text_sample)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(type(sentences), len(sentences))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(sentences)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;list&#39;&amp;gt; 3&#xA;[&#39;The Matrix is everywhere its all around us, here even in this wroom.&#39;, &#39;You can see it out your window or on your television.&#39;, &#39;You feel it when you go to work, or go to church or pay your taxes.&#39;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 코드에서 확인할 수 있는 것은 &lt;code&gt;sent_tokenize&lt;/code&gt;가 반환하는 것은 각각의 문장으로 구성된 list 객체이며, 이 객체는 3개의 문장으로 된 문자열을 가지고 있음을 알 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-단어-토큰화&#34;&gt;(2) 단어 토큰화&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;단어 토큰화(Word Tokenization)는 문장을 단어로 토큰화하는 것을 말하며, 기본적으로 공백, 콤마(,), 마침표(.), 개행문자 등으로 단어를 분리하지만, 정규 표현식을 이용해 다양한 유형으로 토큰화를 수행할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;단어의 순서가 중요하지 않은 경우에는 Bag of Word를 사용해도 된다.&lt;/li&gt;&#xA;&lt;li&gt;이제 코드를 구현해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; nltk &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; word_tokenize&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sentence &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;The Matrix is everywhere its all around us, here even in this room.&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;words &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; word_tokenize(sentence)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(type(words), len(words))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(words)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;list&#39;&amp;gt; 15&#xA;[&#39;The&#39;, &#39;Matrix&#39;, &#39;is&#39;, &#39;everywhere&#39;, &#39;its&#39;, &#39;all&#39;, &#39;around&#39;, &#39;us&#39;, &#39;,&#39;, &#39;here&#39;, &#39;even&#39;, &#39;in&#39;, &#39;this&#39;, &#39;room&#39;, &#39;.&#39;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 문장 및 단어 토큰화를 함수로 구현해보도록 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선, 문장별로 토큰을 분리한 후&lt;/li&gt;&#xA;&lt;li&gt;분리된 문장별 단어를 토큰화로 진행하는 코드를 구현한다 (for loop 활용)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; nltk &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; word_tokenize, sent_tokenize&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 여러 개의 문장으로 된 입력 데이터를 문장별로 단어 토큰화하게 만드는 함수&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;tokenize_text&lt;/span&gt;(text):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# 문장별로 분리 토큰&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  sentences &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sent_tokenize(text)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# 분리된 문장별 단어 토큰화&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  word_tokens &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [word_tokenize(sentence) &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; sentence &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; sentences]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; word_tokens&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 여러 문장에 대해 문장별 단어 토큰화 수행&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;word_tokens &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; tokenize_text(text_sample)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(type(word_tokens), len(word_tokens))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(word_tokens)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;list&#39;&amp;gt; 3&#xA;[[&#39;The&#39;, &#39;Matrix&#39;, &#39;is&#39;, &#39;everywhere&#39;, &#39;its&#39;, &#39;all&#39;, &#39;around&#39;, &#39;us&#39;, &#39;,&#39;, &#39;here&#39;, &#39;even&#39;, &#39;in&#39;, &#39;this&#39;, &#39;wroom&#39;, &#39;.&#39;], [&#39;You&#39;, &#39;can&#39;, &#39;see&#39;, &#39;it&#39;, &#39;out&#39;, &#39;your&#39;, &#39;window&#39;, &#39;or&#39;, &#39;on&#39;, &#39;your&#39;, &#39;television&#39;, &#39;.&#39;], [&#39;You&#39;, &#39;feel&#39;, &#39;it&#39;, &#39;when&#39;, &#39;you&#39;, &#39;go&#39;, &#39;to&#39;, &#39;work&#39;, &#39;,&#39;, &#39;or&#39;, &#39;go&#39;, &#39;to&#39;, &#39;church&#39;, &#39;or&#39;, &#39;pay&#39;, &#39;your&#39;, &#39;taxes&#39;, &#39;.&#39;]]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;각각의 개별 리스트는 해당 문장에 대한 토큰화된 단어를 요소로 가진다.&lt;/li&gt;&#xA;&lt;li&gt;문장을 단어별로 하나씩 토큰화 할 경우 문맥적인 의미는 무시될 수 밖에 없는데.. 이러한 문제를 해결하기 위해 도입된 개념이 n-gram이다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;N-gram&lt;/code&gt;은 연속된 N개의 단어를 하나의 토큰화 단위로 분리해 내는 것.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;예시) I Love You&lt;/li&gt;&#xA;&lt;li&gt;(I, Love), (Love, You)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iv-텍스트-전처리---스톱-워드불용어-제거&#34;&gt;IV. 텍스트 전처리 - 스톱 워드(불용어) 제거&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;의미가 없는 &lt;code&gt;be&lt;/code&gt;동사 등을 제거 할 때 사용함&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이런 단어들은 매우 자주 나타나는 특징이 있음&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;NTLK&lt;/code&gt;의 스톱 워드에 기본적인 세팅이 저장되어 있음&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; nltk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nltk&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;download(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;stopwords&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[nltk_data] Downloading package stopwords to /root/nltk_data...&#xA;[nltk_data]   Unzipping corpora/stopwords.zip.&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;True&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;총 몇개의 &lt;code&gt;stopwords&lt;/code&gt;가 있는지 알아보고, 그중 20개만 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;영어 stop words 개수:&amp;#34;&lt;/span&gt;, len(nltk&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;corpus&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;stopwords&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;words(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;english&amp;#34;&lt;/span&gt;)))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(nltk&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;corpus&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;stopwords&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;words(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;english&amp;#34;&lt;/span&gt;)[:&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;영어 stop words 개수: 179&#xA;[&#39;i&#39;, &#39;me&#39;, &#39;my&#39;, &#39;myself&#39;, &#39;we&#39;, &#39;our&#39;, &#39;ours&#39;, &#39;ourselves&#39;, &#39;you&#39;, &amp;quot;you&#39;re&amp;quot;, &amp;quot;you&#39;ve&amp;quot;, &amp;quot;you&#39;ll&amp;quot;, &amp;quot;you&#39;d&amp;quot;, &#39;your&#39;, &#39;yours&#39;, &#39;yourself&#39;, &#39;yourselves&#39;, &#39;he&#39;, &#39;him&#39;, &#39;his&#39;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 &lt;code&gt;stopwords&lt;/code&gt;를 필터링으로 제거하여 분석을 위한 의미 있는 단어만 추출하도록 함.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; nltk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;stopwords &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; nltk&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;corpus&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;stopwords&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;words(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;english&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;all_tokens &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; []&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 위 예제에서 3개의 문장별로 얻은 word_tokens list에 대해 불용어 제거하는 반복문 작성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; sentence &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; word_tokens:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  filtered_words &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [] &lt;span style=&#34;color:#75715e&#34;&gt;# 빈 리스트 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# 개별 문장별로 토큰화된 문장 list에 대해 스톱 워드 제거&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; word &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; sentence:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 소문자로 모두 변환&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    word &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; word&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;lower()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 토큰화된 개별 단어가 스톱 워드의 단어에 포함되지 않으면 word_tokens에 추가&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; word &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; stopwords:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      filtered_words&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;append(word)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  all_tokens&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;append(filtered_words)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(all_tokens)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[[&#39;matrix&#39;, &#39;everywhere&#39;, &#39;around&#39;, &#39;us&#39;, &#39;,&#39;, &#39;even&#39;, &#39;wroom&#39;, &#39;.&#39;], [&#39;see&#39;, &#39;window&#39;, &#39;television&#39;, &#39;.&#39;], [&#39;feel&#39;, &#39;go&#39;, &#39;work&#39;, &#39;,&#39;, &#39;go&#39;, &#39;church&#39;, &#39;pay&#39;, &#39;taxes&#39;, &#39;.&#39;]]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;is&lt;/code&gt;, &lt;code&gt;this&lt;/code&gt;와 같은 불용어가 처리된 것 확인됨&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;v-텍스트-전처리---어간stemming-및-표제어lemmatization&#34;&gt;V. 텍스트 전처리 - 어간(Stemming) 및 표제어(Lemmatization)&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;동사의 변화&#xA;&lt;ul&gt;&#xA;&lt;li&gt;예) Love, Loved, Loving&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;어근 및 표제어는 단어의 원형을 찾는 것.&lt;/li&gt;&#xA;&lt;li&gt;그런데, 표제어 추출(Lemmatization)이 어근(Stemming)보다는 보다 더 의미론적인 기반에서 단어의 원형을 찾는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-어간stemming&#34;&gt;(1) 어간(Stemming)&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Stemming&lt;/code&gt;은 원형 단어로 변환 시, 어미를 제거하는 방식을 사용한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;예) &lt;code&gt;worked&lt;/code&gt;에서 &lt;code&gt;ed&lt;/code&gt;를 제거하는 방식을 사용&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Stemming&lt;/code&gt;기법에는 크게 &lt;code&gt;Porter&lt;/code&gt;, &lt;code&gt;Lancaster&lt;/code&gt;, &lt;code&gt;Snowball Stemmer&lt;/code&gt;가 있음.&lt;/li&gt;&#xA;&lt;li&gt;소스코드 예시는 아래와 같음&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; nltk.stem &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; PorterStemmer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; nltk.stem &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; LancasterStemmer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;porter &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; PorterStemmer()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lancaster &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; LancasterStemmer()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;word_list &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;friend&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;friendship&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;friends&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;friendships&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;stabil&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;destabilize&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;misunderstanding&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;railroad&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;moonlight&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;football&amp;#34;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{0:20}{1:20}{2:20}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Word&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Porter Stemmer&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;lancaster Stemmer&amp;#34;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; word &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; word_list:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{0:20}{1:20}{2:20}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(word,porter&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;stem(word),lancaster&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;stem(word)))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Word                Porter Stemmer      lancaster Stemmer   &#xA;friend              friend              friend              &#xA;friendship          friendship          friend              &#xA;friends             friend              friend              &#xA;friendships         friendship          friend              &#xA;stabil              stabil              stabl               &#xA;destabilize         destabil            dest                &#xA;misunderstanding    misunderstand       misunderstand       &#xA;railroad            railroad            railroad            &#xA;moonlight           moonlight           moonlight           &#xA;football            footbal             footbal             &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;LancasterStemmer 간단하지만, 가끔 지나치게 over-stemming을 하는 경향이 있다. 이는 문맥적으로는 큰 의미가 없을수도 있기 때문에 주의를 요망한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;For Lancaster:&amp;#34;&lt;/span&gt;, lancaster&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;stem(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;destabilized&amp;#34;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;For Porter:&amp;#34;&lt;/span&gt;, porter&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;stem(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;destabilized&amp;#34;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;For Lancaster: dest&#xA;For Porter: destabil&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위와 같이 &lt;code&gt;destabilized(불안정한)&lt;/code&gt; 뜻을 가진 단어가 &lt;code&gt;destabil(불안정)&lt;/code&gt;이 아닌 &lt;code&gt;dest(목적지)&lt;/code&gt;로 변환되기도 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-표제어-추출lemmatization&#34;&gt;(2) 표제어 추출(Lemmatization)&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;표제어 추출은 품사와 같은 문법적인 요소와 더 의미적인 부분을 감안하여 정확한 철자로 된 어근 단어를 찾아준다.&lt;/li&gt;&#xA;&lt;li&gt;어근을 보통 &lt;code&gt;Lemma&lt;/code&gt;라고 부르며, 이 때의 어근은 Canoical Form, Dictionary Form, Citation Form 이라고 부른다.&lt;/li&gt;&#xA;&lt;li&gt;간단하게 예를 들면, &lt;code&gt;loves&lt;/code&gt;, &lt;code&gt;loving&lt;/code&gt;, &lt;code&gt;loved&lt;/code&gt;는 모두 &lt;code&gt;love&lt;/code&gt;에서 파생된 것이며, 이 때 &lt;code&gt;love&lt;/code&gt;는 &lt;code&gt;Lemma&lt;/code&gt;라고 부른다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; nltk.stem &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; WordNetLemmatizer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; nltk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nltk&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;download(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;wordnet&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[nltk_data] Downloading package wordnet to /root/nltk_data...&#xA;[nltk_data]   Package wordnet is already up-to-date!&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;True&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단하게 단어들을 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lemma &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; WordNetLemmatizer()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(lemma&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;lemmatize(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;amusing&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;v&amp;#39;&lt;/span&gt;), lemma&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;lemmatize(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;amuses&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;v&amp;#39;&lt;/span&gt;), lemma&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;lemmatize(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;amused&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;v&amp;#39;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(lemma&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;lemmatize(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;happier&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;v&amp;#39;&lt;/span&gt;), lemma&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;lemmatize(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;happiest&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;v&amp;#39;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(lemma&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;lemmatize(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;fancier&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;), lemma&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;lemmatize(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;fanciest&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;amuse amuse amuse&#xA;happier happiest&#xA;fancy fancy&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 조금 긴 문장을 활용하여 작성하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; nltk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; nltk.stem &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; WordNetLemmatizer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wordnet_lemmatizer &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; WordNetLemmatizer()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sentence &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;He was running and eating at same time. He has bad habit of swimming after playing long hours in the Sun.&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;punctuations&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;?:!.,;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 해당되는 부호는 제외하는 코드를 만든다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sentence_words &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; nltk&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;word_tokenize(sentence)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; word &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; sentence_words:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; word &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; punctuations:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        sentence_words&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;remove(word)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sentence_words&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{0:20}{1:20}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Word&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Lemma&amp;#34;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; word &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; sentence_words:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{0:20}{1:20}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(word,wordnet_lemmatizer&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;lemmatize(word)))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Word                Lemma               &#xA;He                  He                  &#xA;was                 wa                  &#xA;running             running             &#xA;and                 and                 &#xA;eating              eating              &#xA;at                  at                  &#xA;same                same                &#xA;time                time                &#xA;He                  He                  &#xA;has                 ha                  &#xA;bad                 bad                 &#xA;habit               habit               &#xA;of                  of                  &#xA;swimming            swimming            &#xA;after               after               &#xA;playing             playing             &#xA;long                long                &#xA;hours               hour                &#xA;in                  in                  &#xA;the                 the                 &#xA;Sun                 Sun                 &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지금까지 진행한 것은 텍스트 전처리의 일환으로 활용한 것이다. 각각의 정규화, 불용어, 어간 및 표제어 등은 각각 함수로 작성하는 것을 권한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;vi-reference&#34;&gt;VI. Reference&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;권철민. (2020). 파이썬 머신러닝 완벽가이드. 경기, 파주: 위키북스&lt;/li&gt;&#xA;&lt;li&gt;Jabeen, H. (2018). Stemming and Lemmatization in Python. Retreived from &lt;a href=&#34;https://www.datacamp.com/community/tutorials/stemming-lemmatization-python&#34;&gt;https://www.datacamp.com/community/tutorials/stemming-lemmatization-python&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>List to Pandas</title>
      <link>https://dschloe.github.io/programming/2020/11/list_pandas/</link>
      <pubDate>Mon, 09 Nov 2020 18:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/11/list_pandas/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;List&lt;/code&gt;는 파이썬 데이터 타입의 기본 자료형이다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Pandas&lt;/code&gt; 데이터 분석을 위한 기본적인 자료형이다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;List&lt;/code&gt;에서 &lt;code&gt;Pandas&lt;/code&gt;로 변환하는 작업의 다양한 방법을 활용해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;방법-1-기초&#34;&gt;방법 1. 기초&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;List&lt;/code&gt;를 생성한 후, 데이터프레임으로 변환한다.&lt;/li&gt;&#xA;&lt;li&gt;여기에서는 &lt;code&gt;column&lt;/code&gt;과 &lt;code&gt;index&lt;/code&gt;값을 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lst &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Korea&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Japan&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;USA&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;China&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Russia&amp;#34;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame(lst)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(data)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;        0&#xA;0   Korea&#xA;1   Japan&#xA;2     USA&#xA;3   China&#xA;4  Russia&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;방법-2-column--index-추가&#34;&gt;방법 2. Column &amp;amp; Index 추가&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 &lt;code&gt;column&lt;/code&gt;과 &lt;code&gt;index&lt;/code&gt;를 추가한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lst &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Korea&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Japan&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;USA&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;China&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Russia&amp;#34;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;country_index &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;a&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;b&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;c&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;d&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;e&amp;#34;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame(lst, index &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; country_index, columns&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Country&amp;#34;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(data)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;  Country&#xA;a   Korea&#xA;b   Japan&#xA;c     USA&#xA;d   China&#xA;e  Russia&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;방법-3-두개의-리스트와-zip-활용&#34;&gt;방법 3. 두개의 리스트와 Zip 활용&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 &lt;code&gt;zip()&lt;/code&gt;함수를 활용하기에 앞서서, &lt;code&gt;zip()&lt;/code&gt; 함수를 이해한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;a &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;김&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;심&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;홍&amp;#34;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;b &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;길동&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;청이&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;길동&amp;#34;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;x &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; zip(a, b)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(list(x))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[(&#39;김&#39;, &#39;길동&#39;), (&#39;심&#39;, &#39;청이&#39;), (&#39;홍&#39;, &#39;길동&#39;)]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 결과값이 말해주는 것처럼 동일한 개수로 이루어진 자료향을 묶어 주는 역할을 한다.&lt;/li&gt;&#xA;&lt;li&gt;이를 활용하여 두개의 리스트를 판다스 데이터프레임으로 변환해준다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;full_name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame(list(zip(a, b)), &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                         columns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;성&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;이름&amp;#34;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(full_name)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;   성  이름&#xA;0  김  길동&#xA;1  심  청이&#xA;2  홍  길동&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;방법-4-dictionary-활용&#34;&gt;방법 4. Dictionary 활용&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;List&lt;/code&gt;와 &lt;code&gt;Dictionary&lt;/code&gt;를 활용하여 데이터 프레임을 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 3개의 리스트&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;홍길동&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;심청이&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;임꺽정&amp;#34;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;age &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;40&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;50&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gender &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;남성&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;여성&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;남성&amp;#34;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 딕셔너리 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dict &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;성함&amp;#34;&lt;/span&gt;: name, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;나이&amp;#34;&lt;/span&gt;: age, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;성별&amp;#34;&lt;/span&gt;: gender}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;class_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame(dict)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(class_df)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;    성함  나이  성별&#xA;0  홍길동  30  남성&#xA;1  심청이  40  여성&#xA;2  임꺽정  50  남성&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;엑셀로-내보내기&#34;&gt;엑셀로 내보내기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이렇게 생성된 데이터를 엑셀로 내보내기를 해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;class_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_excel(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;class_df.xlsx&amp;#34;&lt;/span&gt;, sheet_name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;1반&amp;#39;&lt;/span&gt;, index &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;실제로 내보내기가 되었는지 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;class_df.xlsx &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;reference&#34;&gt;Reference&lt;/h2&gt;&#xA;&lt;p&gt;Shivam_k. (2018). Create a Pandas DataFrame from Lists. Retreived from &lt;a href=&#34;https://www.geeksforgeeks.org/create-a-pandas-dataframe-from-lists/&#34;&gt;https://www.geeksforgeeks.org/create-a-pandas-dataframe-from-lists/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Seaborn intro - Correlation Heatmap</title>
      <link>https://dschloe.github.io/programming/2020/11/ch_seaborn_heatmap/</link>
      <pubDate>Wed, 04 Nov 2020 20:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/11/ch_seaborn_heatmap/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;seaborn-개요&#34;&gt;Seaborn 개요&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;Matplotlib&lt;/code&gt; 라이브러리가 &lt;code&gt;Python&lt;/code&gt;에서 제공하는 기본적인 시각화 도구이지만, 기본객체는 리스트 형태를 따르기 때문에, 엑셀 데이터, 즉 데이터 프레임에 익숙한 사용자들에게는 조금 불친절한 것은 아쉬움이 있습니다. 실제, 입문자를 대상으로 강의를 할 때에도 &lt;code&gt;Seaborn&lt;/code&gt;부터 알려드리는데, 그 이유는 &lt;code&gt;Pandas&lt;/code&gt;를 활용한 데이터 가공 직후에 보다 쉽게 연동할 수 있도록 &lt;code&gt;Seaborn&lt;/code&gt;이 개발되었기 때문입니다. 또한, &lt;code&gt;Matplotlib&lt;/code&gt;에서는 회귀선과 같은 통계적 내용의 그래프도 보다 쉽게 구현할 수 있도록 제작되었습니다. 보다 정교한 시각적인 디자인을 추가 및 수정하려면, &lt;code&gt;Matplotlib&lt;/code&gt;를 보다 더 잘 활용해야 합니다. 이는 마지막 본 포스트의 마지막 장에서 다루도록 합니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python 통계 - 비모수 통계</title>
      <link>https://dschloe.github.io/programming/2020/11/chapter_17_1_nonparametric_stat_analysis/</link>
      <pubDate>Tue, 03 Nov 2020 00:05:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/11/chapter_17_1_nonparametric_stat_analysis/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;분포에-대한-가정을-만족-못할-시의-문제점&#34;&gt;분포에 대한 가정을 만족 못할 시의 문제점&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1종 오류의 값이 커지거나, 분석 결과 자체에 대한 신뢰성이 떨어짐&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://support.minitab.com/ko-kr/minitab/18/help-and-how-to/statistics/basic-statistics/supporting-topics/basics/type-i-and-type-ii-error/&#34;&gt;1종 오류 및 2종 오류의 차이&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;모수 통계 분석 적용 못할 시, 비모수 통계 분석 활용&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-언제-적용할까&#34;&gt;(1) 언제 적용할까?&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;분포 가정 불만족 (예: 정규분포 아님)&lt;/li&gt;&#xA;&lt;li&gt;분석기법의 전제조건 불만족 (예: 다중공선성)&lt;/li&gt;&#xA;&lt;li&gt;표본 수 불만족 (예: 설문조사 20개)&lt;/li&gt;&#xA;&lt;li&gt;데이터 척도 단순화 (예: 명목 또는 서열 척도로만 측정)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-비모수-통계분석-유형&#34;&gt;(2) 비모수 통계분석 유형&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;비모수 통계분석의 유형은 아래와 같다. (p. 357)&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/11/Chapter_17_1_Nonparametric_stat_analysis/download.jpeg&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;통계분석-실습---적합도-검정&#34;&gt;통계분석 실습 - 적합도 검정&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-적합도-검정-run-검정&#34;&gt;(1) 적합도 검정: RUN 검정&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가정된 확률이 정해져 있는 경우, 예) 제품의 A등급(6), B등급(3), C등급(1)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://blog.naver.com/lchry/220511965537&#34;&gt;적합도 검정 예시&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;키워드: 측정도수 &amp;amp; 기대도수, RUN 검정&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;비모수 통계는 반대로, 표본의 배열이 무작위로 구성되어 있는지 검정&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;(교재, p. 357)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;마케팅 행사가 공정하게 이루어졌는지 RUN 검정 실시&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;가설검정&#xA;&lt;ul&gt;&#xA;&lt;li&gt;귀무가설: 멤버십 소지 고객과 비소지 고객의 방문은 무작위로 이루어짐&lt;/li&gt;&#xA;&lt;li&gt;연구가설: 멤버십 소지 고객과 비소지 고객의 방문은 무작위로 이루어지지 않음&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; statsmodels.sandbox.stats.runs &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Runs&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;x &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;x &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array(x)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Runs(x)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;runs_test()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;(-1.8277470669267506, 0.06758752074917526)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;z값의 공식은 (RUN의 개수 - RUN의 평균) + 0.5 / RUN의 표준편차 (p.358) 참조&#xA;&lt;ul&gt;&#xA;&lt;li&gt;평균 및 표준편차를 구하는 방식은 모수의 방식과 다르다 (주의)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;-1.8은 z값을 의미하고, p 값은 0.067로 도출됨으로 유의수준 0.1 수준에서 유의하다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;즉, 연구가설을 채택하는데, 이 말의 함의는 공정하게 이루어지지 않았음을 의미&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-kolmogorov-smirnov-검정&#34;&gt;(2) Kolmogorov-Smirnov 검정&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;표본의 분포가 가정한 분포와 적합한지 검정&#xA;$$D_{n} = max|F_{n}(x) - F_{0}(x)$$&lt;/p&gt;</description>
    </item>
    <item>
      <title>Seaborn Intro - Countplot</title>
      <link>https://dschloe.github.io/programming/2020/10/ch_seaborn_countplot/</link>
      <pubDate>Thu, 29 Oct 2020 20:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/10/ch_seaborn_countplot/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;seaborn-개요&#34;&gt;Seaborn 개요&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;Matplotlib&lt;/code&gt; 라이브러리가 &lt;code&gt;Python&lt;/code&gt;에서 제공하는 기본적인 시각화 도구이지만, 기본객체는 리스트 형태를 따르기 때문에, 엑셀 데이터, 즉 데이터 프레임에 익숙한 사용자들에게는 조금 불친절한 것은 아쉬움이 있습니다. 실제, 입문자를 대상으로 강의를 할 때에도 &lt;code&gt;Seaborn&lt;/code&gt;부터 알려드리는데, 그 이유는 &lt;code&gt;Pandas&lt;/code&gt;를 활용한 데이터 가공 직후에 보다 쉽게 연동할 수 있도록 &lt;code&gt;Seaborn&lt;/code&gt;이 개발되었기 때문입니다. 또한, &lt;code&gt;Matplotlib&lt;/code&gt;에서는 회귀선과 같은 통계적 내용의 그래프도 보다 쉽게 구현할 수 있도록 제작되었습니다. 보다 정교한 시각적인 디자인을 추가 및 수정하려면, &lt;code&gt;Matplotlib&lt;/code&gt;를 보다 더 잘 활용해야 합니다. 이는 마지막 본 포스트의 마지막 장에서 다루도록 합니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Seaborn intro - boxplot</title>
      <link>https://dschloe.github.io/programming/2020/10/ch_seaborn_boxplot/</link>
      <pubDate>Wed, 28 Oct 2020 19:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/10/ch_seaborn_boxplot/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;seaborn-개요&#34;&gt;Seaborn 개요&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;Matplotlib&lt;/code&gt; 라이브러리가 &lt;code&gt;Python&lt;/code&gt;에서 제공하는 기본적인 시각화 도구이지만, 기본객체는 리스트 형태를 따르기 때문에, 엑셀 데이터, 즉 데이터 프레임에 익숙한 사용자들에게는 조금 불친절한 것은 아쉬움이 있습니다. 실제, 입문자를 대상으로 강의를 할 때에도 &lt;code&gt;Seaborn&lt;/code&gt;부터 알려드리는데, 그 이유는 &lt;code&gt;Pandas&lt;/code&gt;를 활용한 데이터 가공 직후에 보다 쉽게 연동할 수 있도록 &lt;code&gt;Seaborn&lt;/code&gt;이 개발되었기 때문입니다. 또한, &lt;code&gt;Matplotlib&lt;/code&gt;에서는 회귀선과 같은 통계적 내용의 그래프도 보다 쉽게 구현할 수 있도록 제작되었습니다. 보다 정교한 시각적인 디자인을 추가 및 수정하려면, &lt;code&gt;Matplotlib&lt;/code&gt;를 보다 더 잘 활용해야 합니다. 이는 마지막 본 포스트의 마지막 장에서 다루도록 합니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Seaborn Intro - Scatterplot, Histogram</title>
      <link>https://dschloe.github.io/programming/2020/10/ch_seaborn_numeric/</link>
      <pubDate>Mon, 26 Oct 2020 23:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/10/ch_seaborn_numeric/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;seaborn-개요&#34;&gt;Seaborn 개요&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;Matplotlib&lt;/code&gt; 라이브러리가 &lt;code&gt;Python&lt;/code&gt;에서 제공하는 기본적인 시각화 도구이지만, 기본객체는 리스트 형태를 따르기 때문에, 엑셀 데이터, 즉 데이터 프레임에 익숙한 사용자들에게는 조금 불친절한 것은 아쉬움이 있습니다. 실제, 입문자를 대상으로 강의를 할 때에도 &lt;code&gt;Seaborn&lt;/code&gt;부터 알려드리는데, 그 이유는 &lt;code&gt;Pandas&lt;/code&gt;를 활용한 데이터 가공 직후에 보다 쉽게 연동할 수 있도록 &lt;code&gt;Seaborn&lt;/code&gt;이 개발되었기 때문입니다. 또한, &lt;code&gt;Matplotlib&lt;/code&gt;에서는 회귀선과 같은 통계적 내용의 그래프도 보다 쉽게 구현할 수 있도록 제작되었습니다. 보다 정교한 시각적인 디자인을 추가 및 수정하려면, &lt;code&gt;Matplotlib&lt;/code&gt;를 보다 더 잘 활용해야 합니다. 이는 마지막 본 포스트의 마지막 장에서 다루도록 합니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>KDX Competition Guideline</title>
      <link>https://dschloe.github.io/programming/2020/10/blog_kdx_guideline/</link>
      <pubDate>Wed, 14 Oct 2020 09:10:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/10/blog_kdx_guideline/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 수업을 듣는 수강생들을 위해 간단한 튜토리얼을 만들었다.&lt;/li&gt;&#xA;&lt;li&gt;대회는 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;싸이트: &lt;a href=&#34;http://lab.kdx.kr/adl/contest/main.php?fbclid=IwAR3zy6t2iutLlbxzqZ25AiVOqMuYmFuiFapfjJ246RWGdoMhBKMHYvv-WwQ&#34;&gt;한국데이터거래소&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;/img/programming/2020/10/blog_kdx_guideline/img&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/10/blog_kdx_guideline/project01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/10/blog_kdx_guideline/project02.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;1단계-패키지-불러오기&#34;&gt;1단계 패키지 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 가공 및 시각화 위주의 패키지를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(tidyverse) &lt;span style=&#34;color:#75715e&#34;&gt;# 데이터 가공 및 시각화&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(readxl) &lt;span style=&#34;color:#75715e&#34;&gt;# 엑셀파일 불러오기 패키지 &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;2단계-데이터-불러오기&#34;&gt;2단계 데이터 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터가 많아서 순차적으로 진행하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;각 데이터에 대한 설명은&lt;code&gt;활용데이터설명(PDF)&lt;/code&gt;을 참조한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/10/blog_kdx_guideline/project03.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 제 개발환경은 아래와 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Note: 윈도우와 Mac은 다를 수 있음을 명심하자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;sessionInfo&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## R version 4.0.2 (2020-06-22)&#xA;## Platform: x86_64-apple-darwin17.0 (64-bit)&#xA;## Running under: macOS Catalina 10.15.6&#xA;## &#xA;## Matrix products: default&#xA;## BLAS:   /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRblas.dylib&#xA;## LAPACK: /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRlapack.dylib&#xA;## &#xA;## locale:&#xA;## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8&#xA;## &#xA;## attached base packages:&#xA;## [1] stats     graphics  grDevices utils     datasets  methods   base     &#xA;## &#xA;## other attached packages:&#xA;##  [1] readxl_1.3.1    forcats_0.5.0   stringr_1.4.0   dplyr_1.0.0    &#xA;##  [5] purrr_0.3.4     readr_1.3.1     tidyr_1.1.0     tibble_3.0.3   &#xA;##  [9] ggplot2_3.3.2   tidyverse_1.3.0&#xA;## &#xA;## loaded via a namespace (and not attached):&#xA;##  [1] Rcpp_1.0.5       cellranger_1.1.0 pillar_1.4.6     compiler_4.0.2  &#xA;##  [5] dbplyr_1.4.4     tools_4.0.2      digest_0.6.25    lubridate_1.7.9 &#xA;##  [9] jsonlite_1.7.0   evaluate_0.14    lifecycle_0.2.0  gtable_0.3.0    &#xA;## [13] pkgconfig_2.0.3  rlang_0.4.7      reprex_0.3.0     cli_2.0.2       &#xA;## [17] rstudioapi_0.11  DBI_1.1.0        yaml_2.2.1       haven_2.3.1     &#xA;## [21] xfun_0.16        withr_2.3.0      xml2_1.3.2       httr_1.4.2      &#xA;## [25] knitr_1.29       fs_1.5.0         hms_0.5.3        generics_0.0.2  &#xA;## [29] vctrs_0.3.2      grid_4.0.2       tidyselect_1.1.0 glue_1.4.1      &#xA;## [33] R6_2.4.1         fansi_0.4.1      rmarkdown_2.3    modelr_0.1.8    &#xA;## [37] blob_1.2.1       magrittr_1.5     backports_1.1.8  scales_1.1.1    &#xA;## [41] ellipsis_0.3.1   htmltools_0.5.0  rvest_0.3.6      assertthat_0.2.1&#xA;## [45] colorspace_1.4-1 stringi_1.4.6    munsell_0.5.0    broom_0.7.0     &#xA;## [49] crayon_1.3.4&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;1-삼성카드-데이터&#34;&gt;(1) 삼성카드 데이터&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 삼성카드 데이터를 불러와서 확인한다.&lt;/li&gt;&#xA;&lt;li&gt;한글 파일은 인코딩이 늘 항상 문제다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일을 불러오기 전 항상 파일 인코딩을 확인하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;readr&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;guess_encoding&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/Samsungcard.csv&amp;#34;&lt;/span&gt;, n_max &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## # A tibble: 2 x 2&#xA;##   encoding confidence&#xA;##   &amp;lt;chr&amp;gt;         &amp;lt;dbl&amp;gt;&#xA;## 1 EUC-KR         1   &#xA;## 2 GB18030        0.62&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;Encoding 확인 결과 &lt;code&gt;EUC-KR&lt;/code&gt;로 확인하였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;samsung_card &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;read_xlsx&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/Samsungcard.xlsx&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;samsung_card2 &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;read.csv&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/Samsungcard.csv&amp;#34;&lt;/span&gt;, fileEncoding &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;EUC-KR&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 두 파일이 동일한 것을 확인해본다&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;(samsung_card)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## # A tibble: 6 x 5&#xA;##   소비일자 소비업종  성별  연령대 소비건수&#xA;##      &amp;lt;dbl&amp;gt; &amp;lt;chr&amp;gt;     &amp;lt;chr&amp;gt; &amp;lt;chr&amp;gt;     &amp;lt;dbl&amp;gt;&#xA;## 1 20190101 가전/가구 남성  20대       5529&#xA;## 2 20190101 가전/가구 남성  30대      17536&#xA;## 3 20190101 가전/가구 남성  40대      22838&#xA;## 4 20190101 가전/가구 남성  50대      15801&#xA;## 5 20190101 가전/가구 남성  60대       6772&#xA;## 6 20190101 가전/가구 여성  20대       5937&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;(samsung_card2)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;##   소비일자  소비업종 성별 연령대 소비건수&#xA;## 1 20190101 가전/가구 남성   20대     5529&#xA;## 2 20190101 가전/가구 남성   30대    17536&#xA;## 3 20190101 가전/가구 남성   40대    22838&#xA;## 4 20190101 가전/가구 남성   50대    15801&#xA;## 5 20190101 가전/가구 남성   60대     6772&#xA;## 6 20190101 가전/가구 여성   20대     5937&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;두 파일이 동일한 것을 확인하였다면 이제 &lt;code&gt;samsung_card2&lt;/code&gt;는 삭제를 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;RAM&lt;/code&gt;을 아껴 쓰자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;rm&lt;/span&gt;(samsung_card2) &lt;span style=&#34;color:#75715e&#34;&gt;# 객체 지우는 함수&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;ls&lt;/span&gt;() &lt;span style=&#34;color:#75715e&#34;&gt;# 현재 저장된 객체 확인하는 함수&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## [1] &amp;#34;samsung_card&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;2-신한카드-데이터&#34;&gt;(2) 신한카드 데이터&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 &lt;code&gt;ShinhanCard.xslx&lt;/code&gt; 데이터를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;shinhancard &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;read_xlsx&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/Shinhancard.xlsx&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;(shinhancard)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## # A tibble: 6 x 8&#xA;##   일별    성별  연령대별 업종               `카드이용건수(천건)`… ...6  ...7   ...8&#xA;##   &amp;lt;chr&amp;gt;   &amp;lt;chr&amp;gt; &amp;lt;chr&amp;gt;    &amp;lt;chr&amp;gt;                           &amp;lt;dbl&amp;gt; &amp;lt;lgl&amp;gt; &amp;lt;lgl&amp;gt; &amp;lt;dbl&amp;gt;&#xA;## 1 201901… F     20대     M001_한식                       299.  NA    NA       10&#xA;## 2 201901… F     20대     M002_일식/중식/양식…               88.3 NA    NA       NA&#xA;## 3 201901… F     20대     M003_제과/커피/패스트푸드…              291.  NA    NA       NA&#xA;## 4 201901… F     20대     M004_기타요식                   446.  NA    NA       NA&#xA;## 5 201901… F     20대     M005_유흥                        24.2 NA    NA       NA&#xA;## 6 201901… F     20대     M006_백화점                      35.3 NA    NA       NA&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 데이터를 불러오니 불필요한 &lt;code&gt;6:8&lt;/code&gt; 변수가 불러온 것을 확인할 수 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실제 엑셀 데이터를 열어도 빈값임을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;따라서, &lt;code&gt;6:8&lt;/code&gt; 변수는 삭제한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;shinhancard &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; shinhancard &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;select&lt;/span&gt;(&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;(shinhancard)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## # A tibble: 6 x 5&#xA;##   일별     성별  연령대별 업종                      `카드이용건수(천건)`&#xA;##   &amp;lt;chr&amp;gt;    &amp;lt;chr&amp;gt; &amp;lt;chr&amp;gt;    &amp;lt;chr&amp;gt;                                    &amp;lt;dbl&amp;gt;&#xA;## 1 20190101 F     20대     M001_한식                                299. &#xA;## 2 20190101 F     20대     M002_일식/중식/양식                       88.3&#xA;## 3 20190101 F     20대     M003_제과/커피/패스트푸드                291. &#xA;## 4 20190101 F     20대     M004_기타요식                            446. &#xA;## 5 20190101 F     20대     M005_유흥                                 24.2&#xA;## 6 20190101 F     20대     M006_백화점                               35.3&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;3-지인플러스&#34;&gt;(3) 지인플러스&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지인플러스는 아파트시세(&lt;code&gt;GIN00009A&lt;/code&gt;)와 아파트 거래량(&lt;code&gt;GIN00008B&lt;/code&gt;)을 담은 코드이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gin_8a &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;read_csv&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/GIN00008A.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gin_9a &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;read_csv&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/GIN00009A.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 두개의 데이터를 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;glimpse&lt;/span&gt;(gin_8a)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## Rows: 937,904&#xA;## Columns: 9&#xA;## $ ym             &amp;lt;dbl&amp;gt; 200601, 200602, 200603, 200604, 200605, 200606, 200607…&#xA;## $ area_lvl_scor  &amp;lt;dbl&amp;gt; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …&#xA;## $ lgdng_cd       &amp;lt;chr&amp;gt; &amp;#34;0000000000&amp;#34;, &amp;#34;0000000000&amp;#34;, &amp;#34;0000000000&amp;#34;, &amp;#34;0000000000&amp;#34;…&#xA;## $ trd_cont       &amp;lt;dbl&amp;gt; 23357, 38617, 52241, 44253, 41916, 30257, 28613, 37362…&#xA;## $ avg_trd_cont   &amp;lt;dbl&amp;gt; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …&#xA;## $ trd_deal_rat   &amp;lt;dbl&amp;gt; NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…&#xA;## $ mtrnt_cont     &amp;lt;dbl&amp;gt; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …&#xA;## $ avg_mtrnt_cont &amp;lt;dbl&amp;gt; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …&#xA;## $ mtrnt_deal_rat &amp;lt;dbl&amp;gt; NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;glimpse&lt;/span&gt;(gin_9a)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## Rows: 785,805&#xA;## Columns: 4&#xA;## $ lgdng_cd &amp;lt;dbl&amp;gt; 1.1e+09, 1.1e+09, 1.1e+09, 1.1e+09, 1.1e+09, 1.1e+09, 1.1e+0…&#xA;## $ std_date &amp;lt;date&amp;gt; 2006-01-21, 2006-02-21, 2006-03-21, 2006-04-21, 2006-05-21,…&#xA;## $ trd_prc  &amp;lt;dbl&amp;gt; 1289, 1271, 1291, 1307, 1321, 1335, 1357, 1381, 1411, 1444, …&#xA;## $ ldpb_prc &amp;lt;dbl&amp;gt; NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;4-json-파일-불러오기&#34;&gt;(4) JSON 파일 불러오기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;JSON&lt;/code&gt; 파일 불러올 때에는 &lt;code&gt;jsonlite&lt;/code&gt; 패키지를 활용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(jsonlite)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;GIN_10m &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;fromJSON&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/center_GIN00010M.json&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;glimpse&lt;/span&gt;(GIN_10m)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## Rows: 20,572&#xA;## Columns: 8&#xA;## $ AREA_LVL_SCOR &amp;lt;int&amp;gt; 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3…&#xA;## $ LGDNG_CD      &amp;lt;chr&amp;gt; &amp;#34;1100000000&amp;#34;, &amp;#34;1111000000&amp;#34;, &amp;#34;1111010100&amp;#34;, &amp;#34;1111010200&amp;#34;,…&#xA;## $ CTPV_NM       &amp;lt;chr&amp;gt; &amp;#34;서울특별시&amp;#34;, &amp;#34;서울특별시&amp;#34;, &amp;#34;서울특별시&amp;#34;, &amp;#34;서울특별시&amp;#34;, &amp;#34;서울특별시&amp;#34;, &amp;#34;서울특별시&amp;#34;, &amp;#34;…&#xA;## $ CTGG_NM       &amp;lt;chr&amp;gt; NA, &amp;#34;종로구&amp;#34;, &amp;#34;종로구&amp;#34;, &amp;#34;종로구&amp;#34;, &amp;#34;종로구&amp;#34;, &amp;#34;종로구&amp;#34;, &amp;#34;종로구&amp;#34;, &amp;#34;종로구&amp;#34;, &amp;#34;종…&#xA;## $ EMD_NM        &amp;lt;chr&amp;gt; NA, NA, &amp;#34;청운동&amp;#34;, &amp;#34;신교동&amp;#34;, &amp;#34;궁정동&amp;#34;, &amp;#34;효자동&amp;#34;, &amp;#34;창성동&amp;#34;, &amp;#34;통의동&amp;#34;, &amp;#34;적선동&amp;#34;…&#xA;## $ LA            &amp;lt;dbl&amp;gt; 37.52934, 37.58586, 37.58920, 37.58449, 37.58468, 37.58…&#xA;## $ LNGT          &amp;lt;dbl&amp;gt; 126.9515, 126.9775, 126.9693, 126.9679, 126.9731, 126.9…&#xA;## $ PYN_CN        &amp;lt;chr&amp;gt; &amp;#34;{\&amp;#34;type\&amp;#34;: \&amp;#34;Polygon\&amp;#34;, \&amp;#34;coordinates\&amp;#34;: [[[126.979658…&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;PYN_CN&lt;/code&gt;의 값이 조금 다른 것을 확인할 수 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 부분은 추후 전처리할 때 정리하는 것으로 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;5-ssc_data&#34;&gt;(5) SSC_Data&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 &lt;code&gt;Mcorporation&lt;/code&gt;내 폴더 데이터를 올리도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;이번에 파일을 불러올 때는 &lt;code&gt;readr::read_csv()&lt;/code&gt;를 활용하여 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;readr&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;guess_encoding&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/Mcorporation/KDX시각화경진대회_SSC_DATA.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## # A tibble: 2 x 2&#xA;##   encoding confidence&#xA;##   &amp;lt;chr&amp;gt;         &amp;lt;dbl&amp;gt;&#xA;## 1 EUC-KR         1   &#xA;## 2 GB18030        0.76&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ssc_data &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;read_csv&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/Mcorporation/KDX시각화경진대회_SSC_DATA.csv&amp;#34;&lt;/span&gt;, locale &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;locale&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;ko&amp;#34;&lt;/span&gt;, encoding &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;EUC-KR&amp;#34;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;glimpse&lt;/span&gt;(ssc_data)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## Rows: 76,580&#xA;## Columns: 5&#xA;## $ 소비일자 &amp;lt;dbl&amp;gt; 20190101, 20190101, 20190101, 20190101, 20190101, 20190101, 2019…&#xA;## $ 소비업종 &amp;lt;chr&amp;gt; &amp;#34;가전/가구&amp;#34;, &amp;#34;가전/가구&amp;#34;, &amp;#34;가전/가구&amp;#34;, &amp;#34;가전/가구&amp;#34;, &amp;#34;가전/가구&amp;#34;, &amp;#34;가전/가구&amp;#34;, &amp;#34;가전/가구&amp;#34;, &amp;#34;…&#xA;## $ 성별     &amp;lt;chr&amp;gt; &amp;#34;남성&amp;#34;, &amp;#34;남성&amp;#34;, &amp;#34;남성&amp;#34;, &amp;#34;남성&amp;#34;, &amp;#34;남성&amp;#34;, &amp;#34;여성&amp;#34;, &amp;#34;여성&amp;#34;, &amp;#34;여성&amp;#34;, &amp;#34;여성&amp;#34;, &amp;#34;여성&amp;#34;, &amp;#34;남…&#xA;## $ 연령대   &amp;lt;chr&amp;gt; &amp;#34;20대&amp;#34;, &amp;#34;30대&amp;#34;, &amp;#34;40대&amp;#34;, &amp;#34;50대&amp;#34;, &amp;#34;60대&amp;#34;, &amp;#34;20대&amp;#34;, &amp;#34;30대&amp;#34;, &amp;#34;40대&amp;#34;, &amp;#34;50대&amp;#34;, …&#xA;## $ 소비건수 &amp;lt;dbl&amp;gt; 5529, 17536, 22838, 15801, 6772, 5937, 12895, 16896, 14025, 5909…&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;6-다중-엑셀파일-불러오기-예제&#34;&gt;(6) 다중 엑셀파일 불러오기 예제&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;상품 카데고리 데이터_KDX&lt;/code&gt; 시각화 폴더 내 엑셀 데이터를 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;list.files&lt;/span&gt;(path &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/Mcorporation/상품 카테고리 데이터_KDX 시각화 경진대회 Only/&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;##  [1] &amp;#34;PC사무기기.xlsx&amp;#34;             &amp;#34;TV홈시어터.xlsx&amp;#34;            &#xA;##  [3] &amp;#34;가공식품.xlsx&amp;#34;               &amp;#34;가방지갑잡화.xlsx&amp;#34;          &#xA;##  [5] &amp;#34;건강관련용품.xlsx&amp;#34;           &amp;#34;건강식품.xlsx&amp;#34;              &#xA;##  [7] &amp;#34;계절가전.xlsx&amp;#34;               &amp;#34;골프용품.xlsx&amp;#34;              &#xA;##  [9] &amp;#34;공구류.xlsx&amp;#34;                 &amp;#34;구기.xlsx&amp;#34;                  &#xA;## [11] &amp;#34;국내외여행.xlsx&amp;#34;             &amp;#34;기타 스포츠.xlsx&amp;#34;           &#xA;## [13] &amp;#34;낚시.xlsx&amp;#34;                   &amp;#34;남성의류.xlsx&amp;#34;              &#xA;## [15] &amp;#34;노트북.xlsx&amp;#34;                 &amp;#34;농축수산물.xlsx&amp;#34;            &#xA;## [17] &amp;#34;도서음반DVD.xlsx&amp;#34;            &amp;#34;등산용품.xlsx&amp;#34;              &#xA;## [19] &amp;#34;메이크업.xlsx&amp;#34;               &amp;#34;문구사무용품.xlsx&amp;#34;          &#xA;## [21] &amp;#34;미용가전.xlsx&amp;#34;               &amp;#34;반려동물.xlsx&amp;#34;              &#xA;## [23] &amp;#34;생활가구.xlsx&amp;#34;               &amp;#34;생활가전.xlsx&amp;#34;              &#xA;## [25] &amp;#34;생활용품.xlsx&amp;#34;               &amp;#34;서비스티켓.xlsx&amp;#34;            &#xA;## [27] &amp;#34;성인용품.xlsx&amp;#34;               &amp;#34;세탁청소세면.xlsx&amp;#34;          &#xA;## [29] &amp;#34;수납가구.xlsx&amp;#34;               &amp;#34;수납용품.xlsx&amp;#34;              &#xA;## [31] &amp;#34;수영.xlsx&amp;#34;                   &amp;#34;스키보드.xlsx&amp;#34;              &#xA;## [33] &amp;#34;스킨케어.xlsx&amp;#34;               &amp;#34;스포츠의류.xlsx&amp;#34;            &#xA;## [35] &amp;#34;신발.xlsx&amp;#34;                   &amp;#34;악세서리시계주얼리.xlsx&amp;#34;    &#xA;## [37] &amp;#34;안전용품.xlsx&amp;#34;               &amp;#34;언더웨어.xlsx&amp;#34;              &#xA;## [39] &amp;#34;업소위생용품.xlsx&amp;#34;           &amp;#34;여성의류.xlsx&amp;#34;              &#xA;## [41] &amp;#34;완구키덜트게임.xlsx&amp;#34;         &amp;#34;욕실가전.xlsx&amp;#34;              &#xA;## [43] &amp;#34;욕실용품.xlsx&amp;#34;               &amp;#34;유아용품.xlsx&amp;#34;              &#xA;## [45] &amp;#34;유아패션.xlsx&amp;#34;               &amp;#34;음료.xlsx&amp;#34;                  &#xA;## [47] &amp;#34;음향가전.xlsx&amp;#34;               &amp;#34;인테리어용품.xlsx&amp;#34;          &#xA;## [49] &amp;#34;자동차용품.xlsx&amp;#34;             &amp;#34;자전거사이클보드인라인.xlsx&amp;#34;&#xA;## [51] &amp;#34;주방가전.xlsx&amp;#34;               &amp;#34;주방수납잡화.xlsx&amp;#34;          &#xA;## [53] &amp;#34;주방식기용기.xlsx&amp;#34;           &amp;#34;주방조리기구.xlsx&amp;#34;          &#xA;## [55] &amp;#34;출산임부용품.xlsx&amp;#34;           &amp;#34;취미악기.xlsx&amp;#34;              &#xA;## [57] &amp;#34;침실가구.xlsx&amp;#34;               &amp;#34;침실인테리어.xlsx&amp;#34;          &#xA;## [59] &amp;#34;카메라캠코더.xlsx&amp;#34;           &amp;#34;캠핑용품.xlsx&amp;#34;              &#xA;## [61] &amp;#34;테마의류.xlsx&amp;#34;               &amp;#34;헤어바디용품.xlsx&amp;#34;          &#xA;## [63] &amp;#34;헬스기구용품.xlsx&amp;#34;           &amp;#34;휴대폰악세서리.xlsx&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;몇가지 파일을 열어본다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/10/blog_kdx_guideline/project04.png&#34; alt=&#34;&#34;&gt;&#xA;&lt;br&gt;&lt;/li&gt;&#xA;&lt;li&gt;엑셀 데이터의 변수 등이 동일한 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;이제 위 데이터를 한꺼번에 불러와서 하나의 데이터셋으로 합친다.&lt;/li&gt;&#xA;&lt;li&gt;검색키워드 &lt;code&gt;Multiple Excel Files import in R&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;files &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;list.files&lt;/span&gt;(path &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/Mcorporation/상품 카테고리 데이터_KDX 시각화 경진대회 Only/&amp;#34;&lt;/span&gt;, pattern &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;*.xlsx&amp;#34;&lt;/span&gt;, full.names &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; T)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;products &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;sapply&lt;/span&gt;(files, read_excel, simplify&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;FALSE&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;bind_rows&lt;/span&gt;(.id &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;select&lt;/span&gt;(&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;id)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;glimpse&lt;/span&gt;(products)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## Rows: 1,837,833&#xA;## Columns: 7&#xA;## $ 구매날짜   &amp;lt;dbl&amp;gt; 20190101, 20190101, 20190101, 20190101, 20190101, 20190101, 20…&#xA;## $ 카테고리명 &amp;lt;chr&amp;gt; &amp;#34;PC/사무기기&amp;#34;, &amp;#34;PC/사무기기&amp;#34;, &amp;#34;PC/사무기기&amp;#34;, &amp;#34;PC/사무기기&amp;#34;, &amp;#34;PC/사무기기&amp;#34;, &amp;#34;PC/사무기기…&#xA;## $ 고객성별   &amp;lt;chr&amp;gt; &amp;#34;F&amp;#34;, &amp;#34;F&amp;#34;, &amp;#34;F&amp;#34;, &amp;#34;F&amp;#34;, &amp;#34;F&amp;#34;, &amp;#34;F&amp;#34;, &amp;#34;F&amp;#34;, &amp;#34;F&amp;#34;, &amp;#34;F&amp;#34;, &amp;#34;F&amp;#34;, &amp;#34;F&amp;#34;, &amp;#34;F&amp;#34;, &amp;#34;F…&#xA;## $ 고객나이   &amp;lt;dbl&amp;gt; 10, 10, 10, 10, 20, 20, 20, 20, 30, 30, 30, 30, 40, 40, 40, 40…&#xA;## $ OS유형     &amp;lt;chr&amp;gt; &amp;#34;IOS&amp;#34;, &amp;#34;WINDOWS&amp;#34;, &amp;#34;안드로이드&amp;#34;, &amp;#34;없음&amp;#34;, &amp;#34;IOS&amp;#34;, &amp;#34;WINDOWS&amp;#34;, &amp;#34;안드로이드&amp;#34;, …&#xA;## $ 구매금액   &amp;lt;dbl&amp;gt; 352443, 84000, 80870, 3700, 27714776, 11414514, 21223319, 4832…&#xA;## $ 구매수     &amp;lt;dbl&amp;gt; 13, 1, 8, 1, 381, 60, 252, 41, 240, 75, 423, 19, 58, 110, 436…&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;3단계-데이터-시각화&#34;&gt;3단계 데이터 시각화&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저, 데이터 저장 용량을 고려하여 &lt;code&gt;products&lt;/code&gt; 데이터셋을 제외하고 나머지는 모두 삭제한다.&lt;/li&gt;&#xA;&lt;li&gt;데이터 시각화는 변수의 종류에 따른 시각화를 구현한 것이다.&lt;/li&gt;&#xA;&lt;li&gt;시각화 참조자료는 다음에서 작성이 가능하다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://r-statistics.co/Top50-Ggplot2-Visualizations-MasterList-R-Code.html&#34;&gt;Top 50 ggplot2 Visualizations - The Master List (With Full R Code)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;아래 샘플은 필자가 공부하는 형태를 구현한 것이다. 참조하기를 바란다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-수치형-변수--수치형-변수&#34;&gt;(1) 수치형 변수 ~ 수치형 변수&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;수치형 변수 ~ 수치형 변수 시각화의 대표적인 기법은 산점도(&lt;code&gt;scatter&lt;/code&gt;) 또는 &lt;code&gt;correlation&lt;/code&gt;이라 부른다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;scatter&lt;/code&gt; 시각화를 구현한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# load package and data&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(ggplot2)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;data&lt;/span&gt;(mpg, package&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;ggplot2&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# mpg &amp;lt;- read.csv(&amp;#34;http://goo.gl/uEeRGu&amp;#34;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Scatterplot&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;theme_set&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;theme_bw&lt;/span&gt;())  &lt;span style=&#34;color:#75715e&#34;&gt;# pre-set the bw theme.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;g &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;ggplot&lt;/span&gt;(mpg, &lt;span style=&#34;color:#a6e22e&#34;&gt;aes&lt;/span&gt;(cty, hwy))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;g &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;geom_count&lt;/span&gt;(col&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;tomato3&amp;#34;&lt;/span&gt;, show.legend&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;F) &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;labs&lt;/span&gt;(subtitle&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;mpg: city vs highway mileage&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       y&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;hwy&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       x&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;cty&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       title&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Counts Plot&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/10/blog_kdx_guideline/unnamed-chunk-15-1.png&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>(R&#43;Git) 초보자를 위한 깃허브 연동 및 에러 대처법</title>
      <link>https://dschloe.github.io/programming/2020/10/rstudio_git_beginner/</link>
      <pubDate>Tue, 06 Oct 2020 09:11:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/10/rstudio_git_beginner/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 Repo는 강림직업전문학교 수강생을 위해 예시로 작성한 Repo입니다.&lt;/li&gt;&#xA;&lt;li&gt;본 Repo에서는 &lt;code&gt;R을 활용한 데이터 과학&lt;/code&gt; 발표자료를 공유하기 위해 만들어졌습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;git--github&#34;&gt;Git &amp;amp; Github&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;우선 &lt;code&gt;Git&lt;/code&gt;을 설치합니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;싸이트: &lt;a href=&#34;https://git-scm.com/&#34;&gt;https://git-scm.com/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;설정은 모두 기본 값으로 해주시기 바랍니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Terimnal 창에서 &lt;code&gt;git&lt;/code&gt;을 실행하여 정상적으로 설치되었는지 유무를 확인합니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;그 다음은 &lt;code&gt;Github&lt;/code&gt;에 회원가입을 합니다&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;저장소&lt;/code&gt;를 만드는 과정은 아래 싸이트를 참조바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;싸이트: &lt;a href=&#34;https://goddaehee.tistory.com/221&#34;&gt;https://goddaehee.tistory.com/221&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;이제 &lt;code&gt;RStudio&lt;/code&gt;에서 &lt;code&gt;프로젝트&lt;/code&gt;를 클릭한 후 아래 화면에서 &lt;code&gt;Version Control&lt;/code&gt;을 클릭합니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/10/rstudio_git_beginner/project01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그 다음은 &lt;code&gt;github&lt;/code&gt;에서 주소를 클릭합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/10/rstudio_git_beginner/project02.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;복사한 주소를 아래그림과 같이 주소를 붙여 넣습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/10/rstudio_git_beginner/project03.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>(파이썬-Matplotlib) 시각화 튜토리얼 - 히트맵</title>
      <link>https://dschloe.github.io/programming/2020/10/ch_heatmap/</link>
      <pubDate>Fri, 02 Oct 2020 10:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/10/ch_heatmap/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;히트맵-그래프&#34;&gt;히트맵 그래프&lt;/h2&gt;&#xA;&lt;p&gt;히트 맵(heat map)은 열을 뜻하는 히트(heat)와 지도를 뜻하는 맵(map)을 결합시킨 단어로, 다양한 강도로 다양한 색상으로 데이터 범위를 시각화하는 데 사용된다. 여기서는 상관 행렬을 열 지도로 표시하는 예를 들 수 있다. 상관 행렬의 요소는 두 변수 사이의 선형 관계의 강도를 나타내며, 행렬에는 주어진 데이터에 포함된 속성의 모든 조합에 대한 그러한 값이 포함되어 있다. 데이터에 5개의 속성이 있는 경우 상관 행렬은 5 x 5 행렬이 된다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>(파이썬-Matplotlib) 시각화 튜토리얼 - 박스플롯</title>
      <link>https://dschloe.github.io/programming/2020/10/ch_boxplot/</link>
      <pubDate>Thu, 01 Oct 2020 10:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/10/ch_boxplot/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;박스플롯-그래프&#34;&gt;박스플롯 그래프&lt;/h2&gt;&#xA;&lt;p&gt;박스플롯(Box Plot) 그래프는 범주형 데이터 기준으로 수치형 데이터의 분포를 파악하는데 적합하다.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://www.simplypsychology.org/boxplot.jpg?ezimgfmt=rs:555x285/rscb24/ng:webp/ngcb24&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;박스플롯을 보면, 최소값, 1분위값, 중간값, 3분위값, 최대값을 제공한다.&lt;/p&gt;&#xA;&lt;h3 id=&#34;1-라이브러리-불러오기&#34;&gt;(1) 라이브러리 불러오기&lt;/h3&gt;&#xA;&lt;p&gt;필요한 모듈을 불러온다.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;2-데이터-생성&#34;&gt;(2) 데이터 생성&lt;/h3&gt;&#xA;&lt;p&gt;이번에는 &lt;code&gt;seaborn&lt;/code&gt; 패키지 내 &lt;code&gt;iris&lt;/code&gt; 데이터를 활용한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>(파이썬-Matplotlib) 시각화 튜토리얼 - 히스토그램</title>
      <link>https://dschloe.github.io/programming/2020/09/ch_histogram/</link>
      <pubDate>Tue, 29 Sep 2020 10:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/09/ch_histogram/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;히스토그램&#34;&gt;히스토그램&lt;/h2&gt;&#xA;&lt;p&gt;히스토그램 그래프는 연속형 변수의 분포를 그리는 데 사용된다. 연속형 변수 값은 필요한 빈(=bin) 수로 분활되어 x축에 표시되며, 각 빈에 포함되는 값의 카운트는 &lt;code&gt;y&lt;/code&gt;축에 표시된다. &lt;code&gt;y축&lt;/code&gt;에는 카운트 대신 총량의 백분율을 표시할 수 있으며, 이 경우 확률 분포를 나타내며, 이러한 그래프는 통계 분석에 사용된다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>(NCS) R 기초문법</title>
      <link>https://dschloe.github.io/programming/2020/09/r_basic_1/</link>
      <pubDate>Fri, 18 Sep 2020 10:00:00 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/09/r_basic_1/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/09/r_basic_1/rlogo.svg#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;R을 처음 접하는 사람들을 위한 입문 포스트.&lt;/li&gt;&#xA;&lt;li&gt;기존에 R을 하셨던 분들은 가볍게 보도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;프로그램을 설치한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필수 R: &lt;a href=&#34;https://www.r-project.org/&#34;&gt;https://www.r-project.org/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;옵션(1) RStudio: &lt;a href=&#34;https://rstudio.com/&#34;&gt;https://rstudio.com/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;옵션(2) PyCharm: &lt;a href=&#34;https://www.jetbrains.com/ko-kr/pycharm/download/&#34;&gt;https://www.jetbrains.com/ko-kr/pycharm/download/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;R은 일종의 엔진이기 때문에 필수로 설치한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파이썬과 같이 쓰는 유저라면 &lt;code&gt;PyCharm&lt;/code&gt;을 R만 사용한다면 &lt;code&gt;RStudio&lt;/code&gt;를 사용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-데이터-분석의-기본-흐름&#34;&gt;(1) 데이터 분석의 기본 흐름&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 수집, 저장, 가공, 시각화, 모델링, 보고서 (대시보드)&lt;/li&gt;&#xA;&lt;li&gt;입문자, 서비스 기획자는 전체의 생태계를 보자.&lt;/li&gt;&#xA;&lt;li&gt;PDF - 강사 메뉴얼 참조&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-cran-생태계-이해하기&#34;&gt;II. CRAN 생태계 이해하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;전세계의 수많은 사람들과 조직들이 데이터, 통계, 머신러닝 등 다양한 문제를 해결하기 위해 여러 함수를 만들어 공유하는 곳입니다. (집단지성의 요체)&lt;/li&gt;&#xA;&lt;li&gt;이중에는 아마존, 구글, MS 데이터 팀들이 내놓은 패키지도 존재함&lt;/li&gt;&#xA;&lt;li&gt;오픈소스의 매우 특기할만 강점입니다.&lt;/li&gt;&#xA;&lt;li&gt;새로운 패키지는 앞으로도 계속 만들어질 것이며, 스스로 학습할 수 있는 능력이 중요함&lt;/li&gt;&#xA;&lt;li&gt;그렇다면 어떻게 공부할 것인가?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 입문자: 다양한 책과 스터디에 참석 권유&lt;/li&gt;&#xA;&lt;li&gt;서비스 기획자: R 컨퍼런스 참여 권유 (빅데이터 생태계의 발전 속도에 뒤쳐지지 말자!)&lt;/li&gt;&#xA;&lt;li&gt;흐름은 똑같다! 다만, 무엇이 더 효율적이냐의 싸움&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-dive-in&#34;&gt;III. Dive in&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-r-계산기&#34;&gt;(1) R 계산기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실행방법은 Windows: Ctrl + Enter / Mac: Command + Enter&lt;/li&gt;&#xA;&lt;li&gt;사칙 연산을 수행해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;200&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## [1] 0.15&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;다르게 해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;59&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;73&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## [1] 44.66667&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 &lt;code&gt;sin()&lt;/code&gt;함수를 사용해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;sin&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;pi&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## [1] 1&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;2-변수-저장&#34;&gt;(2) 변수 저장&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;변수 저장 시, R은 &lt;code&gt;&amp;lt;-&lt;/code&gt; 사용하는 것을 권장합니다. (단축키: Alt + - (the minus sign))&lt;/li&gt;&#xA;&lt;li&gt;특별한 이유는 없습니다. 타 언어와의 차이점이라고 이해해도 좋습니다.&lt;/li&gt;&#xA;&lt;li&gt;객체이름 &amp;lt;- 값&lt;/li&gt;&#xA;&lt;li&gt;예)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;x &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;변수가 저장된 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;저장된 변수를 호출한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;x&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## [1] 12&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 &lt;code&gt;print()&lt;/code&gt; 활용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;print&lt;/span&gt;(x)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## [1] 12&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;blockquote&gt;&#xA;&lt;p&gt;Tip: 필자는 가급적 print(x) 사용하는 것을 권한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Feature Engineering with Housing Price Prediction - Numerical Features</title>
      <link>https://dschloe.github.io/programming/2020/09/chapter_4_4_house_price_prediction_feature_engineering3/</link>
      <pubDate>Wed, 16 Sep 2020 12:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/09/chapter_4_4_house_price_prediction_feature_engineering3/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Feature Engineering&lt;/code&gt;를 이해하고 실습한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;결측치를 처리한다&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Categorical Feature&lt;/code&gt;를 다룬다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-사전-준비작업&#34;&gt;I. 사전 준비작업&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Kaggle API&lt;/code&gt; 설치 후 데이터를 &lt;code&gt;Kaggle&lt;/code&gt;에서 직접 가져오는 것을 구현한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-kaggle-api-설치&#34;&gt;(1) Kaggle API 설치&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 코랩에서 &lt;code&gt;API&lt;/code&gt;를 불러오려면 다음 소스코드를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install kaggle&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Requirement already satisfied: kaggle in /usr/local/lib/python3.6/dist-packages (1.5.8)&#xA;Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.23.0)&#xA;Requirement already satisfied: urllib3&amp;lt;1.25,&amp;gt;=1.21.1 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.24.3)&#xA;Requirement already satisfied: python-dateutil in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.8.1)&#xA;Requirement already satisfied: tqdm in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.41.1)&#xA;Requirement already satisfied: certifi in /usr/local/lib/python3.6/dist-packages (from kaggle) (2020.6.20)&#xA;Requirement already satisfied: slugify in /usr/local/lib/python3.6/dist-packages (from kaggle) (0.0.1)&#xA;Requirement already satisfied: six&amp;gt;=1.10 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.15.0)&#xA;Requirement already satisfied: python-slugify in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.0.1)&#xA;Requirement already satisfied: idna&amp;lt;3,&amp;gt;=2.5 in /usr/local/lib/python3.6/dist-packages (from requests-&amp;gt;kaggle) (2.10)&#xA;Requirement already satisfied: chardet&amp;lt;4,&amp;gt;=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests-&amp;gt;kaggle) (3.0.4)&#xA;Requirement already satisfied: text-unidecode&amp;gt;=1.3 in /usr/local/lib/python3.6/dist-packages (from python-slugify-&amp;gt;kaggle) (1.3)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-kaggle-token-다운로드&#34;&gt;(2) Kaggle Token 다운로드&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Kaggle에서 API Token을 다운로드 받는다.&lt;/li&gt;&#xA;&lt;li&gt;[Kaggle]-[My Account]-[API]-[Create New API Token]을 누르면 &lt;code&gt;kaggle.json&lt;/code&gt; 파일이 다운로드 된다.&lt;/li&gt;&#xA;&lt;li&gt;이 파일을 바탕화면에 옮긴 뒤, 아래 코드를 실행 시킨다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; files&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;uploaded &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; files&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;upload()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; fn &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; uploaded&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;keys():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;uploaded file &amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{name}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; with length &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{length}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; bytes&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;fn, length&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;len(uploaded[fn])))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# kaggle.json을 아래 폴더로 옮긴 뒤, file을 사용할 수 있도록 권한을 부여한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;mkdir &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;p &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; mv kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; chmod &lt;span style=&#34;color:#ae81ff&#34;&gt;600&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;input type=&#34;file&#34; id=&#34;files-e83ceb1e-f403-435a-8e3a-25008c9dc1bc&#34; name=&#34;files[]&#34; multiple disabled&#xA;style=&#34;border:none&#34; /&gt;&#xA;&lt;output id=&#34;result-e83ceb1e-f403-435a-8e3a-25008c9dc1bc&#34;&gt;&#xA;Upload widget is only available when the cell has been executed in the&#xA;current browser session. Please rerun this cell to enable.&#xA;&lt;/output&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Feature Engineering with Housing Price Prediction - Categorical Features</title>
      <link>https://dschloe.github.io/programming/2020/09/chapter_4_4_house_price_prediction_feature_engineering2/</link>
      <pubDate>Sat, 12 Sep 2020 22:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/09/chapter_4_4_house_price_prediction_feature_engineering2/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Feature Engineering&lt;/code&gt;를 이해하고 실습한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;결측치를 처리한다&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Categorical Feature&lt;/code&gt;를 다룬다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-사전-준비작업&#34;&gt;I. 사전 준비작업&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Kaggle API&lt;/code&gt; 설치 후 데이터를 &lt;code&gt;Kaggle&lt;/code&gt;에서 직접 가져오는 것을 구현한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-kaggle-api-설치&#34;&gt;(1) Kaggle API 설치&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 코랩에서 &lt;code&gt;API&lt;/code&gt;를 불러오려면 다음 소스코드를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install kaggle&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Requirement already satisfied: kaggle in /usr/local/lib/python3.6/dist-packages (1.5.6)&#xA;Requirement already satisfied: python-dateutil in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.8.1)&#xA;Requirement already satisfied: python-slugify in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.0.1)&#xA;Requirement already satisfied: certifi in /usr/local/lib/python3.6/dist-packages (from kaggle) (2020.6.20)&#xA;Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.23.0)&#xA;Requirement already satisfied: six&amp;gt;=1.10 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.15.0)&#xA;Requirement already satisfied: tqdm in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.41.1)&#xA;Requirement already satisfied: urllib3&amp;lt;1.25,&amp;gt;=1.21.1 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.24.3)&#xA;Requirement already satisfied: text-unidecode&amp;gt;=1.3 in /usr/local/lib/python3.6/dist-packages (from python-slugify-&amp;gt;kaggle) (1.3)&#xA;Requirement already satisfied: chardet&amp;lt;4,&amp;gt;=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests-&amp;gt;kaggle) (3.0.4)&#xA;Requirement already satisfied: idna&amp;lt;3,&amp;gt;=2.5 in /usr/local/lib/python3.6/dist-packages (from requests-&amp;gt;kaggle) (2.10)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-kaggle-token-다운로드&#34;&gt;(2) Kaggle Token 다운로드&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Kaggle에서 API Token을 다운로드 받는다.&lt;/li&gt;&#xA;&lt;li&gt;[Kaggle]-[My Account]-[API]-[Create New API Token]을 누르면 &lt;code&gt;kaggle.json&lt;/code&gt; 파일이 다운로드 된다.&lt;/li&gt;&#xA;&lt;li&gt;이 파일을 바탕화면에 옮긴 뒤, 아래 코드를 실행 시킨다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; files&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;uploaded &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; files&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;upload()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; fn &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; uploaded&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;keys():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;uploaded file &amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{name}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; with length &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{length}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; bytes&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;fn, length&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;len(uploaded[fn])))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# kaggle.json을 아래 폴더로 옮긴 뒤, file을 사용할 수 있도록 권한을 부여한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;mkdir &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;p &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; mv kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; chmod &lt;span style=&#34;color:#ae81ff&#34;&gt;600&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;input type=&#34;file&#34; id=&#34;files-83162b11-b175-4a2a-9647-9672ed109359&#34; name=&#34;files[]&#34; multiple disabled&#xA;style=&#34;border:none&#34; /&gt;&#xA;&lt;output id=&#34;result-83162b11-b175-4a2a-9647-9672ed109359&#34;&gt;&#xA;Upload widget is only available when the cell has been executed in the&#xA;current browser session. Please rerun this cell to enable.&#xA;&lt;/output&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>OCE 패키지 소개</title>
      <link>https://dschloe.github.io/programming/2020/09/oce_intro/</link>
      <pubDate>Sat, 12 Sep 2020 00:21:01 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/09/oce_intro/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;!-- ![](/img/programming/2020/09/oce_intro/oce-logl-3.png) --&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;새로운 분야에 대한 자료 정리는 언제나 흥미롭다.&lt;/li&gt;&#xA;&lt;li&gt;오늘은 해양과학을 분석해보는 시간을 갖는다.&lt;/li&gt;&#xA;&lt;li&gt;사실 필자는 해양과학을 모른다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;교재&#34;&gt;교재&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교재 &lt;a href=&#34;https://www.springer.com/gp/book/9781493988426&#34;&gt;Oceanographic Analysis with R&lt;/a&gt;는 구매할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://images.springer.com/sgw/books/medium/9781493988426.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;패키지-설치&#34;&gt;패키지 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dankelley.github.io/oce/&#34;&gt;패키지 홈페이지&lt;/a&gt;를 참고한다.&lt;/li&gt;&#xA;&lt;li&gt;패키지 저자는 CRAN에서 다운로드 받는 것 보다는 깃허브에서 받는 것을 추천한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;패키지 업데이트가 1년에 몇번 되지 않는다고 조금은 솔직하게 말한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# install.packages(&amp;#34;oce&amp;#34;, dependencies = TRUE)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(oce)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## Loading required package: gsw&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## Loading required package: testthat&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;evolution-of-oce&#34;&gt;Evolution of oce&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;홈페이지에서 &lt;code&gt;Oce&lt;/code&gt;는 오픈 소스 시스템으로 소개하고 있기 때문에, 관련 학문에 종사하는 사람들이 참여 해주는 것이 해당 패키지 발전에 매우 중요한 부분이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;그래프&#34;&gt;그래프&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단한 시각화를 구현해보도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;data&lt;/span&gt;(buoy, package &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;ocedata&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;theta &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; (&lt;span style=&#34;color:#ae81ff&#34;&gt;90&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; buoy&lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;direction) &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;pi&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;180&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;u &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;buoy&lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;wind&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;cos&lt;/span&gt;(theta)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;v &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;buoy&lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;wind&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;sin&lt;/span&gt;(theta)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;s &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;-1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;max&lt;/span&gt;(buoy&lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;wind, na.rm &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TRUE&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;plot&lt;/span&gt;(u, v, xlab &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;u [m/s]&amp;#34;&lt;/span&gt;, ylab &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;v [m/s]&amp;#34;&lt;/span&gt;, xlim&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;s, ylim&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;s, asp&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; (ring &lt;span style=&#34;color:#66d9ef&#34;&gt;in&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;seq&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;lines&lt;/span&gt;(ring&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;cos&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;seq&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;pi&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;pi&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;32&lt;/span&gt;)), &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        ring&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;sin&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;seq&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;pi&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;pi&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;32&lt;/span&gt;)), col&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;gray&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/09/oce_intro/unnamed-chunk-2-1.png&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Validation schemes for 2-nd level models</title>
      <link>https://dschloe.github.io/programming/2020/09/validation_schemes/</link>
      <pubDate>Fri, 11 Sep 2020 21:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/09/validation_schemes/</guid>
      <description>&lt;p&gt;There are a number of ways to validate second level models (meta-models). In this reading material you will find a description for the most popular ones. If not specified, we assume that the data does not have a time component. We also assume we already validated and fixed hyperparameters for the first level models (models).&lt;/p&gt;&#xA;&lt;h3 id=&#34;simple-holdout-scheme&#34;&gt;Simple holdout scheme&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Split train data into three parts: partA and partB and partC.&lt;/li&gt;&#xA;&lt;li&gt;Fit N diverse models on partA, predict for partB, partC, test_data getting meta-features partB_meta, partC_meta and test_meta respectively.&lt;/li&gt;&#xA;&lt;li&gt;Fit a metamodel to a partB_meta while validating its hyperparameters on partC_meta.&lt;/li&gt;&#xA;&lt;li&gt;When the metamodel is validated, fit it to [partB_meta, partC_meta] and predict for test_meta.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;meta-holdout-scheme-with-oof-meta-features&#34;&gt;Meta holdout scheme with OOF meta-features&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Split train data into K folds. Iterate though each fold: retrain N diverse models on all folds except current fold, predict for the current fold. After this step for each object in train_data we will have N meta-features (also known as out-of-fold predictions, OOF). Let&amp;rsquo;s call them train_meta.&lt;/li&gt;&#xA;&lt;li&gt;Fit models to whole train data and predict for test data. Let&amp;rsquo;s call these features test_meta.&lt;/li&gt;&#xA;&lt;li&gt;Split train_meta into two parts: train_metaA and train_metaB. Fit a meta-model to train_metaA while validating its hyperparameters on train_metaB.&lt;/li&gt;&#xA;&lt;li&gt;When the meta-model is validated, fit it to train_meta and predict for test_meta.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;meta-kfold-scheme-with-oof-meta-features&#34;&gt;Meta KFold scheme with OOF meta-features&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Obtain OOF predictions train_meta and test metafeatures test_meta using b.1 and b.2.&lt;/li&gt;&#xA;&lt;li&gt;Use KFold scheme on train_meta to validate hyperparameters for meta-model. A common practice to fix seed for this KFold to be the same as seed for KFold used to get OOF predictions.&lt;/li&gt;&#xA;&lt;li&gt;When the meta-model is validated, fit it to train_meta and predict for test_meta.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;holdout-scheme-with-oof-meta-features&#34;&gt;Holdout scheme with OOF meta-features&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Split train data into two parts: partA and partB.&lt;/li&gt;&#xA;&lt;li&gt;Split partA into K folds. Iterate though each fold: retrain N diverse models on all folds except current fold, predict for the current fold. After this step for each object in partA we will have N meta-features (also known as out-of-fold predictions, OOF). Let&amp;rsquo;s call them partA_meta.&lt;/li&gt;&#xA;&lt;li&gt;Fit models to whole partA and predict for partB and test_data, getting partB_meta and test_meta respectively.&lt;/li&gt;&#xA;&lt;li&gt;Fit a meta-model to a partA_meta, using partB_meta to validate its hyperparameters.&lt;/li&gt;&#xA;&lt;li&gt;When the meta-model is validated basically do 2. and 3. without dividing train_data into parts and then train a meta-model. That is, first get out-of-fold predictions train_meta for the train_data using models. Then train models on train_data, predict for test_data, getting test_meta. Train meta-model on the train_meta and predict for test_meta.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;kfold-scheme-with-oof-meta-features&#34;&gt;KFold scheme with OOF meta-features&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;To validate the model we basically do d.1 &amp;ndash; d.4 but we divide train data into parts partA and partB M times using KFold strategy with M folds.&lt;/li&gt;&#xA;&lt;li&gt;When the meta-model is validated do d.5.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;validation-in-presence-of-time-component&#34;&gt;Validation in presence of time component&lt;/h2&gt;&#xA;&lt;h3 id=&#34;kfold-scheme-in-time-series&#34;&gt;KFold scheme in time series&lt;/h3&gt;&#xA;&lt;p&gt;In time-series task we usually have a fixed period of time we are asked to predict. Like day, week, month or arbitrary period with duration of T.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Feature Engineering with Housing Price Prediction - Missing Values</title>
      <link>https://dschloe.github.io/programming/2020/09/chapter_4_4_house_price_prediction_feature_engineering1/</link>
      <pubDate>Thu, 10 Sep 2020 17:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/09/chapter_4_4_house_price_prediction_feature_engineering1/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Feature Engineering&lt;/code&gt;를 이해하고 실습한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;결측치를 처리한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-사전-준비작업&#34;&gt;I. 사전 준비작업&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Kaggle API&lt;/code&gt; 설치 후 데이터를 &lt;code&gt;Kaggle&lt;/code&gt;에서 직접 가져오는 것을 구현한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-kaggle-api-설치&#34;&gt;(1) Kaggle API 설치&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 코랩에서 &lt;code&gt;API&lt;/code&gt;를 불러오려면 다음 소스코드를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install kaggle&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Requirement already satisfied: kaggle in /usr/local/lib/python3.6/dist-packages (1.5.6)&#xA;Requirement already satisfied: certifi in /usr/local/lib/python3.6/dist-packages (from kaggle) (2020.6.20)&#xA;Requirement already satisfied: six&amp;gt;=1.10 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.15.0)&#xA;Requirement already satisfied: python-dateutil in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.8.1)&#xA;Requirement already satisfied: urllib3&amp;lt;1.25,&amp;gt;=1.21.1 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.24.3)&#xA;Requirement already satisfied: python-slugify in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.0.1)&#xA;Requirement already satisfied: tqdm in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.41.1)&#xA;Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.23.0)&#xA;Requirement already satisfied: text-unidecode&amp;gt;=1.3 in /usr/local/lib/python3.6/dist-packages (from python-slugify-&amp;gt;kaggle) (1.3)&#xA;Requirement already satisfied: idna&amp;lt;3,&amp;gt;=2.5 in /usr/local/lib/python3.6/dist-packages (from requests-&amp;gt;kaggle) (2.10)&#xA;Requirement already satisfied: chardet&amp;lt;4,&amp;gt;=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests-&amp;gt;kaggle) (3.0.4)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-kaggle-token-다운로드&#34;&gt;(2) Kaggle Token 다운로드&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Kaggle에서 API Token을 다운로드 받는다.&lt;/li&gt;&#xA;&lt;li&gt;[Kaggle]-[My Account]-[API]-[Create New API Token]을 누르면 &lt;code&gt;kaggle.json&lt;/code&gt; 파일이 다운로드 된다.&lt;/li&gt;&#xA;&lt;li&gt;이 파일을 바탕화면에 옮긴 뒤, 아래 코드를 실행 시킨다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; files&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;uploaded &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; files&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;upload()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; fn &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; uploaded&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;keys():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;uploaded file &amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{name}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; with length &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{length}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; bytes&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;fn, length&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;len(uploaded[fn])))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# kaggle.json을 아래 폴더로 옮긴 뒤, file을 사용할 수 있도록 권한을 부여한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;mkdir &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;p &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; mv kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; chmod &lt;span style=&#34;color:#ae81ff&#34;&gt;600&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;input type=&#34;file&#34; id=&#34;files-5aae18a1-4b28-4f23-b282-1e7edca150a4&#34; name=&#34;files[]&#34; multiple disabled&#xA;style=&#34;border:none&#34; /&gt;&#xA;&lt;output id=&#34;result-5aae18a1-4b28-4f23-b282-1e7edca150a4&#34;&gt;&#xA;Upload widget is only available when the cell has been executed in the&#xA;current browser session. Please rerun this cell to enable.&#xA;&lt;/output&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python 통계 - 확률의 정의</title>
      <link>https://dschloe.github.io/programming/2020/09/chapter_5_4_concept_probability/</link>
      <pubDate>Wed, 09 Sep 2020 21:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/09/chapter_5_4_concept_probability/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;확률기초이론&#34;&gt;확률기초이론&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이산확률분포: 베르누이분포, 이항분포, 포아송분포&lt;/li&gt;&#xA;&lt;li&gt;연속확률분포: 정규분포, 카이제곱분포, t-분포, F-분포&lt;/li&gt;&#xA;&lt;li&gt;확률이란? 경험 또는 실험의 결과로 특정한 사건(event)이나 결과가 발생할 가능성&#xA;&lt;ul&gt;&#xA;&lt;li&gt;예1) 주사위 던져서 1이 나올 가능성 1/6&lt;/li&gt;&#xA;&lt;li&gt;예2) 비가 올 가능성 30%&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-확률의-정의&#34;&gt;(1) 확률의 정의&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사건 A의 확률 = $\frac{n(A)}{N}$&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;N&lt;/code&gt; = 표본공간(=sample space) = 특정 실험에서 일어날 수 있는 모든 가능성&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python 통계 - T검정 예제</title>
      <link>https://dschloe.github.io/programming/2020/09/chapter_5_3_ttest_sample/</link>
      <pubDate>Sun, 06 Sep 2020 12:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/09/chapter_5_3_ttest_sample/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;통계분석을-활용한-문제해결-과정&#34;&gt;통계분석을 활용한 문제해결 과정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;비즈니스에서 통계는 그저 툴이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;통계를 몰라도 물건을 파는데 전혀 문제가 없다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;통계는 객관적인 근거를 확보하여 유효한 의사결정을 내리기 위한 그저 도구 &lt;code&gt;(Tool)&lt;/code&gt; 이다.&lt;/li&gt;&#xA;&lt;li&gt;따라서, 마케팅이나 CRM과 같은 경영이슈에서도 통계는 문제해결을 이한 체계적인 절차를 제공한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;문제정의&lt;/li&gt;&#xA;&lt;li&gt;가설수립 및 분석방법 설정&lt;/li&gt;&#xA;&lt;li&gt;유의수준 및 임계치 설정&lt;/li&gt;&#xA;&lt;li&gt;분석 및 검정 통계량 산출&lt;/li&gt;&#xA;&lt;li&gt;결과 해석 및 가설 검증&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;예제를-활용한-통계분석-예제&#34;&gt;예제를 활용한 통계분석 예제&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 분석에서 가장 자주 사용되는 통계 기법 중의 하나는 &lt;code&gt;t-검정&lt;/code&gt;이다.&lt;/li&gt;&#xA;&lt;li&gt;처음 &lt;code&gt;t-검정&lt;/code&gt;을 배울 때는 비슷한 용어들이 많아서 혼동이 오기도 했다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;z-검정&lt;/code&gt;, &lt;code&gt;t-검정&lt;/code&gt;, &lt;code&gt;분산분석&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;이 중 2개 이하의 집단에서 평균을 비교하는 것은 &lt;code&gt;z-검정&lt;/code&gt;, &lt;code&gt;t-검정&lt;/code&gt;은 사실 동일한 분석방법이다.&lt;/li&gt;&#xA;&lt;li&gt;그러나, 실무에서는 &lt;code&gt;t-검정&lt;/code&gt;을 자주 사용한다 (모집단의 분산을 알 수 있는 방법이 없다, 이는 자세히 한번 얘기하도록 하겠다)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-문제-정의&#34;&gt;(1) 문제 정의&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 부터 상상의 나래를 펼쳐보자.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 온라인 쇼핑몰을 운영하는 사장이다.&lt;/li&gt;&#xA;&lt;li&gt;마케팅 부서에서는 콜센터를 통해 접수된 클레임 고객에 대한 &lt;code&gt;타겟마케팅&lt;/code&gt;을 기획한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;클레임 고객&lt;/code&gt;은 상대적으로 매장을 찾는 횟수가 적어져 &lt;code&gt;이탈위험도&lt;/code&gt;가 높을 것이라고 예상되기 때문이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-가설설정-및-분석방법&#34;&gt;(2) 가설설정 및 분석방법&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 가설 설정을 한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;t&lt;/code&gt;검정을 실시할 때는 보통의 경우 평균의 차이는 없는 것으로 정한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$H_{0}$(귀무가설) = &lt;code&gt;A&lt;/code&gt;쇼핑 클레임 고객들과 비클레임 고객들의 방문 횟수 차이는 없다.&lt;/li&gt;&#xA;&lt;li&gt;$H_{1}$(연구가설) = &lt;code&gt;A&lt;/code&gt;쇼핑 클레임 고객들과 비클레임 고객들의 방문횟수 차이는 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;즉, 두 그룹간의 &lt;code&gt;평균&lt;/code&gt; 비교이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-데이터-수집-및-분석방법&#34;&gt;(3) 데이터 수집 및 분석방법&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;독립표본 &lt;code&gt;t-검정&lt;/code&gt;을 수행하기 위해서는 평균과 등분산 여부, 그리고 &lt;code&gt;t-value(검정 통계량)&lt;/code&gt;과 &lt;code&gt;p-value(유의확률)&lt;/code&gt;을 출력한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가장 중요한 것은 두 그룹간의 분산이 동일한지 확인할 필요가 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;먼저 데이터를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Mount Google Drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; drive &lt;span style=&#34;color:#75715e&#34;&gt;# import drive from google colab&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ROOT &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/content/drive&amp;#34;&lt;/span&gt;     &lt;span style=&#34;color:#75715e&#34;&gt;# default location for the drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(ROOT)                 &lt;span style=&#34;color:#75715e&#34;&gt;# print content of ROOT (Optional)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;drive&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mount(ROOT)           &lt;span style=&#34;color:#75715e&#34;&gt;# we mount the google drive at /content/drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive&#xA;Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount(&amp;quot;/content/drive&amp;quot;, force_remount=True).&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# import join used to join ROOT path and MY_GOOGLE_DRIVE_PATH&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; os.path &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; join  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# path to your project on Google Drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;MY_GOOGLE_DRIVE_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;My Drive/Colab Notebooks/inflearn/Python/Kaggle_Edu/05_statistics&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PROJECT_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; join(ROOT, MY_GOOGLE_DRIVE_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(PROJECT_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/inflearn/Python/Kaggle_Edu/05_statistics&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;cd &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{PROJECT_PATH}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/inflearn/Python/Kaggle_Edu/05_statistics&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;python_stat/Ashopping.csv&amp;#39;&lt;/span&gt;, sep&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;,&amp;#34;&lt;/span&gt;, encoding&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;CP949&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;style&gt;&#xA;  #customers {&#xA;    font-family: &#34;Trebuchet MS&#34;, Arial, Helvetica, sans-serif;&#xA;    border-collapse: collapse;&#xA;  }&#xA;&#xA;  #customers td,&#xA;  #customers th {&#xA;    border: 1px solid #ddd;&#xA;    padding: 8px;&#xA;  }&#xA;&#xA;  #customers tr:nth-child(even) {&#xA;    background-color: #f2f2f2;&#xA;  }&#xA;&#xA;  #customers tr:hover {&#xA;    background-color: #ddd;&#xA;  }&#xA;&#xA;  #customers th {&#xA;    padding-top: 12px;&#xA;    padding-bottom: 12px;&#xA;    text-align: left;&#xA;    background-color: rgb(175, 107, 76);&#xA;    color: white;&#xA;  }&#xA;&lt;/style&gt;&#xA;&#xA;&lt;div style=&#34;width:100%; height:400px; overflow:auto&#34;&gt;&#xA;  &lt;table border=&#34;1&#34; id=&#34;customers&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr style=&#34;text-align: right;&#34;&gt;&#xA;      &lt;th&gt;&lt;/th&gt;&#xA;      &lt;th&gt;고객ID&lt;/th&gt;&#xA;      &lt;th&gt;이탈여부&lt;/th&gt;&#xA;      &lt;th&gt;총_매출액&lt;/th&gt;&#xA;      &lt;th&gt;방문빈도&lt;/th&gt;&#xA;      &lt;th&gt;1회_평균매출액&lt;/th&gt;&#xA;      &lt;th&gt;할인권_사용 횟수&lt;/th&gt;&#xA;      &lt;th&gt;총_할인_금액&lt;/th&gt;&#xA;      &lt;th&gt;고객등급&lt;/th&gt;&#xA;      &lt;th&gt;구매유형&lt;/th&gt;&#xA;      &lt;th&gt;클레임접수여부&lt;/th&gt;&#xA;      &lt;th&gt;구매_카테고리_수&lt;/th&gt;&#xA;      &lt;th&gt;거주지역&lt;/th&gt;&#xA;      &lt;th&gt;성별&lt;/th&gt;&#xA;      &lt;th&gt;고객_나이대&lt;/th&gt;&#xA;      &lt;th&gt;거래기간&lt;/th&gt;&#xA;      &lt;th&gt;할인민감여부&lt;/th&gt;&#xA;      &lt;th&gt;멤버쉽_프로그램_가입전_만족도&lt;/th&gt;&#xA;      &lt;th&gt;멤버쉽_프로그램_가입후_만족도&lt;/th&gt;&#xA;      &lt;th&gt;Recency&lt;/th&gt;&#xA;      &lt;th&gt;Frequency&lt;/th&gt;&#xA;      &lt;th&gt;Monetary&lt;/th&gt;&#xA;      &lt;th&gt;상품_만족도&lt;/th&gt;&#xA;      &lt;th&gt;매장_만족도&lt;/th&gt;&#xA;      &lt;th&gt;서비스_만족도&lt;/th&gt;&#xA;      &lt;th&gt;상품_품질&lt;/th&gt;&#xA;      &lt;th&gt;상품_다양성&lt;/th&gt;&#xA;      &lt;th&gt;가격_적절성&lt;/th&gt;&#xA;      &lt;th&gt;상품_진열_위치&lt;/th&gt;&#xA;      &lt;th&gt;상품_설명_표시&lt;/th&gt;&#xA;      &lt;th&gt;매장_청결성&lt;/th&gt;&#xA;      &lt;th&gt;공간_편의성&lt;/th&gt;&#xA;      &lt;th&gt;시야_확보성&lt;/th&gt;&#xA;      &lt;th&gt;음향_적절성&lt;/th&gt;&#xA;      &lt;th&gt;안내_표지판_설명&lt;/th&gt;&#xA;      &lt;th&gt;친절성&lt;/th&gt;&#xA;      &lt;th&gt;신속성&lt;/th&gt;&#xA;      &lt;th&gt;책임성&lt;/th&gt;&#xA;      &lt;th&gt;정확성&lt;/th&gt;&#xA;      &lt;th&gt;전문성&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;0&lt;/th&gt;&#xA;      &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;4007080&lt;/td&gt;&#xA;      &lt;td&gt;17&lt;/td&gt;&#xA;      &lt;td&gt;235711&lt;/td&gt;&#xA;      &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;5445&lt;/td&gt;&#xA;      &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;4&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;4&lt;/td&gt;&#xA;      &lt;td&gt;1079&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;5&lt;/td&gt;&#xA;      &lt;td&gt;7&lt;/td&gt;&#xA;      &lt;td&gt;7&lt;/td&gt;&#xA;      &lt;td&gt;3&lt;/td&gt;&#xA;      &lt;td&gt;4&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;5&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;7&lt;/td&gt;&#xA;      &lt;td&gt;7&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;7.0&lt;/td&gt;&#xA;      &lt;td&gt;6.0&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;7&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;1&lt;/th&gt;&#xA;      &lt;td&gt;2&lt;/td&gt;&#xA;      &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;3168400&lt;/td&gt;&#xA;      &lt;td&gt;14&lt;/td&gt;&#xA;      &lt;td&gt;226314&lt;/td&gt;&#xA;      &lt;td&gt;22&lt;/td&gt;&#xA;      &lt;td&gt;350995&lt;/td&gt;&#xA;      &lt;td&gt;2&lt;/td&gt;&#xA;      &lt;td&gt;4&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;4&lt;/td&gt;&#xA;      &lt;td&gt;4&lt;/td&gt;&#xA;      &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;537&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;2&lt;/td&gt;&#xA;      &lt;td&gt;3&lt;/td&gt;&#xA;      &lt;td&gt;2&lt;/td&gt;&#xA;      &lt;td&gt;3&lt;/td&gt;&#xA;      &lt;td&gt;3&lt;/td&gt;&#xA;      &lt;td&gt;2&lt;/td&gt;&#xA;      &lt;td&gt;5&lt;/td&gt;&#xA;      &lt;td&gt;4&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;7&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6.0&lt;/td&gt;&#xA;      &lt;td&gt;NaN&lt;/td&gt;&#xA;      &lt;td&gt;7&lt;/td&gt;&#xA;      &lt;td&gt;7&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;5&lt;/td&gt;&#xA;      &lt;td&gt;3&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;2&lt;/th&gt;&#xA;      &lt;td&gt;3&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;2680780&lt;/td&gt;&#xA;      &lt;td&gt;18&lt;/td&gt;&#xA;      &lt;td&gt;148932&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;186045&lt;/td&gt;&#xA;      &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;4&lt;/td&gt;&#xA;      &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;1080&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;7&lt;/td&gt;&#xA;      &lt;td&gt;3&lt;/td&gt;&#xA;      &lt;td&gt;2&lt;/td&gt;&#xA;      &lt;td&gt;4&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;7&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;7&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;7.0&lt;/td&gt;&#xA;      &lt;td&gt;NaN&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;7&lt;/td&gt;&#xA;      &lt;td&gt;7&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;7&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;3&lt;/th&gt;&#xA;      &lt;td&gt;4&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;5946600&lt;/td&gt;&#xA;      &lt;td&gt;17&lt;/td&gt;&#xA;      &lt;td&gt;349800&lt;/td&gt;&#xA;      &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;5195&lt;/td&gt;&#xA;      &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;4&lt;/td&gt;&#xA;      &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;5&lt;/td&gt;&#xA;      &lt;td&gt;5&lt;/td&gt;&#xA;      &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;1019&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;3&lt;/td&gt;&#xA;      &lt;td&gt;5&lt;/td&gt;&#xA;      &lt;td&gt;7&lt;/td&gt;&#xA;      &lt;td&gt;3&lt;/td&gt;&#xA;      &lt;td&gt;5&lt;/td&gt;&#xA;      &lt;td&gt;3&lt;/td&gt;&#xA;      &lt;td&gt;5&lt;/td&gt;&#xA;      &lt;td&gt;5&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;5.0&lt;/td&gt;&#xA;      &lt;td&gt;6.0&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;5&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;5&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th&gt;4&lt;/th&gt;&#xA;      &lt;td&gt;5&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;13745950&lt;/td&gt;&#xA;      &lt;td&gt;73&lt;/td&gt;&#xA;      &lt;td&gt;188301&lt;/td&gt;&#xA;      &lt;td&gt;9&lt;/td&gt;&#xA;      &lt;td&gt;246350&lt;/td&gt;&#xA;      &lt;td&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;2&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;1086&lt;/td&gt;&#xA;      &lt;td&gt;0&lt;/td&gt;&#xA;      &lt;td&gt;5&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;7&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;7&lt;/td&gt;&#xA;      &lt;td&gt;5&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;5&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;5.0&lt;/td&gt;&#xA;      &lt;td&gt;6.0&lt;/td&gt;&#xA;      &lt;td&gt;5&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;5&lt;/td&gt;&#xA;      &lt;td&gt;5&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;      &lt;td&gt;5&lt;/td&gt;&#xA;      &lt;td&gt;6&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터를 확인했다면, 이제, 클레임 접수여부에 따라 클레임이 없는 (0)고객과, 클레임이 있는 고객(1) 객체에 저장후 두 그룹의 방문빈도를 추출한다.&lt;/li&gt;&#xA;&lt;li&gt;우선 클레임이 없는 고객을 뽑자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;no_claim &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; data[data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;클레임접수여부 &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;no_claim_array &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array(no_claim&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;방문빈도)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;no_claim_array&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;array([ 17,  14,  73,  26,   6,  17,  19,  88,  39,  12,  27,  21,  56,&#xA;        16,  21,  28,  17,  15,  48,  42,  33,   9,  32,  15,  23,  24,&#xA;        18,  18,  38,  15,  16,  36,   8,  33,  41,  34,  12,  56,  60,&#xA;        27,  10,  39,  48,  24,   8,   7,  25,  19,  33,  22,  30,   9,&#xA;        80,  18,  15,  50,  71,  15,  66,  41,  18,   5,  78,  30,  14,&#xA;        10,  54,  21,  43,  33,  24,  21,  13,  25,  37,  25,  47,  60,&#xA;        21,  23,  18,  26,  28,  31,  58,  88,  19,  38,  37,  20,  33,&#xA;        18,  15,   7,  29,  30,   6,  16,  10,  23,  10,  14,  18,  11,&#xA;        15,  14,  90,   9,   9,   5,  15,  11,  33,   9,  20,   6,  42,&#xA;        17,  78,   9,  20,  37,  14,  17,  25,  52,  19,   9,  26,  16,&#xA;        49,  32,  24,  40,  44,  13,  16,  25,  16,  47,  27,   9,  15,&#xA;         5,  26,  34,  39,  18,  28,  16,  32,  81,  15,  41,   9,  10,&#xA;         9,   8,  56,  12,  65,  10,  45,  60,  22,  52,  15,  61,  18,&#xA;        12,  23,  93,  28,  12,  39, 103,  11,  28,   6,  35,   6,  86,&#xA;        17, 185,  16,  37,  21,  22,  50,  37,  14,  15,  28,  14,  11,&#xA;        31,  31,  59,  26,  20,  29,  23,  11,  29,  11, 108,   6,  37,&#xA;        29,  12,  11,  10,  18,  36,  73,  18,  22,  14,  22,  13,  31,&#xA;        15,  31,  25,  52,  10,  35,   9,   9,   5,  27,  12,  79,  21,&#xA;         8,  11,  64,  22,  60,  31,  15,  48,  18,   8,  31,  14,  46,&#xA;       102,  10,  34,   4,  23,  43,  45,   9,  18,  26,  12,   8,  81,&#xA;        51,  14,  28,  18,  24,  28,  15,  29,   8,   5,  17,  16,  28,&#xA;        36,  27,  11,  10,  20,  13,  54,  23,  14,  27,  13,  38,  38,&#xA;        79,  27,  97,   8,  10,  41,   6,  19,  16,  21,  46,  23,  39,&#xA;        38,  19,   7,   6,  33,  61,  15,  10, 114,  71,  33,  25,  79,&#xA;        13,  29,  34,  30,  19,  23,  40,  15,  17,   8,   3,   7,  21,&#xA;         9,  40,  46,  24,  73,  38,  56,  13,  13,  30,  46,   6,  30,&#xA;        19,   5,  20,  23,   7,  20,  26,  15,  58,  15,  11,  31,  17,&#xA;        10,  14,  20,  10,  50,  21,  37,  30,   6,  16,  23,  21, 102,&#xA;        26,  43,   8,  15,  10,  14,  71,  60,  45,  25,  49,  50,   9,&#xA;        18,  23,  29, 106,  35,  22,  12, 203,  12,  17,  14,  39,  11,&#xA;        19,  29,  22,  21,   9,  22,  11,  21,  58,  10,   5,  16,  39,&#xA;        13,  33,  13,  14,  13,  18,  42,  11,  29,  28,  35,   9,  21,&#xA;        26,  17,  24,   5,  23,  71,  22,  20,  20,   7,  14,  12,  10,&#xA;        16,  18,  30,  25,  22,  15,  18,  43,  33,  46,  14,  12,  24,&#xA;        23,  18,  23,   9,  13,  17,  22,   7,  18,  15,  39,  22,  22,&#xA;        22,   9,  15,  36,  24,  32,  38, 109,  28,  23,  20,  76,  43,&#xA;        25,   5,  46,  10,  22,  18,  30,  75,  34,  11,  17,  43,  39,&#xA;        84,  42,  41,  26,  32,  31,  37,  15,  50,  22,  19,   6,  19,&#xA;        11,   7,  25,  63,  21,  16,  67,  27,   5,  32,  31, 114,  20,&#xA;        21,  14,  80,  19,  14,  32,   4,  15,  37,  24,  14,  11,  10,&#xA;        20,  30,  10,  19,   6,  26,  26,   9,   4,  66,  16,  24,  29,&#xA;        33,  20,  19,  20,  49,  10,  15,  23])&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;두번째, 클레임이 있는 고객을 뽑아본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;claim &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; data[data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;클레임접수여부 &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;claim_array &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array(claim&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;방문빈도)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;claim_array&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;array([ 18,  17, 109,  15,  21,   9,  12,  28,   5,  12,  12,  13,   8,&#xA;        18,  27,  34,  23,  19,  29,  10,  19,  28,  23,  30,  14,  20,&#xA;         7,  14,  32,  32,  18,  17,  10,  23,  12,   9,  43,  42,   7,&#xA;        12,  73,  26,  27,  25,  29,  37,  32,  45,  34,   7,  29,  26,&#xA;        27,  33,  27,  28,   8,  45,  66,  14,  73,  24,  13,  54,  24,&#xA;        17,  29,  29,  57,  18,  17,  27,  15,  23,  11,   4,  15,  31,&#xA;        21,  21,  11,  19,  34,  41,  18,  45,  10,  72,  18,  82,  10,&#xA;        26,  17,  37,  17,   8,  26,  11,  28,  17,  12,  23,  37,  19,&#xA;         7,  20,   9,  14,  13,  36,  26,  23,  23,  16,  30,  13,  45,&#xA;        30,   6,  44,  32,  19,  20,  24,   7,  14,   7,  65,  31,   6,&#xA;        37,  91,  17,  12,  23,  61, 162,  23,  21,  12,  14,  10,  18,&#xA;        14,   4,   6,  26,  19,  27,  14,   7,  32,  11,  11,  20,   7,&#xA;         7,   7,  27,  16,  26,  10,  12,   8,  12,  25,  14,  18,  30,&#xA;        33,  86,  20,  22,  10,  34,  36,   9,  68,  28,  14,  61,   9,&#xA;        17,   6,  30,  14,  25,  32,  19,  34,  26,  17,  24,  18,  30,&#xA;        15,  15,  96,  17,  18,  19,  24,  16,   6,  27,  31,  15,  38,&#xA;        11,   7,  65,  15,   7,  23,   7,  15,  34,  17,  20,  19,  10,&#xA;        14,  19,  69,   4,  21,  13,  20,  45,  50,  58,   6,  15,  10,&#xA;        10,  19,  32,   6,  38,  36,   6,  39,  16,  20,  48,  26,  21,&#xA;        22,   7,   8,  28,   8,  31,  13,  46,  20,   8,  49,   9,  48,&#xA;        20,  25,  54,  21,   6,  30,  40,  11,  12,  28,  15,  24,  90,&#xA;        22,  15,  14,   7,  77,  39,  11,  18,  16,  55,  15,  12,  17,&#xA;        23,  15,  33,  15,  18,  28,   7,  17,  34,  27,  44,  35,  67,&#xA;        12,  54,  18,  10,  21,  28,  67,   9, 126,  23,  10,  41,  15,&#xA;        21,  21,  42,  18,  31,  13,  20,  19,  39,  26,  11,  22,  64,&#xA;         4,  27,  21,  14,  30,  25,  18,  11,  10,  70,  24,  18,  19,&#xA;        30,  30,  19, 104,  39,  92,  52,  48,  30,  79,  15,  24,  23,&#xA;        14,   8,   9,  21,  18,  11,   7,   8,  13,  21,  23,   2,  12,&#xA;        12,  52,  22,  20,   6,  22,   6,  24,  12,  18,  20,  11,  12,&#xA;        33,   8,  24,  79,  34,   8,  36,  13,  19,   5,  12,  25,  31,&#xA;        27,  17,  11,  65,  29,  18,  10,  28,  22,  12,  18,  20,  27,&#xA;        17,  20,  17,   8,  38,  18,  25,  10,   7,  18,  11,  55,   5,&#xA;        20,  11,  41,  12,  11,  26,  55,  25,   6,  35,  38,  32,  27,&#xA;        11,  10,  11,  55,  22,  12,  18,  10,  15,  32,  13,  29,   8,&#xA;        17,  83,  15,   7,   8,  11,  27,  21,  18,  15,  19,   8,  16,&#xA;        35,  15,  40,   8])&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그 후, &lt;code&gt;stats.bartlett()&lt;/code&gt; 함수를 이용하여 등분산 검정을 실시한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;함수 설명: &lt;a href=&#34;https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.bartlett.html&#34;&gt;stats.bartlett()&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이 때, 주의해야 하는 것이 있다.&lt;/li&gt;&#xA;&lt;li&gt;등분산 검정의 귀무가설과 대립가설을 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;H0 : 등분산이다.&lt;/li&gt;&#xA;&lt;li&gt;H1 : 이분산이다(등분산이 아니다).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;즉, 등분산 가정의 귀무가설을 채택하려면 유의확률인 0.05 &amp;gt; p 나와야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; scipy &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; stats&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;stats&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;bartlett(no_claim_array, claim_array)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;BartlettResult(statistic=13.626177910965525, pvalue=0.00022305349806448475)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;여기에서 두 고객 그룹간의 등분산 검정 결과 &lt;code&gt;F&lt;/code&gt;값은 13.626, 유의확률은 &lt;code&gt;0.05&lt;/code&gt;미만으로 귀무가설이 기각된다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;즉, 두 집단의 분산은 동일하지 않은 것으로 나타났다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;등분산성이 나와야 하는데, 나오지 않아서 입문자들이 조금 당혹스러워 할 수 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;굳이 당황할 필요는 없다. 분산이 동일하지 않으면 동일하지 않다고 표시만 해두면 된다. &lt;code&gt;(check: equal_var)&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이제 &lt;code&gt;ttest_ind&lt;/code&gt;를 활용해서 구하도록 하자.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;함수설명: &lt;a href=&#34;https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttest_ind.html&#34;&gt;ttest_ind&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(stats&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ttest_ind(no_claim_array, claim_array, equal_var&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Ttest_indResult(statistic=2.595726838875684, pvalue=0.009577734932789503)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;독립표본 &lt;code&gt;t-value&lt;/code&gt;는 &lt;code&gt;2.59&lt;/code&gt;이며, &lt;code&gt;p-value&lt;/code&gt; &lt;code&gt;0.0095&lt;/code&gt;로 나왔다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 의미는 두 그룹간의 평균 방문 빈도에 차이가 있음을 의미한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;조금 더 구체적으로 구해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;4-시각화&#34;&gt;(4) 시각화&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실제 두 그룹간의 차이를 &lt;code&gt;matplotlib&lt;/code&gt;을 활용하여 시각화로 구현해본다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 각 그룹의 &lt;code&gt;평균(Mean)&lt;/code&gt;과 &lt;code&gt;표준편차(Standard Deviation)&lt;/code&gt;를 구한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 평균 계산하기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;no_claim_mean &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mean(no_claim_array)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;claim_mean &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mean(claim_array)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;클레임이 없는 고객의 평균 방문빈도:&amp;#34;&lt;/span&gt;, no_claim_mean)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;클레임이 있는 고객의 평균 방문빈도:&amp;#34;&lt;/span&gt;, claim_mean)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 표준편차 구하기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;no_claim_std &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;std(no_claim_array)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;claim_std &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;std(claim_array)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;클레임이 없는 고객의 표준편차:&amp;#34;&lt;/span&gt;, no_claim_std)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;클레임이 있는 고객의 표준편차:&amp;#34;&lt;/span&gt;, claim_std)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 라벨 정리&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;viz_labels &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;No Claim&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Claim&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;x_pos &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;arange(len(viz_labels))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;avg &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; (no_claim_mean, claim_mean)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;error &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [no_claim_std, claim_std]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;클레임이 없는 고객의 평균 방문빈도: 28.184842883548985&#xA;클레임이 있는 고객의 평균 방문빈도: 24.736383442265794&#xA;클레임이 없는 고객의 표준편차: 22.7348095052013&#xA;클레임이 있는 고객의 표준편차: 19.234427104778828&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig, ax &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;subplots()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ax&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;bar(x_pos, avg,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       yerr &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; error,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       align&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;center&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       alpha&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.5&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       ecolor&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;black&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       capsize&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ax&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;set_ylabel(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Avg. Customer Visitation&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ax&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;set_xticks(x_pos)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ax&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;set_xticklabels(viz_labels)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ax&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;set_title(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;The Customer difference between No Claim and Claim&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ax&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;yaxis&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;grid(&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;tight_layout()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/09/Chapter_5_3_ttest_sample/output_21_0.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>삼성카드 대회 Track-2 - 포지셔닝 분석(2)</title>
      <link>https://dschloe.github.io/programming/2020/09/samsung_card_track_2_4/</link>
      <pubDate>Fri, 04 Sep 2020 10:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/09/samsung_card_track_2_4/</guid>
      <description>&lt;h2 id=&#34;대회-소개&#34;&gt;대회 소개&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/08/samsung_card_track_2_1/samsungcard.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.samsungcard.com/personal/notice/news/UHPPCC0248M0.jsp?itgBlbdSn=5203&amp;amp;chnlDv=01&amp;amp;itgBlbdTpDvc=01&#34;&gt;삼성카드 데이터분석 공모전&lt;/a&gt;이 시행되고 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;대회에 처음 참여하는 &lt;code&gt;아시아경제-수강생&lt;/code&gt;들을 위해 일종의 가이드라인으로 제안하고자 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;본 포스트에서는 기본적인 내용만 전달하고자 함을 밝힌다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Track2 과정은 마케팅 전략 제안이 중요하다!&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;포지셔닝-분석-개요&#34;&gt;포지셔닝 분석 개요&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/09/Chapter_5_1_positioning_analysis_1/marketing_positioning.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;마케팅에서 자주 보는 분석 방법중의 하나는 &lt;code&gt;포지셔닝(Positioning)&lt;/code&gt; 기법이다.&lt;/li&gt;&#xA;&lt;li&gt;포지셔닝 분석은 마케팅 통계분석 기법중의 하나로, 기업이나, 상품, 브랜드 같은 개체들의 포지셔닝을 수행하는 다차원 척도법(MDS: Multi-Dimensional Scaling)과 상응분석(Correspondence Analysis)이 있다.&lt;/li&gt;&#xA;&lt;li&gt;위 두가지 분석 방법 중 무엇을 사용해야 할까?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;만약 데이터셋이 주로 등간척도, 비율척도와 같이 구성되어 있다면 &lt;code&gt;다차원 척도법&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;만약 데이터셋이 주로 명목척도, 서열척도와 같이 구성되어 있다면 &lt;code&gt;상응분석&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;현재 삼성카드 대회의 주 데이터셋은 명목척도 및 서열척도로 구성되어 있기 때문에 &lt;code&gt;상응분석&lt;/code&gt;으로 시작하면 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;상응분석&#34;&gt;상응분석&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Correspondence Analysis&lt;/code&gt;는 범주형 변수(수준)들 간의 연관성을 분석한 후, 그 결과를 시각적 해석이 용이하도록 그래프화 하는 것임&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/python/python_edu/competition/samsungcard20/samsung_card_track_2_3/&#34;&gt;삼성카드 대회 Track-2 - 포지셔닝 분석(1)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-기본-개념&#34;&gt;(1) 기본 개념&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;상응분석을 사용하려면 빈도교차표를 만들어야 한다.&lt;/li&gt;&#xA;&lt;li&gt;요약하면, 상응분석은 범주형 변수의 빈도를 나타내고 있는 빈도교차표의 행과 열(명목변수의 범주 값들)을 그래프상의 자극점 형태로 표시하는 방법.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 단순 상응분석은 2개의 변수, 다중 상응분석은 3개 이상의 변수 활용한다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 상응분석은 카이제곱 검정과 같이 범주형 변수간의 상호연관성을 바탕으로 진행된다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;따라서, 두 개의 범주형 변수가 서로 연관성을 가지고 있다는 전제하에서 진행된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-데이터-불러오기&#34;&gt;(2) 데이터 불러오기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 필요한 데이터를 불러온다.&lt;/li&gt;&#xA;&lt;li&gt;필자는 구글 코랩에서 데이터를 불러오기 때문에&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;config InlineBackend&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;figure_format &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;retina&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;sudo apt&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;get &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;qq &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;y install fonts&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;nanum&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;The following package was automatically installed and is no longer required:&#xA;  libnvidia-common-440&#xA;Use &#39;apt autoremove&#39; to remove it.&#xA;The following NEW packages will be installed:&#xA;  fonts-nanum&#xA;0 upgraded, 1 newly installed, 0 to remove and 39 not upgraded.&#xA;Need to get 9,604 kB of archives.&#xA;After this operation, 29.5 MB of additional disk space will be used.&#xA;Selecting previously unselected package fonts-nanum.&#xA;(Reading database ... 144579 files and directories currently installed.)&#xA;Preparing to unpack .../fonts-nanum_20170925-1_all.deb ...&#xA;Unpacking fonts-nanum (20170925-1) ...&#xA;Setting up fonts-nanum (20170925-1) ...&#xA;Processing triggers for fontconfig (2.12.6-0ubuntu2) ...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; mpl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.font_manager &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; fm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/usr/local/lib/python3.6/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.&#xA;  import pandas.util.testing as tm&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; font &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fontManager&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ttflist:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Nanum&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; font&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(font&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name, font&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fname)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;NanumGothic /usr/share/fonts/truetype/nanum/NanumGothic.ttf&#xA;NanumSquareRound /usr/share/fonts/truetype/nanum/NanumSquareRoundR.ttf&#xA;NanumSquare /usr/share/fonts/truetype/nanum/NanumSquareR.ttf&#xA;NanumSquareRound /usr/share/fonts/truetype/nanum/NanumSquareRoundB.ttf&#xA;NanumBarunGothic /usr/share/fonts/truetype/nanum/NanumBarunGothicBold.ttf&#xA;NanumMyeongjo /usr/share/fonts/truetype/nanum/NanumMyeongjo.ttf&#xA;NanumMyeongjo /usr/share/fonts/truetype/nanum/NanumMyeongjoBold.ttf&#xA;NanumBarunGothic /usr/share/fonts/truetype/nanum/NanumBarunGothic.ttf&#xA;NanumSquare /usr/share/fonts/truetype/nanum/NanumSquareB.ttf&#xA;NanumGothic /usr/share/fonts/truetype/nanum/NanumGothicBold.ttf&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fontpath &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/usr/share/fonts/truetype/nanum/NanumGothic.ttf&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;font &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;FontProperties(fname&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;fontpath, size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rc(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font&amp;#39;&lt;/span&gt;, family&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NanumGothic&amp;#39;&lt;/span&gt;) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;figure.figsize&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; (&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lines.linewidth&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lines.color&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;r&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;axes.grid&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mpl&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;font_manager&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;_rebuild()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;_rebuild()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;한글 텍스트가 잘 나오는지 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;font &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;family&amp;#39;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NanumGothic&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;weight&amp;#39;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;bold&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;size&amp;#39;&lt;/span&gt;   : &lt;span style=&#34;color:#ae81ff&#34;&gt;22&lt;/span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rc(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;font)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;text(&lt;span style=&#34;color:#ae81ff&#34;&gt;0.3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0.3&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;한글&amp;#39;&lt;/span&gt;, size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Text(0.3, 0.3, &#39;한글&#39;)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/09/samsung_card_track_2_4/output_11_1.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>삼성카드 대회 Track-2 - 포지셔닝 분석(1)</title>
      <link>https://dschloe.github.io/programming/2020/09/samsung_card_track_2_3/</link>
      <pubDate>Fri, 04 Sep 2020 02:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/09/samsung_card_track_2_3/</guid>
      <description>&lt;h2 id=&#34;대회-소개&#34;&gt;대회 소개&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/08/samsung_card_track_2_1/samsungcard.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.samsungcard.com/personal/notice/news/UHPPCC0248M0.jsp?itgBlbdSn=5203&amp;amp;chnlDv=01&amp;amp;itgBlbdTpDvc=01&#34;&gt;삼성카드 데이터분석 공모전&lt;/a&gt;이 시행되고 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;대회에 처음 참여하는 &lt;code&gt;아시아경제-수강생&lt;/code&gt;들을 위해 일종의 가이드라인으로 제안하고자 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;본 포스트에서는 기본적인 내용만 전달하고자 함을 밝힌다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Track2 과정은 마케팅 전략 제안이 중요하다!&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;포지셔닝-분석-개요&#34;&gt;포지셔닝 분석 개요&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/09/Chapter_5_1_positioning_analysis_1/marketing_positioning.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;마케팅에서 자주 보는 분석 방법중의 하나는 &lt;code&gt;포지셔닝(Positioning)&lt;/code&gt; 기법이다.&lt;/li&gt;&#xA;&lt;li&gt;포지셔닝 분석은 마케팅 통계분석 기법중의 하나로, 기업이나, 상품, 브랜드 같은 개체들의 포지셔닝을 수행하는 다차원 척도법(MDS: Multi-Dimensional Scaling)과 상응분석(Correspondence Analysis)이 있다.&lt;/li&gt;&#xA;&lt;li&gt;위 두가지 분석 방법 중 무엇을 사용해야 할까?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;만약 데이터셋이 주로 등간척도, 비율척도와 같이 구성되어 있다면 &lt;code&gt;다차원 척도법&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;만약 데이터셋이 주로 명목척도, 서열척도와 같이 구성되어 있다면 &lt;code&gt;상응분석&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;현재 삼성카드 대회의 주 데이터셋은 명목척도 및 서열척도로 구성되어 있기 때문에 &lt;code&gt;상응분석&lt;/code&gt;으로 시작하면 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;상응분석&#34;&gt;상응분석&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Correspondence Analysis&lt;/code&gt;는 범주형 변수(수준)들 간의 연관성을 분석한 후, 그 결과를 시각적 해석이 용이하도록 그래프화 하는 것임&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-기본-개념&#34;&gt;(1) 기본 개념&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;상응분석을 사용하려면 빈도교차표를 만들어야 한다.&lt;/li&gt;&#xA;&lt;li&gt;요약하면, 상응분석은 범주형 변수의 빈도를 나타내고 있는 빈도교차표의 행과 열(명목변수의 범주 값들)을 그래프상의 자극점 형태로 표시하는 방법.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 단순 상응분석은 2개의 변수, 다중 상응분석은 3개 이상의 변수 활용한다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 상응분석은 카이제곱 검정과 같이 범주형 변수간의 상호연관성을 바탕으로 진행된다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;따라서, 두 개의 범주형 변수가 서로 연관성을 가지고 있다는 전제하에서 진행된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-데이터-불러오기&#34;&gt;(2) 데이터 불러오기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 필요한 데이터를 불러온다.&lt;/li&gt;&#xA;&lt;li&gt;필자는 구글 코랩에서 데이터를 불러오기 때문에&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;config InlineBackend&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;figure_format &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;retina&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;sudo apt&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;get &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;qq &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;y install fonts&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;nanum&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;The following package was automatically installed and is no longer required:&#xA;  libnvidia-common-440&#xA;Use &#39;apt autoremove&#39; to remove it.&#xA;The following NEW packages will be installed:&#xA;  fonts-nanum&#xA;0 upgraded, 1 newly installed, 0 to remove and 39 not upgraded.&#xA;Need to get 9,604 kB of archives.&#xA;After this operation, 29.5 MB of additional disk space will be used.&#xA;Selecting previously unselected package fonts-nanum.&#xA;(Reading database ... 144579 files and directories currently installed.)&#xA;Preparing to unpack .../fonts-nanum_20170925-1_all.deb ...&#xA;Unpacking fonts-nanum (20170925-1) ...&#xA;Setting up fonts-nanum (20170925-1) ...&#xA;Processing triggers for fontconfig (2.12.6-0ubuntu2) ...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; mpl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.font_manager &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; fm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/usr/local/lib/python3.6/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.&#xA;  import pandas.util.testing as tm&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; font &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fontManager&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ttflist:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Nanum&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; font&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(font&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name, font&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fname)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;NanumGothic /usr/share/fonts/truetype/nanum/NanumGothicBold.ttf&#xA;NanumBarunGothic /usr/share/fonts/truetype/nanum/NanumBarunGothic.ttf&#xA;NanumBarunGothic /usr/share/fonts/truetype/nanum/NanumBarunGothicBold.ttf&#xA;NanumSquare /usr/share/fonts/truetype/nanum/NanumSquareB.ttf&#xA;NanumMyeongjo /usr/share/fonts/truetype/nanum/NanumMyeongjoBold.ttf&#xA;NanumSquareRound /usr/share/fonts/truetype/nanum/NanumSquareRoundB.ttf&#xA;NanumSquare /usr/share/fonts/truetype/nanum/NanumSquareR.ttf&#xA;NanumMyeongjo /usr/share/fonts/truetype/nanum/NanumMyeongjo.ttf&#xA;NanumSquareRound /usr/share/fonts/truetype/nanum/NanumSquareRoundR.ttf&#xA;NanumGothic /usr/share/fonts/truetype/nanum/NanumGothic.ttf&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fontpath &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/usr/share/fonts/truetype/nanum/NanumGothic.ttf&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;font &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;FontProperties(fname&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;fontpath, size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rc(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font&amp;#39;&lt;/span&gt;, family&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NanumGothic&amp;#39;&lt;/span&gt;) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;figure.figsize&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; (&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lines.linewidth&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lines.color&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;r&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;axes.grid&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mpl&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;font_manager&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;_rebuild()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;_rebuild()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;한글 텍스트가 잘 나오는지 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;font &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;family&amp;#39;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NanumGothic&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;weight&amp;#39;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;bold&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;size&amp;#39;&lt;/span&gt;   : &lt;span style=&#34;color:#ae81ff&#34;&gt;22&lt;/span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rc(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;font)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;text(&lt;span style=&#34;color:#ae81ff&#34;&gt;0.3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0.3&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;한글&amp;#39;&lt;/span&gt;, size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Text(0.3, 0.3, &#39;한글&#39;)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/09/samsung_card_track_2_3/output_10_1.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>머신러닝 알고리즘 - 결정트리 회귀모형</title>
      <link>https://dschloe.github.io/programming/2020/09/chapter_4_3_regression_tree/</link>
      <pubDate>Thu, 03 Sep 2020 18:18:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/09/chapter_4_3_regression_tree/</guid>
      <description>&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;결정트리 회귀 모형에 대해 배우도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;트리모형의 일반적인 특징에 대해 익힌다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-결정-트리-모형&#34;&gt;II. 결정 트리 모형&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;결정 트리는 분류, 회귀, 다중출력 작업도 가능한 활용범위가 많은 머신러닝 알고리즘이다.&lt;/li&gt;&#xA;&lt;li&gt;결정 트리는 최근에 사용하는 &lt;code&gt;랜덤포레스트&lt;/code&gt;, &lt;code&gt;XGboost&lt;/code&gt;, &lt;code&gt;LightGBM&lt;/code&gt;과 같은 모형의 기본 구성 요소이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-의사결정-나무-예제&#34;&gt;(1) 의사결정 나무 예제&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;의사 결정 나무에서 자주 사용되는 예제를 우선 확인해보자.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;먼저, 데이터셋을 기준으로 &lt;code&gt;IRIS&lt;/code&gt; 붓꽃의 종류는 아래와 같이 3가지로 구성되어 있다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Versicolor&lt;/code&gt;, &lt;code&gt;Setosa&lt;/code&gt;, &lt;code&gt;Virginica&lt;/code&gt;&#xA;&lt;img src=&#34;https://s3.amazonaws.com/assets.datacamp.com/blog_assets/Machine+Learning+R/iris-machinelearning.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;위 이미지에서 보는 것처럼, 종에 따라 잎의 크기가 다른 것을 확인할 수 있다. 이제 예제 데이터를 불러오는 것부터 시작해보자.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python 통계 - 포지셔닝 분석(2)</title>
      <link>https://dschloe.github.io/programming/2020/09/chapter_5_2_positioning_analysis_2/</link>
      <pubDate>Thu, 03 Sep 2020 10:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/09/chapter_5_2_positioning_analysis_2/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;포지셔닝-분석-개요&#34;&gt;포지셔닝 분석 개요&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/09/Chapter_5_1_positioning_analysis_1/marketing_positioning.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;마케팅에서 자주 보는 분석 방법중의 하나는 &lt;code&gt;포지셔닝(Positioning)&lt;/code&gt; 기법이다.&lt;/li&gt;&#xA;&lt;li&gt;포지셔닝 분석은 마케팅 통계분석 기법중의 하나로, 기업이나, 상품, 브랜드 같은 개체들의 포지셔닝을 수행하는 다차원 척도법(MDS: Multi-Dimensional Scaling)과 상응분석(Correspondence Analysis)이 있다.&lt;/li&gt;&#xA;&lt;li&gt;위 두가지 분석 방법 중 무엇을 사용해야 할까?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;만약 데이터셋이 주로 등간척도, 비율척도와 같이 구성되어 있다면 &lt;code&gt;다차원 척도법&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;만약 데이터셋이 주로 명목척도, 서열척도와 같이 구성되어 있다면 &lt;code&gt;상응분석&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;현재 삼성카드 대회의 주 데이터셋은 명목척도 및 서열척도로 구성되어 있기 때문에 &lt;code&gt;상응분석&lt;/code&gt;으로 시작하면 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;상응분석&#34;&gt;상응분석&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Correspondence Analysis&lt;/code&gt;는 범주형 변수(수준)들 간의 연관성을 분석한 후, 그 결과를 시각적 해석이 용이하도록 그래프화 하는 것임&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-기본-개념&#34;&gt;(1) 기본 개념&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;상응분석을 사용하려면 빈도교차표를 만들어야 한다.&lt;/li&gt;&#xA;&lt;li&gt;요약하면, 상응분석은 범주형 변수의 빈도를 나타내고 있는 빈도교차표의 행과 열(명목변수의 범주 값들)을 그래프상의 자극점 형태로 표시하는 방법.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 단순 상응분석은 2개의 변수, 다중 상응분석은 3개 이상의 변수 활용한다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 상응분석은 카이제곱 검정과 같이 범주형 변수간의 상호연관성을 바탕으로 진행된다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;따라서, 두 개의 범주형 변수가 서로 연관성을 가지고 있다는 전제하에서 진행된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-데이터-불러오기&#34;&gt;(2) 데이터 불러오기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 필요한 데이터를 불러온다.&lt;/li&gt;&#xA;&lt;li&gt;필자는 구글 코랩에서 데이터를 불러오기 때문에&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;config InlineBackend&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;figure_format &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;retina&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;apt &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;qq &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;y install fonts&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;nanum&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;fonts-nanum is already the newest version (20170925-1).&#xA;The following package was automatically installed and is no longer required:&#xA;  libnvidia-common-440&#xA;Use &#39;apt autoremove&#39; to remove it.&#xA;0 upgraded, 0 newly installed, 0 to remove and 39 not upgraded.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; mpl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.font_manager &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; fm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/usr/local/lib/python3.6/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.&#xA;  import pandas.util.testing as tm&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; font &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fontManager&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ttflist:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Nanum&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; font&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(font&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name, font&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fname)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;NanumMyeongjo /usr/share/fonts/truetype/nanum/NanumMyeongjo.ttf&#xA;NanumSquare /usr/share/fonts/truetype/nanum/NanumSquareR.ttf&#xA;NanumSquare /usr/share/fonts/truetype/nanum/NanumSquareB.ttf&#xA;NanumBarunGothic /usr/share/fonts/truetype/nanum/NanumBarunGothicBold.ttf&#xA;NanumMyeongjo /usr/share/fonts/truetype/nanum/NanumMyeongjoBold.ttf&#xA;NanumSquareRound /usr/share/fonts/truetype/nanum/NanumSquareRoundR.ttf&#xA;NanumSquareRound /usr/share/fonts/truetype/nanum/NanumSquareRoundB.ttf&#xA;NanumBarunGothic /usr/share/fonts/truetype/nanum/NanumBarunGothic.ttf&#xA;NanumGothic /usr/share/fonts/truetype/nanum/NanumGothic.ttf&#xA;NanumGothic /usr/share/fonts/truetype/nanum/NanumGothicBold.ttf&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fontpath &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/usr/share/fonts/truetype/nanum/NanumGothic.ttf&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;font &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;FontProperties(fname&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;fontpath, size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rc(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font&amp;#39;&lt;/span&gt;, family&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NanumGothic&amp;#39;&lt;/span&gt;) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;figure.figsize&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; (&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lines.linewidth&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lines.color&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;r&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;axes.grid&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mpl&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;font_manager&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;_rebuild()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;_rebuild()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;font &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;family&amp;#39;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NanumGothic&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;weight&amp;#39;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;bold&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;size&amp;#39;&lt;/span&gt;   : &lt;span style=&#34;color:#ae81ff&#34;&gt;22&lt;/span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rc(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;font)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;text(&lt;span style=&#34;color:#ae81ff&#34;&gt;0.3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0.3&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;한글&amp;#39;&lt;/span&gt;, size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Text(0.3, 0.3, &#39;한글&#39;)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/09/Chapter_5_2_positioning_analysis_2/output_9_1.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python 통계 - 포지셔닝 분석(1)</title>
      <link>https://dschloe.github.io/programming/2020/09/chapter_5_1_positioning_analysis_1/</link>
      <pubDate>Wed, 02 Sep 2020 20:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/09/chapter_5_1_positioning_analysis_1/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;포지셔닝-분석-개요&#34;&gt;포지셔닝 분석 개요&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/09/Chapter_5_1_positioning_analysis_1/marketing_positioning.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;마케팅에서 자주 보는 분석 방법중의 하나는 &lt;code&gt;포지셔닝(Positioning)&lt;/code&gt; 기법이다.&lt;/li&gt;&#xA;&lt;li&gt;포지셔닝 분석은 마케팅 통계분석 기법중의 하나로, 기업이나, 상품, 브랜드 같은 개체들의 포지셔닝을 수행하는 다차원 척도법(MDS: Multi-Dimensional Scaling)과 상응분석(Correspondence Analysis)이 있다.&lt;/li&gt;&#xA;&lt;li&gt;위 두가지 분석 방법 중 무엇을 사용해야 할까?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;만약 데이터셋이 주로 등간척도, 비율척도와 같이 구성되어 있다면 &lt;code&gt;다차원 척도법&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;만약 데이터셋이 주로 명목척도, 서열척도와 같이 구성되어 있다면 &lt;code&gt;상응분석&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;현재 삼성카드 대회의 주 데이터셋은 명목척도 및 서열척도로 구성되어 있기 때문에 &lt;code&gt;상응분석&lt;/code&gt;으로 시작하면 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;상응분석&#34;&gt;상응분석&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Correspondence Analysis&lt;/code&gt;는 범주형 변수(수준)들 간의 연관성을 분석한 후, 그 결과를 시각적 해석이 용이하도록 그래프화 하는 것임&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-기본-개념&#34;&gt;(1) 기본 개념&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;상응분석을 사용하려면 빈도교차표를 만들어야 한다.&lt;/li&gt;&#xA;&lt;li&gt;요약하면, 상응분석은 범주형 변수의 빈도를 나타내고 있는 빈도교차표의 행과 열(명목변수의 범주 값들)을 그래프상의 자극점 형태로 표시하는 방법.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 단순 상응분석은 2개의 변수, 다중 상응분석은 3개 이상의 변수 활용한다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 상응분석은 카이제곱 검정과 같이 범주형 변수간의 상호연관성을 바탕으로 진행된다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;따라서, 두 개의 범주형 변수가 서로 연관성을 가지고 있다는 전제하에서 진행된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-데이터-불러오기&#34;&gt;(2) 데이터 불러오기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 필요한 데이터를 불러온다.&lt;/li&gt;&#xA;&lt;li&gt;필자는 구글 코랩에서 데이터를 불러오기 때문에&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;config InlineBackend&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;figure_format &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;retina&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;apt &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;qq &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;y install fonts&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;nanum&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;fonts-nanum is already the newest version (20170925-1).&#xA;The following package was automatically installed and is no longer required:&#xA;  libnvidia-common-440&#xA;Use &#39;apt autoremove&#39; to remove it.&#xA;0 upgraded, 0 newly installed, 0 to remove and 39 not upgraded.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; mpl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.font_manager &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; fm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/usr/local/lib/python3.6/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.&#xA;  import pandas.util.testing as tm&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; font &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fontManager&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ttflist:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Nanum&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; font&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        print(font&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name, font&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fname)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;NanumMyeongjo /usr/share/fonts/truetype/nanum/NanumMyeongjoBold.ttf&#xA;NanumSquareRound /usr/share/fonts/truetype/nanum/NanumSquareRoundR.ttf&#xA;NanumSquare /usr/share/fonts/truetype/nanum/NanumSquareB.ttf&#xA;NanumGothic /usr/share/fonts/truetype/nanum/NanumGothicBold.ttf&#xA;NanumMyeongjo /usr/share/fonts/truetype/nanum/NanumMyeongjo.ttf&#xA;NanumGothic /usr/share/fonts/truetype/nanum/NanumGothic.ttf&#xA;NanumBarunGothic /usr/share/fonts/truetype/nanum/NanumBarunGothicBold.ttf&#xA;NanumSquareRound /usr/share/fonts/truetype/nanum/NanumSquareRoundB.ttf&#xA;NanumBarunGothic /usr/share/fonts/truetype/nanum/NanumBarunGothic.ttf&#xA;NanumSquare /usr/share/fonts/truetype/nanum/NanumSquareR.ttf&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fontpath &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/usr/share/fonts/truetype/nanum/NanumGothic.ttf&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;font &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;FontProperties(fname&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;fontpath, size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rc(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font&amp;#39;&lt;/span&gt;, family&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NanumGothic&amp;#39;&lt;/span&gt;) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;figure.figsize&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; (&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lines.linewidth&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lines.color&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;r&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;axes.grid&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mpl&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;font_manager&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;_rebuild()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;_rebuild()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;font &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;family&amp;#39;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NanumGothic&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;weight&amp;#39;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;bold&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;size&amp;#39;&lt;/span&gt;   : &lt;span style=&#34;color:#ae81ff&#34;&gt;22&lt;/span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rc(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;font)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;text(&lt;span style=&#34;color:#ae81ff&#34;&gt;0.3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0.3&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;한글&amp;#39;&lt;/span&gt;, size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Text(0.3, 0.3, &#39;한글&#39;)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/09/Chapter_5_1_positioning_analysis_1/output_9_1.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>삼성카드 대회 Track-2 - matplotlib 막대 그래프</title>
      <link>https://dschloe.github.io/programming/2020/09/samsung_card_track_2_2/</link>
      <pubDate>Wed, 02 Sep 2020 15:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/09/samsung_card_track_2_2/</guid>
      <description>&lt;h2 id=&#34;대회-소개&#34;&gt;대회 소개&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/08/samsung_card_track_2_1/samsungcard.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.samsungcard.com/personal/notice/news/UHPPCC0248M0.jsp?itgBlbdSn=5203&amp;amp;chnlDv=01&amp;amp;itgBlbdTpDvc=01&#34;&gt;삼성카드 데이터분석 공모전&lt;/a&gt;이 시행되고 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;대회에 처음 참여하는 &lt;code&gt;아시아경제-수강생&lt;/code&gt;들을 위해 일종의 가이드라인으로 제안하고자 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;본 포스트에서는 기본적인 내용만 전달하고자 함을 밝힌다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Track2 과정은 마케팅 전략 제안이 중요하다!&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;환경-세팅&#34;&gt;환경 세팅&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저, 데이터가 모두 한글로 구성이 되어 있기 때문에 한글파일 설정부터 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;한글파일 설정이 완료되면 구글 드라이브와 연동한다.&lt;/li&gt;&#xA;&lt;li&gt;데이터 시각화를 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;config InlineBackend&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;figure_format &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;retina&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;sudo apt&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;get &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;qq &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;y install fonts&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;nanum&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;fonts-nanum is already the newest version (20170925-1).&#xA;The following package was automatically installed and is no longer required:&#xA;  libnvidia-common-440&#xA;Use &#39;apt autoremove&#39; to remove it.&#xA;0 upgraded, 0 newly installed, 0 to remove and 39 not upgraded.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; mpl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.font_manager &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; fm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/usr/local/lib/python3.6/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.&#xA;  import pandas.util.testing as tm&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fontpath &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/usr/share/fonts/truetype/nanum/NanumBarunGothic.ttf&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;font &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;FontProperties(fname&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;fontpath, size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rc(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font&amp;#39;&lt;/span&gt;, family&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NanumBarunGothic&amp;#39;&lt;/span&gt;) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;figure.figsize&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; (&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mpl&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;font_manager&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;_rebuild()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mpl&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;pyplot&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rc(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font&amp;#39;&lt;/span&gt;, family&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NanumGothic&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;_rebuild()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;여기까지 실행하였으면 구글 코랩에서 &lt;code&gt;런타임-런타임 다시 시작&lt;/code&gt;을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;구글-드라이브-연동&#34;&gt;구글 드라이브 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 구글 드라이브를 연동한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Mount Google Drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; drive &lt;span style=&#34;color:#75715e&#34;&gt;# import drive from google colab&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ROOT &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/content/drive&amp;#34;&lt;/span&gt;     &lt;span style=&#34;color:#75715e&#34;&gt;# default location for the drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(ROOT)                 &lt;span style=&#34;color:#75715e&#34;&gt;# print content of ROOT (Optional)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;drive&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mount(ROOT)           &lt;span style=&#34;color:#75715e&#34;&gt;# we mount the google drive at /content/drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive&#xA;Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount(&amp;quot;/content/drive&amp;quot;, force_remount=True).&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# import join used to join ROOT path and MY_GOOGLE_DRIVE_PATH&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; os.path &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; join  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# path to your project on Google Drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;MY_GOOGLE_DRIVE_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;My Drive/Colab Notebooks/samsung/datasets&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PROJECT_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; join(ROOT, MY_GOOGLE_DRIVE_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(PROJECT_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/samsung/datasets&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;cd &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{PROJECT_PATH}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/samsung/datasets&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&#39;[기타] SCDC_공모전 테이블 설명.xlsx&#39;  &#39;[Track1_데이터4] variable_dtype.xlsx&#39;&#xA;&#39;[Track1_데이터1] mrc_info.csv&#39;        &#39;[Track2_데이터1] trend_w_demo.csv&#39;&#xA;&#39;[Track1_데이터2] samp_train.csv&#39;      &#39;[Track2_데이터2] 업종_예시.xlsx&#39;&#xA;&#39;[Track1_데이터3] samp_cst_feat.csv&#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;데이터-불러오기&#34;&gt;데이터 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;패키지를 불러오기 위해 &lt;code&gt;pandas&lt;/code&gt; 패키지를 활용하여 &lt;code&gt;[Track2_데이터1]&lt;/code&gt; 데이터를 불러온다.&lt;/li&gt;&#xA;&lt;li&gt;파일을 불러 올 때, &lt;code&gt;encoding=&amp;quot;EUC-KR&amp;quot;&lt;/code&gt;를 설정해서 가져온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;trend_w_demo &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;[Track2_데이터1] trend_w_demo.csv&amp;#39;&lt;/span&gt;, encoding&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;EUC-KR&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;trend_w_demo&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;style&gt;&#xA;    #customers {&#xA;      font-family: &#34;Trebuchet MS&#34;, Arial, Helvetica, sans-serif;&#xA;      border-collapse: collapse;&#xA;    }&#xA;  &#xA;    #customers td,&#xA;    #customers th {&#xA;      border: 1px solid #ddd;&#xA;      padding: 8px;&#xA;    }&#xA;  &#xA;    #customers tr:nth-child(even) {&#xA;      background-color: #f2f2f2;&#xA;    }&#xA;  &#xA;    #customers tr:hover {&#xA;      background-color: #ddd;&#xA;    }&#xA;  &#xA;    #customers th {&#xA;      padding-top: 12px;&#xA;      padding-bottom: 12px;&#xA;      text-align: left;&#xA;      background-color: rgb(175, 107, 76);&#xA;      color: white;&#xA;    }&#xA;  &lt;/style&gt;&#xA;  &#xA;  &lt;div style=&#34;width:100%; height:400px; overflow:auto&#34;&gt;&#xA;    &lt;table border=&#34;1&#34; id=&#34;customers&#34;&gt;&#xA;      &lt;thead&gt;&#xA;        &lt;tr style=&#34;text-align: right;&#34;&gt;&#xA;          &lt;th&gt;&lt;/th&gt;&#xA;          &lt;th&gt;YM&lt;/th&gt;&#xA;          &lt;th&gt;Category&lt;/th&gt;&#xA;          &lt;th&gt;성별구분&lt;/th&gt;&#xA;          &lt;th&gt;연령대&lt;/th&gt;&#xA;          &lt;th&gt;기혼스코어&lt;/th&gt;&#xA;          &lt;th&gt;유아자녀스코어&lt;/th&gt;&#xA;          &lt;th&gt;초등학생자녀스코어&lt;/th&gt;&#xA;          &lt;th&gt;중고생자녀스코어&lt;/th&gt;&#xA;          &lt;th&gt;대학생자녀스코어&lt;/th&gt;&#xA;          &lt;th&gt;전업주부스코어&lt;/th&gt;&#xA;        &lt;/tr&gt;&#xA;      &lt;/thead&gt;&#xA;      &lt;tbody&gt;&#xA;        &lt;tr&gt;&#xA;          &lt;th&gt;0&lt;/th&gt;&#xA;          &lt;td&gt;202005&lt;/td&gt;&#xA;          &lt;td&gt;할인점&lt;/td&gt;&#xA;          &lt;td&gt;0&lt;/td&gt;&#xA;          &lt;td&gt;F&lt;/td&gt;&#xA;          &lt;td&gt;high&lt;/td&gt;&#xA;          &lt;td&gt;low&lt;/td&gt;&#xA;          &lt;td&gt;high&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;low&lt;/td&gt;&#xA;          &lt;td&gt;low&lt;/td&gt;&#xA;        &lt;/tr&gt;&#xA;        &lt;tr&gt;&#xA;          &lt;th&gt;1&lt;/th&gt;&#xA;          &lt;td&gt;202005&lt;/td&gt;&#xA;          &lt;td&gt;취미&lt;/td&gt;&#xA;          &lt;td&gt;0&lt;/td&gt;&#xA;          &lt;td&gt;B&lt;/td&gt;&#xA;          &lt;td&gt;high&lt;/td&gt;&#xA;          &lt;td&gt;low&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;low&lt;/td&gt;&#xA;          &lt;td&gt;low&lt;/td&gt;&#xA;        &lt;/tr&gt;&#xA;        &lt;tr&gt;&#xA;          &lt;th&gt;2&lt;/th&gt;&#xA;          &lt;td&gt;202005&lt;/td&gt;&#xA;          &lt;td&gt;오픈마켓/소셜&lt;/td&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;D&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;low&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;        &lt;/tr&gt;&#xA;        &lt;tr&gt;&#xA;          &lt;th&gt;3&lt;/th&gt;&#xA;          &lt;td&gt;202005&lt;/td&gt;&#xA;          &lt;td&gt;뷰티&lt;/td&gt;&#xA;          &lt;td&gt;0&lt;/td&gt;&#xA;          &lt;td&gt;D&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;low&lt;/td&gt;&#xA;          &lt;td&gt;low&lt;/td&gt;&#xA;        &lt;/tr&gt;&#xA;        &lt;tr&gt;&#xA;          &lt;th&gt;4&lt;/th&gt;&#xA;          &lt;td&gt;202005&lt;/td&gt;&#xA;          &lt;td&gt;오픈마켓/소셜&lt;/td&gt;&#xA;          &lt;td&gt;0&lt;/td&gt;&#xA;          &lt;td&gt;G&lt;/td&gt;&#xA;          &lt;td&gt;high&lt;/td&gt;&#xA;          &lt;td&gt;low&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;low&lt;/td&gt;&#xA;        &lt;/tr&gt;&#xA;      &lt;/tbody&gt;&#xA;    &lt;/table&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;trend_w_demo[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;기혼스코어&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value_counts()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;high    314088&#xA;mid     107368&#xA;low      30582&#xA;Name: 기혼스코어, dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 데이터는 전형적으로 범주형으로 구성이 되어 있다.&lt;/li&gt;&#xA;&lt;li&gt;위 변수에서 고려할 것이 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Category&lt;/code&gt;, &lt;code&gt;성별구분&lt;/code&gt;, &lt;code&gt;연령대&lt;/code&gt;는 명목형 변수인데 반해&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;기혼스코어:전업주부스코어&lt;/code&gt;의 경우는 확률이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;각 스코어의 확률에 대한 정의는 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기혼스코어 : 카드 이용 고객이 기혼일 확률&lt;/li&gt;&#xA;&lt;li&gt;유아자녀스코어 : 카드 이용 고객이에게 유아자녀가 있을 확률&lt;/li&gt;&#xA;&lt;li&gt;초등학생자녀스코어 : 카드 이용 고객이에게 초등학생 자녀가 있을 확률&lt;/li&gt;&#xA;&lt;li&gt;중고생자녀스코어 : 카드 이용 고객이에게 중고생 자녀가 있을 확률&lt;/li&gt;&#xA;&lt;li&gt;대학생자녀스코어 : 카드 이용 고객이에게 대학생 자녀가 있을 확률&lt;/li&gt;&#xA;&lt;li&gt;전업주부스코어 : 카드 이용 고객이 전업주부일 확률&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;위 스코어의 데이터는 단순히 &lt;code&gt;명목형&lt;/code&gt;이라고 보기는 어렵다. 즉, 순위(서열)형 척도/등간척도로 봐야 할 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;측정척도의-유형과-내용&#34;&gt;측정척도의 유형과 내용&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;명목척도: 범주형 데이터로 측정된 측정대상을 단순히 범주로 분류하기 위한 목적으로 숫자를 부여한 척도(수학적 가감승제 계산 안 됨)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;예시 - 성별, 종교, 직업, 혈액형&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;순위(서열)척도: 범주형 데이터로 명목척도의 기능뿐 아니라 각 범주 간의 대소관계, 순위(서열성)에 관하여 숫자를 부여한 척도(수학적 가감승제 계산 안 됨)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;예시 - 학력, 건강상태 등&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;등간척도: 연속형 데이터로 절대적 영점(&lt;code&gt;absoulute zero&lt;/code&gt;)이 없으며 대상이 갖는 양적인 정도의 차이에 따라 등간격으로 숫자를 부여한 척도(수학적 가감승제 계산 안 됨)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;예시 - 온도, 만족도(리커트척도), 충성도(리커트척도), 물가지수, 생산지수 등&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;비율척도: 연속형 데이터로 절대적 영점이 존재하며, 비율계산이 가능한 숫자를 부여한 척도(수학적 가감승제 계산 가능)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;매출액, 무게, 가격, 소득, 길이, 부피 등)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-척도와-분석-간의-관계&#34;&gt;(1) 척도와 분석 간의 관계&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;척도와 분석 간의 관계에 관한 표는 아래와 같다 (신건권, 2018).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;독립변수&lt;/th&gt;&#xA;          &lt;th&gt;종속변수&lt;/th&gt;&#xA;          &lt;th&gt;분석방법&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;범주형 변수(명목, 서열)&lt;/td&gt;&#xA;          &lt;td&gt;범주형 변수(명목, 서열)&lt;/td&gt;&#xA;          &lt;td&gt;교차분석, 카이제곱&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;범주형 변수(명목, 서열)&lt;/td&gt;&#xA;          &lt;td&gt;연속형 변수(등간, 비율)&lt;/td&gt;&#xA;          &lt;td&gt;t-검증, 분산분석, 다변량분산분석&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;연속형 변수(등간, 비율)&lt;/td&gt;&#xA;          &lt;td&gt;범주형 변수(명목, 서열)&lt;/td&gt;&#xA;          &lt;td&gt;판별분석, 군집분석, 로지스틱회귀분석&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;연속형 변수(등간, 비율)&lt;/td&gt;&#xA;          &lt;td&gt;연속형 변수(등간, 비율)&lt;/td&gt;&#xA;          &lt;td&gt;상관분석, 회귀분석, 경로분석/구조방정식모델링분석&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;즉, 위 표를 기준으로 삼성카드를 매우 단순하게 본다면 &lt;code&gt;교차분석&lt;/code&gt; 외에는 쓸만한 분석방법이 떠오르지 않는다.&lt;/li&gt;&#xA;&lt;li&gt;그러나, 연도, &lt;code&gt;Category&lt;/code&gt;, &lt;code&gt;성별구분&lt;/code&gt;, &lt;code&gt;연령대&lt;/code&gt;를 제외하고는 나머지 변수들을 서열 또는 등간으로 본다면 조금 더 다양한 분석 방법이 생길 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-시각화-방법&#34;&gt;(2) 시각화 방법&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;순위 및 서열척도를 다루는 데이터에 대한 시각화는 주로 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Bar Chart&lt;/li&gt;&#xA;&lt;li&gt;Pie Chart / &lt;a href=&#34;https://towardsdatascience.com/waffle-charts-using-pythons-matplotlib-94252689a701&#34;&gt;Waffle Chart&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Tables&lt;/li&gt;&#xA;&lt;li&gt;Mosaic Plots&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://nbviewer.jupyter.org/gist/pascal-schetelat/8382651&#34;&gt;Bump Chart&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-모수-vs-비모수-통계&#34;&gt;(3) 모수 VS 비모수 통계&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;통계 분석 방법은 매우 중요하다. 일종의 가이드라인이기 때문이다.&lt;/li&gt;&#xA;&lt;li&gt;모수 통계는 기본적으로 평균들의 차이를 파악해야 하기 때문에 연속형 자료형이 필요하다. 또한, 이러한 자료는 대개 정규분포라는 형태로 잘 포장되어야 하지만, 실상은 그렇지 않다.&lt;/li&gt;&#xA;&lt;li&gt;이러한 경우 비모수적 검정을 실시한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;비모수적 검정의 기본 조건은 모수 통계를 할 수 없는 상황이 생기면, 보다 완화된 조건으로 해석하는 것이 옳은 방법이다. (가정을 무시하는 것은 아니다!)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;비모수 검정에는 크게 윌콕슨 순위합 검정, 윌콕슨 부호순위 검정, 프리드먼 검정, 그리고 크러스컬-월리스 검정 등이 사용된다.&lt;/li&gt;&#xA;&lt;li&gt;정규성 검정에 따른 모수와 비모수 검정 방법은 다음과 같다.&lt;/li&gt;&#xA;&lt;li&gt;T검정&#xA;&lt;ul&gt;&#xA;&lt;li&gt;모수적 방법: 독립표본 T검정, 대응표본 T검정&lt;/li&gt;&#xA;&lt;li&gt;비모수적 방법: 윌콕슨(Wilcoxon) 검정, 맨-휘트니(Mann-Whitney) 검정&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;분산분석&#xA;&lt;ul&gt;&#xA;&lt;li&gt;모수적 방법: 일원 배치 분산분석&lt;/li&gt;&#xA;&lt;li&gt;비모수적 방법: 크루스칼-윌리스(Kruskal-Wallis)검정&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;관계분석&#xA;&lt;ul&gt;&#xA;&lt;li&gt;모수적 방법: 피어슨의 상관분석&lt;/li&gt;&#xA;&lt;li&gt;비모수적 방법: 스피어만의 로 상관분석&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;삼성카드의 데이터는 일반적인 모수적 방법으로는 통계검정을 하기에는 어려움이 있다. 즉, 비모수 통계에 대한 기본적인 숙지가 필요하며, 파이썬에서 비모수 통계 소스코드 예제는 추후에 다시 정리한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;범주형-데이터-시각화를-통한-eda-보고서&#34;&gt;범주형 데이터 시각화를 통한 EDA 보고서&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;범주형 데이터 시각화를 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;matplotlib&lt;/code&gt; 모듈을 활용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-label이-있는-그룹-막대-그래프-예제&#34;&gt;(1) Label이 있는 그룹 막대 그래프 (예제)&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;막대그래프를 그린, 라벨링까지 적용해본다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 공식 튜토리얼에 있는 것을 확인해본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://matplotlib.org/3.3.1/gallery/lines_bars_and_markers/barchart.html#sphx-glr-gallery-lines-bars-and-markers-barchart-py&#34;&gt;Grouped bar chart with labels&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;labels &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;G1&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;G2&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;G3&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;G4&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;G5&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;men_means &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;34&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;35&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;27&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;women_means &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;25&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;32&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;34&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;25&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;x &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;arange(len(labels)) &lt;span style=&#34;color:#75715e&#34;&gt;# x축 라벨의 위치를 말한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y_labels &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;25&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;35&lt;/span&gt;] &lt;span style=&#34;color:#75715e&#34;&gt;# y축 라벨의 위치를 말한다.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;width &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0.35&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 막대의 너비를 말한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig, ax &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;subplots() &lt;span style=&#34;color:#75715e&#34;&gt;# 객체를 설정하는 것이다.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rects1 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ax&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;bar(x &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; width&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, men_means, width, label &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Men&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rects2 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ax&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;bar(x &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; width&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, women_means, width, label &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Women&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/09/samsung_card_track_2_2/output_21_0.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>머신러닝 지도학습 - 선형회귀</title>
      <link>https://dschloe.github.io/programming/2020/09/chapter_4_3_regression_basic/</link>
      <pubDate>Wed, 02 Sep 2020 00:00:05 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/09/chapter_4_3_regression_basic/</guid>
      <description>&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;머신러닝으로서 회귀 모형에 대해 숙지한다.&lt;/li&gt;&#xA;&lt;li&gt;회귀 모형의 기본적인 개념과 평가 지표에 대해 숙지한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-회귀-모형-개요&#34;&gt;II. 회귀 모형 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;회귀(Regression)은 통계 이론 중 가장 기본이다.&lt;/li&gt;&#xA;&lt;li&gt;회귀의 기원은 영국의 통계학자 갈톤(Galton)이 수행한 연구에서 유래한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://miro.medium.com/max/624/1*A6lmiVPlGM-Y4A6exdf17Q.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;부모와 자식 간의 키의 상관관계를 분석하였는데, 키가 작은 가정과 키가 큰 가정을 살펴본 결과, 무한정 작아지지도 않고, 무한정 커지지 않아 일정한 평균으로 회귀하려는 자연적 법칙을 발견했다는 것이 기원이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-회귀식의-개요&#34;&gt;(1) 회귀식의 개요&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;회귀는 1차 방정식이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지역, 방의 면적, 크기 등 여러 개의 독립변수에 따라 아파트 가격이라는 종속변수가 어떠한 관계를 나타내는지를 예측하고 모델링하는 것&lt;/li&gt;&#xA;&lt;li&gt;즉, 수치를 예측할 때 사용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;$$ Y = W_{1}\times W_{1} + W_{2}\times W_{2} + W_{3}\times W_{3} + \cdot \cdot \cdot + W_{n}\times W_{n}  $$&lt;/p&gt;</description>
    </item>
    <item>
      <title>입문자를 위한 머신러닝 개요</title>
      <link>https://dschloe.github.io/programming/2020/09/chapter_4_2_ml_intro/</link>
      <pubDate>Tue, 01 Sep 2020 10:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/09/chapter_4_2_ml_intro/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;캐글 데이터를 불러오는 방법에 대해 숙지한다.&lt;/li&gt;&#xA;&lt;li&gt;머신러닝의 일반적인 내용에 대해 숙지한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-사전-준비작업&#34;&gt;I. 사전 준비작업&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Kaggle API&lt;/code&gt; 설치 및 연동해서 &lt;code&gt;GCP&lt;/code&gt;에 데이터를 적재하는 것까지 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-kaggle-api-설치&#34;&gt;(1) Kaggle API 설치&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 코랩에서 &lt;code&gt;API&lt;/code&gt;를 불러오려면 다음 소스코드를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install kaggle&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Requirement already satisfied: kaggle in /usr/local/lib/python3.6/dist-packages (1.5.6)&#xA;Requirement already satisfied: urllib3&amp;lt;1.25,&amp;gt;=1.21.1 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.24.3)&#xA;Requirement already satisfied: certifi in /usr/local/lib/python3.6/dist-packages (from kaggle) (2020.6.20)&#xA;Requirement already satisfied: tqdm in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.41.1)&#xA;Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.23.0)&#xA;Requirement already satisfied: python-slugify in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.0.1)&#xA;Requirement already satisfied: python-dateutil in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.8.1)&#xA;Requirement already satisfied: six&amp;gt;=1.10 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.12.0)&#xA;Requirement already satisfied: idna&amp;lt;3,&amp;gt;=2.5 in /usr/local/lib/python3.6/dist-packages (from requests-&amp;gt;kaggle) (2.10)&#xA;Requirement already satisfied: chardet&amp;lt;4,&amp;gt;=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests-&amp;gt;kaggle) (3.0.4)&#xA;Requirement already satisfied: text-unidecode&amp;gt;=1.3 in /usr/local/lib/python3.6/dist-packages (from python-slugify-&amp;gt;kaggle) (1.3)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-kaggle-token-다운로드&#34;&gt;(2) Kaggle Token 다운로드&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Kaggle에서 API Token을 다운로드 받는다.&lt;/li&gt;&#xA;&lt;li&gt;[Kaggle]-[My Account]-[API]-[Create New API Token]을 누르면 &lt;code&gt;kaggle.json&lt;/code&gt; 파일이 다운로드 된다.&lt;/li&gt;&#xA;&lt;li&gt;이 파일을 바탕화면에 옮긴 뒤, 아래 코드를 실행 시킨다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; files&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;uploaded &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; files&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;upload()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; fn &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; uploaded&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;keys():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;uploaded file &amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{name}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; with length &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{length}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; bytes&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;fn, length&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;len(uploaded[fn])))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# kaggle.json을 아래 폴더로 옮긴 뒤, file을 사용할 수 있도록 권한을 부여한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;mkdir &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;p &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; mv kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; chmod &lt;span style=&#34;color:#ae81ff&#34;&gt;600&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;input type=&#34;file&#34; id=&#34;files-e4b0d416-3e83-4a0d-8b9a-0bf3caa45be8&#34; name=&#34;files[]&#34; multiple disabled&#xA;style=&#34;border:none&#34; /&gt;&#xA;&lt;output id=&#34;result-e4b0d416-3e83-4a0d-8b9a-0bf3caa45be8&#34;&gt;&#xA;Upload widget is only available when the cell has been executed in the&#xA;current browser session. Please rerun this cell to enable.&#xA;&lt;/output&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>삼성카드 대회 Track-2 데이터 고려 사항 (1)</title>
      <link>https://dschloe.github.io/programming/2020/08/samsung_card_track_2_1/</link>
      <pubDate>Mon, 31 Aug 2020 01:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/08/samsung_card_track_2_1/</guid>
      <description>&lt;h2 id=&#34;대회-소개&#34;&gt;대회 소개&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/08/samsung_card_track_2_1/samsungcard.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.samsungcard.com/personal/notice/news/UHPPCC0248M0.jsp?itgBlbdSn=5203&amp;amp;chnlDv=01&amp;amp;itgBlbdTpDvc=01&#34;&gt;삼성카드 데이터분석 공모전&lt;/a&gt;이 시행되고 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;대회에 처음 참여하는 &lt;code&gt;아시아경제-수강생&lt;/code&gt;들을 위해 일종의 가이드라인으로 제안하고자 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;본 포스트에서는 기본적인 내용만 전달하고자 함을 밝힌다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Track2 과정은 마케팅 전략 제안이 중요하다!&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;환경-세팅&#34;&gt;환경 세팅&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저, 데이터가 모두 한글로 구성이 되어 있기 때문에 한글파일 설정부터 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;한글파일 설정이 완료되면 구글 드라이브와 연동한다.&lt;/li&gt;&#xA;&lt;li&gt;데이터 시각화를 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;config InlineBackend&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;figure_format &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;retina&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;sudo apt&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;get &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;qq &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;y install fonts&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;nanum&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;The following package was automatically installed and is no longer required:&#xA;  libnvidia-common-440&#xA;Use &#39;apt autoremove&#39; to remove it.&#xA;The following NEW packages will be installed:&#xA;  fonts-nanum&#xA;0 upgraded, 1 newly installed, 0 to remove and 39 not upgraded.&#xA;Need to get 9,604 kB of archives.&#xA;After this operation, 29.5 MB of additional disk space will be used.&#xA;Selecting previously unselected package fonts-nanum.&#xA;(Reading database ... 144579 files and directories currently installed.)&#xA;Preparing to unpack .../fonts-nanum_20170925-1_all.deb ...&#xA;Unpacking fonts-nanum (20170925-1) ...&#xA;Setting up fonts-nanum (20170925-1) ...&#xA;Processing triggers for fontconfig (2.12.6-0ubuntu2) ...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; pandas.plotting &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; register_matplotlib_converters&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; mpl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.font_manager &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; fm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fontpath &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/usr/share/fonts/truetype/nanum/NanumBarunGothic.ttf&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;font &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;FontProperties(fname&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;fontpath, size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rc(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font&amp;#39;&lt;/span&gt;, family&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NanumBarunGothic&amp;#39;&lt;/span&gt;) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;figure.figsize&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; (&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;register_matplotlib_converters()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mpl&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;font_manager&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;_rebuild()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mpl&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;pyplot&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rc(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font&amp;#39;&lt;/span&gt;, family&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NanumGothic&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;_rebuild()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;여기까지 실행하였으면 구글 코랩에서 &lt;code&gt;런타임-런타임 다시 시작&lt;/code&gt;을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;구글-드라이브-연동&#34;&gt;구글 드라이브 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 구글 드라이브를 연동한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Mount Google Drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; drive &lt;span style=&#34;color:#75715e&#34;&gt;# import drive from google colab&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ROOT &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/content/drive&amp;#34;&lt;/span&gt;     &lt;span style=&#34;color:#75715e&#34;&gt;# default location for the drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(ROOT)                 &lt;span style=&#34;color:#75715e&#34;&gt;# print content of ROOT (Optional)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;drive&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mount(ROOT, force_remount&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)           &lt;span style=&#34;color:#75715e&#34;&gt;# we mount the google drive at /content/drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive&#xA;Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&amp;amp;redirect_uri=urn%3aietf%3awg%3aoauth%3a2.0%3aoob&amp;amp;scope=email%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdocs.test%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive.photos.readonly%20https%3a%2f%2fwww.googleapis.com%2fauth%2fpeopleapi.readonly&amp;amp;response_type=code&#xA;&#xA;Enter your authorization code:&#xA;··········&#xA;Mounted at /content/drive&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# import join used to join ROOT path and MY_GOOGLE_DRIVE_PATH&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; os.path &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; join  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# path to your project on Google Drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;MY_GOOGLE_DRIVE_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;My Drive/Colab Notebooks/samsung/datasets&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PROJECT_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; join(ROOT, MY_GOOGLE_DRIVE_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;cd &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{PROJECT_PATH}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/samsung/datasets&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&#39;[기타] SCDC_공모전 테이블 설명.xlsx&#39;  &#39;[Track1_데이터4] variable_dtype.xlsx&#39;&#xA;&#39;[Track1_데이터1] mrc_info.csv&#39;        &#39;[Track2_데이터1] trend_w_demo.csv&#39;&#xA;&#39;[Track1_데이터2] samp_train.csv&#39;      &#39;[Track2_데이터2] 업종_예시.xlsx&#39;&#xA;&#39;[Track1_데이터3] samp_cst_feat.csv&#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;데이터-불러오기&#34;&gt;데이터 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;패키지를 불러오기 위해 &lt;code&gt;pandas&lt;/code&gt; 패키지를 활용하여 &lt;code&gt;[Track2_데이터1]&lt;/code&gt; 데이터를 불러온다.&lt;/li&gt;&#xA;&lt;li&gt;파일을 불러 올 때, &lt;code&gt;encoding=&amp;quot;EUC-KR&amp;quot;&lt;/code&gt;를 설정해서 가져온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;trend_w_demo &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;[Track2_데이터1] trend_w_demo.csv&amp;#39;&lt;/span&gt;, encoding&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;EUC-KR&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;trend_w_demo&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;style&gt;&#xA;    #customers {&#xA;      font-family: &#34;Trebuchet MS&#34;, Arial, Helvetica, sans-serif;&#xA;      border-collapse: collapse;&#xA;    }&#xA;  &#xA;    #customers td,&#xA;    #customers th {&#xA;      border: 1px solid #ddd;&#xA;      padding: 8px;&#xA;    }&#xA;  &#xA;    #customers tr:nth-child(even) {&#xA;      background-color: #f2f2f2;&#xA;    }&#xA;  &#xA;    #customers tr:hover {&#xA;      background-color: #ddd;&#xA;    }&#xA;  &#xA;    #customers th {&#xA;      padding-top: 12px;&#xA;      padding-bottom: 12px;&#xA;      text-align: left;&#xA;      background-color: rgb(175, 107, 76);&#xA;      color: white;&#xA;    }&#xA;  &lt;/style&gt;&#xA;  &#xA;  &lt;div style=&#34;width:100%; height:400px; overflow:auto&#34;&gt;&#xA;    &lt;table border=&#34;1&#34; id=&#34;customers&#34;&gt;&#xA;      &lt;thead&gt;&#xA;        &lt;tr style=&#34;text-align: right;&#34;&gt;&#xA;          &lt;th&gt;&lt;/th&gt;&#xA;          &lt;th&gt;YM&lt;/th&gt;&#xA;          &lt;th&gt;Category&lt;/th&gt;&#xA;          &lt;th&gt;성별구분&lt;/th&gt;&#xA;          &lt;th&gt;연령대&lt;/th&gt;&#xA;          &lt;th&gt;기혼스코어&lt;/th&gt;&#xA;          &lt;th&gt;유아자녀스코어&lt;/th&gt;&#xA;          &lt;th&gt;초등학생자녀스코어&lt;/th&gt;&#xA;          &lt;th&gt;중고생자녀스코어&lt;/th&gt;&#xA;          &lt;th&gt;대학생자녀스코어&lt;/th&gt;&#xA;          &lt;th&gt;전업주부스코어&lt;/th&gt;&#xA;        &lt;/tr&gt;&#xA;      &lt;/thead&gt;&#xA;      &lt;tbody&gt;&#xA;        &lt;tr&gt;&#xA;          &lt;th&gt;0&lt;/th&gt;&#xA;          &lt;td&gt;202005&lt;/td&gt;&#xA;          &lt;td&gt;할인점&lt;/td&gt;&#xA;          &lt;td&gt;0&lt;/td&gt;&#xA;          &lt;td&gt;F&lt;/td&gt;&#xA;          &lt;td&gt;high&lt;/td&gt;&#xA;          &lt;td&gt;low&lt;/td&gt;&#xA;          &lt;td&gt;high&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;low&lt;/td&gt;&#xA;          &lt;td&gt;low&lt;/td&gt;&#xA;        &lt;/tr&gt;&#xA;        &lt;tr&gt;&#xA;          &lt;th&gt;1&lt;/th&gt;&#xA;          &lt;td&gt;202005&lt;/td&gt;&#xA;          &lt;td&gt;취미&lt;/td&gt;&#xA;          &lt;td&gt;0&lt;/td&gt;&#xA;          &lt;td&gt;B&lt;/td&gt;&#xA;          &lt;td&gt;high&lt;/td&gt;&#xA;          &lt;td&gt;low&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;low&lt;/td&gt;&#xA;          &lt;td&gt;low&lt;/td&gt;&#xA;        &lt;/tr&gt;&#xA;        &lt;tr&gt;&#xA;          &lt;th&gt;2&lt;/th&gt;&#xA;          &lt;td&gt;202005&lt;/td&gt;&#xA;          &lt;td&gt;오픈마켓/소셜&lt;/td&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;D&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;low&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;        &lt;/tr&gt;&#xA;        &lt;tr&gt;&#xA;          &lt;th&gt;3&lt;/th&gt;&#xA;          &lt;td&gt;202005&lt;/td&gt;&#xA;          &lt;td&gt;뷰티&lt;/td&gt;&#xA;          &lt;td&gt;0&lt;/td&gt;&#xA;          &lt;td&gt;D&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;low&lt;/td&gt;&#xA;          &lt;td&gt;low&lt;/td&gt;&#xA;        &lt;/tr&gt;&#xA;        &lt;tr&gt;&#xA;          &lt;th&gt;4&lt;/th&gt;&#xA;          &lt;td&gt;202005&lt;/td&gt;&#xA;          &lt;td&gt;오픈마켓/소셜&lt;/td&gt;&#xA;          &lt;td&gt;0&lt;/td&gt;&#xA;          &lt;td&gt;G&lt;/td&gt;&#xA;          &lt;td&gt;high&lt;/td&gt;&#xA;          &lt;td&gt;low&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;mid&lt;/td&gt;&#xA;          &lt;td&gt;low&lt;/td&gt;&#xA;        &lt;/tr&gt;&#xA;      &lt;/tbody&gt;&#xA;    &lt;/table&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;trend_w_demo[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;기혼스코어&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value_counts()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;high    314088&#xA;mid     107368&#xA;low      30582&#xA;Name: 기혼스코어, dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 데이터는 전형적으로 범주형으로 구성이 되어 있다.&lt;/li&gt;&#xA;&lt;li&gt;위 변수에서 고려할 것이 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Category&lt;/code&gt;, &lt;code&gt;성별구분&lt;/code&gt;, &lt;code&gt;연령대&lt;/code&gt;는 명목형 변수인데 반해&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;기혼스코어:전업주부스코어&lt;/code&gt;의 경우는 확률이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;각 스코어의 확률에 대한 정의는 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기혼스코어 : 카드 이용 고객이 기혼일 확률&lt;/li&gt;&#xA;&lt;li&gt;유아자녀스코어 : 카드 이용 고객이에게 유아자녀가 있을 확률&lt;/li&gt;&#xA;&lt;li&gt;초등학생자녀스코어 : 카드 이용 고객이에게 초등학생 자녀가 있을 확률&lt;/li&gt;&#xA;&lt;li&gt;중고생자녀스코어 : 카드 이용 고객이에게 중고생 자녀가 있을 확률&lt;/li&gt;&#xA;&lt;li&gt;대학생자녀스코어 : 카드 이용 고객이에게 대학생 자녀가 있을 확률&lt;/li&gt;&#xA;&lt;li&gt;전업주부스코어 : 카드 이용 고객이 전업주부일 확률&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;위 스코어의 데이터는 단순히 &lt;code&gt;명목형&lt;/code&gt;이라고 보기는 어렵다. 즉, 순위(서열)형 척도/등간척도로 봐야 할 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;측정척도의-유형과-내용&#34;&gt;측정척도의 유형과 내용&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;명목척도: 범주형 데이터로 측정된 측정대상을 단순히 범주로 분류하기 위한 목적으로 숫자를 부여한 척도(수학적 가감승제 계산 안 됨)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;예시 - 성별, 종교, 직업, 혈액형&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;순위(서열)척도: 범주형 데이터로 명목척도의 기능뿐 아니라 각 범주 간의 대소관계, 순위(서열성)에 관하여 숫자를 부여한 척도(수학적 가감승제 계산 안 됨)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;예시 - 학력, 건강상태 등&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;등간척도: 연속형 데이터로 절대적 영점(&lt;code&gt;absoulute zero&lt;/code&gt;)이 없으며 대상이 갖는 양적인 정도의 차이에 따라 등간격으로 숫자를 부여한 척도(수학적 가감승제 계산 안 됨)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;예시 - 온도, 만족도(리커트척도), 충성도(리커트척도), 물가지수, 생산지수 등&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;비율척도: 연속형 데이터로 절대적 영점이 존재하며, 비율계산이 가능한 숫자를 부여한 척도(수학적 가감승제 계산 가능)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;매출액, 무게, 가격, 소득, 길이, 부피 등)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-척도와-분석-간의-관계&#34;&gt;(1) 척도와 분석 간의 관계&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;척도와 분석 간의 관계에 관한 표는 아래와 같다 (신건권, 2018).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;독립변수&lt;/th&gt;&#xA;          &lt;th&gt;종속변수&lt;/th&gt;&#xA;          &lt;th&gt;분석방법&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;범주형 변수(명목, 서열)&lt;/td&gt;&#xA;          &lt;td&gt;범주형 변수(명목, 서열)&lt;/td&gt;&#xA;          &lt;td&gt;교차분석, 카이제곱&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;범주형 변수(명목, 서열)&lt;/td&gt;&#xA;          &lt;td&gt;연속형 변수(등간, 비율)&lt;/td&gt;&#xA;          &lt;td&gt;t-검증, 분산분석, 다변량분산분석&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;연속형 변수(등간, 비율)&lt;/td&gt;&#xA;          &lt;td&gt;범주형 변수(명목, 서열)&lt;/td&gt;&#xA;          &lt;td&gt;판별분석, 군집분석, 로지스틱회귀분석&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;연속형 변수(등간, 비율)&lt;/td&gt;&#xA;          &lt;td&gt;연속형 변수(등간, 비율)&lt;/td&gt;&#xA;          &lt;td&gt;상관분석, 회귀분석, 경로분석/구조방정식모델링분석&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;즉, 위 표를 기준으로 삼성카드를 매우 단순하게 본다면 &lt;code&gt;교차분석&lt;/code&gt; 외에는 쓸만한 분석방법이 떠오르지 않는다.&lt;/li&gt;&#xA;&lt;li&gt;그러나, 연도, &lt;code&gt;Category&lt;/code&gt;, &lt;code&gt;성별구분&lt;/code&gt;, &lt;code&gt;연령대&lt;/code&gt;를 제외하고는 나머지 변수들을 서열 또는 등간으로 본다면 조금 더 다양한 분석 방법이 생길 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-시각화-방법&#34;&gt;(2) 시각화 방법&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;순위 및 서열척도를 다루는 데이터에 대한 시각화는 주로 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Bar Chart&lt;/li&gt;&#xA;&lt;li&gt;Pie Chart / &lt;a href=&#34;https://towardsdatascience.com/waffle-charts-using-pythons-matplotlib-94252689a701&#34;&gt;Waffle Chart&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Tables&lt;/li&gt;&#xA;&lt;li&gt;Mosaic Plots&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://nbviewer.jupyter.org/gist/pascal-schetelat/8382651&#34;&gt;Bump Chart&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-모수-vs-비모수-통계&#34;&gt;(3) 모수 VS 비모수 통계&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;통계 분석 방법은 매우 중요하다. 일종의 가이드라인이기 때문이다.&lt;/li&gt;&#xA;&lt;li&gt;모수 통계는 기본적으로 평균들의 차이를 파악해야 하기 때문에 연속형 자료형이 필요하다. 또한, 이러한 자료는 대개 정규분포라는 형태로 잘 포장되어야 하지만, 실상은 그렇지 않다.&lt;/li&gt;&#xA;&lt;li&gt;이러한 경우 비모수적 검정을 실시한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;비모수적 검정의 기본 조건은 모수 통계를 할 수 없는 상황이 생기면, 보다 완화된 조건으로 해석하는 것이 옳은 방법이다. (가정을 무시하는 것은 아니다!)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;비모수 검정에는 크게 윌콕슨 순위합 검정, 윌콕슨 부호순위 검정, 프리드먼 검정, 그리고 크러스컬-월리스 검정 등이 사용된다.&lt;/li&gt;&#xA;&lt;li&gt;정규성 검정에 따른 모수와 비모수 검정 방법은 다음과 같다.&lt;/li&gt;&#xA;&lt;li&gt;T검정&#xA;&lt;ul&gt;&#xA;&lt;li&gt;모수적 방법: 독립표본 T검정, 대응표본 T검정&lt;/li&gt;&#xA;&lt;li&gt;비모수적 방법: 윌콕슨(Wilcoxon) 검정, 맨-휘트니(Mann-Whitney) 검정&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;분산분석&#xA;&lt;ul&gt;&#xA;&lt;li&gt;모수적 방법: 일원 배치 분산분석&lt;/li&gt;&#xA;&lt;li&gt;비모수적 방법: 크루스칼-윌리스(Kruskal-Wallis)검정&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;관계분석&#xA;&lt;ul&gt;&#xA;&lt;li&gt;모수적 방법: 피어슨의 상관분석&lt;/li&gt;&#xA;&lt;li&gt;비모수적 방법: 스피어만의 로 상관분석&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;삼성카드의 데이터는 일반적인 모수적 방법으로는 통계검정을 하기에는 어려움이 있다. 즉, 비모수 통계에 대한 기본적인 숙지가 필요하며, 파이썬에서 비모수 통계 소스코드 예제는 추후에 다시 정리한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;reference&#34;&gt;Reference&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;신건권(2018). SmartPLS 3.0: 구조방정식모델링, 서울: 청람.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://corporatefinanceinstitute.com/resources/knowledge/other/nonparametric-tests/&#34;&gt;What are Nonparametric Tests?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>DataFrame의 변수 추가 및 삭제</title>
      <link>https://dschloe.github.io/programming/2020/08/chapter_4_6_datatransformation/</link>
      <pubDate>Sun, 30 Aug 2020 01:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/08/chapter_4_6_datatransformation/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;데이터-개요&#34;&gt;데이터 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;German Credit Card&lt;/code&gt;를 활용하여 데이터를 가공하도록 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터셋에 대한 설명은 &lt;a href=&#34;https://www.kaggle.com/uciml/german-credit&#34;&gt;Kaggle&lt;/a&gt;에서 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;1.0.5&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;https://raw.githubusercontent.com/chloevan/kaggle2portpolio/master/datasets/german_credit_data.csv&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;german_credit &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(url)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;german_credit&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head(&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;style&gt;&#xA;    #customers {&#xA;      font-family: &#34;Trebuchet MS&#34;, Arial, Helvetica, sans-serif;&#xA;      border-collapse: collapse;&#xA;    }&#xA;  &#xA;    #customers td,&#xA;    #customers th {&#xA;      border: 1px solid #ddd;&#xA;      padding: 8px;&#xA;    }&#xA;  &#xA;    #customers tr:nth-child(even) {&#xA;      background-color: #f2f2f2;&#xA;    }&#xA;  &#xA;    #customers tr:hover {&#xA;      background-color: #ddd;&#xA;    }&#xA;  &#xA;    #customers th {&#xA;      padding-top: 12px;&#xA;      padding-bottom: 12px;&#xA;      text-align: left;&#xA;      background-color: rgb(175, 107, 76);&#xA;      color: white;&#xA;    }&#xA;  &lt;/style&gt;&#xA;&#xA;&lt;div style=&#34;width:100%; height:270px; overflow:auto&#34;&gt;&#xA;    &lt;table border=&#34;1&#34; id=&#34;customers&#34;&gt;&#xA;      &lt;thead&gt;&#xA;        &lt;tr style=&#34;text-align: right;&#34;&gt;&#xA;          &lt;th&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Unnamed: 0&lt;/th&gt;&#xA;          &lt;th&gt;Age&lt;/th&gt;&#xA;          &lt;th&gt;Sex&lt;/th&gt;&#xA;          &lt;th&gt;Job&lt;/th&gt;&#xA;          &lt;th&gt;Housing&lt;/th&gt;&#xA;          &lt;th&gt;Saving accounts&lt;/th&gt;&#xA;          &lt;th&gt;Checking account&lt;/th&gt;&#xA;          &lt;th&gt;Credit amount&lt;/th&gt;&#xA;          &lt;th&gt;Duration&lt;/th&gt;&#xA;          &lt;th&gt;Purpose&lt;/th&gt;&#xA;        &lt;/tr&gt;&#xA;      &lt;/thead&gt;&#xA;      &lt;tbody&gt;&#xA;        &lt;tr&gt;&#xA;          &lt;th&gt;0&lt;/th&gt;&#xA;          &lt;td&gt;0&lt;/td&gt;&#xA;          &lt;td&gt;67&lt;/td&gt;&#xA;          &lt;td&gt;male&lt;/td&gt;&#xA;          &lt;td&gt;2&lt;/td&gt;&#xA;          &lt;td&gt;own&lt;/td&gt;&#xA;          &lt;td&gt;NaN&lt;/td&gt;&#xA;          &lt;td&gt;little&lt;/td&gt;&#xA;          &lt;td&gt;1169&lt;/td&gt;&#xA;          &lt;td&gt;6&lt;/td&gt;&#xA;          &lt;td&gt;radio/TV&lt;/td&gt;&#xA;        &lt;/tr&gt;&#xA;        &lt;tr&gt;&#xA;          &lt;th&gt;1&lt;/th&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;22&lt;/td&gt;&#xA;          &lt;td&gt;female&lt;/td&gt;&#xA;          &lt;td&gt;2&lt;/td&gt;&#xA;          &lt;td&gt;own&lt;/td&gt;&#xA;          &lt;td&gt;little&lt;/td&gt;&#xA;          &lt;td&gt;moderate&lt;/td&gt;&#xA;          &lt;td&gt;5951&lt;/td&gt;&#xA;          &lt;td&gt;48&lt;/td&gt;&#xA;          &lt;td&gt;radio/TV&lt;/td&gt;&#xA;        &lt;/tr&gt;&#xA;        &lt;tr&gt;&#xA;          &lt;th&gt;2&lt;/th&gt;&#xA;          &lt;td&gt;2&lt;/td&gt;&#xA;          &lt;td&gt;49&lt;/td&gt;&#xA;          &lt;td&gt;male&lt;/td&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;own&lt;/td&gt;&#xA;          &lt;td&gt;little&lt;/td&gt;&#xA;          &lt;td&gt;NaN&lt;/td&gt;&#xA;          &lt;td&gt;2096&lt;/td&gt;&#xA;          &lt;td&gt;12&lt;/td&gt;&#xA;          &lt;td&gt;education&lt;/td&gt;&#xA;        &lt;/tr&gt;&#xA;      &lt;/tbody&gt;&#xA;    &lt;/table&gt;&#xA;    &lt;/div&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Pandas DataFrame&lt;/code&gt;은 &lt;code&gt;Index&lt;/code&gt;와 나머지 열로 구성이 되어 있다.&lt;/li&gt;&#xA;&lt;li&gt;데이터의 행과 크기를 알아보는 가장 좋은 방법은 &lt;code&gt;DataFrame&lt;/code&gt;객체의 &lt;code&gt;shape&lt;/code&gt;변수를 이용하는 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;DataFrame 크기: &amp;#39;&lt;/span&gt;, german_credit&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;DataFrame 크기:  (1000, 10)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;생성된 &lt;code&gt;DataFrame&lt;/code&gt; 객체인 &lt;code&gt;german_credit&lt;/code&gt;은 10개의 칼럼으로 이루어져 있다.&lt;/li&gt;&#xA;&lt;li&gt;이번에는 &lt;code&gt;describe()&lt;/code&gt; 함수를 활용하여 개략적인 분포도를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;german_credit&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;describe()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;style&gt;&#xA;    #customers {&#xA;      font-family: &#34;Trebuchet MS&#34;, Arial, Helvetica, sans-serif;&#xA;      border-collapse: collapse;&#xA;    }&#xA;  &#xA;    #customers td,&#xA;    #customers th {&#xA;      border: 1px solid #ddd;&#xA;      padding: 8px;&#xA;    }&#xA;  &#xA;    #customers tr:nth-child(even) {&#xA;      background-color: #f2f2f2;&#xA;    }&#xA;  &#xA;    #customers tr:hover {&#xA;      background-color: #ddd;&#xA;    }&#xA;  &#xA;    #customers th {&#xA;      padding-top: 12px;&#xA;      padding-bottom: 12px;&#xA;      text-align: left;&#xA;      background-color: rgb(175, 107, 76);&#xA;      color: white;&#xA;    }&#xA;  &lt;/style&gt;&#xA;&#xA;&lt;div style=&#34;width:100%; height:300px; overflow:auto&#34;&gt;&#xA;    &lt;table border=&#34;1&#34; id=&#34;customers&#34;&gt;&#xA;          &lt;thead&gt;&#xA;            &lt;tr style=&#34;text-align: right;&#34;&gt;&#xA;              &lt;th&gt;&lt;/th&gt;&#xA;              &lt;th&gt;Unnamed: 0&lt;/th&gt;&#xA;              &lt;th&gt;Age&lt;/th&gt;&#xA;              &lt;th&gt;Job&lt;/th&gt;&#xA;              &lt;th&gt;Credit amount&lt;/th&gt;&#xA;              &lt;th&gt;Duration&lt;/th&gt;&#xA;            &lt;/tr&gt;&#xA;          &lt;/thead&gt;&#xA;          &lt;tbody&gt;&#xA;            &lt;tr&gt;&#xA;              &lt;th&gt;count&lt;/th&gt;&#xA;              &lt;td&gt;1000.000000&lt;/td&gt;&#xA;              &lt;td&gt;1000.000000&lt;/td&gt;&#xA;              &lt;td&gt;1000.000000&lt;/td&gt;&#xA;              &lt;td&gt;1000.000000&lt;/td&gt;&#xA;              &lt;td&gt;1000.000000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;              &lt;th&gt;mean&lt;/th&gt;&#xA;              &lt;td&gt;499.500000&lt;/td&gt;&#xA;              &lt;td&gt;35.546000&lt;/td&gt;&#xA;              &lt;td&gt;1.904000&lt;/td&gt;&#xA;              &lt;td&gt;3271.258000&lt;/td&gt;&#xA;              &lt;td&gt;20.903000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;              &lt;th&gt;std&lt;/th&gt;&#xA;              &lt;td&gt;288.819436&lt;/td&gt;&#xA;              &lt;td&gt;11.375469&lt;/td&gt;&#xA;              &lt;td&gt;0.653614&lt;/td&gt;&#xA;              &lt;td&gt;2822.736876&lt;/td&gt;&#xA;              &lt;td&gt;12.058814&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;              &lt;th&gt;min&lt;/th&gt;&#xA;              &lt;td&gt;0.000000&lt;/td&gt;&#xA;              &lt;td&gt;19.000000&lt;/td&gt;&#xA;              &lt;td&gt;0.000000&lt;/td&gt;&#xA;              &lt;td&gt;250.000000&lt;/td&gt;&#xA;              &lt;td&gt;4.000000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;              &lt;th&gt;25%&lt;/th&gt;&#xA;              &lt;td&gt;249.750000&lt;/td&gt;&#xA;              &lt;td&gt;27.000000&lt;/td&gt;&#xA;              &lt;td&gt;2.000000&lt;/td&gt;&#xA;              &lt;td&gt;1365.500000&lt;/td&gt;&#xA;              &lt;td&gt;12.000000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;              &lt;th&gt;50%&lt;/th&gt;&#xA;              &lt;td&gt;499.500000&lt;/td&gt;&#xA;              &lt;td&gt;33.000000&lt;/td&gt;&#xA;              &lt;td&gt;2.000000&lt;/td&gt;&#xA;              &lt;td&gt;2319.500000&lt;/td&gt;&#xA;              &lt;td&gt;18.000000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;              &lt;th&gt;75%&lt;/th&gt;&#xA;              &lt;td&gt;749.250000&lt;/td&gt;&#xA;              &lt;td&gt;42.000000&lt;/td&gt;&#xA;              &lt;td&gt;2.000000&lt;/td&gt;&#xA;              &lt;td&gt;3972.250000&lt;/td&gt;&#xA;              &lt;td&gt;24.000000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;              &lt;th&gt;max&lt;/th&gt;&#xA;              &lt;td&gt;999.000000&lt;/td&gt;&#xA;              &lt;td&gt;75.000000&lt;/td&gt;&#xA;              &lt;td&gt;3.000000&lt;/td&gt;&#xA;              &lt;td&gt;18424.000000&lt;/td&gt;&#xA;              &lt;td&gt;72.000000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;          &lt;/tbody&gt;&#xA;        &lt;/table&gt;&#xA;        &lt;/div&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;german_credit[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Sex&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value_counts()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;male      690&#xA;female    310&#xA;Name: Sex, dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Sex&lt;/code&gt;의 반환 결과는 1이 700개, 0이 300개로 확인할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;이 때 &lt;code&gt;value_counts()&lt;/code&gt;는 많은 건수 순서로 정렬되어 값을 반환한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;새로운-변수-추가&#34;&gt;새로운 변수 추가&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기존 데이터에서 변수를 추가하고 삭제하는 것을 진행해본다.&lt;/li&gt;&#xA;&lt;li&gt;이러한 과정을 보통 &lt;code&gt;도출변수&lt;/code&gt;로 표현되기도 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;german_credit[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Age+100&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; german_credit[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Age&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;german_credit&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;(1000, 11)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;1-수치형-조건에-따른-변수-추가&#34;&gt;(1) 수치형 조건에 따른 변수 추가&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;수치형 변수의 특성에 따라 새로운 변수를 추가한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Age&lt;/code&gt;를 기준으로 크게 &lt;code&gt;&amp;quot;&amp;gt;50&amp;quot;&lt;/code&gt;과 &lt;code&gt;&amp;lt;=50&lt;/code&gt;이하로 구분한다.&lt;/li&gt;&#xA;&lt;li&gt;그러기 위해서는 각 조건이 맞는지를 확인하는 &lt;code&gt;if&lt;/code&gt; 조건과 반복 수행을 위한 &lt;code&gt;for-loop&lt;/code&gt; 조건이 필요하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 빈 리스트 객체 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;age_group &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; []&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; age &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; german_credit[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Age&amp;#39;&lt;/span&gt;]:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; age &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;50&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    age_group&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;append(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;gt;50&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    age_group&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;append(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;lt;=50&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(age_group[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[&#39;&amp;gt;50&#39;, &#39;&amp;lt;=50&#39;, &#39;&amp;lt;=50&#39;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;출력된 결과물은 위와 같은 형태로 저장된 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;age_group&lt;/code&gt;에 저장된 리스트 값을 새로운 변수로 추가한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;german_credit[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Age_group&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; age_group&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;german_credit[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Age_group&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value_counts()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;=50    887&#xA;&amp;gt;50     113&#xA;Name: Age_group, dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-문자형-조건에-따른-변수-추가&#34;&gt;(2) 문자형 조건에 따른 변수 추가&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 특정문자열의 존재 유무에 따라 새로운 &lt;code&gt;column is_own&lt;/code&gt;을 추가한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;german_credit[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Housing&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value_counts()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;own     713&#xA;rent    179&#xA;free    108&#xA;Name: Housing, dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 데이터에서 &lt;code&gt;own&lt;/code&gt;인 경우는 &lt;code&gt;True&lt;/code&gt; 그렇지 않은 경우는 &lt;code&gt;False&lt;/code&gt;로 저장한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;np.where&lt;/code&gt;을 사용하면 &lt;code&gt;if&lt;/code&gt;처럼 매우 쉽게 사용이 가능하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;german_credit[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;is_own&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;where(german_credit[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Housing&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;own&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;german_credit[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;is_own&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value_counts()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;True     713&#xA;False    287&#xA;Name: is_own, dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;변수-삭제&#34;&gt;변수 삭제&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이렇게 생성된 변수를 삭제하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 가장 많이 사용되는 함수는 &lt;code&gt;drop()&lt;/code&gt; 메서드를 이용한다.&lt;/li&gt;&#xA;&lt;li&gt;함수 사용 시, 주의해야 하는 것 중 하나는 &lt;code&gt;axis 0&lt;/code&gt;은 행의 방향, &lt;code&gt;axis 1&lt;/code&gt;은 열의 방향 축으로 움직인다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;즉, &lt;code&gt;drop()&lt;/code&gt;함수를 사용 시에는 &lt;code&gt;axis 1&lt;/code&gt;를 같이 입력한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;german_credit &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; german_credit&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Age+100&amp;#39;&lt;/span&gt;, axis &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;german_credit&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;(1000, 12)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 두개의 변수를 추가한 뒤, 한꺼번에 삭제하는 예제를 실습해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;german_credit[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;age+10&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; german_credit[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Age&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;german_credit[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;age+20&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; german_credit[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Age&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;german_credit&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;(1000, 14)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 새로 추가된 변수 2개를 삭제 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;german_credit &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; german_credit&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop([&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;age+10&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;age+20&amp;#39;&lt;/span&gt;], axis &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;german_credit&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;(1000, 12)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이렇게 두개 이상의 변수를 삭제할 때는 &lt;code&gt;list&lt;/code&gt;를 활용해서 삭제가 가능하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;정리&#34;&gt;정리&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;DataFrame&lt;/code&gt;에서 간단하게 변수를 추가 및 삭제하는 방법에 대해 배웠다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;수치형 변수를 활용한 변수 추가, 문자형 변수를 활용한 변수 추가의 기본적인 내용을 숙지한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;변수를 삭제할 때는 &lt;code&gt;drop()&lt;/code&gt;메서드를 사용하는 데, 행을 삭제할 때는 &lt;code&gt;axis = 0&lt;/code&gt;, 열을 삭제할 때는 &lt;code&gt;axis = 1&lt;/code&gt; 활용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Geospatial Analysis Using Python - Basic</title>
      <link>https://dschloe.github.io/programming/2020/08/chapter_2_3_1_geospatial_analysis_using_python/</link>
      <pubDate>Sun, 23 Aug 2020 10:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/08/chapter_2_3_1_geospatial_analysis_using_python/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파이썬을 활용한 공간 시각화에 대해 기술하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;각 패키지의 쓰임새와 용도를 확인하도록 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;예제를 통해 확인한 뒤, 국내 데이터를 적용해보도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;한글 폰트상의 문제점 외에 다른 문제점은 없는지 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;우선 참고한 자료는 아래와 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://towardsdatascience.com/visualizing-geospatial-data-in-python-e070374fe621&#34;&gt;Visualizing Geospatial Data in Python&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://datascienceschool.net/view-notebook/ef921dc25e01437b9b5c532ba3b89b02/#Geoplot&#34;&gt;지리 정보 데이터 처리&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;기본-환경설정&#34;&gt;기본 환경설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 코랩의 환경설정을 살펴보자.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파이썬 버전 3.6.9을 현재 사용중이다. (2020년 8월 기준)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; sys&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sys&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;version_info&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;sys.version_info(major=3, minor=6, micro=9, releaselevel=&#39;final&#39;, serial=0)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 &lt;code&gt;OS&lt;/code&gt; 플랫폼을 확인한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;현재 &lt;code&gt;Ubuntu 18.04&lt;/code&gt; 버전을 사용중이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; platform&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;platform&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;platform()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&#39;Linux-4.19.112+-x86_64-with-Ubuntu-18.04-bionic&#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 CPU 관련된 정보를 확인해본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;CPU 제논 2.3GHz&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;cat &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;proc&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;cpuinfo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;processor&#x9;: 0&#xA;vendor_id&#x9;: GenuineIntel&#xA;cpu family&#x9;: 6&#xA;model&#x9;&#x9;: 79&#xA;model name&#x9;: Intel(R) Xeon(R) CPU @ 2.20GHz&#xA;stepping&#x9;: 0&#xA;microcode&#x9;: 0x1&#xA;cpu MHz&#x9;&#x9;: 2200.000&#xA;cache size&#x9;: 56320 KB&#xA;physical id&#x9;: 0&#xA;siblings&#x9;: 2&#xA;core id&#x9;&#x9;: 0&#xA;cpu cores&#x9;: 1&#xA;apicid&#x9;&#x9;: 0&#xA;initial apicid&#x9;: 0&#xA;fpu&#x9;&#x9;: yes&#xA;fpu_exception&#x9;: yes&#xA;cpuid level&#x9;: 13&#xA;wp&#x9;&#x9;: yes&#xA;flags&#x9;&#x9;: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt arat md_clear arch_capabilities&#xA;bugs&#x9;&#x9;: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa&#xA;bogomips&#x9;: 4400.00&#xA;clflush size&#x9;: 64&#xA;cache_alignment&#x9;: 64&#xA;address sizes&#x9;: 46 bits physical, 48 bits virtual&#xA;power management:&#xA;&#xA;processor&#x9;: 1&#xA;vendor_id&#x9;: GenuineIntel&#xA;cpu family&#x9;: 6&#xA;model&#x9;&#x9;: 79&#xA;model name&#x9;: Intel(R) Xeon(R) CPU @ 2.20GHz&#xA;stepping&#x9;: 0&#xA;microcode&#x9;: 0x1&#xA;cpu MHz&#x9;&#x9;: 2200.000&#xA;cache size&#x9;: 56320 KB&#xA;physical id&#x9;: 0&#xA;siblings&#x9;: 2&#xA;core id&#x9;&#x9;: 0&#xA;cpu cores&#x9;: 1&#xA;apicid&#x9;&#x9;: 1&#xA;initial apicid&#x9;: 1&#xA;fpu&#x9;&#x9;: yes&#xA;fpu_exception&#x9;: yes&#xA;cpuid level&#x9;: 13&#xA;wp&#x9;&#x9;: yes&#xA;flags&#x9;&#x9;: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt arat md_clear arch_capabilities&#xA;bugs&#x9;&#x9;: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa&#xA;bogomips&#x9;: 4400.00&#xA;clflush size&#x9;: 64&#xA;cache_alignment&#x9;: 64&#xA;address sizes&#x9;: 46 bits physical, 48 bits virtual&#xA;power management:&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;메모리 정보를 확인해본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;무료 버전의 경우 약 &lt;code&gt;13GB&lt;/code&gt;를 사용할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;cat &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;proc&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;meminfo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;MemTotal:       13333552 kB&#xA;MemFree:        10691516 kB&#xA;MemAvailable:   12499620 kB&#xA;Buffers:           76712 kB&#xA;Cached:          1886808 kB&#xA;SwapCached:            0 kB&#xA;Active:           668976 kB&#xA;Inactive:        1678968 kB&#xA;Active(anon):     360932 kB&#xA;Inactive(anon):      360 kB&#xA;Active(file):     308044 kB&#xA;Inactive(file):  1678608 kB&#xA;Unevictable:           0 kB&#xA;Mlocked:               0 kB&#xA;SwapTotal:             0 kB&#xA;SwapFree:              0 kB&#xA;Dirty:              1992 kB&#xA;Writeback:             0 kB&#xA;AnonPages:        384360 kB&#xA;Mapped:           179824 kB&#xA;Shmem:               972 kB&#xA;Slab:             164416 kB&#xA;SReclaimable:     124572 kB&#xA;SUnreclaim:        39844 kB&#xA;KernelStack:        3872 kB&#xA;PageTables:         4924 kB&#xA;NFS_Unstable:          0 kB&#xA;Bounce:                0 kB&#xA;WritebackTmp:          0 kB&#xA;CommitLimit:     6666776 kB&#xA;Committed_AS:    2491516 kB&#xA;VmallocTotal:   34359738367 kB&#xA;VmallocUsed:           0 kB&#xA;VmallocChunk:          0 kB&#xA;Percpu:              952 kB&#xA;AnonHugePages:         0 kB&#xA;ShmemHugePages:        0 kB&#xA;ShmemPmdMapped:        0 kB&#xA;HugePages_Total:       0&#xA;HugePages_Free:        0&#xA;HugePages_Rsvd:        0&#xA;HugePages_Surp:        0&#xA;Hugepagesize:       2048 kB&#xA;Hugetlb:               0 kB&#xA;DirectMap4k:      107708 kB&#xA;DirectMap2M:     5134336 kB&#xA;DirectMap1G:    10485760 kB&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;GPU 사용이 가능하면 &lt;code&gt;/device:GPU:0&lt;/code&gt;이라고 확인이 될 것이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;만약 런타임 유형 변경에서 &lt;code&gt;None&lt;/code&gt;으로 설정 하면, &lt;code&gt;&#39; &#39;&lt;/code&gt;만 출력이 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; tensorflow &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; tf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tf&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;gpu_device_name()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&#39;/device:GPU:0&#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;한글-폰트-설정&#34;&gt;한글 폰트 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;시각화 출력 시, 한글 폰트는 별도로 설치 및 설정해줘야 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;폰트 설치, 폰트 불러오기, 그리고 런타임 재실행 순으로 해준다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-폰트-설치&#34;&gt;(1) 폰트 설치&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우분투 명령어 &lt;code&gt;apt-get&lt;/code&gt;을 통해 &lt;code&gt;나눔&lt;/code&gt; 폰트를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;apt&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;get update &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;qq&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;apt&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;get install fonts&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;nanum&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;qq&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Selecting previously unselected package fonts-nanum.&#xA;(Reading database ... 144540 files and directories currently installed.)&#xA;Preparing to unpack .../fonts-nanum_20170925-1_all.deb ...&#xA;Unpacking fonts-nanum (20170925-1) ...&#xA;Selecting previously unselected package fonts-nanum-eco.&#xA;Preparing to unpack .../fonts-nanum-eco_1.000-6_all.deb ...&#xA;Unpacking fonts-nanum-eco (1.000-6) ...&#xA;Selecting previously unselected package fonts-nanum-extra.&#xA;Preparing to unpack .../fonts-nanum-extra_20170925-1_all.deb ...&#xA;Unpacking fonts-nanum-extra (20170925-1) ...&#xA;Selecting previously unselected package fonts-nanum-coding.&#xA;Preparing to unpack .../fonts-nanum-coding_2.5-1_all.deb ...&#xA;Unpacking fonts-nanum-coding (2.5-1) ...&#xA;Setting up fonts-nanum-extra (20170925-1) ...&#xA;Setting up fonts-nanum (20170925-1) ...&#xA;Setting up fonts-nanum-coding (2.5-1) ...&#xA;Setting up fonts-nanum-eco (1.000-6) ...&#xA;Processing triggers for fontconfig (2.12.6-0ubuntu2) ...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-폰트-설정&#34;&gt;(2) 폰트 설정&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 설치된 나눔 폰트 출력&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 만약, 설치했는데도, 리스트가 [] 로 출력된다면 런타임을 다시 시작해주세요&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.font_manager &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; fm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sys_font&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;findSystemFonts()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nanum_font &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [f &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; f &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; sys_font &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Nanum&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; f]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;nanum_font number: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;len(nanum_font)&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nanum_font&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;python &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;current_font&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;현재 설정된 폰트 글꼴: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font.family&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;, 현재 설정된 폰트 사이즈: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font.size&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)  &lt;span style=&#34;color:#75715e&#34;&gt;# 파이썬 3.6 이상 사용가능&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;current_font()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;nanum_font number: 31&#xA;Python 3.6.9&#xA;현재 설정된 폰트 글꼴: [&#39;sans-serif&#39;], 현재 설정된 폰트 사이즈: 10.0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;현재 설정된 폰트 글꼴은 &lt;code&gt;[&#39;sans-serif&#39;]&lt;/code&gt;인 것으로 확인된다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 &lt;code&gt;sans-serif&lt;/code&gt;를 나눔고딕으로 변경한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;path &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/usr/share/fonts/truetype/nanum/NanumBarunGothic.ttf&amp;#39;&lt;/span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;font_name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;FontProperties(fname&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;path, size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;14&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get_name()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rc(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font&amp;#39;&lt;/span&gt;, family&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;font_name)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;current_font()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;현재 설정된 폰트 글꼴: [&#39;NanumBarunGothic&#39;], 현재 설정된 폰트 사이즈: 10.0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;3-전체-노트북에-반영&#34;&gt;(3) 전체 노트북에 반영&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이렇게 설정이 된 후에는 &lt;code&gt;fm._rebuild()&lt;/code&gt;를 통해 재 설정 한다.&lt;/li&gt;&#xA;&lt;li&gt;현재 나올 모든 환경 설정을 아래와 같이 설정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;_rebuild()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 노트북 전체 폰트 및 차트 크기 설정&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font.family&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NanumBarunGothic&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;font.size&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;14&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;figure.figsize&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; (&lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# matplotlib에서 마이너스 부호가 깨질 때&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; mpl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mpl&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;axes.unicode_minus&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;설정 되어있는 폰트 사이즈 : &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font.size&amp;#39;&lt;/span&gt;]))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;설정 되어있는 폰트 글꼴 : &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font.family&amp;#39;&lt;/span&gt;]))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;설정 되어있는 차트 크기 : &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;figure.figsize&amp;#34;&lt;/span&gt;]))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;설정 되어있는 폰트 사이즈 : 14.0&#xA;설정 되어있는 폰트 글꼴 : [&#39;NanumBarunGothic&#39;]&#xA;설정 되어있는 차트 크기 : [12.0, 6.0]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;4-공간시각화-관련-패키지-설정-방법&#34;&gt;(4) 공간시각화 관련 패키지 설정 방법&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;rtree 패키지 설치가 문제가 될 수 있기 때문에 다음과 같이 설치를 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;apt install libspatialindex&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;dev&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install rtree&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install geopandas&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Reading package lists... Done&#xA;Building dependency tree       &#xA;Reading state information... Done&#xA;libspatialindex-dev is already the newest version (1.8.5-5).&#xA;The following package was automatically installed and is no longer required:&#xA;  libnvidia-common-440&#xA;Use &#39;apt autoremove&#39; to remove it.&#xA;0 upgraded, 0 newly installed, 0 to remove and 60 not upgraded.&#xA;Requirement already satisfied: rtree in /usr/local/lib/python3.6/dist-packages (0.9.4)&#xA;Requirement already satisfied: setuptools in /usr/local/lib/python3.6/dist-packages (from rtree) (49.2.0)&#xA;Requirement already satisfied: geopandas in /usr/local/lib/python3.6/dist-packages (0.8.1)&#xA;Requirement already satisfied: pyproj&amp;gt;=2.2.0 in /usr/local/lib/python3.6/dist-packages (from geopandas) (2.6.1.post1)&#xA;Requirement already satisfied: fiona in /usr/local/lib/python3.6/dist-packages (from geopandas) (1.8.13.post1)&#xA;Requirement already satisfied: shapely in /usr/local/lib/python3.6/dist-packages (from geopandas) (1.7.0)&#xA;Requirement already satisfied: pandas&amp;gt;=0.23.0 in /usr/local/lib/python3.6/dist-packages (from geopandas) (1.0.5)&#xA;Requirement already satisfied: cligj&amp;gt;=0.5 in /usr/local/lib/python3.6/dist-packages (from fiona-&amp;gt;geopandas) (0.5.0)&#xA;Requirement already satisfied: attrs&amp;gt;=17 in /usr/local/lib/python3.6/dist-packages (from fiona-&amp;gt;geopandas) (19.3.0)&#xA;Requirement already satisfied: six&amp;gt;=1.7 in /usr/local/lib/python3.6/dist-packages (from fiona-&amp;gt;geopandas) (1.15.0)&#xA;Requirement already satisfied: munch in /usr/local/lib/python3.6/dist-packages (from fiona-&amp;gt;geopandas) (2.5.0)&#xA;Requirement already satisfied: click&amp;lt;8,&amp;gt;=4.0 in /usr/local/lib/python3.6/dist-packages (from fiona-&amp;gt;geopandas) (7.1.2)&#xA;Requirement already satisfied: click-plugins&amp;gt;=1.0 in /usr/local/lib/python3.6/dist-packages (from fiona-&amp;gt;geopandas) (1.1.1)&#xA;Requirement already satisfied: python-dateutil&amp;gt;=2.6.1 in /usr/local/lib/python3.6/dist-packages (from pandas&amp;gt;=0.23.0-&amp;gt;geopandas) (2.8.1)&#xA;Requirement already satisfied: numpy&amp;gt;=1.13.3 in /usr/local/lib/python3.6/dist-packages (from pandas&amp;gt;=0.23.0-&amp;gt;geopandas) (1.18.5)&#xA;Requirement already satisfied: pytz&amp;gt;=2017.2 in /usr/local/lib/python3.6/dist-packages (from pandas&amp;gt;=0.23.0-&amp;gt;geopandas) (2018.9)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;구글-드라이브와-연동&#34;&gt;구글 드라이브와 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 구글 드라이브와 계정 연동을 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Mount Google Drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; drive &lt;span style=&#34;color:#75715e&#34;&gt;# import drive from google colab&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ROOT &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/content/drive&amp;#34;&lt;/span&gt;     &lt;span style=&#34;color:#75715e&#34;&gt;# default location for the drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(ROOT)                 &lt;span style=&#34;color:#75715e&#34;&gt;# print content of ROOT (Optional)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;drive&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mount(ROOT)           &lt;span style=&#34;color:#75715e&#34;&gt;# we mount the google drive at /content/drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive&#xA;Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount(&amp;quot;/content/drive&amp;quot;, force_remount=True).&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터가 있는 경로로 이동한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; os.path &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; join  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;MY_GOOGLE_DRIVE_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;My Drive/Colab Notebooks/inflearn/Python/Kaggle_Edu/02_kaggle_eda/03_map/data&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 프로젝트 경로&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PROJECT_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; join(ROOT, MY_GOOGLE_DRIVE_PATH) &lt;span style=&#34;color:#75715e&#34;&gt;# 프로젝트 경로&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(PROJECT_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/inflearn/Python/Kaggle_Edu/02_kaggle_eda/03_map/data&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;cd &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{PROJECT_PATH}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/inflearn/Python/Kaggle_Edu/02_kaggle_eda/03_map/data&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[0m[01;34m&#39;상가(상권)정보_201912.&#39;[0m/   customer_rate_02.xlsx    pivot_table_04.xlsx&#xA; census.csv                 merge_03.xlsx&#xA; city.geojson               missing_values_01.xlsx&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;공간시각화-파일에-대한-기본-개념&#34;&gt;공간시각화 파일에 대한 기본 개념&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;geometry&lt;/code&gt;는 &lt;code&gt;Point&lt;/code&gt;, &lt;code&gt;Line&lt;/code&gt;, &lt;code&gt;Polygon&lt;/code&gt;을 저장할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;파일의 구성도는 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ls map_files/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;map.dbf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;map.shp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;map.shx&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;shp&lt;/code&gt;는 전체 &lt;code&gt;geometry&lt;/code&gt;를 의미한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;dbf&lt;/code&gt;는 각 &lt;code&gt;geometry&lt;/code&gt;에 대한 속성(&lt;code&gt;atrributes&lt;/code&gt;)값을 가지고 있다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;shx&lt;/code&gt;는 각 속성 값을 &lt;code&gt;shp&lt;/code&gt;안에 있는 &lt;code&gt;geometry&lt;/code&gt;를 연결한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;geopandas-의존성&#34;&gt;Geopandas 의존성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;GeoJSON&lt;/code&gt;은 MultiPoint, MultiLineString, MultiPolygon을 포함한 MultiGeometry를 지원함.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;geojson&lt;/code&gt;을 &lt;code&gt;geopandas&lt;/code&gt;로 읽게 될 경우, &lt;code&gt;properties&lt;/code&gt;는 &lt;code&gt;GeoDataFrame&lt;/code&gt;이 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-geopandas의-개념&#34;&gt;(1) Geopandas의 개념&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;geopandas&lt;/code&gt;는 크게 2가지의 데이터 의존성이 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Vector&lt;/code&gt;: points, lines, and polygons.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;RASTER&lt;/code&gt;: 일종의 격자(grid)로 생각하면 된다. (예: Topographical Map)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;크게 2개의 Library가 필요하다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Fiona&lt;/code&gt;: &lt;code&gt;Open GIS Simple Features&lt;/code&gt;와 파이썬과 &lt;code&gt;geopandas&lt;/code&gt;를 연결하는 일종의 다리 역할을 수행한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;GDAL&lt;/code&gt;은 &lt;code&gt;rater&lt;/code&gt; 데이터를 변환하는 것&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;OGR&lt;/code&gt;은 vector 데이터를 변환하는 것&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://i.stack.imgur.com/r2wim.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Seaborn Visualisation Tutorial - Basic</title>
      <link>https://dschloe.github.io/programming/2020/08/seaborn_basic_tutorial/</link>
      <pubDate>Fri, 21 Aug 2020 11:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/08/seaborn_basic_tutorial/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;시각화-기본적-원리&#34;&gt;시각화 기본적 원리&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;비교, 대조, 차이를 드러내라.&lt;/li&gt;&#xA;&lt;li&gt;인과관계와 상관관계를 보여라.&lt;/li&gt;&#xA;&lt;li&gt;한 도표에 여러 변수를 보여라.&lt;/li&gt;&#xA;&lt;li&gt;텍스트, 숫자, 이미지, 그래프 같은 데이터들을 한 곳에 통합하라.&lt;/li&gt;&#xA;&lt;li&gt;사용된 데이터의 출처를 그래프 안이나 각주로 밝혀라.&lt;/li&gt;&#xA;&lt;li&gt;의미 있는 내용을 담아라.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 시각화를 정말 잘하고 싶다면, 책을 구매하는 것을 추천한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.yes24.com/Product/Goods/87631760&#34;&gt;데이터 시각화 교과서&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;원서: &lt;a href=&#34;https://serialmentor.com/dataviz/&#34;&gt;https://serialmentor.com/dataviz/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;데이터-변수-종류에-따른-시각화의-종류&#34;&gt;데이터 변수 종류에 따른 시각화의 종류&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;시각화는 그냥 그리는 것이 아니다. 변수의 종류에 따른 기법이 존재한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다만, Python &amp;amp; R의 방법론의 차이가 있을 뿐이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;원리를 알면, 다음은 검색 및 연습을 통해 다듬어진다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://extremepresentation.typepad.com/.shared/image.html?/photos/uncategorized/choosing_a_good_chart.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>입문자를 위한 머신러닝 튜토리얼 - 교차검증</title>
      <link>https://dschloe.github.io/programming/2020/08/chapter_4_2_cross_val/</link>
      <pubDate>Thu, 20 Aug 2020 00:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/08/chapter_4_2_cross_val/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교차검증의 의미를 이해한다.&lt;/li&gt;&#xA;&lt;li&gt;교차검증을 위한 간단한 실습을 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;교차검증이란&#34;&gt;교차검증이란&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교차검증은 기본적으로 과적합을 예방하기 위한 방법론 중 하나이다.&lt;/li&gt;&#xA;&lt;li&gt;교차검증을 쉽게 이해하는 방법은 수능시험을 보기 위해 수능과 비슷한 유형의 모의고사를 보는 것과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-k폴드-교차검증-개요&#34;&gt;(1) K폴드 교차검증 개요&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터의 수가 적을 때 사용한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;검증 데이터의 수도 적기 때문에 검증 성능의 신뢰도가 떨어진다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, K-폴드 방법을 사용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;그림을 보며 이해하자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://cdn-images-1.medium.com/max/1600/1*rgba1BIOUys7wQcXcL4U5A.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터의 편향을 방지하기 위한 것&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터를 K개로 나누어 K-1개를 분할하고 나머지는 평가에 사용&lt;/li&gt;&#xA;&lt;li&gt;모델의 검증 점수는 K개의 검증 점수 평균이 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-소스코드를-통한-검증&#34;&gt;(2) 소스코드를 통한 검증&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때 사용되는 함수는 &lt;code&gt;cross_val_score&lt;/code&gt;가 사용된다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조: &lt;a href=&#34;https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.cross_val_score.html&#34;&gt;cross_val_score&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;먼저 데이터를 확인한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터의 설명서는 공식홈페이지를 참고한다. &lt;a href=&#34;https://scikit-learn.org/stable/datasets/index.html#boston-dataset&#34;&gt;Boston house prices dataset&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; scipy &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; stats&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.datasets &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; load_boston&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;matplotlib inline&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# boston 데이타셋 로드&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;boston &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; load_boston()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# boston 데이타셋 DataFrame 변환 &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bostonDF &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame(boston&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;data , columns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; boston&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;feature_names)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# boston dataset의 target array는 주택 가격임. 이를 PRICE 컬럼으로 DataFrame에 추가함. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bostonDF[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;PRICE&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; boston&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;target&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Boston 데이타셋 크기 :&amp;#39;&lt;/span&gt;,bostonDF&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bostonDF&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/usr/local/lib/python3.6/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.&#xA;  import pandas.util.testing as tm&#xA;&#xA;&#xA;Boston 데이타셋 크기 : (506, 14)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 시각화를 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 2개의 행과 4개의 열을 가진 subplots를 이용. axs는 4x2개의 ax를 가짐.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fig, axs &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;subplots(figsize&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;16&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;) , ncols&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt; , nrows&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lm_features &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;RM&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ZN&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;INDUS&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NOX&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;AGE&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;PTRATIO&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;LSTAT&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;RAD&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; i , feature &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; enumerate(lm_features):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    row &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; int(i&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    col &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; i&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 시본의 regplot을 이용해 산점도와 선형 회귀 직선을 함께 표현&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;regplot(x&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;feature , y&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;PRICE&amp;#39;&lt;/span&gt;, data&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;bostonDF , ax&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;axs[row][col])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/08/Chapter_4_2_cross_val/output_7_0.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>입문자를 위한 머신러닝 분류 튜토리얼 - Decision Tree</title>
      <link>https://dschloe.github.io/programming/2020/08/chapter_4_5_understanding_tree/</link>
      <pubDate>Wed, 19 Aug 2020 01:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/08/chapter_4_5_understanding_tree/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사이킷런(&lt;code&gt;scikit-learn&lt;/code&gt;)은 파이썬 머신러닝 라이브러리이다.&lt;/li&gt;&#xA;&lt;li&gt;파이썬에서 나오는 최신 알고리즘들도 이제는 사이킷런에 통합하는 형태로 취하고 있다.&lt;/li&gt;&#xA;&lt;li&gt;구글 코랩은 기본적으로 사이킷런까지 설치가 완료되기에 별도의 설치가 필요없는 장점이 있다.&lt;/li&gt;&#xA;&lt;li&gt;Note: 본 포스트는 머신러닝 자체를 처음 접하는 분들을 위한 것이기 때문에, 어느정도 경험이 있으신 분들은 필자의 다른 포스트를 읽어주시기를 바랍니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;패키지-불러오기&#34;&gt;패키지 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;패키지는 시간에 지남에 따라 계속 업그레이드가 되기 때문에 꼭 버전 체크를 하는 것을 권장한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자가 글을 남겼을 때는 2020년 8월 16일에 작성했음을 기억하자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; sklearn&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(sklearn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;0.22.2.post1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;머신러닝-워크플로우&#34;&gt;머신러닝 워크플로우&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가장 간단한 데이터인 &lt;code&gt;iris&lt;/code&gt; 데이터의 종 분류를 진행하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;사실, 이 예제는 매우 간단하기 때문에, 전체적인 프로세스를 익히는 관점에서 확인하기를 바란다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-지도학습의-정의&#34;&gt;(1) 지도학습의 정의&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지도학습(Supervised Learning)의 가장 큰 특징 중의 하나는 위와 같이 분류 결정값이 사전에 정의가 되어야 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;만약, 사전에 분류가 된 것이 없다면 어떻게 할 수 있을까? 당연한 말이지만, 머신러닝 수행하기 전 데이터 수집이 필수가 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;위 꽃을 분류하는 것 같이, 명확한 정답이 주어진 데이터를 먼저 학습 한 뒤, 미지의 정답을 예측하는 것을 지도학습이라 부른다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://static.packt-cdn.com/products/9781788831307/graphics/13a6defd-b5b4-4062-aad0-cb7464630a3c.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>입문자를 위한 머신러닝 분류 튜토리얼 - IRIS 분류</title>
      <link>https://dschloe.github.io/programming/2020/08/chapter_4_4_classification_iris_example/</link>
      <pubDate>Mon, 17 Aug 2020 01:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/08/chapter_4_4_classification_iris_example/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사이킷런(&lt;code&gt;scikit-learn&lt;/code&gt;)은 파이썬 머신러닝 라이브러리이다.&lt;/li&gt;&#xA;&lt;li&gt;파이썬에서 나오는 최신 알고리즘들도 이제는 사이킷런에 통합하는 형태로 취하고 있다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://colab.research.google.com/&#34;&gt;구글 코랩&lt;/a&gt;은 기본적으로 사이킷런까지 설치가 완료되기에 별도의 설치가 필요없는 장점이 있다.&lt;/li&gt;&#xA;&lt;li&gt;Note: 본 포스트는 머신러닝 자체를 처음 접하는 분들을 위한 것이기 때문에, 어느정도 경험이 있으신 분들은 필자의 다른 포스트를 읽어주시기를 바랍니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;패키지-불러오기&#34;&gt;패키지 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;패키지는 시간에 지남에 따라 계속 업그레이드가 되기 때문에 꼭 버전 체크를 하는 것을 권장한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자가 글을 남겼을 때는 2020년 8월 16일에 작성했음을 기억하자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; sklearn&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(sklearn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;0.22.2.post1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;머신러닝-워크플로우&#34;&gt;머신러닝 워크플로우&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가장 간단한 데이터인 &lt;code&gt;iris&lt;/code&gt; 데이터의 종 분류를 진행하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;사실, 이 예제는 매우 간단하기 때문에, 전체적인 프로세스를 익히는 관점에서 확인하기를 바란다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-지도학습의-정의&#34;&gt;(1) 지도학습의 정의&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지도학습(Supervised Learning)의 가장 큰 특징 중의 하나는 위와 같이 분류 결정값이 사전에 정의가 되어야 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;만약, 사전에 분류가 된 것이 없다면 어떻게 할 수 있을까? 당연한 말이지만, 머신러닝 수행하기 전 데이터 수집이 필수가 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;위 꽃을 분류하는 것 같이, 명확한 정답이 주어진 데이터를 먼저 학습 한 뒤, 미지의 정답을 예측하는 것을 지도학습이라 부른다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://static.packt-cdn.com/products/9781788831307/graphics/13a6defd-b5b4-4062-aad0-cb7464630a3c.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Data Science Resources</title>
      <link>https://dschloe.github.io/programming/2020/08/resources/</link>
      <pubDate>Thu, 13 Aug 2020 10:35:28 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/08/resources/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;제 개인 참조하려고 만든 게시글입니다.&lt;/li&gt;&#xA;&lt;li&gt;언제나 좋은 글 및 싸이트, 패키지를 만들어 배포하는 모든 Data Scientist, Analyst 분들 존경합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-tools&#34;&gt;(1) Tools&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://colab.research.google.com/#create=true&amp;amp;language=r&#34;&gt;R with Google Colab&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/YoongiKim/AutoCrawler&#34;&gt;이미지 다운로더&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-머신러닝딥러닝-관련-자료&#34;&gt;I. 머신러닝/딥러닝 관련 자료&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-머신러닝&#34;&gt;(1) 머신러닝&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://arxiv.org/abs/1603.02754&#34;&gt;XGBoost&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://papers.nips.cc/paper/6907-lightgbm-a-highly-efficient-gradient-boosting-decision-tree.pdf&#34;&gt;Lightgbm&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Documentation: &lt;a href=&#34;https://lightgbm.readthedocs.io/en/latest/&#34;&gt;https://lightgbm.readthedocs.io/en/latest/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://lightgbm.readthedocs.io/en/latest/R/index.html&#34;&gt;LightGBM R-Packages&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://nbviewer.jupyter.org/gist/DmitryUlyanov/685689cdad7ab2da635605af22cbca6f&#34;&gt;Regression metrics review I&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://nbviewer.jupyter.org/gist/DmitryUlyanov/358a36930e78c33449d0f8caaeee7026&#34;&gt;Weighted Median&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://queirozf.com/entries/evaluation-metrics-for-classification-quick-examples-references&#34;&gt;Evaluation Metrics for Classification Problems: Quick Examples + References&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.garysieling.com/blog/sklearn-gini-vs-entropy-criteria&#34;&gt;Decision Trees: “Gini” vs. “Entropy” criteria&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.navan.name/roc/&#34;&gt;Understanding ROC curves&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://icml.cc/2015/wp-content/uploads/2015/06/icml_ranking.pdf&#34;&gt;Learning to Rank using Gradient Descent&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/MSR-TR-2010-82.pdf&#34;&gt;Overview of further developments of RankNet&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://sourceforge.net/p/lemur/wiki/RankLib/&#34;&gt;RankLib&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://wellecks.wordpress.com/2015/01/15/learning-to-rank-overview&#34;&gt;Learning to Rank Overview&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://nlp.uned.es/docs/amigo2007a.pdf&#34;&gt;Clustering&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.analyticsvidhya.com/blog/2016/02/complete-guide-parameter-tuning-gradient-boosting-gbm-python/&#34;&gt;Complete Machine Learning Guide to Parameter Tuning in Gradient Boosting (GBM) in Python&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Matrix Factorization&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://scikit-learn.org/stable/modules/decomposition.html&#34;&gt;Overview of Matrix Decomposition methods (sklearn)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;t-SNE&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/DmitryUlyanov/Multicore-TSNE&#34;&gt;Multicore t-SNE implementation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://scikit-learn.org/stable/auto_examples/manifold/plot_compare_methods.html&#34;&gt;Comparison of Manifold Learning methods (sklearn)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://distill.pub/2016/misread-tsne/&#34;&gt;How to Use t-SNE Effectively (distill.pub blog)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://lvdmaaten.github.io/tsne/&#34;&gt;tSNE homepage (Laurens van der Maaten)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://scikit-learn.org/stable/auto_examples/manifold/plot_t_sne_perplexity.html#sphx-glr-auto-examples-manifold-plot-t-sne-perplexity-py&#34;&gt;Example: tSNE with different perplexities (sklearn)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://vassarstats.net/roc_comp.html&#34;&gt;Significance of the Difference between the Areas under Two Independent ROC Curves&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.tmwr.org/&#34;&gt;Tidy Modeling with R&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-딥러닝-논문&#34;&gt;(2) 딥러닝 논문&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;자연어처리&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://arxiv.org/pdf/2005.14165.pdf&#34;&gt;GPT-3&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://arxiv.org/abs/2010.13382&#34;&gt;FastFormers&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Computer Vision&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://arxiv.org/abs/1812.04948&#34;&gt;SytleGAN&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-추천시스템&#34;&gt;(3) 추천시스템&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://greeksharifa.github.io/machine_learning/2020/04/07/DeepFM/&#34;&gt;DeepFM: A Factorization-Machine based Neural Network for CTR Prediction 논문 리뷰&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;4-강의자료&#34;&gt;(4) 강의자료&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://deep-learning-drizzle.github.io/&#34;&gt;Deep Learning Drizzle&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;5-딥러닝-논문-로드맵&#34;&gt;(5) 딥러닝 논문 로드맵&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;고려대학교 산업공대&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.notion.so/c3b3474d18ef4304b23ea360367a5137?v=5d763ad5773f44eb950f49de7d7671bd&#34;&gt;Papers You Must Read&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.dropbox.com/s/5x9u0rnsxos8qm1/DSBA%20Paper%20Reading%20Roadmap_2020_1205.pdf?dl=0&#34;&gt;Reading Roadmap&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-통계&#34;&gt;II. 통계&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-구조방정식&#34;&gt;(1) 구조방정식&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.smartpls.com/&#34;&gt;SmartPLS&lt;/a&gt;: 기본 튜토리얼 및 원서 제공&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-문서-자동화--autoeda&#34;&gt;III. 문서 자동화 &amp;amp; autoEDA&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-r-기반&#34;&gt;(1) R 기반&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://support.rstudio.com/hc/en-us/articles/360004672913-Rendering-PowerPoint-Presentations-with-RStudio&#34;&gt;Rendering PowerPoint Presentations with RStudio&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://emilyriederer.netlify.app/post/rmarkdown-driven-development/&#34;&gt;RMarkdown Driven Development (RmdDD)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.groundai.com/project/the-landscape-of-r-packages-for-automated-exploratory-data-analysis/1&#34;&gt;The Landscape of R Packages for Automated Exploratory Data Analysis&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-python-기반&#34;&gt;(2) Python 기반&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://link.medium.com/PvDXFhb2T8&#34;&gt;Creating Presentations with Python&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://python-pptx.readthedocs.io/en/latest/user/intro.html&#34;&gt;python-pptx&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iv-데이터과학을-위한-tools&#34;&gt;IV. 데이터과학을 위한 Tools&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://colab.research.google.com/&#34;&gt;Google Colab&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/&#34;&gt;28 Jupyter Notebook Tips, Tricks, and Shortcuts&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;v-gui-graphical-user-interface&#34;&gt;V. GUI (Graphical User Interface)&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-python&#34;&gt;(1) Python&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://docs.python.org/3/library/tkinter.html#module-tkinter&#34;&gt;Tkinter&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;[Sample Tutorial](Cats vs Dogs Classification (with 98.7% Accuracy) using CNN Keras – Deep Learning Project for Beginner)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;vi-시각화&#34;&gt;VI. 시각화&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-공간시각화&#34;&gt;(1) 공간시각화&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.gisdeveloper.co.kr/?p=2332&#34;&gt;대한민국 최신 행정구역(SHP) 다운로드&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-파이썬-시각화&#34;&gt;(2) 파이썬 시각화&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://towardsdatascience.com/matplotlib-seaborn-pandas-an-ideal-amalgamation-for-statistical-data-visualisation-f619c8e8baa3&#34;&gt;Matplotlib+ Seaborn + Pandas: An Ideal Amalgamation for Statistical Data Visualisation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-파이썬-대시보드&#34;&gt;(3) 파이썬 대시보드&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Stephen Kilcommins. (2021). &lt;a href=&#34;https://medium.datadriveninvestor.com/streamlit-vs-dash-vs-voil%C3%A0-vs-panel-battle-of-the-python-dashboarding-giants-177c40b9ea57&#34;&gt;Streamlit vs Dash vs Voilà vs Panel — Battle of The Python Dashboarding Giants&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;v-mlops&#34;&gt;V. MLOps&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Rafi Kurlansik and ML SMEs at Databricks. (2021). &lt;a href=&#34;https://databricks.com/blog/2021/06/23/need-for-data-centric-ml-platforms.html?fbclid=IwAR1k-BGOQlLI6sXQPzhc5CWX5KP9ZszpqNvaZkwkuk7gYWhpdy2iVBn9_Tg&#34;&gt;Need for Data-centric ML Platforms:Why switching from a model-centric to a data-centric approach solves the biggest challenges facing MLOps&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;기타&#34;&gt;기타&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://m.blog.naver.com/tjdrud1323/222074923481&#34;&gt;왜 블로그를 해야하는가? - 장기 기억의 관점에서&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://zzsza.github.io/data/2018/02/17/datascience-interivew-questions/&#34;&gt;데이터 사이언스 인터뷰 질문 모음집&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://lab.github.com/&#34;&gt;깃허브 튜토리얼&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>NumPy with ndarray</title>
      <link>https://dschloe.github.io/programming/2020/08/chapter_3_8_numpy/</link>
      <pubDate>Tue, 11 Aug 2020 18:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/08/chapter_3_8_numpy/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;numpy-ndarray-개요&#34;&gt;Numpy ndarray 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;넘파이 &lt;code&gt;array()&lt;/code&gt;는 ndarray로 변환 가능&lt;/li&gt;&#xA;&lt;li&gt;생성된 &lt;code&gt;ndarray&lt;/code&gt;배열의 &lt;code&gt;shape&lt;/code&gt;변수는 &lt;code&gt;ndarray&lt;/code&gt;의 크기, 행과 열의 수를 튜플 형태로 가지고 있으며, 이를 통해 &lt;code&gt;ndarray&lt;/code&gt; 배열의 차원까지 알 수 있음&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-배열이란&#34;&gt;(1) 배열이란?&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;NumPy&lt;/code&gt;에서 배열은 동일한 타입의 값을 가짐&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;shape&lt;/code&gt;는 각 차원의 크기를 튜플로 표시한다.&lt;/li&gt;&#xA;&lt;li&gt;차원이란 무엇일까?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1차원은 보통 하나의 &lt;code&gt;선&lt;/code&gt;을 의미&lt;/li&gt;&#xA;&lt;li&gt;2차원은 평면을 의미하고, 데이터 분석에서는 보통 데이터프레임을 의미한다.&lt;/li&gt;&#xA;&lt;li&gt;3차원은 공간을 의미하고, 딥러닝에서는 보통 이미지를 의미한다. (RGB)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;center&gt;&lt;img src = &#39;https://blog.kakaocdn.net/dn/cSoMOs/btqt0a2Dc2y/QhkfwhiWqeUKvNfsM2H29K/img.png&#39; width=&#34;300&#34; height=&#34;200&#34; align=&#34;center&#34;/&gt;&lt;/center&gt;&#xA;&lt;h2 id=&#34;shape와-ndim&#34;&gt;shape와 ndim&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;코드를 통해서 &lt;code&gt;shape&lt;/code&gt;와 &lt;code&gt;ndim&lt;/code&gt; 함수를 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1--함수-활용-예제&#34;&gt;(1)  함수 활용 예제&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 소스코드를 통해 1차원, 2차원, 3차원 함수를 만들어 봅니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;array1 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array([&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;array1 type:&amp;#39;&lt;/span&gt;,type(array1))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;array1 array 형태:&amp;#39;&lt;/span&gt;,array1&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;array2 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array([[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                  [&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;]])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;array2 type:&amp;#39;&lt;/span&gt;,type(array2))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;array2 array 형태:&amp;#39;&lt;/span&gt;,array2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;array3 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array([[[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;]], [[&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;]]])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;array3 type:&amp;#39;&lt;/span&gt;,type(array3))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;array3 array 형태:&amp;#39;&lt;/span&gt;,array3&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;array1 type: &amp;lt;class &#39;numpy.ndarray&#39;&amp;gt;&#xA;array1 array 형태: (5,)&#xA;array2 type: &amp;lt;class &#39;numpy.ndarray&#39;&amp;gt;&#xA;array2 array 형태: (2, 5)&#xA;array3 type: &amp;lt;class &#39;numpy.ndarray&#39;&amp;gt;&#xA;array3 array 형태: (2, 1, 6)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-shape&#34;&gt;(2) shape&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1차원의 &lt;code&gt;shape&lt;/code&gt;는 (3, )인데, 이는 &lt;code&gt;array&lt;/code&gt;로 5개의 데이터를 가지고 있다는 뜻임&lt;/li&gt;&#xA;&lt;li&gt;2차원의 &lt;code&gt;shape&lt;/code&gt;는 (2, 5)이며, 이는 &lt;code&gt;array&lt;/code&gt;로 2차원 데이터로 2 x 5 = 10, 즉 총 10개의 데이터가 있음&lt;/li&gt;&#xA;&lt;li&gt;3차원의 &lt;code&gt;shape&lt;/code&gt;는 (2, 1, 6)이며, 이는 &lt;code&gt;array&lt;/code&gt;로 3차원 데이터로 2 x 1 x 6 = 12, 즉 총 12개의 데이터가 있음&lt;/li&gt;&#xA;&lt;li&gt;차원을 직관적으로 확인하려면 &lt;code&gt;ndim&lt;/code&gt; 메서드를 사용하면 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;array1: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{:0}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;차원, array2: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{:1}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;차원, array3: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{:2}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;차원&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(array1&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ndim, array2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ndim, array3&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ndim))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;array1: 1차원, array2: 2차원, array3:  3차원&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;데이터-타입&#34;&gt;데이터 타입&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;ndarray&lt;/code&gt;내 데이터값은 숫자 값, 문자열 값, 불 값 모두 가능&lt;/li&gt;&#xA;&lt;li&gt;숫자형의 경우 int형, float형 등이 제공됨&#xA;&lt;ul&gt;&#xA;&lt;li&gt;int: 8, 16, 32&lt;/li&gt;&#xA;&lt;li&gt;float: 16, 32, 64, 128&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;간단한 예제로 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;num_list &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(type(num_list))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;num_array &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array(num_list)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(type(num_array))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(num_array, num_array&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;dtype)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;list&#39;&amp;gt;&#xA;&amp;lt;class &#39;numpy.ndarray&#39;&amp;gt;&#xA;[ 7  8  9 10] int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;reshape의-중요성&#34;&gt;reshape의 중요성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;shape&lt;/code&gt;를 통해 데이터를 이해하는 것은 매우 중요하다.&lt;/li&gt;&#xA;&lt;li&gt;머신러닝 알고리즘 또는 선형대수를 잘 모른다 할지라도, 머신러닝 및 데이터 세트 간의 입출력과 변환 수행 시, 1차원 데이터 또는 다차원 데이터를 요구하는 경우가 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때, 차원이 달라서 오류가 발생할 가능성이 크니, 주의를 해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이 때, 차원을 맞추는 방법으로 &lt;code&gt;reshape()&lt;/code&gt;를 활용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-소스-예제&#34;&gt;(1) 소스 예제&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 예제는 0~14까지의 1차원 &lt;code&gt;ndarray&lt;/code&gt;를 &lt;code&gt;2x5&lt;/code&gt;형태로, 그리고 &lt;code&gt;5x2&lt;/code&gt; 2차원 &lt;code&gt;ndarray&lt;/code&gt;로 변환한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;array1 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;arange(&lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;array1:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;, array1)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;array2 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; array1&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reshape(&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;array2:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;,array2)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;array3 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; array1&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reshape(&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;array3:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;,array3)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;array1:&#xA; [ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14]&#xA;array2:&#xA; [[ 0  1  2  3  4]&#xA; [ 5  6  7  8  9]&#xA; [10 11 12 13 14]]&#xA;array3:&#xA; [[ 0  1  2]&#xA; [ 3  4  5]&#xA; [ 6  7  8]&#xA; [ 9 10 11]&#xA; [12 13 14]]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;array1&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reshape(&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;---------------------------------------------------------------------------&#xA;&#xA;ValueError                                Traceback (most recent call last)&#xA;&#xA;&amp;lt;ipython-input-8-a40469ec5825&amp;gt; in &amp;lt;module&amp;gt;()&#xA;----&amp;gt; 1 array1.reshape(4,3)&#xA;&#xA;&#xA;ValueError: cannot reshape array of size 15 into shape (4,3)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 에러는 변경이 불가능한데, 당연한 얘기이지만, size가 맞지 않다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2--1의-활용&#34;&gt;(2) -1의 활용&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실전에서는 주로 &lt;code&gt;-1&lt;/code&gt;을 활용한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;-1&lt;/code&gt;을 인자로 사용하면 원래 &lt;code&gt;ndarray&lt;/code&gt;와 호환되는 새로운 &lt;code&gt;shape&lt;/code&gt;로 변환해준다.&lt;/li&gt;&#xA;&lt;li&gt;예제를 통해서 살펴보도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;array_1 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;arange(&lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(array_1)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;array_2 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; array_1&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reshape(&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;array2 shape:&amp;#39;&lt;/span&gt;,array_2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;array_3 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; array_1&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reshape(&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;,&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;array3 shape:&amp;#39;&lt;/span&gt;,array_3&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14]&#xA;array2 shape: (3, 5)&#xA;array3 shape: (5, 3)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;array_1&lt;/code&gt;은 1차원 &lt;code&gt;ndarray&lt;/code&gt;로 0~14까지의 데이터를 가지고 있다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;array_2&lt;/code&gt;는 &lt;code&gt;array_1&lt;/code&gt;과 호환될 수 있는 2차원 &lt;code&gt;ndarray&lt;/code&gt;로 변환되고, 고정된 5개의 칼럼에 맞는 로우를 자동으로 새롭게 생성해 변환하는 의미를 가진다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;array_3&lt;/code&gt;도 반대로 적용할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;그런데, 호환될 수 없는 형태는 에러가 날 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-차원변환&#34;&gt;(3) 차원변환&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;3차원을 2차원으로, 1차원을 2차원으로 변경하는 코드를 작성할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, &lt;code&gt;reshape(a1, a2, a3)&lt;/code&gt;에서, &lt;code&gt;b = a1 x a2 x a3&lt;/code&gt;의 값이 &lt;code&gt;arrange(b)&lt;/code&gt;이 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;array_1 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;arange(&lt;span style=&#34;color:#ae81ff&#34;&gt;27&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;array_3d &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; array_1&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reshape((&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;array3d:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;,array_3d&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;tolist())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 3차원 ndarray를 2차원 ndarray로 변환&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;array_5 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; array_3d&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reshape(&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;array5:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;,array_5&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;tolist())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;array5 shape:&amp;#39;&lt;/span&gt;,array_5&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 1차원 ndarray를 2차원 ndarray로 변환&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;array_6 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; array_1&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reshape(&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;array6:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;,array_6&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;tolist())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;array6 shape:&amp;#39;&lt;/span&gt;,array_6&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;array3d:&#xA; [[[0, 1, 2], [3, 4, 5], [6, 7, 8]], [[9, 10, 11], [12, 13, 14], [15, 16, 17]], [[18, 19, 20], [21, 22, 23], [24, 25, 26]]]&#xA;array5:&#xA; [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26]]&#xA;array5 shape: (27, 1)&#xA;array6:&#xA; [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26]]&#xA;array6 shape: (27, 1)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;선형대수-연산&#34;&gt;선형대수 연산&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;행렬 내적은 행렬 곱이며, &lt;code&gt;np.dot()&lt;/code&gt;을 활용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/08/Chapter_3_8_numpy/np_dot.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>xgboost and kaggle with R</title>
      <link>https://dschloe.github.io/programming/2020/08/3_6_xgboost/</link>
      <pubDate>Mon, 10 Aug 2020 11:00:00 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/08/3_6_xgboost/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;R 강의를 진행하면서 &lt;code&gt;xgboost&lt;/code&gt;를 R로 구현하고 싶었다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;kaggle&lt;/code&gt;에 있는 데이터를 불러와서 제출까지 가는 과정을 담았으니 입문자들에게 작은 도움이 되기를 바란다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;xgboost-개요&#34;&gt;XGBoost 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;논문 제목 - &lt;a href=&#34;https://arxiv.org/abs/1603.02754&#34;&gt;XGBoost: A Scalable Tree Boosting System&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;논문 게재일: Wed, 9 Mar 2016 01:11:51 UTC (592 KB)&lt;/li&gt;&#xA;&lt;li&gt;논문 저자: Tianqi Chen, Carlos Guestrin&lt;/li&gt;&#xA;&lt;li&gt;논문 소개&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Tree boosting is a highly effective and widely used machine learning method. In this paper, we describe a scalable end-to-end tree boosting system called XGBoost, which is used widely by data scientists to achieve state-of-the-art results on many machine learning challenges. We propose a novel sparsity-aware algorithm for sparse data and weighted quantile sketch for approximate tree learning. More importantly, we provide insights on cache access patterns, data compression and sharding to build a scalable tree boosting system. By combining these insights, XGBoost scales beyond billions of examples using far fewer resources than existing systems.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kaggle with R</title>
      <link>https://dschloe.github.io/programming/2020/08/kaggle_with_r/</link>
      <pubDate>Sat, 08 Aug 2020 21:00:00 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/08/kaggle_with_r/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;R 입문부터 머신러닝까지 가르치게 되었다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.webtime.co.kr/Pages/Learning/EducationInfo.aspx?Key=61413c44-d1e0-e811-811c-001dd8b71c0e&amp;amp;EducationId=beb94e65-6c83-ea11-8132-001dd8b71c0e&amp;amp;SeparationId=dce65f04-1433-e811-8107-001dd8b71c0e&#34;&gt;R을 활용한 빅데이터 분석&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;실제 Kaggle 대회 참여 독려를 위해 R에서 &lt;code&gt;Kaggle&lt;/code&gt; 데이터를 불러와 머신러닝을 진행하는 것을 기획하였다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pins&lt;/code&gt; 패키지를 활용하면 보다 쉽게 할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1-kaggle-api-with-r&#34;&gt;(1) Kaggle API with R&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 [Kaggle]에 회원 가입을 한다.&lt;/li&gt;&#xA;&lt;li&gt;회원 가입 진행 후, Kaggle에서 kaggle.json 파일을 다운로드 받는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://chloevan.github.io/img/programming/2020/06/Chapter_1_6_Colab_with_Kaggle/kaggle_01_api.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>ch 13 - Reliability</title>
      <link>https://dschloe.github.io/programming/2020/08/ch_13_reliability/</link>
      <pubDate>Tue, 04 Aug 2020 21:00:00 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/08/ch_13_reliability/</guid>
      <description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PLS-SEM의 분석과정에서 척도(측정변수와 잠재변수)의 신뢰도와 타당도를 확보하는 것은 매우 중요하며, 신뢰도와 타당도가 확보되지 않으면 모델 추정 결과가 의미가 없기 때문임&lt;/li&gt;&#xA;&lt;li&gt;즉, 구조모델의 추정을 실행하려면 사전에 반드시 측정모델에 대한 평가과정을 통해 신뢰도와 타당도 확보 필요&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-주요-개념&#34;&gt;I. 주요 개념&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-신뢰도&#34;&gt;(1) 신뢰도&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;잠재변수의 측정에 있어서 얼마나 일관성이 있는가의 정도 의미&#xA;&lt;ul&gt;&#xA;&lt;li&gt;검사도구의 일관성을 말하며, 일관성이란 잠재변수를 여러 번에 걸쳐 측정했을 때 매번 같은 결과를 도출할 수 있는 정도.&lt;/li&gt;&#xA;&lt;li&gt;내적 일관성 신뢰(Internal Consistency Reliability)로 평가&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-타당도&#34;&gt;(2) 타당도&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;타당도의 기본 정의는 실제 측정하고자 하는 잠재변수를 정확하게 측정하고 있는 정도&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PLS-SEM에서는 집중타당도(&lt;code&gt;Convergent Validity&lt;/code&gt;)와 판별타당도(&lt;code&gt;Discriminant Validity&lt;/code&gt;)를 사용한다.&lt;/li&gt;&#xA;&lt;li&gt;전자는 하나의 잠재변수를 측정하기 위해 사용되는 척도의 구성항목들 간에 상관관계가 높아야 집중타당도가 있다고 볼 수 있고, 후자는 하나의 잠재변수와 다른 잠재변수간 상관관계가 낮을수록 판별 타당도가 높다고 판단함.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-pls-sem-분석-결과의-쳬계적인-평가-단계&#34;&gt;(3) PLS-SEM 분석 결과의 쳬계적인 평가 단계&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;반영적 측정모델: 내적 일관성 신뢰도, 집중타당도, 판별타당도&lt;/li&gt;&#xA;&lt;li&gt;형성적 측정모델: 집중타당도, 다중공선성, 외부가중치와 외부적재치의 유의성과 적합성&lt;/li&gt;&#xA;&lt;li&gt;구조모델의 평가기준: 다중공선성, 결정계수 $R^2$, 효과크기 $f^2$, 예측적 적합성 $Q^2$, 경로계수의 유의성과 적합성&lt;/li&gt;&#xA;&lt;li&gt;PLS-SEM의 평가 단계: 제 1단계는 측정모델(Outer Model)을 평가하는 것이며, 제 2단계는 구조모델(Inner Model)을 평가하는 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-설문조사-데이터-분석&#34;&gt;II. 설문조사 데이터 분석&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 설문지를 분석해본다.&lt;/li&gt;&#xA;&lt;li&gt;필수 패키지를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(readr) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(dplyr)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(kableExtra) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(psy) &lt;span style=&#34;color:#75715e&#34;&gt;# 신뢰도&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(corrplot) &lt;span style=&#34;color:#75715e&#34;&gt;# 상관계수&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(psychometric) &lt;span style=&#34;color:#75715e&#34;&gt;# 타당도 &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;1-데이터-수집&#34;&gt;(1) 데이터 수집&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 수집된 설문조사 데이터를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;read_csv&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;data/thesis_mater.csv&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;distinct&lt;/span&gt;() &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 중복데이터 제거&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;rename&lt;/span&gt;(Position &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; founder_employee, &lt;span style=&#34;color:#75715e&#34;&gt;# 출력을 위한 변수명 정리&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         Age &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; age_of_respondent, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         Education &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Education_Level) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;slice&lt;/span&gt;(&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;)) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  dplyr&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;select&lt;/span&gt;(&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(Firm_Age&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;Business_Area))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;() &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;kable&lt;/span&gt;() &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;kable_styling&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;striped&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;scroll_box&lt;/span&gt;(width &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;100%&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style=&#34;border: 1px solid #ddd; padding: 5px; overflow-x: scroll; width:100%; &#34;&gt;&lt;table class=&#34;table table-striped&#34; style=&#34;margin-left: auto; margin-right: auto;&#34;&gt;&#xA;    &lt;thead&gt;&#xA;     &lt;tr&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; EI_1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; EI_2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; EI_3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; EP_1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; EP_2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; EP_3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; ER_1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; ER_2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; ER_3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SS_1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SS_2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SS_3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SC_1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SC_2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SC_3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SR_1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SR_2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SR_3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; F1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; F2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; F3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; NF1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; NF2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; NF3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; Firm_Age &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; Firm_Size &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; WE1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; WE2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; WE3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; gender &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; founder_employee &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; age_of_respondent &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; Education_Level &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; Business_Area &lt;/th&gt;&#xA;     &lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;   &lt;tbody&gt;&#xA;     &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 5 years above &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Above 15 members &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; No, I don&#39;t have experience &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Yes &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Yes &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Female &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Employee &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 30-39 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Undergraduate School &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Others &lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Less than 2 years &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Less than 5 members &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; No, I don&#39;t have experience &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; No &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Yes &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Male &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Employee &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Younger than 30 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Undergraduate School &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Media and Entertainment &lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 5 years above &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Less than 5 members &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; As founder or employee, I have startup experiences more than 3 times &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; No &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Yes &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Female &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Founder of Company &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Younger than 30 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Undergraduate School &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Others &lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Less than 2 years &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Less than 5 members &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; No, I don&#39;t have experience &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Yes &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Yes &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Male &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Employee &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Younger than 30 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Undergraduate School &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Others &lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 3-4 years &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Less than 5 members &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; As founder or employee, I have startup experiences more than 3 times &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; No &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Yes &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Male &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Founder of Company &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 30-39 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Undergraduate School &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Others &lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 5 years above &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 5-9 members &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; As founder or employee,  I have startup experience, one time &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; No &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; No &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Female &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Employee &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Younger than 30 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Undergraduate School &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Others &lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;   &lt;/tbody&gt;&#xA;   &lt;/table&gt;&lt;/div&gt;&#xA;&lt;h3 id=&#34;2-상관관계-확인&#34;&gt;(2) 상관관계 확인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;각 척도(Item)에서의 상관관계를 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;M &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;cor&lt;/span&gt;(data)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;corrplot&lt;/span&gt;(M, type&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;upper&amp;#34;&lt;/span&gt;, order&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;hclust&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         col&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;RColorBrewer&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;brewer.pal&lt;/span&gt;(n&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;, name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;RdBu&amp;#34;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/08/ch_13_reliability/unnamed-chunk-3-1.png&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Global Development Resources</title>
      <link>https://dschloe.github.io/programming/2020/07/resources/</link>
      <pubDate>Fri, 31 Jul 2020 10:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/resources/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 전공과 관련하여 주요 자료를 정리하였습니다. &lt;code&gt;데이터과학&lt;/code&gt;의 다양한 이론 중에서 &lt;code&gt;국제개발&lt;/code&gt;에 적용시킬만한 내용이 무엇인지 고민하며 계속적으로 자료를 업데이트 할 예정입니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;oecd-자료&#34;&gt;OECD 자료&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.oecd.org/dac/peer-reviews/reference-guide.htm&#34;&gt;DAC Peer Review Reference Guide&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;대략 5년 마다 한번씩 각 회원국들의 개발협력 정책과 사업들에 대해 면밀히 검토를 하고 있으며, 연간 6개 회원국들을 대상으로 한다. 이 때, 위 문서를 근거로 동료 평가를 시행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.oecd-ilibrary.org/sites/9789264288829-en/index.html?itemId=/content/publication/9789264288829-en&#34;&gt;OECD Development Co-operation Peer Reviews: Korea 2018&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;한국어: &lt;a href=&#34;https://www.kdevelopedia.org/download.do?timeFile=/mnt/idas/asset/2018/02/20/DOC/PDF/04201802200149850072636.pdf&amp;amp;originFileName=4318031e.pdf&#34;&gt;OECD 개발협력 동료검토 Peer Reviews 대한민국 2018&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;un-자료&#34;&gt;UN 자료&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://unstats.un.org/sdgs/report/2020/&#34;&gt;The Sustainable Development Goals Report 2020&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;project-management&#34;&gt;Project Management&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://caricom.org/wp-content/uploads/EC_PCM_Training_Handbook.pdf&#34;&gt;Project Cycle Management&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://redi.re.kr/wp-content/uploads/2016/08/%EB%B0%9C%ED%91%9C%EC%9E%90%EB%A3%8C1-%EC%9B%94%EB%A1%80-%ED%86%A0%ED%81%AC%EC%BD%98%EC%84%9C%ED%8A%B8-1%ED%9A%8C%EA%B5%90%EC%9C%A1-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC-%ED%99%9C%EC%9A%A9%ED%95%9C-%EA%B5%AD%EC%A0%9C%EA%B5%90%EC%9C%A1%EA%B0%9C%EB%B0%9C%ED%98%91%EB%A0%A5-%EC%82%AC%EC%97%85-%EA%B8%B0%ED%9A%8D%EC%9E%84%EC%A7%84%ED%98%B81.pdf&#34;&gt;Project Design Matrix&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.evropa.gov.rs/Evropa/ShowDocument.aspx?Type=Home&amp;amp;Id=525&#34;&gt;Logical Framework Approach&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>ch 12 - Demographic of Respondent in R</title>
      <link>https://dschloe.github.io/programming/2020/07/ch_12_demographic_of_respondents_blog/</link>
      <pubDate>Thu, 30 Jul 2020 16:00:00 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/ch_12_demographic_of_respondents_blog/</guid>
      <description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지난 시간에 설문조사 전처리에 대해 배웠다면 이번에는 경영/사회과학 논문에서 필수적으로 기재해야 하는 &lt;code&gt;표본의 특성&lt;/code&gt;을 간단한 프로그램으로 요약하는 것을 코딩한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-주요-패키지&#34;&gt;(1) 주요 패키지&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번 포스트부터 &lt;a href=&#34;https://gt.rstudio.com/&#34;&gt;gt&lt;/a&gt; 패키지를 사용하려고 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;gt: &lt;a href=&#34;https://ggplot2.tidyverse.org/&#34;&gt;ggplot2&lt;/a&gt;와 같이 &lt;code&gt;Table&lt;/code&gt;를 문법으로 컨트롤 할 수 있도록 구현된 패키지이다.&lt;/li&gt;&#xA;&lt;li&gt;kableExtra: &lt;code&gt;HTML&lt;/code&gt;로 출력할 수 있도록 도와주는 패키지이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(readr)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(dplyr)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(gt)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(gtsummary)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;i-데이터-가져오기&#34;&gt;I. 데이터 가져오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 데이터를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;read_csv&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;data/thesis_mater.csv&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;distinct&lt;/span&gt;() &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 중복데이터 제거&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;rename&lt;/span&gt;(Position &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; founder_employee, &lt;span style=&#34;color:#75715e&#34;&gt;# 출력을 위한 변수명 정리&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         Age &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; age_of_respondent, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         Education &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Education_Level)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;glimpse&lt;/span&gt;(data &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;select&lt;/span&gt;(Firm_Age&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;Business_Area))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;전체 34개의 변수 중에서, &lt;code&gt;문자열&lt;/code&gt; 관련 데이터만 추출하였다.&lt;/li&gt;&#xA;&lt;li&gt;어떤 데이터를 표본의 특성으로 삼아야 할까?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 10개의 데이터에는 통제변수&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;가 들어가 있다.&lt;/li&gt;&#xA;&lt;li&gt;통제변수는 표본의 특징이 아니기 때문에 통제변인을 제외한 나머지 변수들을 추출한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## Rows: 103&#xA;## Columns: 10&#xA;## $ Firm_Age      &amp;lt;chr&amp;gt; &amp;#34;5 years above&amp;#34;, &amp;#34;Less than 2 years&amp;#34;, &amp;#34;5 years above&amp;#34;, …&#xA;## $ Firm_Size     &amp;lt;chr&amp;gt; &amp;#34;Above 15 members&amp;#34;, &amp;#34;Less than 5 members&amp;#34;, &amp;#34;Less than 5…&#xA;## $ WE1           &amp;lt;chr&amp;gt; &amp;#34;No, I don&amp;#39;t have experience&amp;#34;, &amp;#34;No, I don&amp;#39;t have experi…&#xA;## $ WE2           &amp;lt;chr&amp;gt; &amp;#34;Yes&amp;#34;, &amp;#34;No&amp;#34;, &amp;#34;No&amp;#34;, &amp;#34;Yes&amp;#34;, &amp;#34;No&amp;#34;, &amp;#34;No&amp;#34;, &amp;#34;No&amp;#34;, &amp;#34;No&amp;#34;, &amp;#34;No&amp;#34;,…&#xA;## $ WE3           &amp;lt;chr&amp;gt; &amp;#34;Yes&amp;#34;, &amp;#34;Yes&amp;#34;, &amp;#34;Yes&amp;#34;, &amp;#34;Yes&amp;#34;, &amp;#34;Yes&amp;#34;, &amp;#34;No&amp;#34;, &amp;#34;Yes&amp;#34;, &amp;#34;No&amp;#34;, &amp;#34;…&#xA;## $ gender        &amp;lt;chr&amp;gt; &amp;#34;Female&amp;#34;, &amp;#34;Male&amp;#34;, &amp;#34;Female&amp;#34;, &amp;#34;Male&amp;#34;, &amp;#34;Male&amp;#34;, &amp;#34;Female&amp;#34;, &amp;#34;…&#xA;## $ Position      &amp;lt;chr&amp;gt; &amp;#34;Employee&amp;#34;, &amp;#34;Employee&amp;#34;, &amp;#34;Founder of Company&amp;#34;, &amp;#34;Employee…&#xA;## $ Age           &amp;lt;chr&amp;gt; &amp;#34;30-39&amp;#34;, &amp;#34;Younger than 30&amp;#34;, &amp;#34;Younger than 30&amp;#34;, &amp;#34;Younger…&#xA;## $ Education     &amp;lt;chr&amp;gt; &amp;#34;Undergraduate School&amp;#34;, &amp;#34;Undergraduate School&amp;#34;, &amp;#34;Underg…&#xA;## $ Business_Area &amp;lt;chr&amp;gt; &amp;#34;Others&amp;#34;, &amp;#34;Media and Entertainment&amp;#34;, &amp;#34;Others&amp;#34;, &amp;#34;Others&amp;#34;…&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;표본의 특성을 기술하는 데이터는 아래와 같이 추출한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;gender, founder_employee, age_of_respondent, educational_level, business_area&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data2 &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; data &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;select&lt;/span&gt;(gender, Position, Age, Education, Business_Area)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;glimpse&lt;/span&gt;(data2)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## Rows: 103&#xA;## Columns: 5&#xA;## $ gender        &amp;lt;chr&amp;gt; &amp;#34;Female&amp;#34;, &amp;#34;Male&amp;#34;, &amp;#34;Female&amp;#34;, &amp;#34;Male&amp;#34;, &amp;#34;Male&amp;#34;, &amp;#34;Female&amp;#34;, &amp;#34;…&#xA;## $ Position      &amp;lt;chr&amp;gt; &amp;#34;Employee&amp;#34;, &amp;#34;Employee&amp;#34;, &amp;#34;Founder of Company&amp;#34;, &amp;#34;Employee…&#xA;## $ Age           &amp;lt;chr&amp;gt; &amp;#34;30-39&amp;#34;, &amp;#34;Younger than 30&amp;#34;, &amp;#34;Younger than 30&amp;#34;, &amp;#34;Younger…&#xA;## $ Education     &amp;lt;chr&amp;gt; &amp;#34;Undergraduate School&amp;#34;, &amp;#34;Undergraduate School&amp;#34;, &amp;#34;Underg…&#xA;## $ Business_Area &amp;lt;chr&amp;gt; &amp;#34;Others&amp;#34;, &amp;#34;Media and Entertainment&amp;#34;, &amp;#34;Others&amp;#34;, &amp;#34;Others&amp;#34;…&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;ii-표본-특성-표-출력&#34;&gt;II. 표본 특성 표 출력&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;보통 논문에 들어가는 표본의 특징은 Category, Frequency, and Percentage(%) 정도만 필요하다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, &lt;code&gt;Table&lt;/code&gt;을 가공해줄 수 있는 &lt;a href=&#34;https://www.danieldsjoberg.com/gtsummary/index.html&#34;&gt;gtsummary&lt;/a&gt; 패키지를 활용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;set_gtsummary_theme&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;theme_gtsummary_journal&lt;/span&gt;(journal &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;jama&amp;#34;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data2 &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;tbl_summary&lt;/span&gt;(by &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; gender) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;add_overall&lt;/span&gt;() &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;add_n&lt;/span&gt;() &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;modify_header&lt;/span&gt;(label &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;**Variable**&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# update the column header&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;bold_labels&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;style&gt;html {&#xA;  font-family: -apple-system, BlinkMacSystemFont, &#39;Segoe UI&#39;, Roboto, Oxygen, Ubuntu, Cantarell, &#39;Helvetica Neue&#39;, &#39;Fira Sans&#39;, &#39;Droid Sans&#39;, Arial, sans-serif;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_table {&#xA;  display: table;&#xA;  border-collapse: collapse;&#xA;  margin-left: auto;&#xA;  margin-right: auto;&#xA;  color: #333333;&#xA;  font-size: 16px;&#xA;  background-color: #FFFFFF;&#xA;  width: auto;&#xA;  border-top-style: solid;&#xA;  border-top-width: 2px;&#xA;  border-top-color: #A8A8A8;&#xA;  border-right-style: none;&#xA;  border-right-width: 2px;&#xA;  border-right-color: #D3D3D3;&#xA;  border-bottom-style: solid;&#xA;  border-bottom-width: 2px;&#xA;  border-bottom-color: #A8A8A8;&#xA;  border-left-style: none;&#xA;  border-left-width: 2px;&#xA;  border-left-color: #D3D3D3;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_heading {&#xA;  background-color: #FFFFFF;&#xA;  text-align: center;&#xA;  border-bottom-color: #FFFFFF;&#xA;  border-left-style: none;&#xA;  border-left-width: 1px;&#xA;  border-left-color: #D3D3D3;&#xA;  border-right-style: none;&#xA;  border-right-width: 1px;&#xA;  border-right-color: #D3D3D3;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_title {&#xA;  color: #333333;&#xA;  font-size: 125%;&#xA;  font-weight: initial;&#xA;  padding-top: 4px;&#xA;  padding-bottom: 4px;&#xA;  border-bottom-color: #FFFFFF;&#xA;  border-bottom-width: 0;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_subtitle {&#xA;  color: #333333;&#xA;  font-size: 85%;&#xA;  font-weight: initial;&#xA;  padding-top: 0;&#xA;  padding-bottom: 4px;&#xA;  border-top-color: #FFFFFF;&#xA;  border-top-width: 0;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_bottom_border {&#xA;  border-bottom-style: solid;&#xA;  border-bottom-width: 2px;&#xA;  border-bottom-color: #D3D3D3;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_col_headings {&#xA;  border-top-style: solid;&#xA;  border-top-width: 2px;&#xA;  border-top-color: #D3D3D3;&#xA;  border-bottom-style: solid;&#xA;  border-bottom-width: 2px;&#xA;  border-bottom-color: #D3D3D3;&#xA;  border-left-style: none;&#xA;  border-left-width: 1px;&#xA;  border-left-color: #D3D3D3;&#xA;  border-right-style: none;&#xA;  border-right-width: 1px;&#xA;  border-right-color: #D3D3D3;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_col_heading {&#xA;  color: #333333;&#xA;  background-color: #FFFFFF;&#xA;  font-size: 100%;&#xA;  font-weight: normal;&#xA;  text-transform: inherit;&#xA;  border-left-style: none;&#xA;  border-left-width: 1px;&#xA;  border-left-color: #D3D3D3;&#xA;  border-right-style: none;&#xA;  border-right-width: 1px;&#xA;  border-right-color: #D3D3D3;&#xA;  vertical-align: bottom;&#xA;  padding-top: 5px;&#xA;  padding-bottom: 6px;&#xA;  padding-left: 5px;&#xA;  padding-right: 5px;&#xA;  overflow-x: hidden;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_column_spanner_outer {&#xA;  color: #333333;&#xA;  background-color: #FFFFFF;&#xA;  font-size: 100%;&#xA;  font-weight: normal;&#xA;  text-transform: inherit;&#xA;  padding-top: 0;&#xA;  padding-bottom: 0;&#xA;  padding-left: 4px;&#xA;  padding-right: 4px;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_column_spanner_outer:first-child {&#xA;  padding-left: 0;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_column_spanner_outer:last-child {&#xA;  padding-right: 0;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_column_spanner {&#xA;  border-bottom-style: solid;&#xA;  border-bottom-width: 2px;&#xA;  border-bottom-color: #D3D3D3;&#xA;  vertical-align: bottom;&#xA;  padding-top: 5px;&#xA;  padding-bottom: 6px;&#xA;  overflow-x: hidden;&#xA;  display: inline-block;&#xA;  width: 100%;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_group_heading {&#xA;  padding: 8px;&#xA;  color: #333333;&#xA;  background-color: #FFFFFF;&#xA;  font-size: 100%;&#xA;  font-weight: initial;&#xA;  text-transform: inherit;&#xA;  border-top-style: solid;&#xA;  border-top-width: 2px;&#xA;  border-top-color: #D3D3D3;&#xA;  border-bottom-style: solid;&#xA;  border-bottom-width: 2px;&#xA;  border-bottom-color: #D3D3D3;&#xA;  border-left-style: none;&#xA;  border-left-width: 1px;&#xA;  border-left-color: #D3D3D3;&#xA;  border-right-style: none;&#xA;  border-right-width: 1px;&#xA;  border-right-color: #D3D3D3;&#xA;  vertical-align: middle;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_empty_group_heading {&#xA;  padding: 0.5px;&#xA;  color: #333333;&#xA;  background-color: #FFFFFF;&#xA;  font-size: 100%;&#xA;  font-weight: initial;&#xA;  border-top-style: solid;&#xA;  border-top-width: 2px;&#xA;  border-top-color: #D3D3D3;&#xA;  border-bottom-style: solid;&#xA;  border-bottom-width: 2px;&#xA;  border-bottom-color: #D3D3D3;&#xA;  vertical-align: middle;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_striped {&#xA;  background-color: rgba(128, 128, 128, 0.05);&#xA;}&#xA;&#xA;#ulphjxwejp .gt_from_md &gt; :first-child {&#xA;  margin-top: 0;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_from_md &gt; :last-child {&#xA;  margin-bottom: 0;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_row {&#xA;  padding-top: 8px;&#xA;  padding-bottom: 8px;&#xA;  padding-left: 5px;&#xA;  padding-right: 5px;&#xA;  margin: 10px;&#xA;  border-top-style: solid;&#xA;  border-top-width: 1px;&#xA;  border-top-color: #D3D3D3;&#xA;  border-left-style: none;&#xA;  border-left-width: 1px;&#xA;  border-left-color: #D3D3D3;&#xA;  border-right-style: none;&#xA;  border-right-width: 1px;&#xA;  border-right-color: #D3D3D3;&#xA;  vertical-align: middle;&#xA;  overflow-x: hidden;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_stub {&#xA;  color: #333333;&#xA;  background-color: #FFFFFF;&#xA;  font-size: 100%;&#xA;  font-weight: initial;&#xA;  text-transform: inherit;&#xA;  border-right-style: solid;&#xA;  border-right-width: 2px;&#xA;  border-right-color: #D3D3D3;&#xA;  padding-left: 12px;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_summary_row {&#xA;  color: #333333;&#xA;  background-color: #FFFFFF;&#xA;  text-transform: inherit;&#xA;  padding-top: 8px;&#xA;  padding-bottom: 8px;&#xA;  padding-left: 5px;&#xA;  padding-right: 5px;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_first_summary_row {&#xA;  padding-top: 8px;&#xA;  padding-bottom: 8px;&#xA;  padding-left: 5px;&#xA;  padding-right: 5px;&#xA;  border-top-style: solid;&#xA;  border-top-width: 2px;&#xA;  border-top-color: #D3D3D3;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_grand_summary_row {&#xA;  color: #333333;&#xA;  background-color: #FFFFFF;&#xA;  text-transform: inherit;&#xA;  padding-top: 8px;&#xA;  padding-bottom: 8px;&#xA;  padding-left: 5px;&#xA;  padding-right: 5px;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_first_grand_summary_row {&#xA;  padding-top: 8px;&#xA;  padding-bottom: 8px;&#xA;  padding-left: 5px;&#xA;  padding-right: 5px;&#xA;  border-top-style: double;&#xA;  border-top-width: 6px;&#xA;  border-top-color: #D3D3D3;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_table_body {&#xA;  border-top-style: solid;&#xA;  border-top-width: 2px;&#xA;  border-top-color: #D3D3D3;&#xA;  border-bottom-style: solid;&#xA;  border-bottom-width: 2px;&#xA;  border-bottom-color: #D3D3D3;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_footnotes {&#xA;  color: #333333;&#xA;  background-color: #FFFFFF;&#xA;  border-bottom-style: none;&#xA;  border-bottom-width: 2px;&#xA;  border-bottom-color: #D3D3D3;&#xA;  border-left-style: none;&#xA;  border-left-width: 2px;&#xA;  border-left-color: #D3D3D3;&#xA;  border-right-style: none;&#xA;  border-right-width: 2px;&#xA;  border-right-color: #D3D3D3;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_footnote {&#xA;  margin: 0px;&#xA;  font-size: 90%;&#xA;  padding: 4px;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_sourcenotes {&#xA;  color: #333333;&#xA;  background-color: #FFFFFF;&#xA;  border-bottom-style: none;&#xA;  border-bottom-width: 2px;&#xA;  border-bottom-color: #D3D3D3;&#xA;  border-left-style: none;&#xA;  border-left-width: 2px;&#xA;  border-left-color: #D3D3D3;&#xA;  border-right-style: none;&#xA;  border-right-width: 2px;&#xA;  border-right-color: #D3D3D3;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_sourcenote {&#xA;  font-size: 90%;&#xA;  padding: 4px;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_left {&#xA;  text-align: left;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_center {&#xA;  text-align: center;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_right {&#xA;  text-align: right;&#xA;  font-variant-numeric: tabular-nums;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_font_normal {&#xA;  font-weight: normal;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_font_bold {&#xA;  font-weight: bold;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_font_italic {&#xA;  font-style: italic;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_super {&#xA;  font-size: 65%;&#xA;}&#xA;&#xA;#ulphjxwejp .gt_footnote_marks {&#xA;  font-style: italic;&#xA;  font-size: 65%;&#xA;}&#xA;&lt;/style&gt;&#xA;&lt;div id=&#34;ulphjxwejp&#34; style=&#34;overflow-x:auto;overflow-y:auto;width:auto;height:auto;&#34;&gt;&lt;table class=&#34;gt_table&#34;&gt;&#xA;  &#xA;  &lt;thead class=&#34;gt_col_headings&#34;&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th class=&#34;gt_col_heading gt_columns_bottom_border gt_left&#34; rowspan=&#34;1&#34; colspan=&#34;1&#34;&gt;&lt;strong&gt;Variable&lt;/strong&gt;&lt;/th&gt;&#xA;      &lt;th class=&#34;gt_col_heading gt_columns_bottom_border gt_center&#34; rowspan=&#34;1&#34; colspan=&#34;1&#34;&gt;&lt;strong&gt;N&lt;/strong&gt;&lt;/th&gt;&#xA;      &lt;th class=&#34;gt_col_heading gt_columns_bottom_border gt_center&#34; rowspan=&#34;1&#34; colspan=&#34;1&#34;&gt;&lt;strong&gt;Overall&lt;/strong&gt;, N = 103&lt;/th&gt;&#xA;      &lt;th class=&#34;gt_col_heading gt_columns_bottom_border gt_center&#34; rowspan=&#34;1&#34; colspan=&#34;1&#34;&gt;&lt;strong&gt;Female&lt;/strong&gt;, N = 62&lt;sup class=&#34;gt_footnote_marks&#34;&gt;1&lt;/sup&gt;&lt;/th&gt;&#xA;      &lt;th class=&#34;gt_col_heading gt_columns_bottom_border gt_center&#34; rowspan=&#34;1&#34; colspan=&#34;1&#34;&gt;&lt;strong&gt;Male&lt;/strong&gt;, N = 41&lt;sup class=&#34;gt_footnote_marks&#34;&gt;1&lt;/sup&gt;&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody class=&#34;gt_table_body&#34;&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;font-weight: bold;&#34;&gt;Position&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;103&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;Employee&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;68 (66)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;35 (56)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;33 (80)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;Founder of Company&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;35 (34)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;27 (44)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;8 (20)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;font-weight: bold;&#34;&gt;Age&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;103&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;30-39&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;37 (36)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;19 (31)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;18 (44)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;40-49&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;8 (7.8)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;4 (6.5)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;4 (9.8)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;50 or above&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;2 (1.9)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;2 (3.2)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;0 (0)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;Younger than 30&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;56 (54)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;37 (60)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;19 (46)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;font-weight: bold;&#34;&gt;Education&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;103&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;Graduate School&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;25 (24)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;15 (24)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;10 (24)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;High School&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;7 (6.8)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;6 (9.7)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;1 (2.4)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;Undergraduate School&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;71 (69)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;41 (66)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;30 (73)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;font-weight: bold;&#34;&gt;Business_Area&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;103&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;E-Commerce&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;16 (16)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;11 (18)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;5 (12)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;Education&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;4 (3.9)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;2 (3.2)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;2 (4.9)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;Energy&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;1 (1.0)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;0 (0)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;1 (2.4)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;Enterprise Services&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;4 (3.9)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;2 (3.2)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;2 (4.9)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;Fintech&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;9 (8.7)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;6 (9.7)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;3 (7.3)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;Logistics&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;5 (4.9)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;1 (1.6)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;4 (9.8)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;Manufacturing&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;3 (2.9)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;2 (3.2)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;1 (2.4)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;Media and Entertainment&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;7 (6.8)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;4 (6.5)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;3 (7.3)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;Medical and Healthcare&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;1 (1.0)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;1 (1.6)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;0 (0)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;Online to Offline Commerce&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;2 (1.9)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;1 (1.6)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;1 (2.4)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;Others&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;45 (44)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;31 (50)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;14 (34)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;Real Estate and Household&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;1 (1.0)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;0 (0)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;1 (2.4)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;Transportation/Automotive&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;4 (3.9)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;0 (0)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;4 (9.8)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td class=&#34;gt_row gt_left&#34; style=&#34;text-align: left; text-indent: 10px;&#34;&gt;Travel&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;1 (1.0)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;1 (1.6)&lt;/td&gt;&#xA;      &lt;td class=&#34;gt_row gt_center&#34;&gt;0 (0)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;  &#xA;  &lt;tfoot&gt;&#xA;    &lt;tr class=&#34;gt_footnotes&#34;&gt;&#xA;      &lt;td colspan=&#34;5&#34;&gt;&#xA;        &lt;p class=&#34;gt_footnote&#34;&gt;&#xA;          &lt;sup class=&#34;gt_footnote_marks&#34;&gt;&#xA;            &lt;em&gt;1&lt;/em&gt;&#xA;          &lt;/sup&gt;&#xA;           &#xA;          Statistics presented: n (%)&#xA;          &lt;br /&gt;&#xA;        &lt;/p&gt;</description>
    </item>
    <item>
      <title>ch05 - Log Scale Visualisation</title>
      <link>https://dschloe.github.io/programming/2020/07/ch05_logscale_viz/</link>
      <pubDate>Wed, 29 Jul 2020 00:10:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/ch05_logscale_viz/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 포스트는 &lt;a href=&#34;http://www.yes24.com/Product/Goods/87631760&#34;&gt;데이터 시각화 교과서&lt;/a&gt; 내용의 일부를 요약하였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;http://image.yes24.com/goods/87631760/400x0#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 포스트를 읽고 가급적 전체 내용 숙지를 위해 구매하는 것을 권유한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;수치형 자료를 &lt;code&gt;Y&lt;/code&gt;축으로 놓는 그래프는 언제나 힘들었다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;log Scale&lt;/code&gt;을 통해 값의 크기를 줄이기는 하지만, &lt;code&gt;Y&lt;/code&gt;축을 어떻게 표현하는 것이 좋을지에 대한 고민은 늘 있어왔다.&lt;/li&gt;&#xA;&lt;li&gt;시각화 이론 중심의 포스팅이기에 코드 리뷰 및 해석은 생략한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;문제점&#34;&gt;문제점&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;log Scale&lt;/code&gt;을 적용했을 때와 그렇지 않을 때의 그래프를 비교해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-패키지-불러오기&#34;&gt;(1) 패키지 불러오기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;각각의 패키지를 불러온다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 데이터는 &lt;code&gt;dviz.supp&lt;/code&gt; 저자인 &lt;code&gt;Claus O. Wilke&lt;/code&gt;의 &lt;code&gt;Github Repo&lt;/code&gt;에서 가져와야 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;경고: 이 부분이 초급자 분들에게는 쉽지가 않다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;우선, 사전에 설치해야 할 패키지가 존재한다.&lt;/li&gt;&#xA;&lt;li&gt;현재 필자 개발환경 Spec은 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;sessionInfo&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;R version &lt;span style=&#34;color:#ae81ff&#34;&gt;4.0.2&lt;/span&gt; (&lt;span style=&#34;color:#ae81ff&#34;&gt;2020-06-22&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Platform&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; x86_64&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;apple&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;darwin17.0 &lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;64&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;bit)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Running under&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; macOS Catalina &lt;span style=&#34;color:#ae81ff&#34;&gt;10.15.6&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;아래는 추가적으로 설치한 파일이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;깃허브 Issues에서 좀 더 구체적으로 확인하는 것을 추천한다.&lt;/li&gt;&#xA;&lt;li&gt;참조: &lt;a href=&#34;https://github.com/clauswilke/dviz.supp/issues/2&#34;&gt;installation instructions? #2&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;install.packages&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;devtools&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;devtools&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;install_github&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;wilkelab/cowplot&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(cowplot)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;install.packages&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;colorspace&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(colorspace)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;devtools&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;install_github&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;clauswilke/colorblindr&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(colorblindr)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;devtools&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;install_github&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;clauswilke/dviz.supp&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(dviz.supp)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 패키지들을 설치하는데 꽤 시간이 걸렸다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(lubridate) &lt;span style=&#34;color:#75715e&#34;&gt;# 날짜 관련 패키지&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(forcats)   &lt;span style=&#34;color:#75715e&#34;&gt;# 시계열 관련 패키지&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(tidyr)     &lt;span style=&#34;color:#75715e&#34;&gt;# 데이터 핸들링 패키지&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(ggrepel)   &lt;span style=&#34;color:#75715e&#34;&gt;# 시각화 관련 패키지&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(dviz.supp) &lt;span style=&#34;color:#75715e&#34;&gt;# 저자의 개인 Repo 패키지: 교재 있는 데이터 활용 및 그래프를 구현하려면 필수적으로 설치 되어야 함.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(kableExtra) &lt;span style=&#34;color:#75715e&#34;&gt;# 데이터 출력 Table을 HTML로 변환하기 위한 패키지 &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;2-데이터-확인&#34;&gt;(2) 데이터 확인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터는 &lt;code&gt;US_Census&lt;/code&gt; 데이터를 기반으로 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;자료 출처: 2010년도 미국 10개년 인구조사&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;주의: 한글 폰트는 일단 생략했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;소스코드 참조: &lt;a href=&#34;https://github.com/clauswilke/dataviz/blob/master/coordinate_systems_axes.Rmd&#34;&gt;https://github.com/clauswilke/dataviz/blob/master/coordinate_systems_axes.Rmd&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>ch 11 - Data Import &amp; Label Encoding in R</title>
      <link>https://dschloe.github.io/programming/2020/07/ch_11_import_data_blog/</link>
      <pubDate>Tue, 28 Jul 2020 12:30:00 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/ch_11_import_data_blog/</guid>
      <description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설문조사가 끝났으면 이제 정리를 해야 한다.&lt;/li&gt;&#xA;&lt;li&gt;일련의 과정은 보통 코딩이라 부른다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-주요-패키지&#34;&gt;(1) 주요 패키지&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번 포스트부터 &lt;a href=&#34;https://gt.rstudio.com/&#34;&gt;gt&lt;/a&gt; 패키지를 사용하려고 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;gt: &lt;a href=&#34;https://ggplot2.tidyverse.org/&#34;&gt;ggplot2&lt;/a&gt;와 같이 &lt;code&gt;Table&lt;/code&gt;를 문법으로 컨트롤 할 수 있도록 구현된 패키지이다.&lt;/li&gt;&#xA;&lt;li&gt;kableExtra: &lt;code&gt;HTML&lt;/code&gt;로 출력할 수 있도록 도와주는 패키지이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;문제점&#34;&gt;문제점&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;SmartPLS&lt;/code&gt; 프로그램을 쓴다 하더라도 기본적으로 모든 데이터의 &lt;code&gt;entry&lt;/code&gt;는 수치형으로 일단 바뀌어 있어야 한다.&lt;/li&gt;&#xA;&lt;li&gt;우선 데이터를 불러와서 확인해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(tidyverse)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(gt)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(kableExtra)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 데이터 불러오기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;read_csv&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data/thesis_mater.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;() &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;kable&lt;/span&gt;() &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;kable_styling&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;striped&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;scroll_box&lt;/span&gt;(width &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;100%&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style=&#34;border: 1px solid #ddd; padding: 5px; overflow-x: scroll; width:100%; &#34;&gt;&lt;table class=&#34;table table-striped&#34; style=&#34;margin-left: auto; margin-right: auto;&#34;&gt;&#xA;    &lt;thead&gt;&#xA;     &lt;tr&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; EI_1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; EI_2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; EI_3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; EP_1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; EP_2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; EP_3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; ER_1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; ER_2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; ER_3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SS_1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SS_2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SS_3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SC_1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SC_2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SC_3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SR_1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SR_2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SR_3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; F1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; F2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; F3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; NF1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; NF2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; NF3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; Firm_Age &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; Firm_Size &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; WE1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; WE2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; WE3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; gender &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; founder_employee &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; age_of_respondent &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; Education_Level &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; Business_Area &lt;/th&gt;&#xA;     &lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;   &lt;tbody&gt;&#xA;     &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 5 years above &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Above 15 members &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; No, I don&#39;t have experience &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Yes &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Yes &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Female &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Employee &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 30-39 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Undergraduate School &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Others &lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Less than 2 years &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Less than 5 members &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; No, I don&#39;t have experience &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; No &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Yes &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Male &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Employee &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Younger than 30 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Undergraduate School &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Media and Entertainment &lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 5 years above &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Less than 5 members &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; As founder or employee, I have startup experiences more than 3 times &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; No &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Yes &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Female &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Founder of Company &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Younger than 30 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Undergraduate School &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Others &lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Less than 2 years &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Less than 5 members &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; No, I don&#39;t have experience &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Yes &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Yes &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Male &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Employee &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Younger than 30 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Undergraduate School &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Others &lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 3-4 years &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Less than 5 members &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; As founder or employee, I have startup experiences more than 3 times &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; No &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Yes &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Male &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Founder of Company &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 30-39 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Undergraduate School &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Others &lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 5 years above &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 5-9 members &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; As founder or employee,  I have startup experience, one time &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; No &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; No &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Female &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Employee &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Younger than 30 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Undergraduate School &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; Others &lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;   &lt;/tbody&gt;&#xA;   &lt;/table&gt;&lt;/div&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 데이터에서 보면 알 수 있듯이, &lt;code&gt;WE1 ~ Business_Area&lt;/code&gt; 까지의 데이터는 모두 문자로 되어 있다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Python&lt;/code&gt;에서는 &lt;a href=&#34;https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelEncoder.html&#34;&gt;LabelEncoder&lt;/a&gt;라는 것이 있다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;R&lt;/code&gt;에서는 기본 문법인 &lt;code&gt;factor&lt;/code&gt;만 있어도 가능하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;factor의-활용&#34;&gt;Factor의 활용&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 본격적으로 코딩을 시작한다.&lt;/li&gt;&#xA;&lt;li&gt;데이터 전처리에서 쉬운 방법은 없다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-기본&#34;&gt;(1) 기본&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가상의 데이터를 만든 후 &lt;code&gt;factor&lt;/code&gt;를 활용하자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;data.frame&lt;/span&gt;(x &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;), &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                   gender &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Female&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Male&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Male&amp;#34;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;##   x gender&#xA;## 1 1 Female&#xA;## 2 1   Male&#xA;## 3 2   Male&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;이제 &lt;code&gt;gender&lt;/code&gt;를 변환하자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp&lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;gender &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;as.numeric&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;factor&lt;/span&gt;(temp&lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;gender))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;##   x gender&#xA;## 1 1      1&#xA;## 2 1      2&#xA;## 3 2      2&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;factor&lt;/code&gt;로 변환한 뒤, &lt;code&gt;as.numeric&lt;/code&gt;으로 형 변환을 하면 쉽게 바꿀수는 있다.&lt;/li&gt;&#xA;&lt;li&gt;위와 같이 형변환을 하면 &lt;code&gt;1&lt;/code&gt;이 무엇을 의미하는지, &lt;code&gt;2&lt;/code&gt;는 무엇을 의미하는지 알 수 없게 된다. (즉, 정보의 손실이 올 수 있다.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-응용&#34;&gt;(2) 응용&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 &lt;code&gt;factor&lt;/code&gt;를 조금 더 활용해 본다.&lt;/li&gt;&#xA;&lt;li&gt;같은 가상의 데이터를 사용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;data.frame&lt;/span&gt;(x &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;), &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                   gender &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Female&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Male&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Male&amp;#34;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp&lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;gender &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;as.numeric&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;factor&lt;/span&gt;(temp&lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;gender), &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                          levels &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Female&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Male&amp;#34;&lt;/span&gt;), &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                          labels &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;##   x gender&#xA;## 1 1      1&#xA;## 2 1      2&#xA;## 3 2      2&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;결과는 똑같다. 그러나, 각 &lt;code&gt;label&lt;/code&gt;에 대한 해석이 보다 명확해지기 때문에 추후 분석결과보고서를 작성할 때 보다 쉽게 작성할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-적용&#34;&gt;(3) 적용&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 내 데이터에 적용해보자.&lt;/li&gt;&#xA;&lt;li&gt;적용해야 할 변수는 모두 Firm_Age ~ Business_Area 까지이다.&lt;/li&gt;&#xA;&lt;li&gt;여기에서 하나의 &lt;code&gt;Rule&lt;/code&gt;을 만들어야 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;각 범주마다 하나씩 맞추는 노가다는 지양해야 한다.&lt;/li&gt;&#xA;&lt;li&gt;따라서, 범주의 값은 모두 알파벳순으로 정렬한다.&lt;/li&gt;&#xA;&lt;li&gt;이를 프로그래밍으로 해결한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;data.frame&lt;/span&gt;(x &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;), &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                   gender &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Female&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Male&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Male&amp;#34;&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                   grade &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;A&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;B&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;C&amp;#34;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;##   x gender grade&#xA;## 1 1 Female     A&#xA;## 2 1   Male     B&#xA;## 3 2   Male     C&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;데이터가 하나 더 생겼다. 다음과 같은 함수를 만든다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;factor2numeric &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt;(x) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# input 변수가 문자형인지 확인하여 다음 코드를 실행한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# 만약 문자가 아니면 `else` 코드로 넘어간다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;is.character&lt;/span&gt;(x) &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TRUE&lt;/span&gt;) { &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;# levels 함수를 사용하면 알파벳으로 자동 정렬해준다.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      char_levels &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;levels&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;factor&lt;/span&gt;(x)) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;# 변환되기 전 factor의 `level`를 확인한다.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#a6e22e&#34;&gt;print&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;----변환 시작 전----&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#a6e22e&#34;&gt;print&lt;/span&gt;(char_levels)   &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;# factor형으로 변환했다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      x &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;factor&lt;/span&gt;(x, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                  levels &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; char_levels, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                  labels &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;length&lt;/span&gt;(char_levels))) &lt;span style=&#34;color:#75715e&#34;&gt;# 이 코드는 labels 숫자로 정의한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#75715e&#34;&gt;# 변환되기 전 factor의 `level`를 확인한다.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#a6e22e&#34;&gt;print&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;levels&lt;/span&gt;(x)) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#a6e22e&#34;&gt;print&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;----변환 종료----&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  } &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 에러 메시지를 출력한다&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;print&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;This is not character!!&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  } &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt;(x)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 전체 데이터에서 character인 데이터를 사용자 정의 함수를 적용하였다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data2 &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; data &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;mutate_if&lt;/span&gt;(is.character, factor2numeric)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## [1] &amp;#34;----변환 시작 전----&amp;#34;&#xA;## [1] &amp;#34;3-4 years&amp;#34;         &amp;#34;5 years above&amp;#34;     &amp;#34;Less than 2 years&amp;#34;&#xA;## [1] &amp;#34;1&amp;#34; &amp;#34;2&amp;#34; &amp;#34;3&amp;#34;&#xA;## [1] &amp;#34;----변환 종료----&amp;#34;&#xA;## [1] &amp;#34;----변환 시작 전----&amp;#34;&#xA;## [1] &amp;#34;10-14 members&amp;#34;       &amp;#34;5-9 members&amp;#34;         &amp;#34;Above 15 members&amp;#34;   &#xA;## [4] &amp;#34;Less than 5 members&amp;#34;&#xA;## [1] &amp;#34;1&amp;#34; &amp;#34;2&amp;#34; &amp;#34;3&amp;#34; &amp;#34;4&amp;#34;&#xA;## [1] &amp;#34;----변환 종료----&amp;#34;&#xA;## [1] &amp;#34;----변환 시작 전----&amp;#34;&#xA;## [1] &amp;#34;As founder or employee,  I have startup experience, one time&amp;#34;        &#xA;## [2] &amp;#34;As founder or employee, I have startup experiences more than 3 times&amp;#34;&#xA;## [3] &amp;#34;As founder or employee, I have startup experiences, two times&amp;#34;       &#xA;## [4] &amp;#34;No, I don&amp;#39;t have experience&amp;#34;                                         &#xA;## [1] &amp;#34;1&amp;#34; &amp;#34;2&amp;#34; &amp;#34;3&amp;#34; &amp;#34;4&amp;#34;&#xA;## [1] &amp;#34;----변환 종료----&amp;#34;&#xA;## [1] &amp;#34;----변환 시작 전----&amp;#34;&#xA;## [1] &amp;#34;No&amp;#34;  &amp;#34;Yes&amp;#34;&#xA;## [1] &amp;#34;1&amp;#34; &amp;#34;2&amp;#34;&#xA;## [1] &amp;#34;----변환 종료----&amp;#34;&#xA;## [1] &amp;#34;----변환 시작 전----&amp;#34;&#xA;## [1] &amp;#34;No&amp;#34;  &amp;#34;Yes&amp;#34;&#xA;## [1] &amp;#34;1&amp;#34; &amp;#34;2&amp;#34;&#xA;## [1] &amp;#34;----변환 종료----&amp;#34;&#xA;## [1] &amp;#34;----변환 시작 전----&amp;#34;&#xA;## [1] &amp;#34;Female&amp;#34; &amp;#34;Male&amp;#34;  &#xA;## [1] &amp;#34;1&amp;#34; &amp;#34;2&amp;#34;&#xA;## [1] &amp;#34;----변환 종료----&amp;#34;&#xA;## [1] &amp;#34;----변환 시작 전----&amp;#34;&#xA;## [1] &amp;#34;Employee&amp;#34;           &amp;#34;Founder of Company&amp;#34;&#xA;## [1] &amp;#34;1&amp;#34; &amp;#34;2&amp;#34;&#xA;## [1] &amp;#34;----변환 종료----&amp;#34;&#xA;## [1] &amp;#34;----변환 시작 전----&amp;#34;&#xA;## [1] &amp;#34;30-39&amp;#34;           &amp;#34;40-49&amp;#34;           &amp;#34;50 or above&amp;#34;     &amp;#34;Younger than 30&amp;#34;&#xA;## [1] &amp;#34;1&amp;#34; &amp;#34;2&amp;#34; &amp;#34;3&amp;#34; &amp;#34;4&amp;#34;&#xA;## [1] &amp;#34;----변환 종료----&amp;#34;&#xA;## [1] &amp;#34;----변환 시작 전----&amp;#34;&#xA;## [1] &amp;#34;Graduate School&amp;#34;      &amp;#34;High School&amp;#34;          &amp;#34;Undergraduate School&amp;#34;&#xA;## [1] &amp;#34;1&amp;#34; &amp;#34;2&amp;#34; &amp;#34;3&amp;#34;&#xA;## [1] &amp;#34;----변환 종료----&amp;#34;&#xA;## [1] &amp;#34;----변환 시작 전----&amp;#34;&#xA;##  [1] &amp;#34;E-Commerce&amp;#34;                 &amp;#34;Education&amp;#34;                 &#xA;##  [3] &amp;#34;Energy&amp;#34;                     &amp;#34;Enterprise Services&amp;#34;       &#xA;##  [5] &amp;#34;Fintech&amp;#34;                    &amp;#34;Logistics&amp;#34;                 &#xA;##  [7] &amp;#34;Manufacturing&amp;#34;              &amp;#34;Media and Entertainment&amp;#34;   &#xA;##  [9] &amp;#34;Medical and Healthcare&amp;#34;     &amp;#34;Online to Offline Commerce&amp;#34;&#xA;## [11] &amp;#34;Others&amp;#34;                     &amp;#34;Real Estate and Household&amp;#34; &#xA;## [13] &amp;#34;Transportation/Automotive&amp;#34;  &amp;#34;Travel&amp;#34;                    &#xA;##  [1] &amp;#34;1&amp;#34;  &amp;#34;2&amp;#34;  &amp;#34;3&amp;#34;  &amp;#34;4&amp;#34;  &amp;#34;5&amp;#34;  &amp;#34;6&amp;#34;  &amp;#34;7&amp;#34;  &amp;#34;8&amp;#34;  &amp;#34;9&amp;#34;  &amp;#34;10&amp;#34; &amp;#34;11&amp;#34; &amp;#34;12&amp;#34; &amp;#34;13&amp;#34; &amp;#34;14&amp;#34;&#xA;## [1] &amp;#34;----변환 종료----&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;4-중복치와-결측치-확인&#34;&gt;(4) 중복치와 결측치 확인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;모든 것을 온라인으로 받다보니, 중복치와 결측치가 발생할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;따라서 해당 내용이 있는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;sum&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;duplicated&lt;/span&gt;(data2))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## [1] 5&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;중복치가 5개 인것으로 확인이 된다.&lt;/li&gt;&#xA;&lt;li&gt;중복치를 제거하는 것은 간단하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data3 &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; data2 &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;distinct&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 결측치를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;colSums&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;is.na&lt;/span&gt;(data3))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;##              EI_1              EI_2              EI_3              EP_1 &#xA;##                 0                 0                 0                 0 &#xA;##              EP_2              EP_3              ER_1              ER_2 &#xA;##                 0                 0                 0                 0 &#xA;##              ER_3              SS_1              SS_2              SS_3 &#xA;##                 0                 0                 0                 0 &#xA;##              SC_1              SC_2              SC_3              SR_1 &#xA;##                 0                 0                 0                 0 &#xA;##              SR_2              SR_3                F1                F2 &#xA;##                 0                 0                 0                 0 &#xA;##                F3               NF1               NF2               NF3 &#xA;##                 0                 0                 0                 0 &#xA;##          Firm_Age         Firm_Size               WE1               WE2 &#xA;##                 0                 0                 0                 0 &#xA;##               WE3            gender  founder_employee age_of_respondent &#xA;##                 0                 0                 0                 0 &#xA;##   Education_Level     Business_Area &#xA;##                 0                 0&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;각 &lt;code&gt;column&lt;/code&gt;마다 결측치를 확인한 결과 모두 0인 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;5-결과-확인&#34;&gt;(5) 결과 확인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 변환된 결과를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 결과값을 확인한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data3 &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;() &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;kable&lt;/span&gt;() &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;kable_styling&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;striped&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;scroll_box&lt;/span&gt;(width &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;100%&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;&lt;div style=&#34;border: 1px solid #ddd; padding: 5px; overflow-x: scroll; width:100%; &#34;&gt;&lt;table class=&#34;table table-striped&#34; style=&#34;margin-left: auto; margin-right: auto;&#34;&gt;&#xA;    &lt;thead&gt;&#xA;     &lt;tr&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; EI_1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; EI_2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; EI_3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; EP_1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; EP_2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; EP_3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; ER_1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; ER_2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; ER_3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SS_1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SS_2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SS_3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SC_1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SC_2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SC_3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SR_1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SR_2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; SR_3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; F1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; F2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; F3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; NF1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; NF2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:right;&#34;&gt; NF3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; Firm_Age &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; Firm_Size &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; WE1 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; WE2 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; WE3 &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; gender &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; founder_employee &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; age_of_respondent &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; Education_Level &lt;/th&gt;&#xA;      &lt;th style=&#34;text-align:left;&#34;&gt; Business_Area &lt;/th&gt;&#xA;     &lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;   &lt;tbody&gt;&#xA;     &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 11 &lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 8 &lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 11 &lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 11 &lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 5 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 11 &lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;     &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:right;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 2 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 1 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 4 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 3 &lt;/td&gt;&#xA;      &lt;td style=&#34;text-align:left;&#34;&gt; 11 &lt;/td&gt;&#xA;     &lt;/tr&gt;&#xA;   &lt;/tbody&gt;&#xA;   &lt;/table&gt;&lt;/div&gt;&#xA;&lt;h2 id=&#34;파일-내보내기&#34;&gt;파일 내보내기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 &lt;code&gt;SmartPLS&lt;/code&gt;에서 사용할 수 있도록 &lt;code&gt;csv&lt;/code&gt; 파일 형태로 내보낸다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;write_csv&lt;/span&gt;(data3, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;~/Desktop/thesis_master2.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;소결론&#34;&gt;소결론&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 전처리는 중요하다. 그러나, 시간이 조금 걸린다.&lt;/li&gt;&#xA;&lt;li&gt;설문조사에서 특히 문제가 되는 부분은 문자열 데이터를 수치형 데이터로 변환해주는 문제가 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이를 프로그래밍으로 해결하면 보다 쉽게 접근할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이제 본격적으로 분석을 해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>ch 10 - 연구모델 개발과 가설 설정</title>
      <link>https://dschloe.github.io/programming/2020/07/ch_10_conceptual_model/</link>
      <pubDate>Mon, 27 Jul 2020 09:30:00 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/ch_10_conceptual_model/</guid>
      <description>&lt;h2 id=&#34;i-연구모델-개발과-가설-설정&#34;&gt;I. 연구모델 개발과 가설 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교재에서는 &lt;code&gt;스마트폰 프로젝트의 연구모델&lt;/code&gt; 데이터를 기반으로 작성하였지만, 이번 포스트 이후 부터는 필자의 학위논문 데이터를 기반으로 책 내용과 병행하려고 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-연구모델-개요&#34;&gt;(1) 연구모델 개요&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;학위논문 주제: The Mediating Effect of Entrepreneurial Performance on the Relationship between Entrepre-neurial Orientation and Social Capital: The cases from the Philippines&lt;/li&gt;&#xA;&lt;li&gt;주요요인은 &lt;code&gt;기업가적지향성&lt;/code&gt;, &lt;code&gt;사회적자본이며&lt;/code&gt;, 종속변수는 &lt;code&gt;기업의 성과&lt;/code&gt;로 구성되어 있다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/07/ch_10_conceptual_model/survey_item.png&#34; alt=&#34;png&#34;&gt;&lt;/li&gt;&#xA;&lt;li&gt;설문지 공개관련:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설문지 &lt;code&gt;Sample&lt;/code&gt;이 필요하신 분들은 &lt;code&gt;2021년 2월 이후&lt;/code&gt;에 요청하기를 바란다. (졸업이후)&lt;/li&gt;&#xA;&lt;li&gt;교재는 &lt;code&gt;스마트폰 프로젝트의 연구 모델&lt;/code&gt;이라는 주제로 &lt;code&gt;Sample 설문지 문항&lt;/code&gt;에 대한 내용이 있다. (p 127)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-연구모델-개발&#34;&gt;(2) 연구모델 개발&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;연구모델은 아래와 같다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/07/ch_10_conceptual_model/conceptual_model.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>데이콘 대회 참여 - 제주 신용카드 데이터 경진대회 피벗테이블 작성</title>
      <link>https://dschloe.github.io/programming/2020/07/02_ml_simple_tutorial/</link>
      <pubDate>Mon, 27 Jul 2020 00:00:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/02_ml_simple_tutorial/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 포스트는 필자의 수업을 듣는 사람들을 위해 작성하였습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-구글-드라이브와-colab과-연동&#34;&gt;I. 구글 드라이브와 Colab과 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 드라이브와 Colab과 연동하면 보다 쉽게 데이터에 접근할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;구글 인증만 하면 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Google Drive와 마운트&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; drive&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ROOT &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/content/drive&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;drive&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mount(ROOT)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;1-데이터-다운로드&#34;&gt;(1) 데이터 다운로드&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;제주 신용카드 데이터를 다운로드 받는다. (회원가입 필수)&lt;/li&gt;&#xA;&lt;li&gt;웹사이트: &lt;a href=&#34;https://dacon.io/competitions/official/235615/data/&#34;&gt;제주 신용카드 빅데이터 경진대회&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-구글-드라이브에-다운로드-받은-폴더를-올린다&#34;&gt;(2) 구글 드라이브에 다운로드 받은 폴더를 올린다.&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때, 경로통일을 위해 &lt;code&gt;Colab Notebooks/python_elice/dacon/data&lt;/code&gt;로 경로 지정을 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Project Folder 연결&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; os.path &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; join  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;MY_GOOGLE_DRIVE_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;My Drive/Colab Notebooks/python_elice/dacon/data&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PROJECT_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; join(ROOT, MY_GOOGLE_DRIVE_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(PROJECT_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/python_elice/dacon/data&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 코드를 반드시 실행시켜야 해당 경로로 이동된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;cd &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{PROJECT_PATH}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/python_elice/dacon/data&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실제 업로드된 데이터가 있는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;201901-202003.csv  submission.csv&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;만약 에러가 발생이 되면 경로가 잘못 지정된 것이니, 폴더 경로를 재확인한다.&lt;/li&gt;&#xA;&lt;li&gt;경로에러가 발생할 시, 숙련자는 수정이 바로 가능하지만, 비숙련자는 가급적 &lt;code&gt;[런타임 초기화]&lt;/code&gt;를 클릭한 후, 처음부터 다시 실행시키는 것을 추천한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-데이터-불러오기&#34;&gt;(3) 데이터 불러오기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지난주간 과제로 내주었던 판다스 데이터를 불러오도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;시간이 다소 소요될 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;201901-202003.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;info()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;pandas.core.frame.DataFrame&#39;&amp;gt;&#xA;RangeIndex: 24697792 entries, 0 to 24697791&#xA;Data columns (total 12 columns):&#xA; #   Column        Dtype &#xA;---  ------        ----- &#xA; 0   REG_YYMM      int64 &#xA; 1   CARD_SIDO_NM  object&#xA; 2   CARD_CCG_NM   object&#xA; 3   STD_CLSS_NM   object&#xA; 4   HOM_SIDO_NM   object&#xA; 5   HOM_CCG_NM    object&#xA; 6   AGE           object&#xA; 7   SEX_CTGO_CD   int64 &#xA; 8   FLC           int64 &#xA; 9   CSTMR_CNT     int64 &#xA; 10  AMT           int64 &#xA; 11  CNT           int64 &#xA;dtypes: int64(6), object(6)&#xA;memory usage: 2.2+ GB&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;4-데이터-샘플링&#34;&gt;(4) 데이터 샘플링&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;전체 데이터를 시각화 등 사용하면 시각화 시, 다소 느리게 출력될 수 있으니, 연습 차원에서는 가급적 샘플링 기법을 적용해서 데이터를 재정한다.&lt;/li&gt;&#xA;&lt;li&gt;약 &lt;code&gt;1000&lt;/code&gt;개의 데이터만 객체로 저장한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sample_train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sample(n&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100000&lt;/span&gt;, random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;원 데이터와 샘플 데이터의 행의 크기를 비교한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;len(train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;24697792&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;len(sample_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;100000&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;물론, 위 샘플을 조금 늘려도 좋긴하지만, 가급적 시각화 코드가 모두 작성이 된 이후에 해보는 것을 추천한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-과제---피벗테이블&#34;&gt;II. 과제 - 피벗테이블&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;판다스 패키지를 활용한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;AMT&lt;/code&gt;는 매출 데이터이다.&lt;/li&gt;&#xA;&lt;li&gt;과제 1. 시도별 매출 데이터의 피벗테이블을 작성한다.&lt;/li&gt;&#xA;&lt;li&gt;과제 2. 업종별 매출 데이터의 피벗테이블을 작성한다.&lt;/li&gt;&#xA;&lt;li&gt;마지막 과제 3. 시도별-업종별 매출 데이터의 피벗테이블을 작성한다.&lt;/li&gt;&#xA;&lt;li&gt;(옵션), 날짜별로 매출 데이터의 피벗테이블을 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;공통-판다스-피벗-테이블&#34;&gt;(공통) 판다스 피벗 테이블&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가장 좋은 교재는 메뉴얼이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.pivot_table.html&#34;&gt;pivot_table&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;주요 파라미터는 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;data: DataFrame&lt;/li&gt;&#xA;&lt;li&gt;values: Column to aggregate&lt;/li&gt;&#xA;&lt;li&gt;index: column, array or list&lt;/li&gt;&#xA;&lt;li&gt;aggfunc: function, list of functions, dict, default numpy.mean&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-시도별-매출-데이터&#34;&gt;(1) 시도별 매출 데이터&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;시도별 매출 데이터의 피벗테이블을 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;pivot_table(sample_train,                        &lt;span style=&#34;color:#75715e&#34;&gt;# 데이터&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               index&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;CARD_SIDO_NM&amp;#39;&lt;/span&gt;,                &lt;span style=&#34;color:#75715e&#34;&gt;# 기준변수&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               values &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;AMT&amp;#39;&lt;/span&gt;,                      &lt;span style=&#34;color:#75715e&#34;&gt;# 타겟변수&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               aggfunc&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;sum&amp;#34;&lt;/span&gt;)                       &lt;span style=&#34;color:#75715e&#34;&gt;# 산술식&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;결과를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-업종별-매출-데이터의-피벗테이블&#34;&gt;(2) 업종별 매출 데이터의 피벗테이블&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 업종별 피벗테이블을 작성해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;pivot_table(sample_train,                        &lt;span style=&#34;color:#75715e&#34;&gt;# 데이터&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               index&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;STD_CLSS_NM&amp;#39;&lt;/span&gt;,                 &lt;span style=&#34;color:#75715e&#34;&gt;# 기준변수&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               values &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;AMT&amp;#39;&lt;/span&gt;,                      &lt;span style=&#34;color:#75715e&#34;&gt;# 타겟변수&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               aggfunc&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;sum&amp;#34;&lt;/span&gt;)                       &lt;span style=&#34;color:#75715e&#34;&gt;# 산술식&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;결과를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-시도별-업종별-매출-데이터의-피벗테이블&#34;&gt;(3) 시도별-업종별 매출 데이터의 피벗테이블&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때에는 피벗테이블에서 상위 5개의 데이터만 출력하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;표시될 행이 많아야 하기 때문에 아래와 같이 &lt;code&gt;setting&lt;/code&gt;을 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;set_option(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;display.max_rows&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;set_option(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;display.max_columns&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;set_option(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;display.width&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;set_option(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;display.max_colwidth&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pivoted &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;pivot_table(sample_train,                                   &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                         index&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;CARD_SIDO_NM&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;STD_CLSS_NM&amp;#39;&lt;/span&gt;],          &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                         values &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;AMT&amp;#39;&lt;/span&gt;,                               &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                         aggfunc&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;sum&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pivoted\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sort_values([&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;CARD_SIDO_NM&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;AMT&amp;#39;&lt;/span&gt;], ascending&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;])\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;groupby(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;CARD_SIDO_NM&amp;#39;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head(&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;)\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reset_index()\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;set_index([&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;CARD_SIDO_NM&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;STD_CLSS_NM&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;4-옵션-날짜별-매출-데이터의-피벗테이블&#34;&gt;(4) 옵션-날짜별 매출 데이터의 피벗테이블&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 날짜별 매출 데이터의 피벗테이블 작성&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;pivot_table(sample_train,                        &lt;span style=&#34;color:#75715e&#34;&gt;# 데이터&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               index&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;REG_YYMM&amp;#39;&lt;/span&gt;,                    &lt;span style=&#34;color:#75715e&#34;&gt;# 기준변수&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               values &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;AMT&amp;#39;&lt;/span&gt;,                      &lt;span style=&#34;color:#75715e&#34;&gt;# 타겟변수&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               aggfunc&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;sum&amp;#34;&lt;/span&gt;)                       &lt;span style=&#34;color:#75715e&#34;&gt;# 산술식&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;iii-과제---시각화&#34;&gt;III. 과제 - 시각화&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;seaborn 패키지를 활용하여 시각화를 작성한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;한글 그래프가 깨져서 나올 것이다. (해결방안 참조: &lt;a href=&#34;https://chloevan.github.io/python/dacon/jeju2020/10_data_visualisation/&#34;&gt;데이콘 대회 참여 - 10 데이터 시각화&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;위 코드를 활용해도 좋다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-월별-막대그래프&#34;&gt;(1) 월별 막대그래프&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단한 예제로 옵션-날짜별 매출 데이터의 피벗테이블을 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;pivot_table(sample_train, index&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;REG_YYMM&amp;#39;&lt;/span&gt;, values &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;AMT&amp;#39;&lt;/span&gt;, aggfunc&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;sum&amp;#34;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;plot(kind&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;bar&amp;#39;&lt;/span&gt;)                   &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/07/02_ml_simple_tutorial/output_33_1.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>ch 09 - PLS-SEM 통계 분석기법(2)</title>
      <link>https://dschloe.github.io/programming/2020/07/ch_09_2_stat_method_with_pls_sem/</link>
      <pubDate>Sun, 26 Jul 2020 20:30:00 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/ch_09_2_stat_method_with_pls_sem/</guid>
      <description>&lt;h2 id=&#34;i-pls-sem-통계-기초&#34;&gt;I. PLS-SEM 통계 기초&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교재를 참고하여 통계 기초에 대한 간단한 설명을 서술한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이는 다른 통계 책에도 있는 내용이기는 하다.&lt;/li&gt;&#xA;&lt;li&gt;지난 시간에, &lt;code&gt;PLS-SEM&lt;/code&gt;의 분포, 유의 수준과 신뢰수준의 관계, 신뢰도와 타당도, 탐색적 요인분석과 확인적 요인분석, 회귀분석에 대해 설명함&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조: &lt;a href=&#34;https://chloevan.github.io/r/thesis/ch_09_stat_method_with_pls_sem/&#34;&gt;PLS-SEM 통계 분석기법(1)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-추정과-신뢰구간&#34;&gt;(1) 추정과 신뢰구간&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;추정(&lt;code&gt;estimation&lt;/code&gt;)이란 모집단에 대한 어떠한 정보도 없는 상태에서 모집단을 대표할 수 있는 표본 추출하여 표본의 통계량을 구한 다음 이를 이용해서 모집단의 모수 예측&#xA;&lt;ul&gt;&#xA;&lt;li&gt;점추정(Point Estimation): 추정하고자 하는 모수를 하나의 수치로 추정&lt;/li&gt;&#xA;&lt;li&gt;신뢰구간 추정(Confidence Interval Estimation): 추정하고자 하는 모수가 존재하리라고 예상되는 신뢰구간을 정하여 추정하는 방법&#xA;&lt;ul&gt;&#xA;&lt;li&gt;신뢰구간에서는 보통 &lt;code&gt;t분포&lt;/code&gt; 이용.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;신뢰구간의 결정방법은 다음과 같음&#xA;&lt;ul&gt;&#xA;&lt;li&gt;첫째, 추출된 표본평균($\bar{x}$)를 구한다.&lt;/li&gt;&#xA;&lt;li&gt;둘째, 표본평균($\bar{x}$)의 표준편차인 표준오차(standard error)를 산출한다.&lt;/li&gt;&#xA;&lt;li&gt;셋째, 신뢰수준($1-\alpha$)에 따른 $t$값을 구한다.&lt;/li&gt;&#xA;&lt;li&gt;마지막으로, 표본평균($\bar{x}$)을 중심으로 표준오차와 $t$값을 곱한 값만큼 좌우($\pm$)로 떨어진 값$\bar{x}\pm t\left (\alpha/2, n-1\right)S/\sqrt{n}$으로 이루어진 구간이 신뢰구간이 됨&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-smartpls에서-pls-알고리즘&#34;&gt;(2) &lt;code&gt;SmartPLS&lt;/code&gt;에서 PLS 알고리즘&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;PLS Algorithm&lt;/code&gt;을 실행 시, 잠재변수 점수는 물론 이를 이용해 측정모델의 외부가중치(&lt;code&gt;outer weights&lt;/code&gt;), 외부적재치(&lt;code&gt;outer loadings&lt;/code&gt;)와 구조모델의 경로계수(&lt;code&gt;path coefficients&lt;/code&gt;), 내생잠재변수의 $R^2$ 등의 추정이 가능함.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-부트스트래핑&#34;&gt;(3) 부트스트래핑&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;PLS-SEM&lt;/code&gt;은 데이터가 정규분포를 이룬다고 가정하지 않음&lt;/li&gt;&#xA;&lt;li&gt;무소적 검증을 통해 유의성을 검증하지 않음&lt;/li&gt;&#xA;&lt;li&gt;대신, &lt;code&gt;부트스트래핑&lt;/code&gt;을 통해 계수의 유의성 검증 진행&#xA;&lt;ul&gt;&#xA;&lt;li&gt;비모수적 접근을 통해서 각 계수들에 대한 검증통계량인 &lt;code&gt;t값&lt;/code&gt;을 추정.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;절차는 원데이터(&lt;code&gt;raw data&lt;/code&gt;)로부터 많은 수의 부표본(&lt;code&gt;subsamples&lt;/code&gt;)인 부트스트랩 표본을 복원추출하여 반복적인 회귀분석과정을 통해 &lt;code&gt;t값&lt;/code&gt; 산출&#xA;&lt;ul&gt;&#xA;&lt;li&gt;보통 부트스트랩 표본은 5,000개 필요&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;예를 들면, 산출된 &lt;code&gt;t값&lt;/code&gt;을 이용하여 계수의 유의성을 판단할 수 있음.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;5% 유의수준(양측검증)에서 특정 경로계수에 대해 산출된 &lt;code&gt;t값&lt;/code&gt;이 $\pm1.96$보다 크면 통계적으로 유의한 차이를 나타낸다고 해석 가능&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;4-외부가중치-외부적재치-및-경로계수&#34;&gt;(4) 외부가중치, 외부적재치 및 경로계수&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;경로계수(&lt;code&gt;path coefficient&lt;/code&gt;)는 $P_{12}, P_{23}$와 같이 표시되며, 이는 표준화된 회귀계수&lt;/li&gt;&#xA;&lt;li&gt;외부가중치(&lt;code&gt;outer weight&lt;/code&gt;)는 잠재변수와 형성적 측정변수 간 표준화 회귀계수 의미&#xA;&lt;ul&gt;&#xA;&lt;li&gt;($W_{11},W_{12}$)와 같이 표시됨&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;외부적재치(&lt;code&gt;outer loading&lt;/code&gt;)는 잠재변수와 반영적 측정변수 간 표준화 회귀계수 의미&#xA;&lt;ul&gt;&#xA;&lt;li&gt;($L_{35},W_{36}$)와 같이 표시됨&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;모든&lt;/code&gt; 표준화 계수는 &lt;code&gt;-1&lt;/code&gt;과 &lt;code&gt;+1&lt;/code&gt;사이의 값을 가짐&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;5-블라인드-폴딩과-예측적-적합성&#34;&gt;(5) 블라인드 폴딩과 예측적 적합성&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;예측적 적합성(&lt;code&gt;predictive relevance&lt;/code&gt;)에 대한 기준으로 $R^2$과 함께 &lt;code&gt;Stone-Geisser&lt;/code&gt;의 $Q^2$값을 확인할 필요가 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 값은 누락거리 D(omission distance)에 의한 블라인드폴딩(&lt;code&gt;Blindfolding&lt;/code&gt;) 절차를 통해 얻을 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;0보다 큰 $Q^2$&lt;/code&gt;은 외생잠재변수가 내생잠재변수에 대해 예측적 적합성을 가지고 있음 의미&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;반대로 0보다 작다면&lt;/code&gt;, 예측적 적합성이 부족하다고 봄&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;6-효과크기f2&#34;&gt;(6) 효과크기($f^2$)&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;효과크기 $f^2$은 외생잠재변수의 내생잠재변수에 대한 $R^2$에 기여하는 정도를 평가하는 척도&lt;/li&gt;&#xA;&lt;li&gt;효과크기 $f^2$에 대한 평가는 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;0.02: 작은 효과&lt;/li&gt;&#xA;&lt;li&gt;0.15: 중간 효과&lt;/li&gt;&#xA;&lt;li&gt;0.35: 큰 효과&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;효과크기에 대한 수치는 다음과 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;$f^{2}=\frac{R_{선택된\ 외생잠재변수\ 포함}^{2}-R_{선택된\ 외생잠재변수\ 제거}^{2}}{1-R_{선택된\ 외생잠재변수\ 포함}^{2}}$&lt;/p&gt;</description>
    </item>
    <item>
      <title>ch 09 - PLS-SEM 통계 분석기법(1)</title>
      <link>https://dschloe.github.io/programming/2020/07/ch_09_1_stat_method_with_pls_sem/</link>
      <pubDate>Sat, 25 Jul 2020 20:30:00 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/ch_09_1_stat_method_with_pls_sem/</guid>
      <description>&lt;h2 id=&#34;i-pls-sem-통계-기초&#34;&gt;I. PLS-SEM 통계 기초&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교재를 참고하여 통계 기초에 대한 간단한 설명을 서술한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이는 다른 통계 책에도 있는 내용이기는 하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-pls-sem의-분포&#34;&gt;(1) PLS-SEM의 분포&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;PLS-SEM&lt;/code&gt;은 검증 통계량으로 &lt;code&gt;t분포&lt;/code&gt;와 &lt;code&gt;t값&lt;/code&gt;을 활용함.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;t분포&lt;/code&gt;는 평균이 0, 표준편차가 1인 종모양의 좌우대칭인 분포&lt;/li&gt;&#xA;&lt;li&gt;유의수준 확인 지표는 &lt;code&gt;p&lt;/code&gt;값을 활용함. (사회과학 분야에서는 유의수준 5% 이내)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-유의수준과-신뢰수준의-관계&#34;&gt;(2) 유의수준과 신뢰수준의 관계&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;유의수준이 $\alpha$ 이면 신뢰수준은 $1−\alpha$ 가 됨.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;즉, 신뢰수준은 허용오차수준인 유의수준에 따라 결정됨.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-신뢰도reliability와-타당도validity&#34;&gt;(3) 신뢰도(Reliability)와 타당도(Validity)&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;PLS-SEM&lt;/code&gt;은 측정모델과 구조모델을 동시에 분석함.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;반영적 측정모델과 형성적 측정모델에 대한 신뢰도와 타당도검증이 이루어져야 함.&lt;/li&gt;&#xA;&lt;li&gt;측정 모델에 대한 검증 결과 신뢰도와 타당도가 입증되지 않으면 구조모델의 결과도 신뢰할 수 없음&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/07/ch_09_1_stat_method_with_pls_sem/reliability_validity.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>딥러닝 소개 - Object Detection</title>
      <link>https://dschloe.github.io/programming/2020/07/option_mask_rcnn_camera_demo/</link>
      <pubDate>Fri, 24 Jul 2020 09:22:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/option_mask_rcnn_camera_demo/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 자료는 강의 수업의 보충 자료로 사용되었습니다.&lt;/li&gt;&#xA;&lt;li&gt;자세한 내용은 &lt;code&gt;Reference&lt;/code&gt;를 확인하시기를 바랍니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup-file&#34;&gt;Setup File&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;외부 설정 파일이 필요하다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조: &lt;a href=&#34;https://github.com/matterport/Mask_RCNN&#34;&gt;Mask R-CNN for Object Detection and Segmentation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;shell&lt;/code&gt; script에서 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%%&lt;/span&gt;shell&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# clone Mask_RCNN repo and install packages&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;github&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;matterport&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;Mask_RCNN&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd Mask_RCNN&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;python setup&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;py install &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Cloning into &#39;Mask_RCNN&#39;...&#xA;remote: Enumerating objects: 956, done.[K&#xA;remote: Total 956 (delta 0), reused 0 (delta 0), pack-reused 956[K&#xA;Receiving objects: 100% (956/956), 116.76 MiB | 34.72 MiB/s, done.&#xA;Resolving deltas: 100% (566/566), done.&#xA;WARNING:root:Fail load requirements file, so using default ones.&#xA;running install&#xA;running bdist_egg&#xA;running egg_info&#xA;creating mask_rcnn.egg-info&#xA;writing mask_rcnn.egg-info/PKG-INFO&#xA;writing dependency_links to mask_rcnn.egg-info/dependency_links.txt&#xA;writing top-level names to mask_rcnn.egg-info/top_level.txt&#xA;writing manifest file &#39;mask_rcnn.egg-info/SOURCES.txt&#39;&#xA;reading manifest template &#39;MANIFEST.in&#39;&#xA;writing manifest file &#39;mask_rcnn.egg-info/SOURCES.txt&#39;&#xA;installing library code to build/bdist.linux-x86_64/egg&#xA;running install_lib&#xA;running build_py&#xA;creating build&#xA;creating build/lib&#xA;creating build/lib/mrcnn&#xA;copying mrcnn/model.py -&amp;gt; build/lib/mrcnn&#xA;copying mrcnn/config.py -&amp;gt; build/lib/mrcnn&#xA;copying mrcnn/utils.py -&amp;gt; build/lib/mrcnn&#xA;copying mrcnn/__init__.py -&amp;gt; build/lib/mrcnn&#xA;copying mrcnn/visualize.py -&amp;gt; build/lib/mrcnn&#xA;copying mrcnn/parallel_model.py -&amp;gt; build/lib/mrcnn&#xA;creating build/bdist.linux-x86_64&#xA;creating build/bdist.linux-x86_64/egg&#xA;creating build/bdist.linux-x86_64/egg/mrcnn&#xA;copying build/lib/mrcnn/model.py -&amp;gt; build/bdist.linux-x86_64/egg/mrcnn&#xA;copying build/lib/mrcnn/config.py -&amp;gt; build/bdist.linux-x86_64/egg/mrcnn&#xA;copying build/lib/mrcnn/utils.py -&amp;gt; build/bdist.linux-x86_64/egg/mrcnn&#xA;copying build/lib/mrcnn/__init__.py -&amp;gt; build/bdist.linux-x86_64/egg/mrcnn&#xA;copying build/lib/mrcnn/visualize.py -&amp;gt; build/bdist.linux-x86_64/egg/mrcnn&#xA;copying build/lib/mrcnn/parallel_model.py -&amp;gt; build/bdist.linux-x86_64/egg/mrcnn&#xA;byte-compiling build/bdist.linux-x86_64/egg/mrcnn/model.py to model.cpython-36.pyc&#xA;byte-compiling build/bdist.linux-x86_64/egg/mrcnn/config.py to config.cpython-36.pyc&#xA;byte-compiling build/bdist.linux-x86_64/egg/mrcnn/utils.py to utils.cpython-36.pyc&#xA;byte-compiling build/bdist.linux-x86_64/egg/mrcnn/__init__.py to __init__.cpython-36.pyc&#xA;byte-compiling build/bdist.linux-x86_64/egg/mrcnn/visualize.py to visualize.cpython-36.pyc&#xA;byte-compiling build/bdist.linux-x86_64/egg/mrcnn/parallel_model.py to parallel_model.cpython-36.pyc&#xA;creating build/bdist.linux-x86_64/egg/EGG-INFO&#xA;copying mask_rcnn.egg-info/PKG-INFO -&amp;gt; build/bdist.linux-x86_64/egg/EGG-INFO&#xA;copying mask_rcnn.egg-info/SOURCES.txt -&amp;gt; build/bdist.linux-x86_64/egg/EGG-INFO&#xA;copying mask_rcnn.egg-info/dependency_links.txt -&amp;gt; build/bdist.linux-x86_64/egg/EGG-INFO&#xA;copying mask_rcnn.egg-info/top_level.txt -&amp;gt; build/bdist.linux-x86_64/egg/EGG-INFO&#xA;zip_safe flag not set; analyzing archive contents...&#xA;creating dist&#xA;creating &#39;dist/mask_rcnn-2.1-py3.6.egg&#39; and adding &#39;build/bdist.linux-x86_64/egg&#39; to it&#xA;removing &#39;build/bdist.linux-x86_64/egg&#39; (and everything under it)&#xA;Processing mask_rcnn-2.1-py3.6.egg&#xA;Copying mask_rcnn-2.1-py3.6.egg to /usr/local/lib/python3.6/dist-packages&#xA;Adding mask-rcnn 2.1 to easy-install.pth file&#xA;&#xA;Installed /usr/local/lib/python3.6/dist-packages/mask_rcnn-2.1-py3.6.egg&#xA;Processing dependencies for mask-rcnn==2.1&#xA;Finished processing dependencies for mask-rcnn==2.1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;tensorflow_version 2.x 버전 호환이 어렵기 때문에 &lt;code&gt;down grade&lt;/code&gt;를 지원한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#39;&amp;#39;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;TensorFlow 2 gives: AttributeError: module &amp;#39;tensorflow&amp;#39; has no attribute &amp;#39;placeholder&amp;#39;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;because MaskRCNN is using TF 1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;So downgrade to 1 (default version in Colab is 2?)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#39;&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;tensorflow_version &lt;span style=&#34;color:#ae81ff&#34;&gt;1.&lt;/span&gt;x&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;TensorFlow 1.x selected.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;1-패키지-불러오기&#34;&gt;(1) 패키지 불러오기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기본 패키지를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; sys&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; random&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; math&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; skimage.io&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;2-경로설정&#34;&gt;(2) 경로설정&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 프로젝트 경로 설정&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ROOT_DIR &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;abspath(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;./Mask_RCNN/&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Mask RCNN 불러온다&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sys&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;append(ROOT_DIR)  &lt;span style=&#34;color:#75715e&#34;&gt;# To find local version of the library&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; mrcnn &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; utils&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; mrcnn.model &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; modellib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; mrcnn &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; visualize&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# COCO config 경로 불러온다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sys&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;append(os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;join(ROOT_DIR, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;samples/coco/&amp;#34;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; coco&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;matplotlib inline &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 훈련 모형 및 log를 저장한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;MODEL_DIR &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;join(ROOT_DIR, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;logs&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 가중치 파일에 대한 경로를 지정한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;COCO_MODEL_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;join(ROOT_DIR, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;mask_rcnn_coco.h5&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# COCO trained weights 가중치를 불러온다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;exists(COCO_MODEL_PATH):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    utils&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;download_trained_weights(COCO_MODEL_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# image 경로 설정&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;IMAGE_DIR &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;join(ROOT_DIR, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;images&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Using TensorFlow backend.&#xA;&#xA;&#xA;Downloading pretrained model to /content/Mask_RCNN/mask_rcnn_coco.h5 ...&#xA;... done downloading pretrained model!&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-config&#34;&gt;(2) Config&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;MS-COCO&lt;/code&gt; 데이터셋을 사용한다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, &lt;code&gt;coco.py&lt;/code&gt; 클래스를 설정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;InferenceConfig&lt;/span&gt;(coco&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;CocoConfig):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Set batch size to 1 since we&amp;#39;ll be running inference on&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# one image at a time. Batch size = GPU_COUNT * IMAGES_PER_GPU&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    GPU_COUNT &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    IMAGES_PER_GPU &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;config &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; InferenceConfig()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;config&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;display()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Configurations:&#xA;BACKBONE                       resnet101&#xA;BACKBONE_STRIDES               [4, 8, 16, 32, 64]&#xA;BATCH_SIZE                     1&#xA;BBOX_STD_DEV                   [0.1 0.1 0.2 0.2]&#xA;COMPUTE_BACKBONE_SHAPE         None&#xA;DETECTION_MAX_INSTANCES        100&#xA;DETECTION_MIN_CONFIDENCE       0.7&#xA;DETECTION_NMS_THRESHOLD        0.3&#xA;FPN_CLASSIF_FC_LAYERS_SIZE     1024&#xA;GPU_COUNT                      1&#xA;GRADIENT_CLIP_NORM             5.0&#xA;IMAGES_PER_GPU                 1&#xA;IMAGE_CHANNEL_COUNT            3&#xA;IMAGE_MAX_DIM                  1024&#xA;IMAGE_META_SIZE                93&#xA;IMAGE_MIN_DIM                  800&#xA;IMAGE_MIN_SCALE                0&#xA;IMAGE_RESIZE_MODE              square&#xA;IMAGE_SHAPE                    [1024 1024    3]&#xA;LEARNING_MOMENTUM              0.9&#xA;LEARNING_RATE                  0.001&#xA;LOSS_WEIGHTS                   {&#39;rpn_class_loss&#39;: 1.0, &#39;rpn_bbox_loss&#39;: 1.0, &#39;mrcnn_class_loss&#39;: 1.0, &#39;mrcnn_bbox_loss&#39;: 1.0, &#39;mrcnn_mask_loss&#39;: 1.0}&#xA;MASK_POOL_SIZE                 14&#xA;MASK_SHAPE                     [28, 28]&#xA;MAX_GT_INSTANCES               100&#xA;MEAN_PIXEL                     [123.7 116.8 103.9]&#xA;MINI_MASK_SHAPE                (56, 56)&#xA;NAME                           coco&#xA;NUM_CLASSES                    81&#xA;POOL_SIZE                      7&#xA;POST_NMS_ROIS_INFERENCE        1000&#xA;POST_NMS_ROIS_TRAINING         2000&#xA;PRE_NMS_LIMIT                  6000&#xA;ROI_POSITIVE_RATIO             0.33&#xA;RPN_ANCHOR_RATIOS              [0.5, 1, 2]&#xA;RPN_ANCHOR_SCALES              (32, 64, 128, 256, 512)&#xA;RPN_ANCHOR_STRIDE              1&#xA;RPN_BBOX_STD_DEV               [0.1 0.1 0.2 0.2]&#xA;RPN_NMS_THRESHOLD              0.7&#xA;RPN_TRAIN_ANCHORS_PER_IMAGE    256&#xA;STEPS_PER_EPOCH                1000&#xA;TOP_DOWN_PYRAMID_SIZE          256&#xA;TRAIN_BN                       False&#xA;TRAIN_ROIS_PER_IMAGE           200&#xA;USE_MINI_MASK                  True&#xA;USE_RPN_ROIS                   True&#xA;VALIDATION_STEPS               50&#xA;WEIGHT_DECAY                   0.0001&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;객체-검출-과정-및-코드-구현&#34;&gt;객체 검출 과정 및 코드 구현&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MaskRCNN 모형을 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; modellib&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;MaskRCNN(mode&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;inference&amp;#34;&lt;/span&gt;, model_dir&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;MODEL_DIR, config&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;config)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;load_weights(COCO_MODEL_PATH, by_name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;WARNING:tensorflow:From /tensorflow-1.15.2/python3.6/tensorflow_core/python/ops/resource_variable_ops.py:1630: calling BaseResourceVariable.__init__ (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version.&#xA;Instructions for updating:&#xA;If using Keras pass *_constraint arguments to layers.&#xA;WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:4070: The name tf.nn.max_pool is deprecated. Please use tf.nn.max_pool2d instead.&#xA;&#xA;WARNING:tensorflow:From /content/Mask_RCNN/mrcnn/model.py:341: The name tf.log is deprecated. Please use tf.math.log instead.&#xA;&#xA;WARNING:tensorflow:From /content/Mask_RCNN/mrcnn/model.py:399: where (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.&#xA;Instructions for updating:&#xA;Use tf.where in 2.0, which has the same broadcast rule as np.where&#xA;WARNING:tensorflow:From /content/Mask_RCNN/mrcnn/model.py:423: calling crop_and_resize_v1 (from tensorflow.python.ops.image_ops_impl) with box_ind is deprecated and will be removed in a future version.&#xA;Instructions for updating:&#xA;box_ind is deprecated, use box_indices instead&#xA;WARNING:tensorflow:From /content/Mask_RCNN/mrcnn/model.py:720: The name tf.sets.set_intersection is deprecated. Please use tf.sets.intersection instead.&#xA;&#xA;WARNING:tensorflow:From /content/Mask_RCNN/mrcnn/model.py:722: The name tf.sparse_tensor_to_dense is deprecated. Please use tf.sparse.to_dense instead.&#xA;&#xA;WARNING:tensorflow:From /content/Mask_RCNN/mrcnn/model.py:772: to_float (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.&#xA;Instructions for updating:&#xA;Use `tf.cast` instead.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;각각의 클래스 이름을 지정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;class_names &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;BG&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;person&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;bicycle&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;car&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;motorcycle&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;airplane&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;bus&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;train&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;truck&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;boat&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;traffic light&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;fire hydrant&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;stop sign&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;parking meter&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;bench&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;bird&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cat&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;dog&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;horse&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;sheep&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cow&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;elephant&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;bear&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zebra&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;giraffe&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;backpack&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;umbrella&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;handbag&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tie&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;suitcase&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;frisbee&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;skis&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;snowboard&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;sports ball&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;kite&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;baseball bat&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;baseball glove&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;skateboard&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;surfboard&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tennis racket&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;bottle&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;wine glass&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cup&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;fork&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;knife&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;spoon&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;bowl&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;banana&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;apple&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;sandwich&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;orange&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;broccoli&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;carrot&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hot dog&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;pizza&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;donut&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cake&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;chair&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;couch&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;potted plant&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;bed&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;dining table&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;toilet&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;tv&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;laptop&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;mouse&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;remote&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;keyboard&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cell phone&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;microwave&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;oven&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;toaster&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;sink&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;refrigerator&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;book&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;clock&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;vase&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;scissors&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;teddy bear&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hair drier&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;toothbrush&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;1-객체-검출-지정&#34;&gt;(1) 객체 검출 지정&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;객체 검출을 지정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 이미지 폴더에서 랜덤으로 객체 검출을 진행한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;file_names &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; next(os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;walk(IMAGE_DIR))[&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;image &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; skimage&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;io&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;imread(os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;join(IMAGE_DIR, random&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;choice(file_names)))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 모형을 실행한 후 결과값을 저장한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;results &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;detect([image], verbose&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 결과를 시각화 한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;r &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; results[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;visualize&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;display_instances(image, r[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;rois&amp;#39;&lt;/span&gt;], r[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;masks&amp;#39;&lt;/span&gt;], r[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;class_ids&amp;#39;&lt;/span&gt;], &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                            class_names, r[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;scores&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:422: The name tf.global_variables is deprecated. Please use tf.compat.v1.global_variables instead.&#xA;&#xA;&#xA;&#xA;Processing 1 images&#xA;image                    shape: (480, 640, 3)         min:    0.00000  max:  255.00000  uint8&#xA;molded_images            shape: (1, 1024, 1024, 3)    min: -123.70000  max:  151.10000  float64&#xA;image_metas              shape: (1, 93)               min:    0.00000  max: 1024.00000  float64&#xA;anchors                  shape: (1, 261888, 4)        min:   -0.35390  max:    1.29134  float32&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/07/option_mask_rcnn_camera_demo/output_17_2.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>머신러닝 알고리즘 - 분류 Tutorial</title>
      <link>https://dschloe.github.io/programming/2020/07/chapter_4_4_classification/</link>
      <pubDate>Thu, 23 Jul 2020 10:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/chapter_4_4_classification/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Kaggle 대회인 `Titanic&amp;rsquo;대회를 통해 분류 모형을 만들어본다.&lt;/li&gt;&#xA;&lt;li&gt;본 강의는 수업 자료의 일부로 작성되었다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-사전-준비작업&#34;&gt;I. 사전 준비작업&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Kaggle API&lt;/code&gt; 설치 및 연동해서 &lt;code&gt;GCP&lt;/code&gt;에 데이터를 적재하는 것까지 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-kaggle-api-설치&#34;&gt;(1) Kaggle API 설치&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 코랩에서 &lt;code&gt;API&lt;/code&gt;를 불러오려면 다음 소스코드를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install kaggle&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Requirement already satisfied: kaggle in /usr/local/lib/python3.6/dist-packages (1.5.6)&#xA;Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.23.0)&#xA;Requirement already satisfied: urllib3&amp;lt;1.25,&amp;gt;=1.21.1 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.24.3)&#xA;Requirement already satisfied: python-slugify in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.0.1)&#xA;Requirement already satisfied: tqdm in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.41.1)&#xA;Requirement already satisfied: certifi in /usr/local/lib/python3.6/dist-packages (from kaggle) (2020.6.20)&#xA;Requirement already satisfied: python-dateutil in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.8.1)&#xA;Requirement already satisfied: six&amp;gt;=1.10 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.15.0)&#xA;Requirement already satisfied: chardet&amp;lt;4,&amp;gt;=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests-&amp;gt;kaggle) (3.0.4)&#xA;Requirement already satisfied: idna&amp;lt;3,&amp;gt;=2.5 in /usr/local/lib/python3.6/dist-packages (from requests-&amp;gt;kaggle) (2.10)&#xA;Requirement already satisfied: text-unidecode&amp;gt;=1.3 in /usr/local/lib/python3.6/dist-packages (from python-slugify-&amp;gt;kaggle) (1.3)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-kaggle-token-다운로드&#34;&gt;(2) Kaggle Token 다운로드&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Kaggle에서 API Token을 다운로드 받는다.&lt;/li&gt;&#xA;&lt;li&gt;[Kaggle]-[My Account]-[API]-[Create New API Token]을 누르면 &lt;code&gt;kaggle.json&lt;/code&gt; 파일이 다운로드 된다.&lt;/li&gt;&#xA;&lt;li&gt;이 파일을 바탕화면에 옮긴 뒤, 아래 코드를 실행 시킨다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; files&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;uploaded &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; files&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;upload()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; fn &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; uploaded&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;keys():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;uploaded file &amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{name}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; with length &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{length}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; bytes&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;fn, length&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;len(uploaded[fn])))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# kaggle.json을 아래 폴더로 옮긴 뒤, file을 사용할 수 있도록 권한을 부여한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;mkdir &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;p &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; mv kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; chmod &lt;span style=&#34;color:#ae81ff&#34;&gt;600&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;input type=&#34;file&#34; id=&#34;files-c4669c57-88c6-4bc7-8ab5-07ac765d5763&#34; name=&#34;files[]&#34; multiple disabled&#xA;style=&#34;border:none&#34; /&gt;&#xA;&lt;output id=&#34;result-c4669c57-88c6-4bc7-8ab5-07ac765d5763&#34;&gt;&#xA;Upload widget is only available when the cell has been executed in the&#xA;current browser session. Please rerun this cell to enable.&#xA;&lt;/output&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>CNN with Computer Vision</title>
      <link>https://dschloe.github.io/programming/2020/07/chapter_7_4_cnn_vision/</link>
      <pubDate>Wed, 22 Jul 2020 17:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/chapter_7_4_cnn_vision/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;핸즈온 머신러닝 2판&lt;/code&gt;를 활용하여 본 강사로부터 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다..&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶은 분은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>데이콘 대회 참여 - 제주 신용카드 데이터 경진대회 Colab with Drive</title>
      <link>https://dschloe.github.io/programming/2020/07/01_ml_simple_tutorial/</link>
      <pubDate>Mon, 20 Jul 2020 18:10:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/01_ml_simple_tutorial/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 포스트는 필자의 수업을 듣는 사람들을 위해 작성하였습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-구글-드라이브와-colab과-연동&#34;&gt;I. 구글 드라이브와 Colab과 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 드라이브와 Colab과 연동하면 보다 쉽게 데이터에 접근할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;구글 인증만 하면 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Google Drive와 마운트&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; drive&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ROOT &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/content/drive&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;drive&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mount(ROOT)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&amp;amp;redirect_uri=urn%3aietf%3awg%3aoauth%3a2.0%3aoob&amp;amp;response_type=code&amp;amp;scope=email%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdocs.test%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive.photos.readonly%20https%3a%2f%2fwww.googleapis.com%2fauth%2fpeopleapi.readonly&#xA;&#xA;Enter your authorization code:&#xA;··········&#xA;Mounted at /content/drive&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;1-데이터-다운로드&#34;&gt;(1) 데이터 다운로드&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;제주 신용카드 데이터를 다운로드 받는다. (회원가입 필수)&lt;/li&gt;&#xA;&lt;li&gt;웹사이트: &lt;a href=&#34;https://dacon.io/competitions/official/235615/data/&#34;&gt;제주 신용카드 빅데이터 경진대회&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-구글-드라이브에-다운로드-받은-폴더를-올린다&#34;&gt;(2) 구글 드라이브에 다운로드 받은 폴더를 올린다.&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때, 경로통일을 위해 &lt;code&gt;Colab Notebooks/python_elice/dacon/data&lt;/code&gt;로 경로 지정을 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Project Folder 연결&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; os.path &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; join  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;MY_GOOGLE_DRIVE_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;My Drive/Colab Notebooks/python_elice/dacon/data&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PROJECT_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; join(ROOT, MY_GOOGLE_DRIVE_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(PROJECT_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/python_elice/dacon/data&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 코드를 반드시 실행시켜야 해당 경로로 이동된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;cd &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{PROJECT_PATH}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/python_elice/dacon/data&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실제 업로드된 데이터가 있는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;201901-202003.csv  submission.csv&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;만약 에러가 발생이 되면 경로가 잘못 지정된 것이니, 폴더 경로를 재확인한다.&lt;/li&gt;&#xA;&lt;li&gt;경로에러가 발생할 시, 숙련자는 수정이 바로 가능하지만, 비숙련자는 가급적 &lt;code&gt;[런타임 초기화]&lt;/code&gt;를 클릭한 후, 처음부터 다시 실행시키는 것을 추천한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-데이터-불러오기&#34;&gt;(3) 데이터 불러오기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지난주간 과제로 내주었던 판다스 데이터를 불러오도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;시간이 다소 소요될 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;201901-202003.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;info()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;pandas.core.frame.DataFrame&#39;&amp;gt;&#xA;RangeIndex: 24697792 entries, 0 to 24697791&#xA;Data columns (total 12 columns):&#xA; #   Column        Dtype &#xA;---  ------        ----- &#xA; 0   REG_YYMM      int64 &#xA; 1   CARD_SIDO_NM  object&#xA; 2   CARD_CCG_NM   object&#xA; 3   STD_CLSS_NM   object&#xA; 4   HOM_SIDO_NM   object&#xA; 5   HOM_CCG_NM    object&#xA; 6   AGE           object&#xA; 7   SEX_CTGO_CD   int64 &#xA; 8   FLC           int64 &#xA; 9   CSTMR_CNT     int64 &#xA; 10  AMT           int64 &#xA; 11  CNT           int64 &#xA;dtypes: int64(6), object(6)&#xA;memory usage: 2.2+ GB&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;4-데이터-샘플링&#34;&gt;(4) 데이터 샘플링&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;전체 데이터를 시각화 등 사용하면 시각화 시, 다소 느리게 출력될 수 있으니, 연습 차원에서는 가급적 샘플링 기법을 적용해서 데이터를 재정한다.&lt;/li&gt;&#xA;&lt;li&gt;약 &lt;code&gt;1000&lt;/code&gt;개의 데이터만 객체로 저장한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sample_train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sample(n&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1000&lt;/span&gt;, random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;원 데이터와 샘플 데이터의 행의 크기를 비교한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;len(train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;24697792&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;len(sample_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;1000&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;물론, 위 샘플을 조금 늘려도 좋긴하지만, 가급적 시각화 코드가 모두 작성이 된 이후에 해보는 것을 추천한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-과제---피벗테이블&#34;&gt;II. 과제 - 피벗테이블&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;판다스 패키지를 활용한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;AMT&lt;/code&gt;는 매출 데이터이다.&lt;/li&gt;&#xA;&lt;li&gt;과제 1. 시도별 매출 데이터의 피벗테이블을 작성한다.&lt;/li&gt;&#xA;&lt;li&gt;과제 2. 업종별 매출 데이터의 피벗테이블을 작성한다.&lt;/li&gt;&#xA;&lt;li&gt;마지막 과제 3. 시도별-업종별 매출 데이터의 피벗테이블을 작성한다.&lt;/li&gt;&#xA;&lt;li&gt;(옵션), 날짜별로 매출 데이터의 피벗테이블을 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-과제---시각화&#34;&gt;III. 과제 - 시각화&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;seaborn 패키지를 활용하여 시각화를 작성한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;한글 그래프가 깨져서 나올 것이다. (해결방안 참조: &lt;a href=&#34;https://chloevan.github.io/python/dacon/jeju2020/10_data_visualisation/&#34;&gt;데이콘 대회 참여 - 10 데이터 시각화&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;위 코드를 활용해도 좋다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iv-분석-report-작성&#34;&gt;IV. 분석 Report 작성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;피벗테이블과 시각화를 근거로 간단하게 분석 보고서를 작성한다.&lt;/li&gt;&#xA;&lt;li&gt;양식은 자유롭다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;굳이 참고한다면, 코로나 경제 관련 기사를 참조한다.&lt;/li&gt;&#xA;&lt;li&gt;예) &lt;a href=&#34;https://www.lkp.news/mobile/article.html?no=8874&#34;&gt;경기도 코로나19 발생 이후 신용카드 매출액 전년 동기 대비 1조 8,821억 감소&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>딥러닝 소개 - 텐서플로 기본</title>
      <link>https://dschloe.github.io/programming/2020/07/chapter_7_3_1_tensorflow_basic/</link>
      <pubDate>Sat, 18 Jul 2020 17:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/chapter_7_3_1_tensorflow_basic/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;핸즈온 머신러닝 2판&lt;/code&gt;를 활용하여 본 강사로부터 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶은 분은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>딥러닝 소개 - 심층 신경망 훈련하기</title>
      <link>https://dschloe.github.io/programming/2020/07/chapter_7_2_training_deep_neural_network/</link>
      <pubDate>Fri, 17 Jul 2020 18:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/chapter_7_2_training_deep_neural_network/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;핸즈온 머신러닝 2판&lt;/code&gt;를 활용하여 본 강사로부터 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶은 분은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>머신러닝 알고리즘 - LightGbm</title>
      <link>https://dschloe.github.io/programming/2020/07/chapter_4_3_lightgbm/</link>
      <pubDate>Thu, 16 Jul 2020 23:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/chapter_4_3_lightgbm/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;주택가격을 예측하는 데 필요한 Kaggle 데이터를 불러와서 빅쿼리에 저장하는 실습 진행&lt;/li&gt;&#xA;&lt;li&gt;데이터를 불러와서 &lt;code&gt;LightGBM&lt;/code&gt;를 활용하여 머신러닝을 만든다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-사전-준비작업&#34;&gt;I. 사전 준비작업&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Kaggle API&lt;/code&gt; 설치 및 연동해서 &lt;code&gt;GCP&lt;/code&gt;에 데이터를 적재하는 것까지 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-kaggle-api-설치&#34;&gt;(1) Kaggle API 설치&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 코랩에서 &lt;code&gt;API&lt;/code&gt;를 불러오려면 다음 소스코드를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install kaggle&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Requirement already satisfied: kaggle in /usr/local/lib/python3.6/dist-packages (1.5.6)&#xA;Requirement already satisfied: six&amp;gt;=1.10 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.12.0)&#xA;Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.23.0)&#xA;Requirement already satisfied: certifi in /usr/local/lib/python3.6/dist-packages (from kaggle) (2020.6.20)&#xA;Requirement already satisfied: tqdm in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.41.1)&#xA;Requirement already satisfied: python-dateutil in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.8.1)&#xA;Requirement already satisfied: python-slugify in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.0.1)&#xA;Requirement already satisfied: urllib3&amp;lt;1.25,&amp;gt;=1.21.1 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.24.3)&#xA;Requirement already satisfied: chardet&amp;lt;4,&amp;gt;=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests-&amp;gt;kaggle) (3.0.4)&#xA;Requirement already satisfied: idna&amp;lt;3,&amp;gt;=2.5 in /usr/local/lib/python3.6/dist-packages (from requests-&amp;gt;kaggle) (2.10)&#xA;Requirement already satisfied: text-unidecode&amp;gt;=1.3 in /usr/local/lib/python3.6/dist-packages (from python-slugify-&amp;gt;kaggle) (1.3)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-kaggle-token-다운로드&#34;&gt;(2) Kaggle Token 다운로드&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Kaggle에서 API Token을 다운로드 받는다.&lt;/li&gt;&#xA;&lt;li&gt;[Kaggle]-[My Account]-[API]-[Create New API Token]을 누르면 &lt;code&gt;kaggle.json&lt;/code&gt; 파일이 다운로드 된다.&lt;/li&gt;&#xA;&lt;li&gt;이 파일을 바탕화면에 옮긴 뒤, 아래 코드를 실행 시킨다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; files&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;uploaded &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; files&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;upload()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; fn &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; uploaded&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;keys():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;uploaded file &amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{name}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; with length &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{length}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; bytes&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;fn, length&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;len(uploaded[fn])))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# kaggle.json을 아래 폴더로 옮긴 뒤, file을 사용할 수 있도록 권한을 부여한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;mkdir &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;p &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; mv kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; chmod &lt;span style=&#34;color:#ae81ff&#34;&gt;600&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;실제 &lt;code&gt;kaggle.json&lt;/code&gt; 파일이 업로드 되었다는 뜻이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ls &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;ha &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/root/.kaggle/kaggle.json&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;3-kaggle-데이터-불러오기&#34;&gt;(3) Kaggle 데이터 불러오기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Kaggle&lt;/code&gt; 대회 리스트를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;kaggle competitions list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Warning: Looks like you&#39;re using an outdated API Version, please consider updating (server 1.5.6 / client 1.5.4)&#xA;ref                                            deadline             category            reward  teamCount  userHasEntered  &#xA;---------------------------------------------  -------------------  ---------------  ---------  ---------  --------------  &#xA;tpu-getting-started                            2030-06-03 23:59:00  Getting Started      Kudos        186           False  &#xA;digit-recognizer                               2030-01-01 00:00:00  Getting Started  Knowledge       2963           False  &#xA;titanic                                        2030-01-01 00:00:00  Getting Started  Knowledge      22419            True  &#xA;house-prices-advanced-regression-techniques    2030-01-01 00:00:00  Getting Started  Knowledge       5051            True  &#xA;connectx                                       2030-01-01 00:00:00  Getting Started  Knowledge        710           False  &#xA;nlp-getting-started                            2030-01-01 00:00:00  Getting Started      Kudos       1498            True  &#xA;competitive-data-science-predict-future-sales  2020-12-31 23:59:00  Playground           Kudos       7808           False  &#xA;osic-pulmonary-fibrosis-progression            2020-10-06 23:59:00  Featured           $55,000        248           False  &#xA;halite                                         2020-09-15 23:59:00  Featured              Swag        691           False  &#xA;birdsong-recognition                           2020-09-15 23:59:00  Research           $25,000        396           False  &#xA;landmark-retrieval-2020                        2020-08-17 23:59:00  Research           $25,000        165           False  &#xA;siim-isic-melanoma-classification              2020-08-17 23:59:00  Featured           $30,000       2180           False  &#xA;global-wheat-detection                         2020-08-04 23:59:00  Research           $15,000       1788           False  &#xA;open-images-object-detection-rvc-2020          2020-07-31 16:00:00  Playground       Knowledge         58           False  &#xA;open-images-instance-segmentation-rvc-2020     2020-07-31 16:00:00  Playground       Knowledge         12           False  &#xA;hashcode-photo-slideshow                       2020-07-27 23:59:00  Playground       Knowledge         59           False  &#xA;prostate-cancer-grade-assessment               2020-07-22 23:59:00  Featured           $25,000        920           False  &#xA;alaska2-image-steganalysis                     2020-07-20 23:59:00  Research           $25,000       1046           False  &#xA;m5-forecasting-accuracy                        2020-06-30 23:59:00  Featured           $50,000       5558            True  &#xA;m5-forecasting-uncertainty                     2020-06-30 23:59:00  Featured           $50,000        909           False  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;여기에서 참여하기 원하는 대회의 데이터셋을 불러오면 된다.&lt;/li&gt;&#xA;&lt;li&gt;이번 &lt;code&gt;basic&lt;/code&gt;강의에서는 &lt;code&gt;house-prices-advanced-regression-techniques&lt;/code&gt; 데이터를 활용한 데이터 가공과 시각화를 연습할 것이기 때문에 아래와 같이 코드를 실행하여 데이터를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;kaggle competitions download &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;c house&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;prices&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;advanced&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;regression&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;techniques&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Warning: Looks like you&#39;re using an outdated API Version, please consider updating (server 1.5.6 / client 1.5.4)&#xA;Downloading train.csv to /content&#xA;  0% 0.00/450k [00:00&amp;lt;?, ?B/s]&#xA;100% 450k/450k [00:00&amp;lt;00:00, 68.5MB/s]&#xA;Downloading data_description.txt to /content&#xA;  0% 0.00/13.1k [00:00&amp;lt;?, ?B/s]&#xA;100% 13.1k/13.1k [00:00&amp;lt;00:00, 12.9MB/s]&#xA;Downloading test.csv to /content&#xA;  0% 0.00/441k [00:00&amp;lt;?, ?B/s]&#xA;100% 441k/441k [00:00&amp;lt;00:00, 61.7MB/s]&#xA;Downloading sample_submission.csv to /content&#xA;  0% 0.00/31.2k [00:00&amp;lt;?, ?B/s]&#xA;100% 31.2k/31.2k [00:00&amp;lt;00:00, 31.8MB/s]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실제 데이터가 잘 다운로드 받게 되었는지 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;data_description.txt  sample_data  sample_submission.csv  test.csv  train.csv&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;4-bigquery에-데이터-적재&#34;&gt;(4) BigQuery에 데이터 적재&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;sample_submission.csv&lt;/code&gt;, &lt;code&gt;test.csv&lt;/code&gt;, &lt;code&gt;train.csv&lt;/code&gt; 데이터를 불러와서 빅쿼리에 적재를 한다.&lt;/li&gt;&#xA;&lt;li&gt;로컬에서 빅쿼리로 데이터를 Load하는 방법에는 여러가지가 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Local&lt;/code&gt;에서 직접 올리기 (단, 10MB 이하)&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Google Stroage&lt;/code&gt; 활용&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Pandas&lt;/code&gt; 활용&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Google Stroage&lt;/code&gt;를 활용하려면 클라우드 수업으로 진행되기 때문에, &lt;code&gt;Pandas&lt;/code&gt;패키지를 활용한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;to_gbq&lt;/code&gt;라는 함수를 사용하는데, 이를 위해서는 보통 &lt;code&gt;pandas-gbq package&lt;/code&gt;패키지를 별도로 설치를 해야한다.&lt;/li&gt;&#xA;&lt;li&gt;다행히도, 구글 &lt;code&gt;Colab&lt;/code&gt;에서는 위 패키지는 별도로 설치할 필요가 없다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; pandas.io &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; gbq&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# import sample_submission file&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sample_submission &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;sample_submission.csv&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Connect to Google Cloud API and Upload DataFrame&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sample_submission&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_gbq(destination_table&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;house_price.sample_submission&amp;#39;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                  project_id&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;your_project_id&amp;#39;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                  if_exists&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;replace&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# import train file &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;train.csv&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;column&lt;/code&gt;명을 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Index([&#39;Id&#39;, &#39;MSSubClass&#39;, &#39;MSZoning&#39;, &#39;LotFrontage&#39;, &#39;LotArea&#39;, &#39;Street&#39;,&#xA;       &#39;Alley&#39;, &#39;LotShape&#39;, &#39;LandContour&#39;, &#39;Utilities&#39;, &#39;LotConfig&#39;,&#xA;       &#39;LandSlope&#39;, &#39;Neighborhood&#39;, &#39;Condition1&#39;, &#39;Condition2&#39;, &#39;BldgType&#39;,&#xA;       &#39;HouseStyle&#39;, &#39;OverallQual&#39;, &#39;OverallCond&#39;, &#39;YearBuilt&#39;, &#39;YearRemodAdd&#39;,&#xA;       &#39;RoofStyle&#39;, &#39;RoofMatl&#39;, &#39;Exterior1st&#39;, &#39;Exterior2nd&#39;, &#39;MasVnrType&#39;,&#xA;       &#39;MasVnrArea&#39;, &#39;ExterQual&#39;, &#39;ExterCond&#39;, &#39;Foundation&#39;, &#39;BsmtQual&#39;,&#xA;       &#39;BsmtCond&#39;, &#39;BsmtExposure&#39;, &#39;BsmtFinType1&#39;, &#39;BsmtFinSF1&#39;,&#xA;       &#39;BsmtFinType2&#39;, &#39;BsmtFinSF2&#39;, &#39;BsmtUnfSF&#39;, &#39;TotalBsmtSF&#39;, &#39;Heating&#39;,&#xA;       &#39;HeatingQC&#39;, &#39;CentralAir&#39;, &#39;Electrical&#39;, &#39;1stFlrSF&#39;, &#39;2ndFlrSF&#39;,&#xA;       &#39;LowQualFinSF&#39;, &#39;GrLivArea&#39;, &#39;BsmtFullBath&#39;, &#39;BsmtHalfBath&#39;, &#39;FullBath&#39;,&#xA;       &#39;HalfBath&#39;, &#39;BedroomAbvGr&#39;, &#39;KitchenAbvGr&#39;, &#39;KitchenQual&#39;,&#xA;       &#39;TotRmsAbvGrd&#39;, &#39;Functional&#39;, &#39;Fireplaces&#39;, &#39;FireplaceQu&#39;, &#39;GarageType&#39;,&#xA;       &#39;GarageYrBlt&#39;, &#39;GarageFinish&#39;, &#39;GarageCars&#39;, &#39;GarageArea&#39;, &#39;GarageQual&#39;,&#xA;       &#39;GarageCond&#39;, &#39;PavedDrive&#39;, &#39;WoodDeckSF&#39;, &#39;OpenPorchSF&#39;,&#xA;       &#39;EnclosedPorch&#39;, &#39;3SsnPorch&#39;, &#39;ScreenPorch&#39;, &#39;PoolArea&#39;, &#39;PoolQC&#39;,&#xA;       &#39;Fence&#39;, &#39;MiscFeature&#39;, &#39;MiscVal&#39;, &#39;MoSold&#39;, &#39;YrSold&#39;, &#39;SaleType&#39;,&#xA;       &#39;SaleCondition&#39;, &#39;SalePrice&#39;],&#xA;      dtype=&#39;object&#39;)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;빅쿼리에 데이터를 &lt;code&gt;Loading&lt;/code&gt; 할 때는 첫번째 글짜가 숫자가 오면 안되기 때문에, column 명을 수정한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때, 각 숫자 앞에 &lt;code&gt;my&lt;/code&gt;만 추가한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;colnames_dict &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;1stFlrSF&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;my1stFlrSF&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2ndFlrSF&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;my2ndFlrSF&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;3SsnPorch&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;my3SsnPorch&amp;#34;&lt;/span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Connect to Google Cloud API and Upload DataFrame&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rename(columns&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;colnames_dict)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_gbq(destination_table&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;house_price.train&amp;#39;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                  project_id&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;your_project_id&amp;#39;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                  if_exists&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;replace&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;1it [00:06,  6.25s/it]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Connect to Google Cloud API and Upload DataFrame&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;test.csv&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rename(columns&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;colnames_dict)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_gbq(destination_table&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;house_price.test&amp;#39;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            project_id&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;your_project_id&amp;#39;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            if_exists&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;replace&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;1it [00:03,  3.25s/it]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실제 데이터가 들어갔는지 빅쿼리에서 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-데이터-피처공학&#34;&gt;II. 데이터 피처공학&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사이킷런 패키지는 기본적으로 결측치를 허용하지 않기 때문에, 반드시 확인 후, 처리해야 한다.&lt;/li&gt;&#xA;&lt;li&gt;이번에는 &lt;code&gt;BigQuery&lt;/code&gt;를 통해 데이터를 불러온다.&lt;/li&gt;&#xA;&lt;li&gt;주요 데이터 추출을 위한 피처공학에 대해 배워본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-주요-패키지-불러오기&#34;&gt;(1) 주요 패키지 불러오기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 주요 패키지를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; math&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;matplotlib inline&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; scipy.stats &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; norm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; lightgbm &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; lgb&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.model_selection &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; train_test_split&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.metrics &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; mean_squared_log_error&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; preprocessing&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.preprocessing &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; StandardScaler&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.model_selection &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; cross_val_score, cross_val_predict&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;2-데이터-불러오기&#34;&gt;(2) 데이터 불러오기&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; auth&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;auth&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;authenticate_user()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Authenticated&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Authenticated&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 훈련 데이터를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.cloud &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; bigquery&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; tabulate &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; tabulate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;project_id &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;your_project_id&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;client &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; bigquery&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Client(project&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;project_id)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df_train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; client&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;query(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#39;&amp;#39;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;  SELECT &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;      * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;  FROM `your_project_id.house_price.train`&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;  &amp;#39;&amp;#39;&amp;#39;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_dataframe()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;(1460, 81)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그 다음은 테스트 데이터를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; client&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;query(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#39;&amp;#39;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;  SELECT &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;      * &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;  FROM `your_project_id.house_price.test`&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;  &amp;#39;&amp;#39;&amp;#39;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_dataframe()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df_test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;(1459, 80)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래 코드는 출력 시, 전체 &lt;code&gt;Column&lt;/code&gt;에 대해 확인할 수 있음&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;options&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;display&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;max_columns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# df_train.describe()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;3-결측-데이터-확인&#34;&gt;(3) 결측 데이터 확인&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# data set의 Percent 구하는 함수를 짜보자. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;check_fill_na&lt;/span&gt;(data):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  new_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;copy()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  new_df_na &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; (new_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;isnull()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sum() &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; len(new_df)) &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  new_df_na&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sort_values(ascending&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reset_index(drop&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  new_df_na &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; new_df_na&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop(new_df_na[new_df_na &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;index)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sort_values(ascending&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; new_df_na&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;check_fill_na(df_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;PoolQC          99.520548&#xA;MiscFeature     96.301370&#xA;Alley           93.767123&#xA;Fence           80.753425&#xA;FireplaceQu     47.260274&#xA;LotFrontage     17.739726&#xA;GarageYrBlt      5.547945&#xA;GarageType       5.547945&#xA;GarageFinish     5.547945&#xA;GarageQual       5.547945&#xA;GarageCond       5.547945&#xA;BsmtFinType2     2.602740&#xA;BsmtExposure     2.602740&#xA;BsmtFinType1     2.534247&#xA;BsmtCond         2.534247&#xA;BsmtQual         2.534247&#xA;MasVnrArea       0.547945&#xA;MasVnrType       0.547945&#xA;Electrical       0.068493&#xA;dtype: float64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;4-주요-함수-정의&#34;&gt;(4) 주요 함수 정의&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;수치형과 범주형 데이터 결측치의 보간에 관한 함수를 정의한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;fill_missing&lt;/span&gt;(df, cols, val):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34; val 입력값을 넣는다. &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; col &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; cols:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        df[col] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df[col]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fillna(val)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;fill_missing_with_mode&lt;/span&gt;(df, cols):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34; 최대 빈도수를 넣는다. &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; col &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; cols:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        df[col] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df[col]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fillna(df[col]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mode()[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;addlogs&lt;/span&gt;(res, cols):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34; 로그 변환 &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    m &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; res&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; c &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; cols:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        res &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; res&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;assign(newcol&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Series(np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;log(&lt;span style=&#34;color:#ae81ff&#34;&gt;1.01&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;res[c]))&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;values)   &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        res&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;values[m] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; c &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;_log&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        m &lt;span style=&#34;color:#f92672&#34;&gt;+=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; res&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;1층, 2층, 3층의 면적을 합친 &lt;code&gt;전체 total&lt;/code&gt;을 구해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;5-전체-면적-데이터-추가&#34;&gt;(5) 전체 면적 데이터 추가&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가정의 전체 면적을 더해서 추가 변수를 만든다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df_train[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;TotalSF&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df_train[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;TotalBsmtSF&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; df_train[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;my1stFlrSF&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; df_train[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;my2ndFlrSF&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;전체 수치형 데이터에 &lt;code&gt;log transformation&lt;/code&gt;을 해준다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;loglist &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;LotFrontage&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;LotArea&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;MasVnrArea&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;BsmtFinSF1&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;BsmtFinSF2&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;BsmtUnfSF&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;TotalBsmtSF&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;my1stFlrSF&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;my2ndFlrSF&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;LowQualFinSF&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;GrLivArea&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;BsmtFullBath&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;BsmtHalfBath&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;FullBath&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;HalfBath&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;BedroomAbvGr&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;KitchenAbvGr&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;TotRmsAbvGrd&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Fireplaces&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;GarageCars&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;GarageArea&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;WoodDeckSF&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;OpenPorchSF&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;EnclosedPorch&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;my3SsnPorch&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ScreenPorch&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;PoolArea&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;MiscVal&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;YearRemodAdd&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;TotalSF&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df_train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; addlogs(df_train, loglist)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;6-타겟변수-로그변환&#34;&gt;(6) 타겟변수 로그변환&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터가 작기 때문에, 모형의 안정성을 위해 로그변환을 해준다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df_train[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SalePrice&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;log1p(df_train[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SalePrice&amp;#34;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;7-결측치-데이터-보간&#34;&gt;(7) 결측치 데이터 보간&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;결측치 데이터를 보간한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 우선, 결측치가 있는 것 중, 범주형 데이터는 &amp;#34;None&amp;#34;으로 확인&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fill_missing(df_train, [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;PoolQC&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;MiscFeature&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Alley&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Fence&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;FireplaceQu&amp;#34;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;GarageType&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;GarageFinish&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;GarageQual&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;GarageCond&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                       &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;BsmtQual&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;BsmtCond&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;BsmtExposure&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;BsmtFinType1&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;BsmtFinType2&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                       &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;MasVnrType&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;MSSubClass&amp;#34;&lt;/span&gt;], &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;None&amp;#34;&lt;/span&gt;) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 수치형 데이터는 0으로 보간&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fill_missing(df_train, [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;GarageYrBlt&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;GarageArea&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;GarageCars&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                       &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;BsmtFinSF1&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;BsmtFinSF2&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;BsmtUnfSF&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;TotalBsmtSF&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;BsmtFullBath&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;BsmtHalfBath&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                       &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;MasVnrArea&amp;#34;&lt;/span&gt;], &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 그 중, 일부는 빈도수로 채워 넣는다.  &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fill_missing_with_mode(df_train, [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;MSZoning&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;KitchenQual&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Exterior1st&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Exterior2nd&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SaleType&amp;#34;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fill_missing(df_train, [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Functional&amp;#34;&lt;/span&gt;],&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Typ&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;8-변수-삭제&#34;&gt;(8) 변수 삭제&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1개의 값만 존재하는 데이터는 삭제한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop([&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Utilities&amp;#39;&lt;/span&gt;], axis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;9-이상치-제거&#34;&gt;(9) 이상치 제거&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;적은 데이터에서 상위 또는 하위 이상치가 발생하는 것은 좋지 않다. 따라서, 해당 관측치는 제거한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop(df_train[(df_train[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;OverallQual&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&lt;/span&gt; (df_train[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;SalePrice&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;200000&lt;/span&gt;)]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;index, inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop(df_train[(df_train[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;GrLivArea&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;4000&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&lt;/span&gt; (df_train[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;SalePrice&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;300000&lt;/span&gt;)]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;index, inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reset_index(drop&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;, inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;10-재범주화&#34;&gt;(10) 재범주화&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;몇몇 수치형 데이터는 사실 범주형 데이터에 가깝다.&lt;/li&gt;&#xA;&lt;li&gt;따라서, 이를 문자형으로 바꾼다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df_train[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;MSSubClass&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df_train[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;MSSubClass&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;apply(str)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df_train[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;YrSold&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df_train[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;YrSold&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;astype(str)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df_train[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;MoSold&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df_train[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;MoSold&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;astype(str)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;11-범주형-데이터-다루기&#34;&gt;(11) 범주형 데이터 다루기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 범주형 데이터를 원핫 인코딩으로 변환한다.&lt;/li&gt;&#xA;&lt;li&gt;원핫 인코딩으로 변환하는 이유는, 알고리즘은 수치형으로 되어 있기 때문에 그렇다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;fix_missing_cols&lt;/span&gt;(in_train, in_test):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    missing_cols &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; set(in_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns) &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; set(in_test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 테스트 데이터와 훈련 데이터의 컬럼을 동일하게 하는 코드는 작성한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; c &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; missing_cols:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        in_test[c] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 순서를 동일하게 만든다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    in_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; in_test[in_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; in_test&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;dummy_encode&lt;/span&gt;(in_df_train, in_df_test):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df_train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; in_df_train&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    df_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; in_df_test&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    categorical_feats &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        f &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; f &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; df_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; df_train[f]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;dtype &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;object&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(categorical_feats)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; f_ &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; categorical_feats:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        prefix &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; f_&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        df_train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;concat([df_train, pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get_dummies(df_train[f_], prefix&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;prefix)], axis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop(f_, axis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        df_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;concat([df_test, pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get_dummies(df_test[f_], prefix&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;prefix)], axis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop(f_, axis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        df_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; fix_missing_cols(df_train, df_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; df_train, df_test&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;훈련 데이터와 테스트 데이터의 크기가 다르면 예측 시, 에러가 발생한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df_train, df_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; dummy_encode(df_train, df_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Shape train: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%s&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;, test: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%s&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt; (df_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, df_test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[&#39;MSSubClass&#39;, &#39;MSZoning&#39;, &#39;Street&#39;, &#39;Alley&#39;, &#39;LotShape&#39;, &#39;LandContour&#39;, &#39;LotConfig&#39;, &#39;LandSlope&#39;, &#39;Neighborhood&#39;, &#39;Condition1&#39;, &#39;Condition2&#39;, &#39;BldgType&#39;, &#39;HouseStyle&#39;, &#39;RoofStyle&#39;, &#39;RoofMatl&#39;, &#39;Exterior1st&#39;, &#39;Exterior2nd&#39;, &#39;MasVnrType&#39;, &#39;ExterQual&#39;, &#39;ExterCond&#39;, &#39;Foundation&#39;, &#39;BsmtQual&#39;, &#39;BsmtCond&#39;, &#39;BsmtExposure&#39;, &#39;BsmtFinType1&#39;, &#39;BsmtFinType2&#39;, &#39;Heating&#39;, &#39;HeatingQC&#39;, &#39;CentralAir&#39;, &#39;Electrical&#39;, &#39;KitchenQual&#39;, &#39;Functional&#39;, &#39;FireplaceQu&#39;, &#39;GarageType&#39;, &#39;GarageFinish&#39;, &#39;GarageQual&#39;, &#39;GarageCond&#39;, &#39;PavedDrive&#39;, &#39;PoolQC&#39;, &#39;Fence&#39;, &#39;MiscFeature&#39;, &#39;MoSold&#39;, &#39;YrSold&#39;, &#39;SaleType&#39;, &#39;SaleCondition&#39;]&#xA;Shape train: (1456, 361), test: (1459, 361)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;iii-머신러닝-모형-개발&#34;&gt;III. 머신러닝 모형 개발&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 &lt;code&gt;LightGBM&lt;/code&gt;을 활용하여 머신러닝 모형을 개발한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-종속변수-처리&#34;&gt;(1) 종속변수 처리&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;종속변수를 &lt;code&gt;y&lt;/code&gt; 객체로 저장한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df_train[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SalePrice&amp;#34;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sample(&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;741     11.686887&#xA;1032    12.959541&#xA;1169    11.896833&#xA;Name: SalePrice, dtype: float64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;훈련 및 테스트 데이터의 변수를 삭제한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop([&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SalePrice&amp;#34;&lt;/span&gt;], axis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df_test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop([&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SalePrice&amp;#34;&lt;/span&gt;], axis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, inplace&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Shape train: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%s&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;, test: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;%s&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt; (df_train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, df_test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Shape train: (1456, 360), test: (1459, 360)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-데이터셋-분리&#34;&gt;(2) 데이터셋 분리&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터셋을 분리한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X_train, X_test, y_train, y_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_test_split( df_train, y, test_size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.2&lt;/span&gt;, random_state&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;3-lightgbm-파라미터-정의&#34;&gt;(3) LightGBM 파라미터 정의&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;LightGBM&lt;/code&gt; 파라미터 정의는 다음 메뉴얼을 읽고 적용한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://lightgbm.readthedocs.io/en/latest/Parameters.html&#34;&gt;LightGBM 파라미터 메뉴얼&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hyper_params &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;task&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;train&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;boosting_type&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;gbdt&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;objective&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;regression&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;metric&amp;#39;&lt;/span&gt;: [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;l2&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;auc&amp;#39;&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;learning_rate&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;0.005&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;feature_fraction&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;0.9&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;bagging_fraction&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;0.7&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;bagging_freq&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;verbose&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;max_depth&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;num_leaves&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;128&lt;/span&gt;,  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;max_bin&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;512&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;num_iterations&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;100000&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;n_estimators&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;1000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;4-모델-정의&#34;&gt;(4) 모델 정의&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 모델을 정의한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gbm &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; lgb&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;LGBMRegressor(&lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;hyper_params)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;5-모델-학습&#34;&gt;(5) 모델 학습&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 모델을 학습한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gbm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(X_train, y_train,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        eval_set&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[(X_test, y_test)],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        eval_metric&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;l1&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        early_stopping_rounds&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1000&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/usr/local/lib/python3.6/dist-packages/lightgbm/engine.py:118: UserWarning: Found `num_iterations` in params. Will use it instead of argument&#xA;  warnings.warn(&amp;quot;Found `{}` in params. Will use it instead of argument&amp;quot;.format(alias))&#xA;&#xA;&#xA;[1]&#x9;valid_0&#39;s l2: 0.186477&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.333038&#xA;Training until validation scores don&#39;t improve for 1000 rounds.&#xA;[2]&#x9;valid_0&#39;s l2: 0.185073&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.331606&#xA;[3]&#x9;valid_0&#39;s l2: 0.183684&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.330192&#xA;[4]&#x9;valid_0&#39;s l2: 0.18231&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.328797&#xA;[5]&#x9;valid_0&#39;s l2: 0.18095&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.327404&#xA;[6]&#x9;valid_0&#39;s l2: 0.179603&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.326023&#xA;[7]&#x9;valid_0&#39;s l2: 0.17828&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.324652&#xA;[8]&#x9;valid_0&#39;s l2: 0.176947&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.323279&#xA;[9]&#x9;valid_0&#39;s l2: 0.175652&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.321952&#xA;[10]&#x9;valid_0&#39;s l2: 0.174352&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.320633&#xA;[11]&#x9;valid_0&#39;s l2: 0.172985&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.319239&#xA;[12]&#x9;valid_0&#39;s l2: 0.171633&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.317859&#xA;[13]&#x9;valid_0&#39;s l2: 0.170309&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.316502&#xA;[14]&#x9;valid_0&#39;s l2: 0.16898&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.315116&#xA;[15]&#x9;valid_0&#39;s l2: 0.167683&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.313772&#xA;[16]&#x9;valid_0&#39;s l2: 0.166394&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.31242&#xA;[17]&#x9;valid_0&#39;s l2: 0.165107&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.311063&#xA;[18]&#x9;valid_0&#39;s l2: 0.163844&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.309722&#xA;[19]&#x9;valid_0&#39;s l2: 0.162577&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.308362&#xA;[20]&#x9;valid_0&#39;s l2: 0.16135&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.307035&#xA;[21]&#x9;valid_0&#39;s l2: 0.160154&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.30574&#xA;[22]&#x9;valid_0&#39;s l2: 0.158952&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.304455&#xA;[23]&#x9;valid_0&#39;s l2: 0.157766&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.303184&#xA;[24]&#x9;valid_0&#39;s l2: 0.156588&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.301915&#xA;[25]&#x9;valid_0&#39;s l2: 0.155422&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.300652&#xA;[26]&#x9;valid_0&#39;s l2: 0.154271&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.299401&#xA;[27]&#x9;valid_0&#39;s l2: 0.153128&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.29816&#xA;[28]&#x9;valid_0&#39;s l2: 0.152007&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.296939&#xA;[29]&#x9;valid_0&#39;s l2: 0.150886&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.29571&#xA;[30]&#x9;valid_0&#39;s l2: 0.149777&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.294487&#xA;[31]&#x9;valid_0&#39;s l2: 0.14867&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.293253&#xA;[32]&#x9;valid_0&#39;s l2: 0.147577&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.292036&#xA;[33]&#x9;valid_0&#39;s l2: 0.146476&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.290788&#xA;[34]&#x9;valid_0&#39;s l2: 0.145403&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.289586&#xA;[35]&#x9;valid_0&#39;s l2: 0.144338&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.288388&#xA;[36]&#x9;valid_0&#39;s l2: 0.143281&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.287178&#xA;[37]&#x9;valid_0&#39;s l2: 0.14225&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.286005&#xA;[38]&#x9;valid_0&#39;s l2: 0.141221&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.284832&#xA;[39]&#x9;valid_0&#39;s l2: 0.140209&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.283683&#xA;[40]&#x9;valid_0&#39;s l2: 0.139199&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.282515&#xA;[41]&#x9;valid_0&#39;s l2: 0.138212&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.28136&#xA;[42]&#x9;valid_0&#39;s l2: 0.13724&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.280197&#xA;[43]&#x9;valid_0&#39;s l2: 0.136299&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.279079&#xA;[44]&#x9;valid_0&#39;s l2: 0.135336&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.277933&#xA;[45]&#x9;valid_0&#39;s l2: 0.134398&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.276826&#xA;[46]&#x9;valid_0&#39;s l2: 0.133457&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.275697&#xA;[47]&#x9;valid_0&#39;s l2: 0.132536&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.274587&#xA;[48]&#x9;valid_0&#39;s l2: 0.131645&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.273479&#xA;[49]&#x9;valid_0&#39;s l2: 0.130738&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.272353&#xA;[50]&#x9;valid_0&#39;s l2: 0.129837&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.271238&#xA;[51]&#x9;valid_0&#39;s l2: 0.128927&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.270164&#xA;[52]&#x9;valid_0&#39;s l2: 0.128026&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.269095&#xA;[53]&#x9;valid_0&#39;s l2: 0.127123&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.267999&#xA;[54]&#x9;valid_0&#39;s l2: 0.126228&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.266909&#xA;[55]&#x9;valid_0&#39;s l2: 0.125343&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.265823&#xA;[56]&#x9;valid_0&#39;s l2: 0.124466&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.264745&#xA;[57]&#x9;valid_0&#39;s l2: 0.123598&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.263674&#xA;[58]&#x9;valid_0&#39;s l2: 0.122749&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.262641&#xA;[59]&#x9;valid_0&#39;s l2: 0.121909&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.261613&#xA;[60]&#x9;valid_0&#39;s l2: 0.121066&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.260558&#xA;[61]&#x9;valid_0&#39;s l2: 0.120198&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.259479&#xA;[62]&#x9;valid_0&#39;s l2: 0.119359&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.258394&#xA;[63]&#x9;valid_0&#39;s l2: 0.118533&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.25732&#xA;[64]&#x9;valid_0&#39;s l2: 0.117703&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.25624&#xA;[65]&#x9;valid_0&#39;s l2: 0.116867&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.255183&#xA;[66]&#x9;valid_0&#39;s l2: 0.11604&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.254131&#xA;[67]&#x9;valid_0&#39;s l2: 0.115221&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.253082&#xA;[68]&#x9;valid_0&#39;s l2: 0.114427&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.252033&#xA;[69]&#x9;valid_0&#39;s l2: 0.113636&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.251022&#xA;[70]&#x9;valid_0&#39;s l2: 0.112841&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.249995&#xA;[71]&#x9;valid_0&#39;s l2: 0.112099&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.249042&#xA;[72]&#x9;valid_0&#39;s l2: 0.111356&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.248066&#xA;[73]&#x9;valid_0&#39;s l2: 0.110633&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.247137&#xA;[74]&#x9;valid_0&#39;s l2: 0.109927&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.246213&#xA;[75]&#x9;valid_0&#39;s l2: 0.109217&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.245305&#xA;[76]&#x9;valid_0&#39;s l2: 0.108526&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.244404&#xA;[77]&#x9;valid_0&#39;s l2: 0.107828&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.243503&#xA;[78]&#x9;valid_0&#39;s l2: 0.107142&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.24262&#xA;[79]&#x9;valid_0&#39;s l2: 0.106454&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.24171&#xA;[80]&#x9;valid_0&#39;s l2: 0.105774&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.240835&#xA;[81]&#x9;valid_0&#39;s l2: 0.105113&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.239931&#xA;[82]&#x9;valid_0&#39;s l2: 0.10445&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.239013&#xA;[83]&#x9;valid_0&#39;s l2: 0.103802&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.238121&#xA;[84]&#x9;valid_0&#39;s l2: 0.103149&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.237229&#xA;[85]&#x9;valid_0&#39;s l2: 0.102513&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.236346&#xA;[86]&#x9;valid_0&#39;s l2: 0.101873&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.235464&#xA;[87]&#x9;valid_0&#39;s l2: 0.101239&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.234595&#xA;[88]&#x9;valid_0&#39;s l2: 0.100623&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.233723&#xA;[89]&#x9;valid_0&#39;s l2: 0.10003&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.232923&#xA;[90]&#x9;valid_0&#39;s l2: 0.0994325&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.232081&#xA;[91]&#x9;valid_0&#39;s l2: 0.0988341&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.231256&#xA;[92]&#x9;valid_0&#39;s l2: 0.0982427&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.23043&#xA;[93]&#x9;valid_0&#39;s l2: 0.0976575&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.229611&#xA;[94]&#x9;valid_0&#39;s l2: 0.0970764&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.228802&#xA;[95]&#x9;valid_0&#39;s l2: 0.0964998&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.227986&#xA;[96]&#x9;valid_0&#39;s l2: 0.0959351&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.227177&#xA;[97]&#x9;valid_0&#39;s l2: 0.0953646&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.226367&#xA;[98]&#x9;valid_0&#39;s l2: 0.0948064&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.225571&#xA;[99]&#x9;valid_0&#39;s l2: 0.0942486&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.224767&#xA;[100]&#x9;valid_0&#39;s l2: 0.0937024&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.223984&#xA;[101]&#x9;valid_0&#39;s l2: 0.0931472&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.223225&#xA;[102]&#x9;valid_0&#39;s l2: 0.0925974&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.222479&#xA;[103]&#x9;valid_0&#39;s l2: 0.0920528&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.221736&#xA;[104]&#x9;valid_0&#39;s l2: 0.0915138&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.221&#xA;[105]&#x9;valid_0&#39;s l2: 0.0909796&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.220276&#xA;[106]&#x9;valid_0&#39;s l2: 0.090451&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.219556&#xA;[107]&#x9;valid_0&#39;s l2: 0.0899295&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.218826&#xA;[108]&#x9;valid_0&#39;s l2: 0.0894069&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.218104&#xA;[109]&#x9;valid_0&#39;s l2: 0.088892&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.217398&#xA;[110]&#x9;valid_0&#39;s l2: 0.0883824&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.216633&#xA;[111]&#x9;valid_0&#39;s l2: 0.0878517&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.215829&#xA;[112]&#x9;valid_0&#39;s l2: 0.0873278&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.215036&#xA;[113]&#x9;valid_0&#39;s l2: 0.0868143&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.214272&#xA;[114]&#x9;valid_0&#39;s l2: 0.0863019&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.21351&#xA;[115]&#x9;valid_0&#39;s l2: 0.0857982&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.212764&#xA;[116]&#x9;valid_0&#39;s l2: 0.0853065&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.212028&#xA;[117]&#x9;valid_0&#39;s l2: 0.0848346&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.211302&#xA;[118]&#x9;valid_0&#39;s l2: 0.0843538&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.210594&#xA;[119]&#x9;valid_0&#39;s l2: 0.0838739&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.209875&#xA;[120]&#x9;valid_0&#39;s l2: 0.0833984&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.209173&#xA;[121]&#x9;valid_0&#39;s l2: 0.0829321&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.208462&#xA;[122]&#x9;valid_0&#39;s l2: 0.0824703&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.207756&#xA;[123]&#x9;valid_0&#39;s l2: 0.0820144&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.207066&#xA;[124]&#x9;valid_0&#39;s l2: 0.081551&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.206367&#xA;[125]&#x9;valid_0&#39;s l2: 0.0811024&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.205677&#xA;[126]&#x9;valid_0&#39;s l2: 0.0806537&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.204991&#xA;[127]&#x9;valid_0&#39;s l2: 0.0802125&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.2043&#xA;[128]&#x9;valid_0&#39;s l2: 0.0797764&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.203624&#xA;[129]&#x9;valid_0&#39;s l2: 0.0793265&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.202944&#xA;[130]&#x9;valid_0&#39;s l2: 0.0788984&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.202282&#xA;[131]&#x9;valid_0&#39;s l2: 0.0784813&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.201642&#xA;[132]&#x9;valid_0&#39;s l2: 0.0780612&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.200997&#xA;[133]&#x9;valid_0&#39;s l2: 0.0776434&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.20035&#xA;[134]&#x9;valid_0&#39;s l2: 0.0772287&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.199709&#xA;[135]&#x9;valid_0&#39;s l2: 0.076818&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.199071&#xA;[136]&#x9;valid_0&#39;s l2: 0.0764078&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.198426&#xA;[137]&#x9;valid_0&#39;s l2: 0.0760052&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.197792&#xA;[138]&#x9;valid_0&#39;s l2: 0.0756034&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.197156&#xA;[139]&#x9;valid_0&#39;s l2: 0.0752056&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.196522&#xA;[140]&#x9;valid_0&#39;s l2: 0.0748172&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.195911&#xA;[141]&#x9;valid_0&#39;s l2: 0.0744102&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.195286&#xA;[142]&#x9;valid_0&#39;s l2: 0.0740071&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.194664&#xA;[143]&#x9;valid_0&#39;s l2: 0.0735927&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.194012&#xA;[144]&#x9;valid_0&#39;s l2: 0.0731805&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.193362&#xA;[145]&#x9;valid_0&#39;s l2: 0.072793&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.192765&#xA;[146]&#x9;valid_0&#39;s l2: 0.0723862&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.192119&#xA;[147]&#x9;valid_0&#39;s l2: 0.0719923&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.191507&#xA;[148]&#x9;valid_0&#39;s l2: 0.0715889&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.190867&#xA;[149]&#x9;valid_0&#39;s l2: 0.0712158&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.190288&#xA;[150]&#x9;valid_0&#39;s l2: 0.0708594&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.189705&#xA;[151]&#x9;valid_0&#39;s l2: 0.070493&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.189144&#xA;[152]&#x9;valid_0&#39;s l2: 0.0701238&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.188579&#xA;[153]&#x9;valid_0&#39;s l2: 0.0697602&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.188021&#xA;[154]&#x9;valid_0&#39;s l2: 0.0693983&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.187461&#xA;[155]&#x9;valid_0&#39;s l2: 0.0690326&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.186898&#xA;[156]&#x9;valid_0&#39;s l2: 0.0686763&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.186344&#xA;[157]&#x9;valid_0&#39;s l2: 0.0683329&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.185798&#xA;[158]&#x9;valid_0&#39;s l2: 0.0679865&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.185262&#xA;[159]&#x9;valid_0&#39;s l2: 0.0676413&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.184716&#xA;[160]&#x9;valid_0&#39;s l2: 0.0672995&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.184178&#xA;[161]&#x9;valid_0&#39;s l2: 0.066948&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.183626&#xA;[162]&#x9;valid_0&#39;s l2: 0.0666073&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.18307&#xA;[163]&#x9;valid_0&#39;s l2: 0.0662621&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.182523&#xA;[164]&#x9;valid_0&#39;s l2: 0.0659206&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.181984&#xA;[165]&#x9;valid_0&#39;s l2: 0.0655801&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.181447&#xA;[166]&#x9;valid_0&#39;s l2: 0.0652426&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.180916&#xA;[167]&#x9;valid_0&#39;s l2: 0.0649108&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.18039&#xA;[168]&#x9;valid_0&#39;s l2: 0.0645769&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.179857&#xA;[169]&#x9;valid_0&#39;s l2: 0.0642507&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.179335&#xA;[170]&#x9;valid_0&#39;s l2: 0.0639258&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.178825&#xA;[171]&#x9;valid_0&#39;s l2: 0.0636088&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.178301&#xA;[172]&#x9;valid_0&#39;s l2: 0.0632884&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.177774&#xA;[173]&#x9;valid_0&#39;s l2: 0.0629678&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.177252&#xA;[174]&#x9;valid_0&#39;s l2: 0.0626559&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.176743&#xA;[175]&#x9;valid_0&#39;s l2: 0.0623445&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.176224&#xA;[176]&#x9;valid_0&#39;s l2: 0.0620368&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.175713&#xA;[177]&#x9;valid_0&#39;s l2: 0.0617362&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.175246&#xA;[178]&#x9;valid_0&#39;s l2: 0.0614374&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.174753&#xA;[179]&#x9;valid_0&#39;s l2: 0.0611418&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.174268&#xA;[180]&#x9;valid_0&#39;s l2: 0.0608452&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.173767&#xA;[181]&#x9;valid_0&#39;s l2: 0.0605311&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.173259&#xA;[182]&#x9;valid_0&#39;s l2: 0.0602465&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.172779&#xA;[183]&#x9;valid_0&#39;s l2: 0.0599334&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.172268&#xA;[184]&#x9;valid_0&#39;s l2: 0.0596255&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.171752&#xA;[185]&#x9;valid_0&#39;s l2: 0.0593249&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.171256&#xA;[186]&#x9;valid_0&#39;s l2: 0.0590197&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.170737&#xA;[187]&#x9;valid_0&#39;s l2: 0.0587211&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.170229&#xA;[188]&#x9;valid_0&#39;s l2: 0.0584267&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.169738&#xA;[189]&#x9;valid_0&#39;s l2: 0.0581327&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.169229&#xA;[190]&#x9;valid_0&#39;s l2: 0.0578475&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.168741&#xA;[191]&#x9;valid_0&#39;s l2: 0.0575943&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.16832&#xA;[192]&#x9;valid_0&#39;s l2: 0.057342&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.167893&#xA;[193]&#x9;valid_0&#39;s l2: 0.0570979&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.167463&#xA;[194]&#x9;valid_0&#39;s l2: 0.0568503&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.167043&#xA;[195]&#x9;valid_0&#39;s l2: 0.0566055&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.166605&#xA;[196]&#x9;valid_0&#39;s l2: 0.0563625&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.166189&#xA;[197]&#x9;valid_0&#39;s l2: 0.0561224&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.165779&#xA;[198]&#x9;valid_0&#39;s l2: 0.0558846&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.165372&#xA;[199]&#x9;valid_0&#39;s l2: 0.055649&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.164966&#xA;[200]&#x9;valid_0&#39;s l2: 0.0554041&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.164528&#xA;[201]&#x9;valid_0&#39;s l2: 0.0551436&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.164053&#xA;[202]&#x9;valid_0&#39;s l2: 0.0548906&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.163601&#xA;[203]&#x9;valid_0&#39;s l2: 0.0546344&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.163138&#xA;[204]&#x9;valid_0&#39;s l2: 0.0543889&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.162662&#xA;[205]&#x9;valid_0&#39;s l2: 0.0541447&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.162211&#xA;[206]&#x9;valid_0&#39;s l2: 0.0539034&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.161763&#xA;[207]&#x9;valid_0&#39;s l2: 0.0536569&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.161301&#xA;[208]&#x9;valid_0&#39;s l2: 0.0534192&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.160861&#xA;[209]&#x9;valid_0&#39;s l2: 0.0531823&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.160427&#xA;[210]&#x9;valid_0&#39;s l2: 0.0529445&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.159991&#xA;[211]&#x9;valid_0&#39;s l2: 0.0527023&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.159558&#xA;[212]&#x9;valid_0&#39;s l2: 0.0524749&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.15915&#xA;[213]&#x9;valid_0&#39;s l2: 0.0522381&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.158726&#xA;[214]&#x9;valid_0&#39;s l2: 0.052006&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.15833&#xA;[215]&#x9;valid_0&#39;s l2: 0.0517811&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.157918&#xA;[216]&#x9;valid_0&#39;s l2: 0.0515663&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.157489&#xA;[217]&#x9;valid_0&#39;s l2: 0.051345&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.157082&#xA;[218]&#x9;valid_0&#39;s l2: 0.051122&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.156698&#xA;[219]&#x9;valid_0&#39;s l2: 0.0509057&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.156298&#xA;[220]&#x9;valid_0&#39;s l2: 0.0506877&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.155889&#xA;[221]&#x9;valid_0&#39;s l2: 0.0504668&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.155489&#xA;[222]&#x9;valid_0&#39;s l2: 0.0502482&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.155093&#xA;[223]&#x9;valid_0&#39;s l2: 0.0500318&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.154697&#xA;[224]&#x9;valid_0&#39;s l2: 0.0498198&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.154318&#xA;[225]&#x9;valid_0&#39;s l2: 0.0496099&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.153933&#xA;[226]&#x9;valid_0&#39;s l2: 0.0493988&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.153537&#xA;[227]&#x9;valid_0&#39;s l2: 0.0491889&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.15317&#xA;[228]&#x9;valid_0&#39;s l2: 0.048986&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.152792&#xA;[229]&#x9;valid_0&#39;s l2: 0.0487852&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.152413&#xA;[230]&#x9;valid_0&#39;s l2: 0.0485813&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.15203&#xA;[231]&#x9;valid_0&#39;s l2: 0.0483812&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.151631&#xA;[232]&#x9;valid_0&#39;s l2: 0.0481991&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.151286&#xA;[233]&#x9;valid_0&#39;s l2: 0.0480033&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.150891&#xA;[234]&#x9;valid_0&#39;s l2: 0.0478077&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.150495&#xA;[235]&#x9;valid_0&#39;s l2: 0.0476157&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.150104&#xA;[236]&#x9;valid_0&#39;s l2: 0.047424&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.149712&#xA;[237]&#x9;valid_0&#39;s l2: 0.0472362&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.149326&#xA;[238]&#x9;valid_0&#39;s l2: 0.0470503&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.148942&#xA;[239]&#x9;valid_0&#39;s l2: 0.0468671&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.148568&#xA;[240]&#x9;valid_0&#39;s l2: 0.046683&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.14819&#xA;[241]&#x9;valid_0&#39;s l2: 0.0465001&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.147844&#xA;[242]&#x9;valid_0&#39;s l2: 0.0463296&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.147511&#xA;[243]&#x9;valid_0&#39;s l2: 0.0461576&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.147177&#xA;[244]&#x9;valid_0&#39;s l2: 0.0459868&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.146845&#xA;[245]&#x9;valid_0&#39;s l2: 0.0458166&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.14651&#xA;[246]&#x9;valid_0&#39;s l2: 0.0456529&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.146188&#xA;[247]&#x9;valid_0&#39;s l2: 0.0454948&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.145862&#xA;[248]&#x9;valid_0&#39;s l2: 0.045335&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.145548&#xA;[249]&#x9;valid_0&#39;s l2: 0.0451577&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.145199&#xA;[250]&#x9;valid_0&#39;s l2: 0.0450023&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.144888&#xA;[251]&#x9;valid_0&#39;s l2: 0.0448452&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.144573&#xA;[252]&#x9;valid_0&#39;s l2: 0.044689&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.144258&#xA;[253]&#x9;valid_0&#39;s l2: 0.0445356&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.143953&#xA;[254]&#x9;valid_0&#39;s l2: 0.044386&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.143649&#xA;[255]&#x9;valid_0&#39;s l2: 0.0442349&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.143349&#xA;[256]&#x9;valid_0&#39;s l2: 0.0440847&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.143044&#xA;[257]&#x9;valid_0&#39;s l2: 0.0439355&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.142746&#xA;[258]&#x9;valid_0&#39;s l2: 0.0437919&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.142444&#xA;[259]&#x9;valid_0&#39;s l2: 0.0436486&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.142152&#xA;[260]&#x9;valid_0&#39;s l2: 0.0435075&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.141866&#xA;[261]&#x9;valid_0&#39;s l2: 0.043366&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.141571&#xA;[262]&#x9;valid_0&#39;s l2: 0.0432263&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.141294&#xA;[263]&#x9;valid_0&#39;s l2: 0.0430953&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.141025&#xA;[264]&#x9;valid_0&#39;s l2: 0.0429652&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.140755&#xA;[265]&#x9;valid_0&#39;s l2: 0.0428411&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.140503&#xA;[266]&#x9;valid_0&#39;s l2: 0.0427099&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.140231&#xA;[267]&#x9;valid_0&#39;s l2: 0.0425881&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.139983&#xA;[268]&#x9;valid_0&#39;s l2: 0.0424586&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.139723&#xA;[269]&#x9;valid_0&#39;s l2: 0.0423306&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.139466&#xA;[270]&#x9;valid_0&#39;s l2: 0.0422047&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.139213&#xA;[271]&#x9;valid_0&#39;s l2: 0.0420666&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.13892&#xA;[272]&#x9;valid_0&#39;s l2: 0.0419335&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.138637&#xA;[273]&#x9;valid_0&#39;s l2: 0.0417981&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.138348&#xA;[274]&#x9;valid_0&#39;s l2: 0.0416665&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.138072&#xA;[275]&#x9;valid_0&#39;s l2: 0.0415361&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.137796&#xA;[276]&#x9;valid_0&#39;s l2: 0.0414017&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.137511&#xA;[277]&#x9;valid_0&#39;s l2: 0.0412752&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.137275&#xA;[278]&#x9;valid_0&#39;s l2: 0.0411482&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.13701&#xA;[279]&#x9;valid_0&#39;s l2: 0.0410198&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.136739&#xA;[280]&#x9;valid_0&#39;s l2: 0.0408946&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.136476&#xA;[281]&#x9;valid_0&#39;s l2: 0.0407681&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.136219&#xA;[282]&#x9;valid_0&#39;s l2: 0.0406391&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.13596&#xA;[283]&#x9;valid_0&#39;s l2: 0.0405189&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.135719&#xA;[284]&#x9;valid_0&#39;s l2: 0.0403979&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.135471&#xA;[285]&#x9;valid_0&#39;s l2: 0.0402758&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.135227&#xA;[286]&#x9;valid_0&#39;s l2: 0.0401568&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.134988&#xA;[287]&#x9;valid_0&#39;s l2: 0.0400414&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.134755&#xA;[288]&#x9;valid_0&#39;s l2: 0.0399173&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.134522&#xA;[289]&#x9;valid_0&#39;s l2: 0.0397983&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.1343&#xA;[290]&#x9;valid_0&#39;s l2: 0.0396833&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.134081&#xA;[291]&#x9;valid_0&#39;s l2: 0.0395465&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.133805&#xA;[292]&#x9;valid_0&#39;s l2: 0.0394119&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.133533&#xA;[293]&#x9;valid_0&#39;s l2: 0.039279&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.133265&#xA;[294]&#x9;valid_0&#39;s l2: 0.0391465&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.132995&#xA;[295]&#x9;valid_0&#39;s l2: 0.0390154&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.132727&#xA;[296]&#x9;valid_0&#39;s l2: 0.0388867&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.132464&#xA;[297]&#x9;valid_0&#39;s l2: 0.0387715&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.132228&#xA;[298]&#x9;valid_0&#39;s l2: 0.0386451&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.131969&#xA;[299]&#x9;valid_0&#39;s l2: 0.038541&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.13177&#xA;[300]&#x9;valid_0&#39;s l2: 0.0384281&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.131538&#xA;[301]&#x9;valid_0&#39;s l2: 0.0383025&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.131284&#xA;[302]&#x9;valid_0&#39;s l2: 0.0381804&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.131033&#xA;[303]&#x9;valid_0&#39;s l2: 0.0380598&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.130786&#xA;[304]&#x9;valid_0&#39;s l2: 0.0379384&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.130533&#xA;[305]&#x9;valid_0&#39;s l2: 0.0378162&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.13028&#xA;[306]&#x9;valid_0&#39;s l2: 0.0376992&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.130039&#xA;[307]&#x9;valid_0&#39;s l2: 0.0375799&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.129805&#xA;[308]&#x9;valid_0&#39;s l2: 0.0374629&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.129566&#xA;[309]&#x9;valid_0&#39;s l2: 0.037361&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.129365&#xA;[310]&#x9;valid_0&#39;s l2: 0.037245&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.129135&#xA;[311]&#x9;valid_0&#39;s l2: 0.0371502&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.128919&#xA;[312]&#x9;valid_0&#39;s l2: 0.0370575&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.128706&#xA;[313]&#x9;valid_0&#39;s l2: 0.0369641&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.128499&#xA;[314]&#x9;valid_0&#39;s l2: 0.0368739&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.128288&#xA;[315]&#x9;valid_0&#39;s l2: 0.0367811&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.128083&#xA;[316]&#x9;valid_0&#39;s l2: 0.0366909&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.127882&#xA;[317]&#x9;valid_0&#39;s l2: 0.0366029&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.127688&#xA;[318]&#x9;valid_0&#39;s l2: 0.0365145&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.12749&#xA;[319]&#x9;valid_0&#39;s l2: 0.0364251&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.12729&#xA;[320]&#x9;valid_0&#39;s l2: 0.0363346&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.127085&#xA;[321]&#x9;valid_0&#39;s l2: 0.0362488&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.12691&#xA;[322]&#x9;valid_0&#39;s l2: 0.0361585&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.126726&#xA;[323]&#x9;valid_0&#39;s l2: 0.0360754&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.126547&#xA;[324]&#x9;valid_0&#39;s l2: 0.0359877&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.126359&#xA;[325]&#x9;valid_0&#39;s l2: 0.0358996&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.126185&#xA;[326]&#x9;valid_0&#39;s l2: 0.0358118&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.126007&#xA;[327]&#x9;valid_0&#39;s l2: 0.0357264&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.125828&#xA;[328]&#x9;valid_0&#39;s l2: 0.0356479&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.125666&#xA;[329]&#x9;valid_0&#39;s l2: 0.0355716&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.125508&#xA;[330]&#x9;valid_0&#39;s l2: 0.0354895&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.125331&#xA;[331]&#x9;valid_0&#39;s l2: 0.0353982&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.125127&#xA;[332]&#x9;valid_0&#39;s l2: 0.0353077&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.124925&#xA;[333]&#x9;valid_0&#39;s l2: 0.0352172&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.124712&#xA;[334]&#x9;valid_0&#39;s l2: 0.0351283&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.124511&#xA;[335]&#x9;valid_0&#39;s l2: 0.0350401&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.124311&#xA;[336]&#x9;valid_0&#39;s l2: 0.0349524&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.124111&#xA;[337]&#x9;valid_0&#39;s l2: 0.0348666&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.123909&#xA;[338]&#x9;valid_0&#39;s l2: 0.0347844&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.123733&#xA;[339]&#x9;valid_0&#39;s l2: 0.0346992&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.123537&#xA;[340]&#x9;valid_0&#39;s l2: 0.0346186&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.123367&#xA;[341]&#x9;valid_0&#39;s l2: 0.0345239&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.123163&#xA;[342]&#x9;valid_0&#39;s l2: 0.0344298&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.122961&#xA;[343]&#x9;valid_0&#39;s l2: 0.0343371&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.122759&#xA;[344]&#x9;valid_0&#39;s l2: 0.0342451&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.122567&#xA;[345]&#x9;valid_0&#39;s l2: 0.0341563&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.122379&#xA;[346]&#x9;valid_0&#39;s l2: 0.0340731&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.122217&#xA;[347]&#x9;valid_0&#39;s l2: 0.0339864&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.122036&#xA;[348]&#x9;valid_0&#39;s l2: 0.0339059&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.121881&#xA;[349]&#x9;valid_0&#39;s l2: 0.0338175&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.121692&#xA;[350]&#x9;valid_0&#39;s l2: 0.0337391&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.121539&#xA;[351]&#x9;valid_0&#39;s l2: 0.0336639&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.121386&#xA;[352]&#x9;valid_0&#39;s l2: 0.0335899&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.121236&#xA;[353]&#x9;valid_0&#39;s l2: 0.0335224&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.121096&#xA;[354]&#x9;valid_0&#39;s l2: 0.0334567&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.120952&#xA;[355]&#x9;valid_0&#39;s l2: 0.033391&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.120815&#xA;[356]&#x9;valid_0&#39;s l2: 0.033321&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.120674&#xA;[357]&#x9;valid_0&#39;s l2: 0.033259&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.12055&#xA;[358]&#x9;valid_0&#39;s l2: 0.0331915&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.120415&#xA;[359]&#x9;valid_0&#39;s l2: 0.0331222&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.120271&#xA;[360]&#x9;valid_0&#39;s l2: 0.0330541&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.120129&#xA;[361]&#x9;valid_0&#39;s l2: 0.0329809&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.119979&#xA;[362]&#x9;valid_0&#39;s l2: 0.0329058&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.119836&#xA;[363]&#x9;valid_0&#39;s l2: 0.0328352&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.119691&#xA;[364]&#x9;valid_0&#39;s l2: 0.0327654&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.119552&#xA;[365]&#x9;valid_0&#39;s l2: 0.0326968&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.119406&#xA;[366]&#x9;valid_0&#39;s l2: 0.0326268&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.119261&#xA;[367]&#x9;valid_0&#39;s l2: 0.0325554&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.119117&#xA;[368]&#x9;valid_0&#39;s l2: 0.0324874&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.118972&#xA;[369]&#x9;valid_0&#39;s l2: 0.0324192&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.118831&#xA;[370]&#x9;valid_0&#39;s l2: 0.0323503&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.118694&#xA;[371]&#x9;valid_0&#39;s l2: 0.0322917&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.118578&#xA;[372]&#x9;valid_0&#39;s l2: 0.0322364&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.118466&#xA;[373]&#x9;valid_0&#39;s l2: 0.0321812&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.118361&#xA;[374]&#x9;valid_0&#39;s l2: 0.0321266&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.118255&#xA;[375]&#x9;valid_0&#39;s l2: 0.0320734&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.118147&#xA;[376]&#x9;valid_0&#39;s l2: 0.03202&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.118043&#xA;[377]&#x9;valid_0&#39;s l2: 0.0319445&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.117875&#xA;[378]&#x9;valid_0&#39;s l2: 0.0318652&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.117696&#xA;[379]&#x9;valid_0&#39;s l2: 0.0317931&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.117528&#xA;[380]&#x9;valid_0&#39;s l2: 0.0317419&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.11742&#xA;[381]&#x9;valid_0&#39;s l2: 0.0316841&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.117305&#xA;[382]&#x9;valid_0&#39;s l2: 0.0316268&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.117189&#xA;[383]&#x9;valid_0&#39;s l2: 0.0315697&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.117058&#xA;[384]&#x9;valid_0&#39;s l2: 0.0315134&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.116943&#xA;[385]&#x9;valid_0&#39;s l2: 0.0314555&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.11681&#xA;[386]&#x9;valid_0&#39;s l2: 0.0313893&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.11665&#xA;[387]&#x9;valid_0&#39;s l2: 0.0313257&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.116519&#xA;[388]&#x9;valid_0&#39;s l2: 0.0312661&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.116393&#xA;[389]&#x9;valid_0&#39;s l2: 0.0312123&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.116295&#xA;[390]&#x9;valid_0&#39;s l2: 0.0311575&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.116182&#xA;[391]&#x9;valid_0&#39;s l2: 0.0310947&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.116038&#xA;[392]&#x9;valid_0&#39;s l2: 0.0310335&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.115899&#xA;[393]&#x9;valid_0&#39;s l2: 0.0309703&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.11576&#xA;[394]&#x9;valid_0&#39;s l2: 0.0309077&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.115621&#xA;[395]&#x9;valid_0&#39;s l2: 0.0308536&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.115483&#xA;[396]&#x9;valid_0&#39;s l2: 0.0307937&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.115344&#xA;[397]&#x9;valid_0&#39;s l2: 0.0307315&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.115204&#xA;[398]&#x9;valid_0&#39;s l2: 0.0306709&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.115071&#xA;[399]&#x9;valid_0&#39;s l2: 0.0306094&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.114931&#xA;[400]&#x9;valid_0&#39;s l2: 0.0305486&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.114795&#xA;[401]&#x9;valid_0&#39;s l2: 0.0304879&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.114679&#xA;[402]&#x9;valid_0&#39;s l2: 0.0304395&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.114569&#xA;[403]&#x9;valid_0&#39;s l2: 0.030391&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.114463&#xA;[404]&#x9;valid_0&#39;s l2: 0.0303317&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.114351&#xA;[405]&#x9;valid_0&#39;s l2: 0.0302723&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.11425&#xA;[406]&#x9;valid_0&#39;s l2: 0.0302237&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.114141&#xA;[407]&#x9;valid_0&#39;s l2: 0.0301744&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.11403&#xA;[408]&#x9;valid_0&#39;s l2: 0.0301256&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.113928&#xA;[409]&#x9;valid_0&#39;s l2: 0.0300773&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.113818&#xA;[410]&#x9;valid_0&#39;s l2: 0.0300273&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.113714&#xA;[411]&#x9;valid_0&#39;s l2: 0.029979&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.113607&#xA;[412]&#x9;valid_0&#39;s l2: 0.0299299&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.113498&#xA;[413]&#x9;valid_0&#39;s l2: 0.0298811&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.11339&#xA;[414]&#x9;valid_0&#39;s l2: 0.0298328&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.113282&#xA;[415]&#x9;valid_0&#39;s l2: 0.029786&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.113178&#xA;[416]&#x9;valid_0&#39;s l2: 0.0297376&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.113062&#xA;[417]&#x9;valid_0&#39;s l2: 0.0296906&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.112956&#xA;[418]&#x9;valid_0&#39;s l2: 0.0296435&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.112851&#xA;[419]&#x9;valid_0&#39;s l2: 0.0295948&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.11274&#xA;[420]&#x9;valid_0&#39;s l2: 0.0295482&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.112637&#xA;[421]&#x9;valid_0&#39;s l2: 0.0295032&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.11256&#xA;[422]&#x9;valid_0&#39;s l2: 0.0294562&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.112473&#xA;[423]&#x9;valid_0&#39;s l2: 0.0294136&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.112396&#xA;[424]&#x9;valid_0&#39;s l2: 0.0293727&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.112289&#xA;[425]&#x9;valid_0&#39;s l2: 0.0293291&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.112182&#xA;[426]&#x9;valid_0&#39;s l2: 0.0292863&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.112109&#xA;[427]&#x9;valid_0&#39;s l2: 0.0292411&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.112019&#xA;[428]&#x9;valid_0&#39;s l2: 0.0291943&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.111934&#xA;[429]&#x9;valid_0&#39;s l2: 0.0291602&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.111858&#xA;[430]&#x9;valid_0&#39;s l2: 0.0291242&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.111795&#xA;[431]&#x9;valid_0&#39;s l2: 0.0290723&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.111672&#xA;[432]&#x9;valid_0&#39;s l2: 0.0290289&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.111574&#xA;[433]&#x9;valid_0&#39;s l2: 0.0289821&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.111451&#xA;[434]&#x9;valid_0&#39;s l2: 0.028938&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.111349&#xA;[435]&#x9;valid_0&#39;s l2: 0.0288905&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.111238&#xA;[436]&#x9;valid_0&#39;s l2: 0.028845&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.111127&#xA;[437]&#x9;valid_0&#39;s l2: 0.0287988&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.111016&#xA;[438]&#x9;valid_0&#39;s l2: 0.0287512&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.1109&#xA;[439]&#x9;valid_0&#39;s l2: 0.028711&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.110811&#xA;[440]&#x9;valid_0&#39;s l2: 0.0286698&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.110716&#xA;[441]&#x9;valid_0&#39;s l2: 0.0286214&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.110608&#xA;[442]&#x9;valid_0&#39;s l2: 0.0285784&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.110513&#xA;[443]&#x9;valid_0&#39;s l2: 0.0285358&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.110418&#xA;[444]&#x9;valid_0&#39;s l2: 0.0284936&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.110324&#xA;[445]&#x9;valid_0&#39;s l2: 0.0284532&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.110235&#xA;[446]&#x9;valid_0&#39;s l2: 0.0284142&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.11015&#xA;[447]&#x9;valid_0&#39;s l2: 0.0283756&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.110069&#xA;[448]&#x9;valid_0&#39;s l2: 0.0283352&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.109982&#xA;[449]&#x9;valid_0&#39;s l2: 0.0282955&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.1099&#xA;[450]&#x9;valid_0&#39;s l2: 0.028259&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.109817&#xA;[451]&#x9;valid_0&#39;s l2: 0.0282255&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.109736&#xA;[452]&#x9;valid_0&#39;s l2: 0.0281897&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.109655&#xA;[453]&#x9;valid_0&#39;s l2: 0.0281536&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.109583&#xA;[454]&#x9;valid_0&#39;s l2: 0.0281179&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.109511&#xA;[455]&#x9;valid_0&#39;s l2: 0.0280843&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.109438&#xA;[456]&#x9;valid_0&#39;s l2: 0.02805&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.109359&#xA;[457]&#x9;valid_0&#39;s l2: 0.0280163&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.10928&#xA;[458]&#x9;valid_0&#39;s l2: 0.0279852&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.109211&#xA;[459]&#x9;valid_0&#39;s l2: 0.027952&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.109136&#xA;[460]&#x9;valid_0&#39;s l2: 0.0279212&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.109067&#xA;[461]&#x9;valid_0&#39;s l2: 0.0278836&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.108997&#xA;[462]&#x9;valid_0&#39;s l2: 0.027847&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.108922&#xA;[463]&#x9;valid_0&#39;s l2: 0.0278072&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.108832&#xA;[464]&#x9;valid_0&#39;s l2: 0.0277773&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.108777&#xA;[465]&#x9;valid_0&#39;s l2: 0.0277336&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.108683&#xA;[466]&#x9;valid_0&#39;s l2: 0.0276914&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.108595&#xA;[467]&#x9;valid_0&#39;s l2: 0.027646&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.108494&#xA;[468]&#x9;valid_0&#39;s l2: 0.0276104&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.108426&#xA;[469]&#x9;valid_0&#39;s l2: 0.0275615&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.108298&#xA;[470]&#x9;valid_0&#39;s l2: 0.027521&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.108198&#xA;[471]&#x9;valid_0&#39;s l2: 0.0274906&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.108141&#xA;[472]&#x9;valid_0&#39;s l2: 0.0274606&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.108087&#xA;[473]&#x9;valid_0&#39;s l2: 0.0274282&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.108022&#xA;[474]&#x9;valid_0&#39;s l2: 0.0273949&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.107939&#xA;[475]&#x9;valid_0&#39;s l2: 0.0273599&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.107855&#xA;[476]&#x9;valid_0&#39;s l2: 0.027328&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.107795&#xA;[477]&#x9;valid_0&#39;s l2: 0.0272935&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.107712&#xA;[478]&#x9;valid_0&#39;s l2: 0.0272658&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.107665&#xA;[479]&#x9;valid_0&#39;s l2: 0.0272319&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.107583&#xA;[480]&#x9;valid_0&#39;s l2: 0.0272038&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.107527&#xA;[481]&#x9;valid_0&#39;s l2: 0.0271715&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.107445&#xA;[482]&#x9;valid_0&#39;s l2: 0.0271403&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.107365&#xA;[483]&#x9;valid_0&#39;s l2: 0.0271072&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.107284&#xA;[484]&#x9;valid_0&#39;s l2: 0.0270767&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.107205&#xA;[485]&#x9;valid_0&#39;s l2: 0.0270445&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.107137&#xA;[486]&#x9;valid_0&#39;s l2: 0.0270146&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.107078&#xA;[487]&#x9;valid_0&#39;s l2: 0.0269845&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.106999&#xA;[488]&#x9;valid_0&#39;s l2: 0.0269559&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.10693&#xA;[489]&#x9;valid_0&#39;s l2: 0.0269267&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.106849&#xA;[490]&#x9;valid_0&#39;s l2: 0.0268974&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.106776&#xA;[491]&#x9;valid_0&#39;s l2: 0.02687&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.106732&#xA;[492]&#x9;valid_0&#39;s l2: 0.0268425&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.106699&#xA;[493]&#x9;valid_0&#39;s l2: 0.0268153&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.106677&#xA;[494]&#x9;valid_0&#39;s l2: 0.0267889&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.106659&#xA;[495]&#x9;valid_0&#39;s l2: 0.0267625&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.106635&#xA;[496]&#x9;valid_0&#39;s l2: 0.0267339&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.106587&#xA;[497]&#x9;valid_0&#39;s l2: 0.0267083&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.106569&#xA;[498]&#x9;valid_0&#39;s l2: 0.0266799&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.10653&#xA;[499]&#x9;valid_0&#39;s l2: 0.0266529&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.106485&#xA;[500]&#x9;valid_0&#39;s l2: 0.0266273&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.106452&#xA;[501]&#x9;valid_0&#39;s l2: 0.0266011&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.106396&#xA;[502]&#x9;valid_0&#39;s l2: 0.0265763&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.10634&#xA;[503]&#x9;valid_0&#39;s l2: 0.0265525&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.106294&#xA;[504]&#x9;valid_0&#39;s l2: 0.0265295&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.106247&#xA;[505]&#x9;valid_0&#39;s l2: 0.0265079&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.106197&#xA;[506]&#x9;valid_0&#39;s l2: 0.0264831&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.106148&#xA;[507]&#x9;valid_0&#39;s l2: 0.0264594&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.106097&#xA;[508]&#x9;valid_0&#39;s l2: 0.0264322&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.106045&#xA;[509]&#x9;valid_0&#39;s l2: 0.026414&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.106009&#xA;[510]&#x9;valid_0&#39;s l2: 0.0263932&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.105964&#xA;[511]&#x9;valid_0&#39;s l2: 0.0263644&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.105905&#xA;[512]&#x9;valid_0&#39;s l2: 0.0263368&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.105855&#xA;[513]&#x9;valid_0&#39;s l2: 0.0263058&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.105779&#xA;[514]&#x9;valid_0&#39;s l2: 0.026272&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.105696&#xA;[515]&#x9;valid_0&#39;s l2: 0.0262413&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.105618&#xA;[516]&#x9;valid_0&#39;s l2: 0.0262149&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.105571&#xA;[517]&#x9;valid_0&#39;s l2: 0.0261888&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.105524&#xA;[518]&#x9;valid_0&#39;s l2: 0.0261551&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.105443&#xA;[519]&#x9;valid_0&#39;s l2: 0.0261295&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.105398&#xA;[520]&#x9;valid_0&#39;s l2: 0.0260957&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.105311&#xA;[521]&#x9;valid_0&#39;s l2: 0.0260728&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.10526&#xA;[522]&#x9;valid_0&#39;s l2: 0.0260533&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.105223&#xA;[523]&#x9;valid_0&#39;s l2: 0.0260353&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.105191&#xA;[524]&#x9;valid_0&#39;s l2: 0.026017&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.105157&#xA;[525]&#x9;valid_0&#39;s l2: 0.026001&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.105133&#xA;[526]&#x9;valid_0&#39;s l2: 0.0259843&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.105107&#xA;[527]&#x9;valid_0&#39;s l2: 0.0259585&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.105041&#xA;[528]&#x9;valid_0&#39;s l2: 0.025941&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.105009&#xA;[529]&#x9;valid_0&#39;s l2: 0.0259265&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104972&#xA;[530]&#x9;valid_0&#39;s l2: 0.0259117&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104948&#xA;[531]&#x9;valid_0&#39;s l2: 0.025893&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104905&#xA;[532]&#x9;valid_0&#39;s l2: 0.0258713&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104857&#xA;[533]&#x9;valid_0&#39;s l2: 0.0258463&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104795&#xA;[534]&#x9;valid_0&#39;s l2: 0.0258265&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104751&#xA;[535]&#x9;valid_0&#39;s l2: 0.0258034&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104707&#xA;[536]&#x9;valid_0&#39;s l2: 0.0257804&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104647&#xA;[537]&#x9;valid_0&#39;s l2: 0.0257557&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104588&#xA;[538]&#x9;valid_0&#39;s l2: 0.0257322&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104541&#xA;[539]&#x9;valid_0&#39;s l2: 0.0257065&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104486&#xA;[540]&#x9;valid_0&#39;s l2: 0.0256827&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104434&#xA;[541]&#x9;valid_0&#39;s l2: 0.0256639&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104415&#xA;[542]&#x9;valid_0&#39;s l2: 0.0256406&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104375&#xA;[543]&#x9;valid_0&#39;s l2: 0.0256225&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104358&#xA;[544]&#x9;valid_0&#39;s l2: 0.0256055&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104341&#xA;[545]&#x9;valid_0&#39;s l2: 0.0255879&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104324&#xA;[546]&#x9;valid_0&#39;s l2: 0.0255688&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104304&#xA;[547]&#x9;valid_0&#39;s l2: 0.0255565&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.1043&#xA;[548]&#x9;valid_0&#39;s l2: 0.0255436&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.10429&#xA;[549]&#x9;valid_0&#39;s l2: 0.0255245&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104261&#xA;[550]&#x9;valid_0&#39;s l2: 0.025511&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104245&#xA;[551]&#x9;valid_0&#39;s l2: 0.0254893&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104199&#xA;[552]&#x9;valid_0&#39;s l2: 0.0254698&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104162&#xA;[553]&#x9;valid_0&#39;s l2: 0.0254503&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104125&#xA;[554]&#x9;valid_0&#39;s l2: 0.0254309&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104088&#xA;[555]&#x9;valid_0&#39;s l2: 0.0254117&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104052&#xA;[556]&#x9;valid_0&#39;s l2: 0.0253928&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.104015&#xA;[557]&#x9;valid_0&#39;s l2: 0.0253746&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.103981&#xA;[558]&#x9;valid_0&#39;s l2: 0.0253517&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.10393&#xA;[559]&#x9;valid_0&#39;s l2: 0.0253334&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.103894&#xA;[560]&#x9;valid_0&#39;s l2: 0.0253122&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.103847&#xA;[561]&#x9;valid_0&#39;s l2: 0.02529&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.103813&#xA;[562]&#x9;valid_0&#39;s l2: 0.0252668&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.103779&#xA;[563]&#x9;valid_0&#39;s l2: 0.0252414&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.103718&#xA;[564]&#x9;valid_0&#39;s l2: 0.025218&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.103682&#xA;[565]&#x9;valid_0&#39;s l2: 0.0251955&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.103649&#xA;[566]&#x9;valid_0&#39;s l2: 0.0251741&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.103616&#xA;[567]&#x9;valid_0&#39;s l2: 0.0251519&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.103582&#xA;[568]&#x9;valid_0&#39;s l2: 0.025128&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.103546&#xA;[569]&#x9;valid_0&#39;s l2: 0.0251075&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.103513&#xA;[570]&#x9;valid_0&#39;s l2: 0.025089&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.103475&#xA;[571]&#x9;valid_0&#39;s l2: 0.0250701&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.103428&#xA;[572]&#x9;valid_0&#39;s l2: 0.0250498&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.103369&#xA;[573]&#x9;valid_0&#39;s l2: 0.0250301&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.10331&#xA;[574]&#x9;valid_0&#39;s l2: 0.0250102&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.103252&#xA;[575]&#x9;valid_0&#39;s l2: 0.0249905&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.103195&#xA;[576]&#x9;valid_0&#39;s l2: 0.0249694&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.103129&#xA;[577]&#x9;valid_0&#39;s l2: 0.0249518&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.103078&#xA;[578]&#x9;valid_0&#39;s l2: 0.0249341&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.103033&#xA;[579]&#x9;valid_0&#39;s l2: 0.0249156&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.102976&#xA;[580]&#x9;valid_0&#39;s l2: 0.0248978&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.102924&#xA;[581]&#x9;valid_0&#39;s l2: 0.024878&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.102875&#xA;[582]&#x9;valid_0&#39;s l2: 0.0248647&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.102848&#xA;[583]&#x9;valid_0&#39;s l2: 0.0248452&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.102799&#xA;[584]&#x9;valid_0&#39;s l2: 0.024826&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.10275&#xA;[585]&#x9;valid_0&#39;s l2: 0.0248069&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.102701&#xA;[586]&#x9;valid_0&#39;s l2: 0.0247868&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.102646&#xA;[587]&#x9;valid_0&#39;s l2: 0.024774&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.10262&#xA;[588]&#x9;valid_0&#39;s l2: 0.0247609&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.10261&#xA;[589]&#x9;valid_0&#39;s l2: 0.0247409&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.102558&#xA;[590]&#x9;valid_0&#39;s l2: 0.0247213&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.102501&#xA;[591]&#x9;valid_0&#39;s l2: 0.0246987&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.102454&#xA;[592]&#x9;valid_0&#39;s l2: 0.0246767&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.102408&#xA;[593]&#x9;valid_0&#39;s l2: 0.0246563&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.102362&#xA;[594]&#x9;valid_0&#39;s l2: 0.0246364&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.102311&#xA;[595]&#x9;valid_0&#39;s l2: 0.0246173&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.102275&#xA;[596]&#x9;valid_0&#39;s l2: 0.024598&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.102229&#xA;[597]&#x9;valid_0&#39;s l2: 0.0245781&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.10219&#xA;[598]&#x9;valid_0&#39;s l2: 0.0245636&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.102143&#xA;[599]&#x9;valid_0&#39;s l2: 0.0245461&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.102102&#xA;[600]&#x9;valid_0&#39;s l2: 0.0245316&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.102056&#xA;[601]&#x9;valid_0&#39;s l2: 0.0245169&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.102014&#xA;[602]&#x9;valid_0&#39;s l2: 0.0244994&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101969&#xA;[603]&#x9;valid_0&#39;s l2: 0.0244852&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101935&#xA;[604]&#x9;valid_0&#39;s l2: 0.0244692&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101901&#xA;[605]&#x9;valid_0&#39;s l2: 0.0244569&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101878&#xA;[606]&#x9;valid_0&#39;s l2: 0.024439&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101833&#xA;[607]&#x9;valid_0&#39;s l2: 0.0244259&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101809&#xA;[608]&#x9;valid_0&#39;s l2: 0.0244136&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101789&#xA;[609]&#x9;valid_0&#39;s l2: 0.0243976&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101752&#xA;[610]&#x9;valid_0&#39;s l2: 0.0243826&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101715&#xA;[611]&#x9;valid_0&#39;s l2: 0.0243716&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101687&#xA;[612]&#x9;valid_0&#39;s l2: 0.0243573&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101647&#xA;[613]&#x9;valid_0&#39;s l2: 0.0243463&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101618&#xA;[614]&#x9;valid_0&#39;s l2: 0.0243239&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101571&#xA;[615]&#x9;valid_0&#39;s l2: 0.0243099&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101533&#xA;[616]&#x9;valid_0&#39;s l2: 0.0242923&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101498&#xA;[617]&#x9;valid_0&#39;s l2: 0.0242776&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101463&#xA;[618]&#x9;valid_0&#39;s l2: 0.0242665&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101442&#xA;[619]&#x9;valid_0&#39;s l2: 0.0242518&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101406&#xA;[620]&#x9;valid_0&#39;s l2: 0.0242418&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101385&#xA;[621]&#x9;valid_0&#39;s l2: 0.0242221&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101339&#xA;[622]&#x9;valid_0&#39;s l2: 0.0241996&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101291&#xA;[623]&#x9;valid_0&#39;s l2: 0.0241807&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101252&#xA;[624]&#x9;valid_0&#39;s l2: 0.0241614&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101207&#xA;[625]&#x9;valid_0&#39;s l2: 0.0241406&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101157&#xA;[626]&#x9;valid_0&#39;s l2: 0.0241216&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101112&#xA;[627]&#x9;valid_0&#39;s l2: 0.0241034&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101071&#xA;[628]&#x9;valid_0&#39;s l2: 0.0240846&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.101026&#xA;[629]&#x9;valid_0&#39;s l2: 0.0240707&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100999&#xA;[630]&#x9;valid_0&#39;s l2: 0.024052&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100953&#xA;[631]&#x9;valid_0&#39;s l2: 0.0240397&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100923&#xA;[632]&#x9;valid_0&#39;s l2: 0.0240302&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100898&#xA;[633]&#x9;valid_0&#39;s l2: 0.0240209&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100873&#xA;[634]&#x9;valid_0&#39;s l2: 0.0240136&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100852&#xA;[635]&#x9;valid_0&#39;s l2: 0.0239977&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100809&#xA;[636]&#x9;valid_0&#39;s l2: 0.0239826&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100778&#xA;[637]&#x9;valid_0&#39;s l2: 0.0239732&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100753&#xA;[638]&#x9;valid_0&#39;s l2: 0.0239645&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100735&#xA;[639]&#x9;valid_0&#39;s l2: 0.0239553&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100711&#xA;[640]&#x9;valid_0&#39;s l2: 0.0239438&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100686&#xA;[641]&#x9;valid_0&#39;s l2: 0.023932&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100666&#xA;[642]&#x9;valid_0&#39;s l2: 0.023918&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100638&#xA;[643]&#x9;valid_0&#39;s l2: 0.0239068&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100616&#xA;[644]&#x9;valid_0&#39;s l2: 0.0238947&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100594&#xA;[645]&#x9;valid_0&#39;s l2: 0.023884&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.10057&#xA;[646]&#x9;valid_0&#39;s l2: 0.023873&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100552&#xA;[647]&#x9;valid_0&#39;s l2: 0.0238611&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100527&#xA;[648]&#x9;valid_0&#39;s l2: 0.0238508&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100504&#xA;[649]&#x9;valid_0&#39;s l2: 0.0238439&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100498&#xA;[650]&#x9;valid_0&#39;s l2: 0.0238336&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.10048&#xA;[651]&#x9;valid_0&#39;s l2: 0.0238043&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100419&#xA;[652]&#x9;valid_0&#39;s l2: 0.0237767&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100367&#xA;[653]&#x9;valid_0&#39;s l2: 0.0237552&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100322&#xA;[654]&#x9;valid_0&#39;s l2: 0.0237331&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.10028&#xA;[655]&#x9;valid_0&#39;s l2: 0.023706&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100228&#xA;[656]&#x9;valid_0&#39;s l2: 0.0236793&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100177&#xA;[657]&#x9;valid_0&#39;s l2: 0.0236528&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100129&#xA;[658]&#x9;valid_0&#39;s l2: 0.0236322&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100088&#xA;[659]&#x9;valid_0&#39;s l2: 0.0236125&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100049&#xA;[660]&#x9;valid_0&#39;s l2: 0.0235904&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.100011&#xA;[661]&#x9;valid_0&#39;s l2: 0.0235781&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0999903&#xA;[662]&#x9;valid_0&#39;s l2: 0.0235659&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.09997&#xA;[663]&#x9;valid_0&#39;s l2: 0.0235538&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0999497&#xA;[664]&#x9;valid_0&#39;s l2: 0.0235422&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0999348&#xA;[665]&#x9;valid_0&#39;s l2: 0.023528&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.099911&#xA;[666]&#x9;valid_0&#39;s l2: 0.0235159&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0998906&#xA;[667]&#x9;valid_0&#39;s l2: 0.0235071&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0998804&#xA;[668]&#x9;valid_0&#39;s l2: 0.0234978&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0998678&#xA;[669]&#x9;valid_0&#39;s l2: 0.0234816&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0998423&#xA;[670]&#x9;valid_0&#39;s l2: 0.0234747&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.099828&#xA;[671]&#x9;valid_0&#39;s l2: 0.0234564&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.099792&#xA;[672]&#x9;valid_0&#39;s l2: 0.0234445&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0997628&#xA;[673]&#x9;valid_0&#39;s l2: 0.0234327&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0997369&#xA;[674]&#x9;valid_0&#39;s l2: 0.0234198&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.09971&#xA;[675]&#x9;valid_0&#39;s l2: 0.0234021&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0996733&#xA;[676]&#x9;valid_0&#39;s l2: 0.0233845&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0996368&#xA;[677]&#x9;valid_0&#39;s l2: 0.023367&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0996009&#xA;[678]&#x9;valid_0&#39;s l2: 0.0233498&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0995647&#xA;[679]&#x9;valid_0&#39;s l2: 0.0233326&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0995291&#xA;[680]&#x9;valid_0&#39;s l2: 0.0233158&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0994935&#xA;[681]&#x9;valid_0&#39;s l2: 0.0233087&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0994723&#xA;[682]&#x9;valid_0&#39;s l2: 0.0233023&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.099458&#xA;[683]&#x9;valid_0&#39;s l2: 0.0232917&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0994282&#xA;[684]&#x9;valid_0&#39;s l2: 0.0232831&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0994028&#xA;[685]&#x9;valid_0&#39;s l2: 0.0232797&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0993943&#xA;[686]&#x9;valid_0&#39;s l2: 0.0232702&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0993791&#xA;[687]&#x9;valid_0&#39;s l2: 0.0232606&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.09936&#xA;[688]&#x9;valid_0&#39;s l2: 0.0232535&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.099341&#xA;[689]&#x9;valid_0&#39;s l2: 0.0232472&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0993214&#xA;[690]&#x9;valid_0&#39;s l2: 0.0232404&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0993026&#xA;[691]&#x9;valid_0&#39;s l2: 0.0232348&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0992751&#xA;[692]&#x9;valid_0&#39;s l2: 0.0232259&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.099247&#xA;[693]&#x9;valid_0&#39;s l2: 0.0232206&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0992234&#xA;[694]&#x9;valid_0&#39;s l2: 0.0232149&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0992004&#xA;[695]&#x9;valid_0&#39;s l2: 0.0232068&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0991761&#xA;[696]&#x9;valid_0&#39;s l2: 0.0231992&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0991446&#xA;[697]&#x9;valid_0&#39;s l2: 0.0231857&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0991116&#xA;[698]&#x9;valid_0&#39;s l2: 0.0231754&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0990857&#xA;[699]&#x9;valid_0&#39;s l2: 0.0231602&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0990553&#xA;[700]&#x9;valid_0&#39;s l2: 0.0231551&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.09904&#xA;[701]&#x9;valid_0&#39;s l2: 0.0231446&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0990026&#xA;[702]&#x9;valid_0&#39;s l2: 0.0231341&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0989664&#xA;[703]&#x9;valid_0&#39;s l2: 0.0231238&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0989304&#xA;[704]&#x9;valid_0&#39;s l2: 0.0231148&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0988982&#xA;[705]&#x9;valid_0&#39;s l2: 0.0231093&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0988837&#xA;[706]&#x9;valid_0&#39;s l2: 0.023099&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.098855&#xA;[707]&#x9;valid_0&#39;s l2: 0.0230892&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.098826&#xA;[708]&#x9;valid_0&#39;s l2: 0.0230816&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0987991&#xA;[709]&#x9;valid_0&#39;s l2: 0.023073&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0987675&#xA;[710]&#x9;valid_0&#39;s l2: 0.0230706&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0987532&#xA;[711]&#x9;valid_0&#39;s l2: 0.0230674&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0987399&#xA;[712]&#x9;valid_0&#39;s l2: 0.0230637&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0987251&#xA;[713]&#x9;valid_0&#39;s l2: 0.0230606&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0987147&#xA;[714]&#x9;valid_0&#39;s l2: 0.0230522&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0986984&#xA;[715]&#x9;valid_0&#39;s l2: 0.0230471&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0986772&#xA;[716]&#x9;valid_0&#39;s l2: 0.0230437&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0986649&#xA;[717]&#x9;valid_0&#39;s l2: 0.0230407&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0986542&#xA;[718]&#x9;valid_0&#39;s l2: 0.0230368&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.09864&#xA;[719]&#x9;valid_0&#39;s l2: 0.0230339&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0986295&#xA;[720]&#x9;valid_0&#39;s l2: 0.023026&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0986111&#xA;[721]&#x9;valid_0&#39;s l2: 0.0230112&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0985884&#xA;[722]&#x9;valid_0&#39;s l2: 0.0229925&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0985517&#xA;[723]&#x9;valid_0&#39;s l2: 0.0229793&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0985286&#xA;[724]&#x9;valid_0&#39;s l2: 0.0229659&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0985082&#xA;[725]&#x9;valid_0&#39;s l2: 0.0229542&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0984834&#xA;[726]&#x9;valid_0&#39;s l2: 0.02294&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0984593&#xA;[727]&#x9;valid_0&#39;s l2: 0.0229256&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0984322&#xA;[728]&#x9;valid_0&#39;s l2: 0.0229126&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0984147&#xA;[729]&#x9;valid_0&#39;s l2: 0.0228998&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0983973&#xA;[730]&#x9;valid_0&#39;s l2: 0.0228861&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0983736&#xA;[731]&#x9;valid_0&#39;s l2: 0.0228742&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0983469&#xA;[732]&#x9;valid_0&#39;s l2: 0.0228615&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0983203&#xA;[733]&#x9;valid_0&#39;s l2: 0.0228499&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0982938&#xA;[734]&#x9;valid_0&#39;s l2: 0.0228384&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0982674&#xA;[735]&#x9;valid_0&#39;s l2: 0.022828&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.09824&#xA;[736]&#x9;valid_0&#39;s l2: 0.0228175&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.098215&#xA;[737]&#x9;valid_0&#39;s l2: 0.022808&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0981827&#xA;[738]&#x9;valid_0&#39;s l2: 0.0227979&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0981537&#xA;[739]&#x9;valid_0&#39;s l2: 0.0227885&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0981308&#xA;[740]&#x9;valid_0&#39;s l2: 0.022776&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0980925&#xA;[741]&#x9;valid_0&#39;s l2: 0.0227644&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0980603&#xA;[742]&#x9;valid_0&#39;s l2: 0.0227595&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0980434&#xA;[743]&#x9;valid_0&#39;s l2: 0.0227504&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0980255&#xA;[744]&#x9;valid_0&#39;s l2: 0.0227461&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0980052&#xA;[745]&#x9;valid_0&#39;s l2: 0.022741&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.097983&#xA;[746]&#x9;valid_0&#39;s l2: 0.0227298&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0979513&#xA;[747]&#x9;valid_0&#39;s l2: 0.022726&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0979315&#xA;[748]&#x9;valid_0&#39;s l2: 0.0227209&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0979215&#xA;[749]&#x9;valid_0&#39;s l2: 0.0227068&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0978799&#xA;[750]&#x9;valid_0&#39;s l2: 0.0227007&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0978718&#xA;[751]&#x9;valid_0&#39;s l2: 0.0226925&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0978519&#xA;[752]&#x9;valid_0&#39;s l2: 0.0226845&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0978272&#xA;[753]&#x9;valid_0&#39;s l2: 0.0226766&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0978053&#xA;[754]&#x9;valid_0&#39;s l2: 0.0226688&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0977835&#xA;[755]&#x9;valid_0&#39;s l2: 0.0226618&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0977609&#xA;[756]&#x9;valid_0&#39;s l2: 0.0226531&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0977488&#xA;[757]&#x9;valid_0&#39;s l2: 0.0226434&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0977201&#xA;[758]&#x9;valid_0&#39;s l2: 0.0226344&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0977079&#xA;[759]&#x9;valid_0&#39;s l2: 0.0226241&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0976758&#xA;[760]&#x9;valid_0&#39;s l2: 0.0226162&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0976525&#xA;[761]&#x9;valid_0&#39;s l2: 0.0226093&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0976584&#xA;[762]&#x9;valid_0&#39;s l2: 0.0226016&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0976575&#xA;[763]&#x9;valid_0&#39;s l2: 0.022593&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0976512&#xA;[764]&#x9;valid_0&#39;s l2: 0.0225835&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0976307&#xA;[765]&#x9;valid_0&#39;s l2: 0.0225741&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0976312&#xA;[766]&#x9;valid_0&#39;s l2: 0.0225669&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0976331&#xA;[767]&#x9;valid_0&#39;s l2: 0.0225608&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0976418&#xA;[768]&#x9;valid_0&#39;s l2: 0.0225546&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.097648&#xA;[769]&#x9;valid_0&#39;s l2: 0.0225477&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0976495&#xA;[770]&#x9;valid_0&#39;s l2: 0.0225419&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0976581&#xA;[771]&#x9;valid_0&#39;s l2: 0.0225314&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0976287&#xA;[772]&#x9;valid_0&#39;s l2: 0.0225203&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0975971&#xA;[773]&#x9;valid_0&#39;s l2: 0.0225098&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0975687&#xA;[774]&#x9;valid_0&#39;s l2: 0.0225022&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0975514&#xA;[775]&#x9;valid_0&#39;s l2: 0.022492&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0975226&#xA;[776]&#x9;valid_0&#39;s l2: 0.0224825&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0974917&#xA;[777]&#x9;valid_0&#39;s l2: 0.0224751&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0974747&#xA;[778]&#x9;valid_0&#39;s l2: 0.0224651&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0974352&#xA;[779]&#x9;valid_0&#39;s l2: 0.0224563&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0974024&#xA;[780]&#x9;valid_0&#39;s l2: 0.0224475&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0973866&#xA;[781]&#x9;valid_0&#39;s l2: 0.022442&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0973718&#xA;[782]&#x9;valid_0&#39;s l2: 0.0224364&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0973555&#xA;[783]&#x9;valid_0&#39;s l2: 0.022434&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.097347&#xA;[784]&#x9;valid_0&#39;s l2: 0.0224285&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0973352&#xA;[785]&#x9;valid_0&#39;s l2: 0.0224241&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0973262&#xA;[786]&#x9;valid_0&#39;s l2: 0.0224211&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0973114&#xA;[787]&#x9;valid_0&#39;s l2: 0.0224159&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0972998&#xA;[788]&#x9;valid_0&#39;s l2: 0.022411&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0972862&#xA;[789]&#x9;valid_0&#39;s l2: 0.0224064&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0972775&#xA;[790]&#x9;valid_0&#39;s l2: 0.0224018&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0972696&#xA;[791]&#x9;valid_0&#39;s l2: 0.0223912&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0972437&#xA;[792]&#x9;valid_0&#39;s l2: 0.022381&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0972193&#xA;[793]&#x9;valid_0&#39;s l2: 0.0223709&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.097195&#xA;[794]&#x9;valid_0&#39;s l2: 0.0223595&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0971637&#xA;[795]&#x9;valid_0&#39;s l2: 0.0223488&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.097135&#xA;[796]&#x9;valid_0&#39;s l2: 0.0223395&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0971072&#xA;[797]&#x9;valid_0&#39;s l2: 0.0223297&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0970839&#xA;[798]&#x9;valid_0&#39;s l2: 0.0223216&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0970579&#xA;[799]&#x9;valid_0&#39;s l2: 0.0223143&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0970413&#xA;[800]&#x9;valid_0&#39;s l2: 0.0223048&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.097013&#xA;[801]&#x9;valid_0&#39;s l2: 0.0222923&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0969772&#xA;[802]&#x9;valid_0&#39;s l2: 0.0222837&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0969543&#xA;[803]&#x9;valid_0&#39;s l2: 0.0222756&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0969335&#xA;[804]&#x9;valid_0&#39;s l2: 0.0222711&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0969297&#xA;[805]&#x9;valid_0&#39;s l2: 0.022259&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0968944&#xA;[806]&#x9;valid_0&#39;s l2: 0.0222467&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0968602&#xA;[807]&#x9;valid_0&#39;s l2: 0.0222348&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0968276&#xA;[808]&#x9;valid_0&#39;s l2: 0.0222229&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0967921&#xA;[809]&#x9;valid_0&#39;s l2: 0.0222112&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0967598&#xA;[810]&#x9;valid_0&#39;s l2: 0.0221994&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0967237&#xA;[811]&#x9;valid_0&#39;s l2: 0.0221973&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0967099&#xA;[812]&#x9;valid_0&#39;s l2: 0.0221926&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0966938&#xA;[813]&#x9;valid_0&#39;s l2: 0.0221872&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0966742&#xA;[814]&#x9;valid_0&#39;s l2: 0.0221808&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0966562&#xA;[815]&#x9;valid_0&#39;s l2: 0.0221742&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0966514&#xA;[816]&#x9;valid_0&#39;s l2: 0.022167&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0966468&#xA;[817]&#x9;valid_0&#39;s l2: 0.0221616&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.096643&#xA;[818]&#x9;valid_0&#39;s l2: 0.0221554&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0966228&#xA;[819]&#x9;valid_0&#39;s l2: 0.0221513&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0966189&#xA;[820]&#x9;valid_0&#39;s l2: 0.0221455&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0966117&#xA;[821]&#x9;valid_0&#39;s l2: 0.0221351&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0965911&#xA;[822]&#x9;valid_0&#39;s l2: 0.0221266&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0965861&#xA;[823]&#x9;valid_0&#39;s l2: 0.0221174&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0965672&#xA;[824]&#x9;valid_0&#39;s l2: 0.0221089&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.096547&#xA;[825]&#x9;valid_0&#39;s l2: 0.0221007&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0965303&#xA;[826]&#x9;valid_0&#39;s l2: 0.0220923&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0965103&#xA;[827]&#x9;valid_0&#39;s l2: 0.0220856&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0964954&#xA;[828]&#x9;valid_0&#39;s l2: 0.0220758&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0964753&#xA;[829]&#x9;valid_0&#39;s l2: 0.0220677&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.096462&#xA;[830]&#x9;valid_0&#39;s l2: 0.0220592&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.096454&#xA;[831]&#x9;valid_0&#39;s l2: 0.0220456&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0964269&#xA;[832]&#x9;valid_0&#39;s l2: 0.0220328&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0963965&#xA;[833]&#x9;valid_0&#39;s l2: 0.0220201&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0963663&#xA;[834]&#x9;valid_0&#39;s l2: 0.0220057&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0963352&#xA;[835]&#x9;valid_0&#39;s l2: 0.021994&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.096311&#xA;[836]&#x9;valid_0&#39;s l2: 0.0219816&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0962853&#xA;[837]&#x9;valid_0&#39;s l2: 0.0219693&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0962577&#xA;[838]&#x9;valid_0&#39;s l2: 0.021956&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0962395&#xA;[839]&#x9;valid_0&#39;s l2: 0.021944&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0962122&#xA;[840]&#x9;valid_0&#39;s l2: 0.0219321&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0961869&#xA;[841]&#x9;valid_0&#39;s l2: 0.0219236&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0961607&#xA;[842]&#x9;valid_0&#39;s l2: 0.0219141&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0961355&#xA;[843]&#x9;valid_0&#39;s l2: 0.0219029&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0961025&#xA;[844]&#x9;valid_0&#39;s l2: 0.0218954&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0960801&#xA;[845]&#x9;valid_0&#39;s l2: 0.0218895&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0960733&#xA;[846]&#x9;valid_0&#39;s l2: 0.0218818&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0960567&#xA;[847]&#x9;valid_0&#39;s l2: 0.021876&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0960502&#xA;[848]&#x9;valid_0&#39;s l2: 0.0218667&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0960288&#xA;[849]&#x9;valid_0&#39;s l2: 0.0218647&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0960228&#xA;[850]&#x9;valid_0&#39;s l2: 0.0218561&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0960013&#xA;[851]&#x9;valid_0&#39;s l2: 0.0218542&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0959922&#xA;[852]&#x9;valid_0&#39;s l2: 0.0218525&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0959836&#xA;[853]&#x9;valid_0&#39;s l2: 0.0218466&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0959631&#xA;[854]&#x9;valid_0&#39;s l2: 0.0218402&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0959444&#xA;[855]&#x9;valid_0&#39;s l2: 0.0218338&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0959251&#xA;[856]&#x9;valid_0&#39;s l2: 0.0218294&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0959016&#xA;[857]&#x9;valid_0&#39;s l2: 0.0218232&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0958825&#xA;[858]&#x9;valid_0&#39;s l2: 0.021817&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0958635&#xA;[859]&#x9;valid_0&#39;s l2: 0.0218154&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0958555&#xA;[860]&#x9;valid_0&#39;s l2: 0.0218138&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0958475&#xA;[861]&#x9;valid_0&#39;s l2: 0.0218084&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0958269&#xA;[862]&#x9;valid_0&#39;s l2: 0.021803&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0958065&#xA;[863]&#x9;valid_0&#39;s l2: 0.0217976&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0957874&#xA;[864]&#x9;valid_0&#39;s l2: 0.0217907&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0957678&#xA;[865]&#x9;valid_0&#39;s l2: 0.0217852&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0957519&#xA;[866]&#x9;valid_0&#39;s l2: 0.0217804&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0957391&#xA;[867]&#x9;valid_0&#39;s l2: 0.0217751&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0957225&#xA;[868]&#x9;valid_0&#39;s l2: 0.0217693&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0957035&#xA;[869]&#x9;valid_0&#39;s l2: 0.0217643&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0956873&#xA;[870]&#x9;valid_0&#39;s l2: 0.0217587&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0956703&#xA;[871]&#x9;valid_0&#39;s l2: 0.0217513&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0956623&#xA;[872]&#x9;valid_0&#39;s l2: 0.0217466&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0956575&#xA;[873]&#x9;valid_0&#39;s l2: 0.0217422&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0956528&#xA;[874]&#x9;valid_0&#39;s l2: 0.0217374&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0956486&#xA;[875]&#x9;valid_0&#39;s l2: 0.021732&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0956435&#xA;[876]&#x9;valid_0&#39;s l2: 0.0217281&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0956366&#xA;[877]&#x9;valid_0&#39;s l2: 0.0217234&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0956334&#xA;[878]&#x9;valid_0&#39;s l2: 0.0217189&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0956316&#xA;[879]&#x9;valid_0&#39;s l2: 0.0217146&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0956247&#xA;[880]&#x9;valid_0&#39;s l2: 0.0217109&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0956179&#xA;[881]&#x9;valid_0&#39;s l2: 0.0217062&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.095603&#xA;[882]&#x9;valid_0&#39;s l2: 0.0217008&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0955885&#xA;[883]&#x9;valid_0&#39;s l2: 0.021693&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0955768&#xA;[884]&#x9;valid_0&#39;s l2: 0.0216884&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.095562&#xA;[885]&#x9;valid_0&#39;s l2: 0.021684&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0955486&#xA;[886]&#x9;valid_0&#39;s l2: 0.0216798&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0955406&#xA;[887]&#x9;valid_0&#39;s l2: 0.0216736&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0955193&#xA;[888]&#x9;valid_0&#39;s l2: 0.0216686&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0955051&#xA;[889]&#x9;valid_0&#39;s l2: 0.0216642&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0954907&#xA;[890]&#x9;valid_0&#39;s l2: 0.0216582&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0954697&#xA;[891]&#x9;valid_0&#39;s l2: 0.0216569&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0954542&#xA;[892]&#x9;valid_0&#39;s l2: 0.021655&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0954495&#xA;[893]&#x9;valid_0&#39;s l2: 0.0216523&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0954382&#xA;[894]&#x9;valid_0&#39;s l2: 0.0216481&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0954301&#xA;[895]&#x9;valid_0&#39;s l2: 0.0216463&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0954258&#xA;[896]&#x9;valid_0&#39;s l2: 0.0216417&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0954165&#xA;[897]&#x9;valid_0&#39;s l2: 0.0216412&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0954163&#xA;[898]&#x9;valid_0&#39;s l2: 0.0216387&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0954053&#xA;[899]&#x9;valid_0&#39;s l2: 0.0216375&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0954015&#xA;[900]&#x9;valid_0&#39;s l2: 0.0216359&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0953982&#xA;[901]&#x9;valid_0&#39;s l2: 0.0216322&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0953865&#xA;[902]&#x9;valid_0&#39;s l2: 0.0216286&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0953726&#xA;[903]&#x9;valid_0&#39;s l2: 0.021625&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0953611&#xA;[904]&#x9;valid_0&#39;s l2: 0.021622&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.095351&#xA;[905]&#x9;valid_0&#39;s l2: 0.0216204&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0953431&#xA;[906]&#x9;valid_0&#39;s l2: 0.0216174&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0953332&#xA;[907]&#x9;valid_0&#39;s l2: 0.0216141&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0953195&#xA;[908]&#x9;valid_0&#39;s l2: 0.0216103&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0953033&#xA;[909]&#x9;valid_0&#39;s l2: 0.0216082&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0952955&#xA;[910]&#x9;valid_0&#39;s l2: 0.0216061&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0952889&#xA;[911]&#x9;valid_0&#39;s l2: 0.0216058&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0952842&#xA;[912]&#x9;valid_0&#39;s l2: 0.0216037&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0952856&#xA;[913]&#x9;valid_0&#39;s l2: 0.0216012&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0952732&#xA;[914]&#x9;valid_0&#39;s l2: 0.0216009&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0952746&#xA;[915]&#x9;valid_0&#39;s l2: 0.0215993&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0952651&#xA;[916]&#x9;valid_0&#39;s l2: 0.021597&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0952528&#xA;[917]&#x9;valid_0&#39;s l2: 0.0215963&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0952526&#xA;[918]&#x9;valid_0&#39;s l2: 0.0215941&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0952403&#xA;[919]&#x9;valid_0&#39;s l2: 0.021593&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0952397&#xA;[920]&#x9;valid_0&#39;s l2: 0.0215911&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0952237&#xA;[921]&#x9;valid_0&#39;s l2: 0.0215922&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0952161&#xA;[922]&#x9;valid_0&#39;s l2: 0.0215924&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0952078&#xA;[923]&#x9;valid_0&#39;s l2: 0.0215947&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0952031&#xA;[924]&#x9;valid_0&#39;s l2: 0.0215955&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0951948&#xA;[925]&#x9;valid_0&#39;s l2: 0.0215939&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0951858&#xA;[926]&#x9;valid_0&#39;s l2: 0.0215937&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0951802&#xA;[927]&#x9;valid_0&#39;s l2: 0.0215958&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0951758&#xA;[928]&#x9;valid_0&#39;s l2: 0.0215931&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0951683&#xA;[929]&#x9;valid_0&#39;s l2: 0.0215937&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.095165&#xA;[930]&#x9;valid_0&#39;s l2: 0.0215943&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.095169&#xA;[931]&#x9;valid_0&#39;s l2: 0.0215862&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0951457&#xA;[932]&#x9;valid_0&#39;s l2: 0.0215834&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.095131&#xA;[933]&#x9;valid_0&#39;s l2: 0.02158&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0951186&#xA;[934]&#x9;valid_0&#39;s l2: 0.0215747&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0951052&#xA;[935]&#x9;valid_0&#39;s l2: 0.021567&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0950842&#xA;[936]&#x9;valid_0&#39;s l2: 0.0215607&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0950656&#xA;[937]&#x9;valid_0&#39;s l2: 0.0215549&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0950501&#xA;[938]&#x9;valid_0&#39;s l2: 0.0215492&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0950333&#xA;[939]&#x9;valid_0&#39;s l2: 0.0215442&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0950181&#xA;[940]&#x9;valid_0&#39;s l2: 0.021538&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0949997&#xA;[941]&#x9;valid_0&#39;s l2: 0.0215329&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0949882&#xA;[942]&#x9;valid_0&#39;s l2: 0.0215296&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0949695&#xA;[943]&#x9;valid_0&#39;s l2: 0.0215246&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.094958&#xA;[944]&#x9;valid_0&#39;s l2: 0.0215218&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0949549&#xA;[945]&#x9;valid_0&#39;s l2: 0.0215169&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0949435&#xA;[946]&#x9;valid_0&#39;s l2: 0.0215124&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0949348&#xA;[947]&#x9;valid_0&#39;s l2: 0.021508&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0949246&#xA;[948]&#x9;valid_0&#39;s l2: 0.021504&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.094918&#xA;[949]&#x9;valid_0&#39;s l2: 0.0214996&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0949079&#xA;[950]&#x9;valid_0&#39;s l2: 0.0214969&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0948961&#xA;[951]&#x9;valid_0&#39;s l2: 0.0214896&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0948728&#xA;[952]&#x9;valid_0&#39;s l2: 0.0214833&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0948522&#xA;[953]&#x9;valid_0&#39;s l2: 0.0214762&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0948291&#xA;[954]&#x9;valid_0&#39;s l2: 0.0214693&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0948044&#xA;[955]&#x9;valid_0&#39;s l2: 0.021469&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0948003&#xA;[956]&#x9;valid_0&#39;s l2: 0.021462&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0947774&#xA;[957]&#x9;valid_0&#39;s l2: 0.0214615&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0947748&#xA;[958]&#x9;valid_0&#39;s l2: 0.0214549&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0947515&#xA;[959]&#x9;valid_0&#39;s l2: 0.0214553&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0947529&#xA;[960]&#x9;valid_0&#39;s l2: 0.0214544&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0947481&#xA;[961]&#x9;valid_0&#39;s l2: 0.0214478&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0947334&#xA;[962]&#x9;valid_0&#39;s l2: 0.0214413&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0947188&#xA;[963]&#x9;valid_0&#39;s l2: 0.0214348&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0947043&#xA;[964]&#x9;valid_0&#39;s l2: 0.0214305&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.094698&#xA;[965]&#x9;valid_0&#39;s l2: 0.0214241&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0946836&#xA;[966]&#x9;valid_0&#39;s l2: 0.0214197&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.09468&#xA;[967]&#x9;valid_0&#39;s l2: 0.0214164&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0946764&#xA;[968]&#x9;valid_0&#39;s l2: 0.0214101&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0946622&#xA;[969]&#x9;valid_0&#39;s l2: 0.0214039&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.094648&#xA;[970]&#x9;valid_0&#39;s l2: 0.0213978&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0946339&#xA;[971]&#x9;valid_0&#39;s l2: 0.0213927&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0946141&#xA;[972]&#x9;valid_0&#39;s l2: 0.021387&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.094594&#xA;[973]&#x9;valid_0&#39;s l2: 0.021382&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0945744&#xA;[974]&#x9;valid_0&#39;s l2: 0.0213781&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0945629&#xA;[975]&#x9;valid_0&#39;s l2: 0.0213727&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0945424&#xA;[976]&#x9;valid_0&#39;s l2: 0.0213678&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.09452&#xA;[977]&#x9;valid_0&#39;s l2: 0.0213651&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0945122&#xA;[978]&#x9;valid_0&#39;s l2: 0.0213646&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0945037&#xA;[979]&#x9;valid_0&#39;s l2: 0.0213597&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0944836&#xA;[980]&#x9;valid_0&#39;s l2: 0.0213544&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0944663&#xA;[981]&#x9;valid_0&#39;s l2: 0.0213504&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0944575&#xA;[982]&#x9;valid_0&#39;s l2: 0.0213456&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.09444&#xA;[983]&#x9;valid_0&#39;s l2: 0.0213383&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.09442&#xA;[984]&#x9;valid_0&#39;s l2: 0.0213354&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0944138&#xA;[985]&#x9;valid_0&#39;s l2: 0.0213293&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0943943&#xA;[986]&#x9;valid_0&#39;s l2: 0.0213251&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0943832&#xA;[987]&#x9;valid_0&#39;s l2: 0.0213192&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0943559&#xA;[988]&#x9;valid_0&#39;s l2: 0.0213131&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0943363&#xA;[989]&#x9;valid_0&#39;s l2: 0.0213049&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.094306&#xA;[990]&#x9;valid_0&#39;s l2: 0.0212989&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0942866&#xA;[991]&#x9;valid_0&#39;s l2: 0.0212984&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0942869&#xA;[992]&#x9;valid_0&#39;s l2: 0.021298&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0942872&#xA;[993]&#x9;valid_0&#39;s l2: 0.0212958&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0942803&#xA;[994]&#x9;valid_0&#39;s l2: 0.0212936&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0942735&#xA;[995]&#x9;valid_0&#39;s l2: 0.0212881&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0942607&#xA;[996]&#x9;valid_0&#39;s l2: 0.0212847&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0942505&#xA;[997]&#x9;valid_0&#39;s l2: 0.0212826&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0942442&#xA;[998]&#x9;valid_0&#39;s l2: 0.0212772&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0942321&#xA;[999]&#x9;valid_0&#39;s l2: 0.0212751&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0942275&#xA;[1000]&#x9;valid_0&#39;s l2: 0.0212723&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0942257&#xA;[1001]&#x9;valid_0&#39;s l2: 0.0212714&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.0942273&#xA;Early stopping, best iteration is:&#xA;[1]&#x9;valid_0&#39;s l2: 0.186477&#x9;valid_0&#39;s auc: 1&#x9;valid_0&#39;s l1: 0.333038&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;LGBMRegressor(bagging_fraction=0.7, bagging_freq=10, boosting_type=&#39;gbdt&#39;,&#xA;              class_weight=None, colsample_bytree=1.0, feature_fraction=0.9,&#xA;              importance_type=&#39;split&#39;, learning_rate=0.005, max_bin=512,&#xA;              max_depth=8, metric=[&#39;l2&#39;, &#39;auc&#39;], min_child_samples=20,&#xA;              min_child_weight=0.001, min_split_gain=0.0, n_estimators=1000,&#xA;              n_jobs=-1, num_iterations=100000, num_leaves=128,&#xA;              objective=&#39;regression&#39;, random_state=None, reg_alpha=0.0,&#xA;              reg_lambda=0.0, silent=True, subsample=1.0,&#xA;              subsample_for_bin=200000, subsample_freq=0, task=&#39;train&#39;,&#xA;              verbose=0)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;6-모델-평가&#34;&gt;(6) 모델 평가&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;모델을 평가한다. (RMSE)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;y_pred &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; gbm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(X_train, num_iteration&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;gbm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;best_iteration_)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;The rmse of prediction is:&amp;#39;&lt;/span&gt;, round(mean_squared_log_error(y_pred, y_train) &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0.5&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;The rmse of prediction is: 0.02951&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;7-결과-제출&#34;&gt;(7) 결과 제출&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 결과를 제출한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;test_pred &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;expm1(gbm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(df_test, num_iteration&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;gbm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;best_iteration_))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df_test[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SalePrice&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; test_pred&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df_test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;to_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;results.csv&amp;#34;&lt;/span&gt;, columns&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Id&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SalePrice&amp;#34;&lt;/span&gt;], index&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>딥러닝 소개 - 인공 신경망 소개</title>
      <link>https://dschloe.github.io/programming/2020/07/chapter_7_1_deeplearning_intro/</link>
      <pubDate>Wed, 15 Jul 2020 10:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/chapter_7_1_deeplearning_intro/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;핸즈온 머신러닝 2판&lt;/code&gt;를 활용하여 본 강사로부터 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶은 분은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hexo Blog 만들기</title>
      <link>https://dschloe.github.io/programming/2020/07/hexo_blog/</link>
      <pubDate>Mon, 13 Jul 2020 12:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/hexo_blog/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단하게 &lt;code&gt;Hexo&lt;/code&gt; 블로그를 만들어 본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-필수-파일-설치&#34;&gt;I. 필수 파일 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1단계: &lt;a href=&#34;https://nodejs.org/en/&#34;&gt;nodejs.org&lt;/a&gt; 다운로드&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치가 완료 되었다면 간단하게 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ node -v&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;2단계: &lt;a href=&#34;https://git-scm.com/&#34;&gt;git-scm.com&lt;/a&gt; 다운로드&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설치가 완료 되었다면 간단하게 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git --version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;3단계: hexo 설치&#xA;&lt;ul&gt;&#xA;&lt;li&gt;hexo는 npm을 통해서 설치가 가능하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ npm install -g hexo-cli&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;ii-깃허브-설정&#34;&gt;II. 깃허브 설정&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;두개의 깃허브 &lt;code&gt;Repo&lt;/code&gt;를 생성한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;포스트 버전관리 (name: myblog)&lt;/li&gt;&#xA;&lt;li&gt;포스트 배포용 관리 (name: rain0430.github.io)&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;rain0430&lt;/code&gt; 대신에 각자의 &lt;code&gt;username&lt;/code&gt;을 입력하면 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이 때, &lt;code&gt;myblog repo&lt;/code&gt;를 &lt;code&gt;git clone&lt;/code&gt;을 통해 적당한 경로로 내려 받는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git clone your_git_repo_address.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;iii-블로그-만들기&#34;&gt;III. 블로그 만들기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;(옵션) 적당한 곳에 경로를 지정한 다음 다음과 같이 폴더를 만든다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ mkdir makeBlog &lt;span style=&#34;color:#75715e&#34;&gt;# 만약 Powershell 이라면 mkdir 대신에 md를 쓴다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cd makeBlog&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;임의의 블로그 파일명을 만든다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ hexo init myblog&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cd myblog&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ npm install&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ npm install hexo-server --save&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ npm install hexo-deployer-git --save&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;+ ERROR Deployer not found: git&#xA;+ hexo-deployer-git을 설치 하지 않으면 deploy시 위와 같은 ERROR가 발생합니다.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;_config.yml&lt;/code&gt; 파일 설정&#xA;&lt;ul&gt;&#xA;&lt;li&gt;싸이트 정보 수정&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-yml&#34; data-lang=&#34;yml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;title&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;제목을 지어주세요&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;subtitle&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;부제목을 지어주세요&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;description&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;description을 지어주세요&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;author&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;YourName&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;+ 블로그 URL 정보 설정&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-yml&#34; data-lang=&#34;yml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;url&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;https://rain0430.github.io&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;root&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;/&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;permalink&lt;/span&gt;: :&lt;span style=&#34;color:#ae81ff&#34;&gt;year/:month/:day/:title/&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;permalink_defaults&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;+ 깃허브 연동&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-yml&#34; data-lang=&#34;yml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Deployment&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;deploy&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;type&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;git&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;repo&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;https://github.com/rain0430/rain0430.github.io.git&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;branch&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;main&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;iv-깃허브에-배포하기&#34;&gt;IV. 깃허브에 배포하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;배포 전, 터미널에서 &lt;code&gt;localhost:4000&lt;/code&gt; 접속을 통해 화면이 뜨는지 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ hexo generate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ hexo server&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;INFO  Start processing&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;INFO  Hexo is running at http://localhost:4000 . Press Ctrl+C to stop.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;화면 확인이 된 이후에는 깃허브에 배포한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>데이콘 대회 참여 - 10 데이터 시각화</title>
      <link>https://dschloe.github.io/programming/2020/07/10_data_visualisation/</link>
      <pubDate>Sun, 12 Jul 2020 17:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/10_data_visualisation/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;사전작업&#34;&gt;사전작업&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;한글 시각화를 위해 나눔고딕 폰트를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install psankey &lt;span style=&#34;color:#75715e&#34;&gt;#  sankey diagram&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;config InlineBackend&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;figure_format &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;retina&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;apt &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;qq &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;y install fonts&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;nanum&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Requirement already satisfied: psankey in /usr/local/lib/python3.6/dist-packages (1.0.1)&#xA;fonts-nanum is already the newest version (20170925-1).&#xA;The following package was automatically installed and is no longer required:&#xA;  libnvidia-common-440&#xA;Use &#39;apt autoremove&#39; to remove it.&#xA;0 upgraded, 0 newly installed, 0 to remove and 33 not upgraded.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.font_manager &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; fm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; mpl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fontpath &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/usr/share/fonts/truetype/nanum/NanumBarunGothic.ttf&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;font &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;FontProperties(fname&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;fontpath, size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rc(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font&amp;#39;&lt;/span&gt;, family&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NanumBarunGothic&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mpl&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;font_manager&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;_rebuild()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mpl&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;pyplot&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rc(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font&amp;#39;&lt;/span&gt;, family&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NanumGothic&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;_rebuild()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 코드 정렬이 끝난 이후에는 런타임-다시시작을 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;위 셀만 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-빅쿼리-연동&#34;&gt;I. 빅쿼리 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지난 시간에 데이콘에서 내려받은 데이터를 빅쿼리에 넣는 작업을 진행하였다.&lt;/li&gt;&#xA;&lt;li&gt;빅쿼리에 저장된 데이터를 구글 코랩으로 불러오려면 다음과 같이 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-사용자-계정-인증&#34;&gt;(1) 사용자 계정 인증&lt;/h3&gt;&#xA;&lt;p&gt;구글 코랩을 사용해서 인증 절차를 밟도록 한다. 아래 소스코드는 변경시키지 않는다. 아래 절차대로 진행하면 된다. &lt;code&gt;Gmail&lt;/code&gt; 인증 절차와 비슷하다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Machine Learning Example with Class</title>
      <link>https://dschloe.github.io/programming/2020/07/chapter_3_7_class/</link>
      <pubDate>Fri, 10 Jul 2020 11:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/chapter_3_7_class/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단하게 클래스를 만들어보고 한다.&lt;/li&gt;&#xA;&lt;li&gt;지금까지 배운 내용을 바탕으로 &lt;code&gt;Class&lt;/code&gt;를 활용한 머신러닝 예제를 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-class와-instance는-무엇인가&#34;&gt;II. Class와 Instance는 무엇인가?&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;클래스는 결국 함수의 연장선이다.&lt;/li&gt;&#xA;&lt;li&gt;지금까지 함수가 얼마나 편한 것인지를 배웠다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그런데, 시스템이 복잡해지면 함수 하나로 충분하지 않음을 알게 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;간단한 예시를 들어보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;add&lt;/span&gt;(num):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;global&lt;/span&gt; result&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  result &lt;span style=&#34;color:#f92672&#34;&gt;+=&lt;/span&gt; num&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; result&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(add(&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(add(&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;10&#xA;30&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;1-똑같은-기능을-가진-여러개의-함수&#34;&gt;(1) 똑같은 기능을 가진 여러개의 함수&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그런데, 2대의 계산기가 필요한 상황이 되었다고 가정하자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;result1 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;result2 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;add1&lt;/span&gt;(num):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;global&lt;/span&gt; result1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  result1 &lt;span style=&#34;color:#f92672&#34;&gt;+=&lt;/span&gt; num&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; result1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;add2&lt;/span&gt;(num):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;global&lt;/span&gt; result2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  result2 &lt;span style=&#34;color:#f92672&#34;&gt;+=&lt;/span&gt; num&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; result2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(add1(&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(add1(&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(add2(&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(add2(&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;10&#xA;30&#xA;10&#xA;20&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;똑같은 일을 하는데, 2개의 함수가 필요할까?&lt;/li&gt;&#xA;&lt;li&gt;이 때 필요한 개념이 &lt;code&gt;Class&lt;/code&gt;라는 개념이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-사람-클래스&#34;&gt;(2) 사람 클래스&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사람을 어떻게 정의할 수 있을까?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기본적인 신상: 이름, 나이, 취미&lt;/li&gt;&#xA;&lt;li&gt;일상생활: 밥 먹기, 운동하기, 잠자기&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;그런데, 현재 우리 클래스 안에 몇명의 사람이 있는가?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이러한 신상을 파악하고, 일상생활을 파악하는 공통적인 설문지가 있으면 어떨까?&lt;/li&gt;&#xA;&lt;li&gt;설문지라는 &lt;code&gt;틀&lt;/code&gt;이 일종의 클래스가 되는 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Human&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Rain&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 필드&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  age &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 필드&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;exercise&lt;/span&gt;(self): &lt;span style=&#34;color:#75715e&#34;&gt;# 메서드(Method), 객체가 할 수 있는 행동(=객체가 할 수 있는 함수)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;운동합시다&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;여기에서 &lt;code&gt;self&lt;/code&gt;는 첫번째 매개변수를 의미하며, &lt;code&gt;자기 자신&lt;/code&gt;을 의미한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-인스턴스&#34;&gt;(3) 인스턴스&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인스턴스는 설문지를 받는 개개인의 사람을 떠올리자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rain &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Human()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(rain&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(rain&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;age)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rain&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;exercise()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Rain&#xA;30&#xA;운동합시다&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;iii-how-to-define-class&#34;&gt;III. How to define Class&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 지난 시간에 배운 함수의 정의들을 활용하여 &lt;code&gt;Class&lt;/code&gt;를 만들어본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-기본-함수-활용한-class-예제&#34;&gt;(1) 기본 함수 활용한 &lt;code&gt;Class&lt;/code&gt; 예제&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기본 &lt;code&gt;__init__&lt;/code&gt;  메서드를 클래스안에 만든다.&lt;/li&gt;&#xA;&lt;li&gt;두명의 다른 사람을 만들어내자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Human&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;__init__&lt;/span&gt;(self, name, age):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; name&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;age &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; age&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;__main__&amp;#39;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  evan     &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Human(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Evan&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  minyoung &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Human(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SeoYoung&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(evan&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(minyoung&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Evan&#xA;SeoYoung&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-인스턴스-메서드&#34;&gt;(2) 인스턴스 메서드&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 그 사람의 특징을 만들어 낼 수 있는 인스턴스 메서드를 작성 해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Human&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;__init__&lt;/span&gt;(self, name, age):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; name&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;age &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; age&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;describe&lt;/span&gt;(self):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;의 나이는 &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;age&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;이다.&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;say&lt;/span&gt;(self, content):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;이 &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;content&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;에 대해 말하고 있다.&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;__main__&amp;#39;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  evan     &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Human(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Evan&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(evan&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;describe())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Evan의 나이는 9이다.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;3-상속&#34;&gt;(3) 상속&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;상속은 부모가 가진 재산을 자녀에게 물려줄 때는 쓰는 말&#xA;&lt;ul&gt;&#xA;&lt;li&gt;여기에서 말하는 재산은 &lt;code&gt;함수, 변수&lt;/code&gt; 등을 의미함.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Asian&lt;/code&gt;, &lt;code&gt;European&lt;/code&gt;, &lt;code&gt;African&lt;/code&gt; &lt;code&gt;Class&lt;/code&gt;를 만들어본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;단, 이 때, &lt;code&gt;skin color&lt;/code&gt; 함수를 부모인 &lt;code&gt;Human&lt;/code&gt; 클래스에서 만든다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Human&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;__init__&lt;/span&gt;(self, name, age):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; name&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;age &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; age&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;describe&lt;/span&gt;(self):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;의 나이는 &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;age&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;이다.&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;say&lt;/span&gt;(self, content):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;이 &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;content&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;에 대해 말하고 있다.&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;skinColor&lt;/span&gt;(self, color):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;name&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;의 피부 색상은 &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;color&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;이다.&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Asian&lt;/span&gt;(Human):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;pass&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;European&lt;/span&gt;(Human):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;pass&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;African&lt;/span&gt;(Human):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;pass&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;__main__&amp;#39;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  evan     &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Asian(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Jihoon&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  rose     &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; European(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Rose&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  sam      &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; African(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Sam&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;11&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(evan&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;skinColor(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Yellow&amp;#34;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(rose&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;skinColor(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;white&amp;#34;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(sam&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;skinColor(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;black&amp;#34;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Jihoon의 피부 색상은 Yellow이다.&#xA;Rose의 피부 색상은 white이다.&#xA;Sam의 피부 색상은 black이다.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;iv-머신러닝-with-class&#34;&gt;IV. 머신러닝 with Class&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 장에서는 Class를 활용하는 머신러닝에 대해 배울 예정이다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 동일한 데이터를 사용하지만, Column명이 조금 상이한 경우 어떻게 대응하는지에 관해 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-colab--drive-연동&#34;&gt;(1) Colab + Drive 연동&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 &lt;code&gt;weather.csv&lt;/code&gt;와 &lt;code&gt;weather2.csv&lt;/code&gt; 파일 데이터를 구글 드라이브에 올려 놓는다.&lt;/li&gt;&#xA;&lt;li&gt;그 후, 구글 드라이브와 구글 코랩을 연동한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Mount Google Drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; drive &lt;span style=&#34;color:#75715e&#34;&gt;# import drive from google colab&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ROOT &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/content/drive&amp;#34;&lt;/span&gt;     &lt;span style=&#34;color:#75715e&#34;&gt;# default location for the drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(ROOT)                 &lt;span style=&#34;color:#75715e&#34;&gt;# print content of ROOT (Optional)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;drive&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mount(ROOT)           &lt;span style=&#34;color:#75715e&#34;&gt;# we mount the google drive at /content/drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive&#xA;Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount(&amp;quot;/content/drive&amp;quot;, force_remount=True).&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 데이터 파일이 있는 곳으로 경로를 이동한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# import join used to join ROOT path and MY_GOOGLE_DRIVE_PATH&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; os.path &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; join  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# path to your project on Google Drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;MY_GOOGLE_DRIVE_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;My Drive/Colab Notebooks/your/folder&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PROJECT_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; join(ROOT, MY_GOOGLE_DRIVE_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;cd &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{PROJECT_PATH}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/your/folder&#xA;weather2.csv  weather.csv&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-두개의-서로-다른-데이터-확인&#34;&gt;(2) 두개의 서로 다른 데이터 확인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;각각의 데이터의 컬럼명이 어떻게 다른지 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;weather.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;info()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;pandas.core.frame.DataFrame&#39;&amp;gt;&#xA;RangeIndex: 96453 entries, 0 to 96452&#xA;Data columns (total 12 columns):&#xA; #   Column                    Non-Null Count  Dtype  &#xA;---  ------                    --------------  -----  &#xA; 0   Formatted Date            96453 non-null  object &#xA; 1   Summary                   96453 non-null  object &#xA; 2   Precip Type               95936 non-null  object &#xA; 3   Temperature (C)           96453 non-null  float64&#xA; 4   Apparent Temperature (C)  96453 non-null  float64&#xA; 5   Humidity                  96453 non-null  float64&#xA; 6   Wind Speed (km/h)         96453 non-null  float64&#xA; 7   Wind Bearing (degrees)    96453 non-null  float64&#xA; 8   Visibility (km)           96453 non-null  float64&#xA; 9   Loud Cover                96453 non-null  float64&#xA; 10  Pressure (millibars)      96453 non-null  float64&#xA; 11  Daily Summary             96453 non-null  object &#xA;dtypes: float64(8), object(4)&#xA;memory usage: 8.8+ MB&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data_columns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;tolist()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data_columns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[&#39;Formatted Date&#39;,&#xA; &#39;Summary&#39;,&#xA; &#39;Precip Type&#39;,&#xA; &#39;Temperature (C)&#39;,&#xA; &#39;Apparent Temperature (C)&#39;,&#xA; &#39;Humidity&#39;,&#xA; &#39;Wind Speed (km/h)&#39;,&#xA; &#39;Wind Bearing (degrees)&#39;,&#xA; &#39;Visibility (km)&#39;,&#xA; &#39;Loud Cover&#39;,&#xA; &#39;Pressure (millibars)&#39;,&#xA; &#39;Daily Summary&#39;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data2 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;weather2.csv&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data2&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;info()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;pandas.core.frame.DataFrame&#39;&amp;gt;&#xA;RangeIndex: 10000 entries, 0 to 9999&#xA;Data columns (total 12 columns):&#xA; #   Column                    Non-Null Count  Dtype  &#xA;---  ------                    --------------  -----  &#xA; 0   Formatted.Date            10000 non-null  object &#xA; 1   Summary                   10000 non-null  object &#xA; 2   Precip.Type               10000 non-null  object &#xA; 3   Temperature..C.           10000 non-null  float64&#xA; 4   Apparent.Temperature..C.  10000 non-null  float64&#xA; 5   Humidity                  10000 non-null  float64&#xA; 6   Wind.Speed..km.h.         10000 non-null  float64&#xA; 7   Wind.Bearing..degrees.    10000 non-null  int64  &#xA; 8   Visibility..km.           10000 non-null  float64&#xA; 9   Loud.Cover                10000 non-null  int64  &#xA; 10  Pressure..millibars.      10000 non-null  float64&#xA; 11  Daily.Summary             10000 non-null  object &#xA;dtypes: float64(6), int64(2), object(4)&#xA;memory usage: 937.6+ KB&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;3-class-작성&#34;&gt;(3) Class 작성&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;머신러닝 클래스를 작성한다. 자료는 &lt;code&gt;Medium&lt;/code&gt;에 있는 코드를 적용했다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조: &lt;a href=&#34;https://towardsdatascience.com/using-classes-for-machine-learning-2ed6c0713305&#34;&gt;Using Classes for Machine Learning&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.kaggle.com/budincsevity/szeged-weather&#34;&gt;날씨 데이터&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.ensemble &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; RandomForestRegressor&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.linear_model &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; LinearRegression&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.model_selection &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; train_test_split&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Model&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;__init__&lt;/span&gt;(self, datafile, model_type &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;datafile &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; datafile&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(datafile)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       data_columns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Formatted Date&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Summary&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Precip Type&amp;#39;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                       &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Temperature (C)&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Apparent Temperature (C)&amp;#39;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                       &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Humidity&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Wind Speed (km/h)&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Wind Bearing (degrees)&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                       &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Visibility (km)&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Loud Cover&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Pressure (millibars)&amp;#39;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Daily Summary&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;columns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; data_columns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; model_type &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;rf&amp;#39;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;user_defined_model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; RandomForestRegressor() &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;user_defined_model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; LinearRegression()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;split&lt;/span&gt;(self, test_size):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        X &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;df[[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Humidity&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Pressure (millibars)&amp;#39;&lt;/span&gt;]])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        y &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Temperature (C)&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_train, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_test, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_train, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train_test_split(X, y, test_size &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; test_size, random_state &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;fit&lt;/span&gt;(self):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;user_defined_model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_train, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;predict&lt;/span&gt;(self, input_value):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; input_value &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;user_defined_model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_test)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;: &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;user_defined_model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict(np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array([input_value]))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; result&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 클래스는 4개의 함수로 구성되어 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;__init__&lt;/code&gt;: 데이터를 불러오고 간단한 &lt;code&gt;Column명&lt;/code&gt; 처리를 진행했다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;split&lt;/code&gt;: 데이터 셋을 나누는 함수이다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;fit&lt;/code&gt;: 모형을 적합하는 함수이다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;predict&lt;/code&gt;: 예측 후 결과를 보여준다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;4-클래스-재사용성-확인&#34;&gt;(4) 클래스 재사용성 확인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이렇게 작성된 클래스를 &lt;code&gt;a_model&lt;/code&gt;과 &lt;code&gt;b_model&lt;/code&gt;을 확인해서 클래스 내의 함수를 재 사용해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;__main__&amp;#39;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    a_model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Model(datafile&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;weather.csv&amp;#34;&lt;/span&gt;, model_type&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    a_model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;split(&lt;span style=&#34;color:#ae81ff&#34;&gt;0.2&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    a_model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit()    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(a_model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict([&lt;span style=&#34;color:#ae81ff&#34;&gt;.9&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1000&lt;/span&gt;]))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Accuracy: &amp;#34;&lt;/span&gt;, a_model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;score(a_model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_test, a_model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_test))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[6.83625473]&#xA;Accuracy:  0.39578560465686424&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;__main__&amp;#39;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    b_model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Model(datafile&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;weather2.csv&amp;#34;&lt;/span&gt;, model_type&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    b_model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;split(&lt;span style=&#34;color:#ae81ff&#34;&gt;0.3&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    b_model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fit()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(b_model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict([&lt;span style=&#34;color:#ae81ff&#34;&gt;.9&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1000&lt;/span&gt;]))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Accuracy: &amp;#34;&lt;/span&gt;, b_model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;score(b_model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;X_test, b_model&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y_test))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[7.15581866]&#xA;Accuracy:  0.35698882811391797&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위와 같이 클래스를 활용한다면, 앞으로는 위 &lt;code&gt;6줄&lt;/code&gt;만 추가하면, 추가적인 &lt;code&gt;weather&lt;/code&gt; 데이터가 들어와도, 훨씬 간결하게 소스코드를 작성할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;v-추가-공부&#34;&gt;V. 추가 공부&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://docs.python.org/3/tutorial/classes.html&#34;&gt;Python 공식 튜토리얼&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://wikidocs.net/28&#34;&gt;점프 투 파이썬 튜토리얼&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.kaggle.com/serkanpeldek/object-oriented-titanics&#34;&gt;Object Oriented Titanics&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>How to create my own function</title>
      <link>https://dschloe.github.io/programming/2020/07/chapter_3_6_def/</link>
      <pubDate>Thu, 09 Jul 2020 12:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/chapter_3_6_def/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;나만의 함수를 작성해 본다.&lt;/li&gt;&#xA;&lt;li&gt;실행가능한 함수를 만들어 본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-기존-내장-함수&#34;&gt;II. 기존 내장 함수&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;함수는 특정 기능을 수행하는 코드를 의미한다.&lt;/li&gt;&#xA;&lt;li&gt;함수는 &lt;code&gt;Sum()&lt;/code&gt;, &lt;code&gt;Len()&lt;/code&gt;을 의미한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;x &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(sum(x))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(len(x))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;5&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;iii-사용자-정의-함수-예제&#34;&gt;III 사용자 정의 함수 예제&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 사용자 정의 함수를 사용하자.&lt;/li&gt;&#xA;&lt;li&gt;함수 선언 시, &lt;code&gt;def&lt;/code&gt;는 &lt;code&gt;define&lt;/code&gt;의 약자다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;my_avg&lt;/span&gt;(x):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  sum_var &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sum(x)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  len_var &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; len(x)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; sum_var &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; len_var&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(my_avg(x))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;3.0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기본적인 사용정의 함수는 크게 &lt;code&gt;매개 변수&lt;/code&gt;와 &lt;code&gt;return&lt;/code&gt;으로 이루어진다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때의 매개변수는, &lt;code&gt;string&lt;/code&gt;, &lt;code&gt;int&lt;/code&gt;, &lt;code&gt;DataFrame&lt;/code&gt; 등 다양하게 올 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;return&lt;/code&gt;의 의미는 일종의 함수를 실행한 뒤 반환하려는 &lt;code&gt;output&lt;/code&gt;이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iv-파이썬에서-실행모드-구축하기&#34;&gt;IV. 파이썬에서 실행모드 구축하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사용자 정의 함수를 작성하였다면, 이제부터는 &lt;code&gt;Main()&lt;/code&gt; 함수를 활용하여 코드를 빠르게 실행할 수 있도록 한다. 아래와 같이 코드를 작성하자.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;PyCharm&lt;/code&gt;, &lt;code&gt;VSCode&lt;/code&gt;에서 &lt;code&gt;main.py&lt;/code&gt; 안에 아래와 같이 코드를 작성해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# -*- coding: utf-8 -*-&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;안녕하세요, Main() 입니다. &amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  main()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;안녕하세요, Main() 입니다. &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 구문은 일종의 파이썬 파일을 실행시키기 위한 일종의 규약이라 이해하면 좋을 것 같다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;__name__&lt;/code&gt;은 모듈의 이름이 저장되는 곳이다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;__main__&lt;/code&gt;은 모듈의 시작점과 같다. &lt;code&gt;main.py&lt;/code&gt;에서 &lt;code&gt;__name__==&amp;quot;__main__&amp;quot;&lt;/code&gt;은 바꾸지 않는다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 위 파일을 작성하면, &lt;code&gt;shell&lt;/code&gt;에서 다음과 같이 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~ $ python main.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;안녕하세요, Main&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; 입니다. &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;1-파일-구조&#34;&gt;(1) 파일 구조&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;크게 두개의 파일을 작성할 것이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;calculation.py&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;main.py&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;calculation.py&lt;/code&gt;에서 기본적인 코드를 작성한 뒤, &lt;code&gt;main.py&lt;/code&gt;에서 해당 모듈을 가져와서 함수를 사용할 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-calculationpy-파일-작성-및-실행&#34;&gt;(2) calculation.py 파일 작성 및 실행&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단하게 사직연산 함수를 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# -*- coding: utf-8 -*-&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;a &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;b &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;plus&lt;/span&gt;(a, b): &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  c&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; a&lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;b&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; c&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;subtract&lt;/span&gt;(a, b):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  c &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; a&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;b&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; c&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;a + b =&amp;#34;&lt;/span&gt;, subtract(a, b))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;a - b =&amp;#34;&lt;/span&gt;, plus(a, b))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위와 같이 파일을 작성한 뒤 저장한다.&lt;/li&gt;&#xA;&lt;li&gt;그리고, &lt;code&gt;shell&lt;/code&gt;에서 다음과 같이 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~ $ python calculation.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;a + b &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; -1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;a - b &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;3-mainpy-작성-및-실행&#34;&gt;(3) main.py 작성 및 실행&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기존 &lt;code&gt;calculation.py&lt;/code&gt;에서 &lt;code&gt;if~&lt;/code&gt;이하의 구문을 제거한 후, 다시 저장한다.&lt;/li&gt;&#xA;&lt;li&gt;이번에는 &lt;code&gt;main.py&lt;/code&gt;에서 아래와 같이 파일을 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# -*- coding: utf-8 -*-&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; calculation &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; cal&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;a &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;b &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;안녕하세요, Main() 입니다. &amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;a + b =&amp;#34;&lt;/span&gt;, cal&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;subtract(a, b))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;a - b =&amp;#34;&lt;/span&gt;, cal&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;plus(a, b))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  main()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;그리고 이번에는 &lt;code&gt;shell&lt;/code&gt;에서 &lt;code&gt;main.py&lt;/code&gt;를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~ $ python main.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;안녕하세요, Main&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; 입니다. &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;a + b &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; -1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;a - b &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;4-소결론&#34;&gt;(4) 소결론&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;같은 파일 경로에 있다면, 다른 &lt;code&gt;file&lt;/code&gt;에서 &lt;code&gt;함수(=module)&lt;/code&gt;을 불러올 때는 패키지에서 파일을 불러오는 것처럼, &lt;code&gt;import ~&lt;/code&gt;형태로 사용할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;그리고, 각 파일명 안에는 다양한 작성할 수 있고, 또한 불러올 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;v-두개의-폴더를-활용한-실행모드-구축&#34;&gt;V. 두개의 폴더를 활용한 실행모드 구축&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 한 폴더 안에서 다른 파일의 함수를 불러올 수 있음을 확인하였다.&lt;/li&gt;&#xA;&lt;li&gt;이제는 두개의 폴더를 만들어 각각의 기능을 구현해본다.&lt;/li&gt;&#xA;&lt;li&gt;폴더는 크게 두가지다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;사칙연산을 의미하는 &lt;code&gt;arithmetic&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;데이터 전처리를 의미하는 &lt;code&gt;dataPreprocessing&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;각각의 폴더안에 각 2가지의 파일을 작성할 예정이다.&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 &lt;code&gt;main.py&lt;/code&gt;는 독립적으로 위치해 놓는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-arithmetic-폴더&#34;&gt;(1) Arithmetic 폴더&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;plus.py&lt;/code&gt;와 &lt;code&gt;subtract.py&lt;/code&gt;안에 함수를 각각 저장한 뒤 작성한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;plus.py&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# -*- coding: utf-8 -*-&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;add&lt;/span&gt;(a, b): &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  c&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; a&lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;b&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; c&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;subtract.py&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# -*- coding: utf-8 -*-&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;minus&lt;/span&gt;(a, b):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  c &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; a&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;b&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; c&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;2-datapreprocessing-폴더&#34;&gt;(2) dataPreprocessing 폴더&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일 불러오기를 실행하는 &lt;code&gt;importData.py&lt;/code&gt;와 데이터 전처리를 담당하는 &lt;code&gt;processing.py&lt;/code&gt;에 해당하는 소스코드 작성 후 각각 저장한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;importData.py&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# -*- coding: utf-8 -*-&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;readData&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;~~ 데이터를 불러옵니다 ~~ &amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;빅쿼리에서 불러오는 데이터&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;processing.py&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# -*- coding: utf-8 -*-&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; time &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; sleep&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;process_data&lt;/span&gt;(data):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;~~ 데이터 전처리 함수를 실행합니다! ~~&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    modified_data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; data &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;가 수정 완료 되었습니다.&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    sleep(&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;~~ 데이터 전처리가 끝났습니다! ~~&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; modified_data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;3-mainpy-수정&#34;&gt;(3) main.py 수정&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음은 &lt;code&gt;main.py&lt;/code&gt;를 아래와 같이 수정하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# -*- coding: utf-8 -*-&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; arithmetic &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; plus &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; arithmetic &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; subtract &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sub&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; dataPreprocessing &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; processing&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; dataPreprocessing &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; importData&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;a &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;b &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;~~ 사칙 연산을 시작합니다 ~~ &amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;a + b =&amp;#34;&lt;/span&gt;, sub&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;minus(a, b))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;a - b =&amp;#34;&lt;/span&gt;, pl&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;add(a, b))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;~~ 사칙 연산을 종료합니다 ~~ &amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;## 데이터 전처리 시작&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; importData&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;readData()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  processing&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;process_data(data)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  main()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;그 다음 &lt;code&gt;shell&lt;/code&gt;에서 다음과 같이 실행하면 아래와 같은 결과물을 얻게 될 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~ $ python main.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~~ 사칙 연산을 시작합니다 ~~ &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;a + b &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; -1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;a - b &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~~ 사칙 연산을 종료합니다 ~~ &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~~ 데이터를 불러옵니다 ~~ &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~~ 데이터 전처리 함수를 실행합니다! ~~&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~~ 데이터 전처리가 끝났습니다! ~~&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;4-파일구조-리뷰&#34;&gt;(4) 파일구조 리뷰&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일 구조는 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── arithmetic &lt;span style=&#34;color:#75715e&#34;&gt;# 폴더&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── plus.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   └── subtract.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── dataPreprocessing &lt;span style=&#34;color:#75715e&#34;&gt;# 폴더&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── importData.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   └── processing.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── main.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;vi-결론&#34;&gt;VI. 결론&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;from&lt;/code&gt;의 각각의 폴더명을 의미한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;import&lt;/code&gt;는 동일 폴더내의 다양한 &lt;code&gt;py&lt;/code&gt; 파일명을 의미한다.&lt;/li&gt;&#xA;&lt;li&gt;각각의 파일명안에 있는 다양한 함수들을 불러와서 사용할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;프로젝트 파일을 제출할 시에는 위와 같이 &lt;code&gt;main.py&lt;/code&gt;를 실행만 하더라도 결과가 나올 수 있도록 프로젝트 파일을 &lt;code&gt;Refactoring&lt;/code&gt;해서 업로드하는 것을 추천한다.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>머신러닝 데이터 전처리 1 - 결측치 처리</title>
      <link>https://dschloe.github.io/programming/2020/07/chapter_4_1_handling_missing_values/</link>
      <pubDate>Wed, 08 Jul 2020 18:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/chapter_4_1_handling_missing_values/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;EDA&lt;/code&gt;를 진행할 때, 결측치가 있는 데이터를 시각화 하여 결측치 유무를 파악하였다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조: &lt;a href=&#34;https://chloevan.github.io/kaggle/chapter_2_10_eda_with_missingvalues/&#34;&gt;EDA with Housing Price Prediction - Handling Missing Values&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이번 포스트에서는 결측치를 처리하는 코드를 작성할 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-구글-드라이브-연동&#34;&gt;I. 구글 드라이브 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 코랩을 시작하면 언제든지 가장 먼저 해야 하는 것은 드라이브 연동이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; drive &lt;span style=&#34;color:#75715e&#34;&gt;# 패키지 불러오기 &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; os.path &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; join  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ROOT &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/content/drive&amp;#34;&lt;/span&gt;     &lt;span style=&#34;color:#75715e&#34;&gt;# 드라이브 기본 경로&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(ROOT)                 &lt;span style=&#34;color:#75715e&#34;&gt;# print content of ROOT (Optional)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;drive&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mount(ROOT)           &lt;span style=&#34;color:#75715e&#34;&gt;# 드라이브 기본 경로 Mount&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;MY_GOOGLE_DRIVE_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;My Drive/Colab Notebooks/inflearn_kaggle/&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 프로젝트 경로&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PROJECT_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; join(ROOT, MY_GOOGLE_DRIVE_PATH) &lt;span style=&#34;color:#75715e&#34;&gt;# 프로젝트 경로&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(PROJECT_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive&#xA;Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount(&amp;quot;/content/drive&amp;quot;, force_remount=True).&#xA;/content/drive/My Drive/Colab Notebooks/inflearn_kaggle/&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;cd &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{PROJECT_PATH}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/inflearn_kaggle&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;data  docs  source&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 inflearn_kaggle 폴더안에 data, docs, source 등의 하위 폴더를 추가로 만들었다.&lt;/li&gt;&#xA;&lt;li&gt;즉, data 안에 다운로드 받은 파일이 있을 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-프로젝트-관련-패키지-불러오기&#34;&gt;II. 프로젝트 관련 패키지 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 과학 관련 패키지들을 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas_profiling&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; mpl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; figure&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; IPython.core.display &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; display, HTML&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;시각화 진행 시, 일정한 &lt;code&gt;Template&lt;/code&gt;을 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;matplotlib inline&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pylab &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;figure.figsize&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; (&lt;span style=&#34;color:#ae81ff&#34;&gt;14&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lines.linewidth&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lines.color&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;r&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;axes.grid&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;iii-데이터-불러오기&#34;&gt;III. 데이터 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;train.csv&lt;/code&gt;와 &lt;code&gt;test.csv&lt;/code&gt; 데이터를 불러와서 확인해보는 소스코드를 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;data/train.csv&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;data/test.csv&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data import is done&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;data import is done&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실제로 데이터가 잘 불러와졌는지 다시한번 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;((1460, 81), (1459, 80))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 데이터 전처리를 위한 사적 작업이 모두 종료된 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iv-결측치-처리방법-1---none-또는-0으로-채우기&#34;&gt;IV. 결측치 처리방법 1 - &amp;ldquo;None&amp;rdquo; 또는 0으로 채우기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;결측치 처리방법은 크게 2가지가 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 삭제 또는 데이터 채우기&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;데이터 삭제 진행하는 코드는 아래 튜토리얼을 확인한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/python/python_edu/02_datatransformation/pandas_data_handling_1/&#34;&gt;Pandas Data Handling 1편&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;본 포스트에서는 데이터를 채우는 방법에 대해 소개한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-전체-데이터-결측치-확인&#34;&gt;(1) 전체 데이터 결측치 확인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;전체 데이터 결측치를 확인하는 방법은 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;new_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;copy()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;new_df_na &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; (new_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;isnull()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sum() &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; len(new_df)) &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;new_df_na&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sort_values(ascending&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reset_index(drop&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;new_df_na &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; new_df_na&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop(new_df_na[new_df_na &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;index)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sort_values(ascending&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;)[:&lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;new_df_na&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;PoolQC          99.520548&#xA;MiscFeature     96.301370&#xA;Alley           93.767123&#xA;Fence           80.753425&#xA;FireplaceQu     47.260274&#xA;LotFrontage     17.739726&#xA;GarageYrBlt      5.547945&#xA;GarageType       5.547945&#xA;GarageFinish     5.547945&#xA;GarageQual       5.547945&#xA;GarageCond       5.547945&#xA;BsmtFinType2     2.602740&#xA;BsmtExposure     2.602740&#xA;BsmtFinType1     2.534247&#xA;BsmtCond         2.534247&#xA;BsmtQual         2.534247&#xA;MasVnrArea       0.547945&#xA;MasVnrType       0.547945&#xA;Electrical       0.068493&#xA;dtype: float64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 데이터를 가지고 시각화를 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;f, ax &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;subplots(figsize&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;xticks(rotation&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;90&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;barplot(x&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;new_df_na&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;index, y&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;new_df_na)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;xlabel(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Variables&amp;#39;&lt;/span&gt;, fontsize&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ylabel(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Percent of missing values&amp;#39;&lt;/span&gt;, fontsize&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;title(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Percent missing data by Variable&amp;#39;&lt;/span&gt;, fontsize&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;32&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/07/Chapter_4_1_handling_missing_values/output_21_0.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>데이콘 대회 참여 - 09 스태킹 알고리즘</title>
      <link>https://dschloe.github.io/programming/2020/07/09_stacking_algorithm/</link>
      <pubDate>Tue, 07 Jul 2020 18:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/09_stacking_algorithm/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;사전작업&#34;&gt;사전작업&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 구글 코랩 내에서 &lt;code&gt;pandas_profiling&lt;/code&gt;을 확인하기 위해 &lt;code&gt;master.zip&lt;/code&gt;을 설치한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ref. &lt;a href=&#34;https://github.com/pandas-profiling/pandas-profiling&#34;&gt;https://github.com/pandas-profiling/pandas-profiling&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;설치가 끝나면 구글코랩에서 런타임 다시 시작 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;github&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;pandas&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;profiling&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;pandas&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;profiling&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;archive&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;master&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;zip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Collecting https://github.com/pandas-profiling/pandas-profiling/archive/master.zip&#xA;.&#xA;.&#xA;.&#xA;Successfully installed confuse-1.3.0 htmlmin-0.1.12 imagehash-4.1.0 pandas-profiling-2.8.0 phik-0.10.0 tangled-up-in-unicode-0.0.6 tqdm-4.47.0 visions-0.4.4&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;i-gbm-xgboost-lightgbm의-개요-및-실습&#34;&gt;I. GBM, XGBoost, Lightgbm의 개요 및 실습&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;부스팅 알고리즘은 여러 개의 약한 학습기(&lt;code&gt;Weak Learner&lt;/code&gt;)를 순차적으로 학습-예측하면서 잘못 예측한 데이터에 가중치 부여를 통해 오류 개선하며 학습하는 방식.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://drive.google.com/uc?export=view&amp;amp;id=1zE5qA1RkSwd2lQpw_tMxhQ1aTcrYGCCn&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Github Project 포트폴리오</title>
      <link>https://dschloe.github.io/programming/2020/07/github_settings/</link>
      <pubDate>Tue, 07 Jul 2020 13:11:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/github_settings/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 포스트는 깃허브 프로젝트 관리에 관한 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-프로필-작성하기&#34;&gt;I. 프로필 작성하기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이력서에 준하는 프로필 또는 유니크한 것을 살리는 것이 좋다.&lt;/li&gt;&#xA;&lt;li&gt;깔끔한 정장을 입고, 이쁘게 화장을 하고, 면접을 보러가듯이 인사담당자가 보는 이로 하여금 좋은 인상을 심어줘야 한다.&lt;/li&gt;&#xA;&lt;li&gt;성명, 이메일, 전화번호 등은 가급적 자세하게 기록해두는 것이 좋다.&lt;/li&gt;&#xA;&lt;li&gt;프로젝트는 현재 진행중인 &lt;code&gt;Pinned Repositories&lt;/code&gt; 상위 &lt;code&gt;3~4&lt;/code&gt;개 정도 올려 놓는 것이 좋다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/07/github_settings/file_01.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;만약에 현재 기여하는 오픈 소스 리퍼지토리가 있다면 반드시 메인 화면에 고정시킨다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-깃허브-설치-및-연동&#34;&gt;II. 깃허브 설치 및 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;잔디밭은 일종의 열정과 성실함을 보여준다.&lt;/li&gt;&#xA;&lt;li&gt;데이터 싸이언티스트(=개발자)는 매일마다 새로운 것을 배우고 성장해야 한다. 이 업종을 떠나기 전까지는 우리는 매일 조금씩이라도 코딩하고 꾸준히 커밋하는 습관을 길러야 한다.&lt;/li&gt;&#xA;&lt;li&gt;그런데, 깃허브가 처음이라면 어떻게 해야할까요?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-깃허브-가입하기&#34;&gt;(1) 깃허브 가입하기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/join&#34;&gt;https://github.com/join&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-저장소-추가하기&#34;&gt;(2) 저장소 추가하기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;저장소 추가하는 방법은 왼쪽 상단 &lt;code&gt;[create repository]&lt;/code&gt;를 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/07/github_settings/file_02.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>데이콘 대회 참여 - 08 세개의 모델</title>
      <link>https://dschloe.github.io/programming/2020/07/08_gbm_xgboost_lightgbm/</link>
      <pubDate>Mon, 06 Jul 2020 16:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/08_gbm_xgboost_lightgbm/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;사전작업&#34;&gt;사전작업&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 구글 코랩 내에서 &lt;code&gt;pandas_profiling&lt;/code&gt;을 확인하기 위해 &lt;code&gt;master.zip&lt;/code&gt;을 설치한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ref. &lt;a href=&#34;https://github.com/pandas-profiling/pandas-profiling&#34;&gt;https://github.com/pandas-profiling/pandas-profiling&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;설치가 끝나면 구글코랩에서 런타임 다시 시작 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;github&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;pandas&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;profiling&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;pandas&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;profiling&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;archive&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;master&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;zip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Collecting https://github.com/pandas-profiling/pandas-profiling/archive/master.zip&#xA;  Using cached https://github.com/pandas-profiling/pandas-profiling/archive/master.zip&#xA;.&#xA;.&#xA;.&#xA;Successfully built pandas-profiling&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;i-빅쿼리-연동&#34;&gt;I. 빅쿼리 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지난 시간에 데이콘에서 내려받은 데이터를 빅쿼리에 넣는 작업을 진행하였다.&lt;/li&gt;&#xA;&lt;li&gt;빅쿼리에 저장된 데이터를 구글 코랩으로 불러오려면 다음과 같이 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-사용자-계정-인증&#34;&gt;(1) 사용자 계정 인증&lt;/h3&gt;&#xA;&lt;p&gt;구글 코랩을 사용해서 인증 절차를 밟도록 한다. 아래 소스코드는 변경시키지 않는다. 아래 절차대로 진행하면 된다. &lt;code&gt;Gmail&lt;/code&gt; 인증 절차와 비슷하다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pandas Data Handling 1편</title>
      <link>https://dschloe.github.io/programming/2020/07/pandas_data_handling_1/</link>
      <pubDate>Sun, 05 Jul 2020 16:00:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/pandas_data_handling_1/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-kaggle에서-타이타닉-데이터-가져오기&#34;&gt;I. Kaggle에서 타이타닉 데이터 가져오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;캐글 데이터 가져오는 예제는 본 &lt;a href=&#34;https://chloevan.github.io/settings/kaggle_with_colab/&#34;&gt;Kaggle with Google Colab&lt;/a&gt;에서 참고하기를 바란다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 kaggle 패키지를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install kaggle&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Requirement already satisfied: kaggle in /usr/local/lib/python3.6/dist-packages (1.5.6)&#xA;Requirement already satisfied: urllib3&amp;lt;1.25,&amp;gt;=1.21.1 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.24.3)&#xA;Requirement already satisfied: six&amp;gt;=1.10 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.12.0)&#xA;Requirement already satisfied: python-dateutil in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.8.1)&#xA;Requirement already satisfied: tqdm in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.41.1)&#xA;Requirement already satisfied: python-slugify in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.0.0)&#xA;Requirement already satisfied: certifi in /usr/local/lib/python3.6/dist-packages (from kaggle) (2020.6.20)&#xA;Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.23.0)&#xA;Requirement already satisfied: text-unidecode&amp;gt;=1.3 in /usr/local/lib/python3.6/dist-packages (from python-slugify-&amp;gt;kaggle) (1.3)&#xA;Requirement already satisfied: chardet&amp;lt;4,&amp;gt;=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests-&amp;gt;kaggle) (3.0.4)&#xA;Requirement already satisfied: idna&amp;lt;3,&amp;gt;=2.5 in /usr/local/lib/python3.6/dist-packages (from requests-&amp;gt;kaggle) (2.9)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;kaggle 인증키를 업로드 하여 권한 부여 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; files&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;files&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;upload()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Saving kaggle.json to kaggle.json&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;{&#39;kaggle.json&#39;: b&#39;{&amp;quot;username&amp;quot;:&amp;quot;j2hoon85&amp;quot;,&amp;quot;key&amp;quot;:&amp;quot;5a23c8dba5a151100b483a587eafdac8&amp;quot;}&#39;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;mkdir &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;p &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle &lt;span style=&#34;color:#75715e&#34;&gt;# 파일 생성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;mv kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# kaggle.json 파일 이동&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;chmod &lt;span style=&#34;color:#ae81ff&#34;&gt;600&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;~/.&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;kaggle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json &lt;span style=&#34;color:#75715e&#34;&gt;# 권한 부여&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;kaggle competitions list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Warning: Looks like you&#39;re using an outdated API Version, please consider updating (server 1.5.6 / client 1.5.4)&#xA;ref                                            deadline             category            reward  teamCount  userHasEntered  &#xA;---------------------------------------------  -------------------  ---------------  ---------  ---------  --------------  &#xA;tpu-getting-started                            2030-06-03 23:59:00  Getting Started      Kudos        125           False  &#xA;digit-recognizer                               2030-01-01 00:00:00  Getting Started  Knowledge       2958           False  &#xA;titanic                                        2030-01-01 00:00:00  Getting Started  Knowledge      22881            True  &#xA;house-prices-advanced-regression-techniques    2030-01-01 00:00:00  Getting Started  Knowledge       4985            True  &#xA;connectx                                       2030-01-01 00:00:00  Getting Started  Knowledge        673           False  &#xA;nlp-getting-started                            2030-01-01 00:00:00  Getting Started      Kudos       1455            True  &#xA;competitive-data-science-predict-future-sales  2020-12-31 23:59:00  Playground           Kudos       7626           False  &#xA;halite                                         2020-09-15 23:59:00  Featured              Swag        534           False  &#xA;birdsong-recognition                           2020-09-15 23:59:00  Research           $25,000        244           False  &#xA;landmark-retrieval-2020                        2020-08-17 23:59:00  Research           $25,000         53           False  &#xA;siim-isic-melanoma-classification              2020-08-17 23:59:00  Featured           $30,000       1672           False  &#xA;global-wheat-detection                         2020-08-04 23:59:00  Research           $15,000       1353           False  &#xA;open-images-object-detection-rvc-2020          2020-07-31 16:00:00  Playground       Knowledge         45           False  &#xA;open-images-instance-segmentation-rvc-2020     2020-07-31 16:00:00  Playground       Knowledge          9           False  &#xA;hashcode-photo-slideshow                       2020-07-27 23:59:00  Playground       Knowledge         50           False  &#xA;prostate-cancer-grade-assessment               2020-07-22 23:59:00  Featured           $25,000        765           False  &#xA;alaska2-image-steganalysis                     2020-07-20 23:59:00  Research           $25,000        869           False  &#xA;m5-forecasting-accuracy                        2020-06-30 23:59:00  Featured           $50,000       5558            True  &#xA;m5-forecasting-uncertainty                     2020-06-30 23:59:00  Featured           $50,000        909           False  &#xA;trends-assessment-prediction                   2020-06-29 23:59:00  Research           $25,000       1047           False  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;캐글에서 데이터를 내려받는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;kaggle competitions download &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;c titanic&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Warning: Looks like you&#39;re using an outdated API Version, please consider updating (server 1.5.6 / client 1.5.4)&#xA;gender_submission.csv: Skipping, found more recently modified local copy (use --force to force download)&#xA;test.csv: Skipping, found more recently modified local copy (use --force to force download)&#xA;train.csv: Skipping, found more recently modified local copy (use --force to force download)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;chloevan_key.pem  gender_submission.csv  sample_data  test.csv&#x9;train.csv&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제, 판다스를 활용해서 데이터를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;titanic_df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;r&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;train.csv&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;titanic_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head(&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;titanic 변수 type:&amp;#39;&lt;/span&gt;, type(titanic_df))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;titanic 변수 type: &amp;lt;class &#39;pandas.core.frame.DataFrame&#39;&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;ii-데이터-핸들링을-위한-주요-함수-소개&#34;&gt;II. 데이터 핸들링을 위한 주요 함수 소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 장에서는 데이터 핸들링을 위한 몇가지 주요함수를 소개한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-value_counts&#34;&gt;(1) value_counts()&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;value_counts()&lt;/code&gt;는 해당 칼럼값의 데이터 유형과 건수를 반환함&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;val_count &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; titanic_df[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Embarked&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value_counts()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(type(val_count))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(val_count)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;pandas.core.series.Series&#39;&amp;gt;&#xA;S    644&#xA;C    168&#xA;Q     77&#xA;Name: Embarked, dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-데이터프레임-일부-삭제&#34;&gt;(2) 데이터프레임 일부 삭제&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;drop()&lt;/code&gt;는 &lt;code&gt;axis&lt;/code&gt;의 기준에 따라서 행과 열의 데이터를 삭제한다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 주요 파라미터는 &lt;code&gt;labels, inplace, axis&lt;/code&gt;에 따라 구분된다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;labels: 컬럼명 또는 행의 인덱스&lt;/li&gt;&#xA;&lt;li&gt;inplace: 데이터 업데이트&lt;/li&gt;&#xA;&lt;li&gt;axis: &lt;code&gt;0&lt;/code&gt;은 행 방향, &lt;code&gt;1&lt;/code&gt;은 컬럼 방향&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;axis=1&lt;/code&gt;를 활용하여 우선 컬럼명을 삭제한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; titanic_df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;copy()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data_drop &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; data&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;drop(labels &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Age&amp;#39;&lt;/span&gt;, axis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data_drop&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&amp;lt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>ch 08 - SmartPLS 소프트웨어 소개</title>
      <link>https://dschloe.github.io/programming/2020/07/ch_08_smart_pls/</link>
      <pubDate>Thu, 02 Jul 2020 20:30:00 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/ch_08_smart_pls/</guid>
      <description>&lt;h2 id=&#34;i-smartpls-설치&#34;&gt;I. SmartPLS 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;SmartPLS&lt;/code&gt;는 구조방정식모델링을 위한 전용 통계분석 프로그램으로 다양한 학문 분야에서 광범위하게 사용됨.&lt;/li&gt;&#xA;&lt;li&gt;편이성, 친숙성, 안정성 면에서 매우 우수함.&lt;/li&gt;&#xA;&lt;li&gt;매우 적은 소표본에서도 활용할 수 있음.&lt;/li&gt;&#xA;&lt;li&gt;정규분포 등의 엄격한 가정 조건에 구애받지 않고 사용할 수 있음.&lt;/li&gt;&#xA;&lt;li&gt;프로그램 설치는 아래 링크를 클릭한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.smartpls.com/downloads&#34;&gt;Download latest version - SmartPLS 3.3.2&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;학생용 버전은 평생 무료이며, 약간의 사용상 제약이 존재한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/07/ch_08_smart_pls/smart_pls.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;ii-smartpls-관련-자료&#34;&gt;II. SmartPLS 관련 자료&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;교제 추천&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;원서 - A Primer on Partial Least Squares Structural Equation Modeling(PLS-SEM) (2013)&lt;/li&gt;&#xA;&lt;li&gt;번역서 - PLS 구조모델의 이해 (2014)&lt;/li&gt;&#xA;&lt;li&gt;국내저서 - 석박사학위 및 학술논문 작성 중심의 &lt;code&gt;SmartPLS 3.0&lt;/code&gt; 구조방정식모델링 (2018)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;온라인 강의도 존재하지만, 무료는 아니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>데이콘 대회 참여 - 07 두개의 모델</title>
      <link>https://dschloe.github.io/programming/2020/07/07_gbm_xgboost/</link>
      <pubDate>Thu, 02 Jul 2020 09:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/07_gbm_xgboost/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;사전작업&#34;&gt;사전작업&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 구글 코랩 내에서 &lt;code&gt;pandas_profiling&lt;/code&gt;을 확인하기 위해 &lt;code&gt;master.zip&lt;/code&gt;을 설치한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ref. &lt;a href=&#34;https://github.com/pandas-profiling/pandas-profiling&#34;&gt;https://github.com/pandas-profiling/pandas-profiling&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;설치가 끝나면 구글코랩에서 런타임 다시 시작 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;github&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;pandas&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;profiling&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;pandas&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;profiling&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;archive&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;master&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;zip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Collecting https://github.com/pandas-profiling/pandas-profiling/archive/master.zip&#xA;  Using cached https://github.com/pandas-profiling/pandas-profiling/archive/master.zip&#xA;.&#xA;.&#xA;.&#xA;Successfully built pandas-profiling&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;i-빅쿼리-연동&#34;&gt;I. 빅쿼리 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지난 시간에 데이콘에서 내려받은 데이터를 빅쿼리에 넣는 작업을 진행하였다.&lt;/li&gt;&#xA;&lt;li&gt;빅쿼리에 저장된 데이터를 구글 코랩으로 불러오려면 다음과 같이 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-사용자-계정-인증&#34;&gt;(1) 사용자 계정 인증&lt;/h3&gt;&#xA;&lt;p&gt;구글 코랩을 사용해서 인증 절차를 밟도록 한다. 아래 소스코드는 변경시키지 않는다. 아래 절차대로 진행하면 된다. &lt;code&gt;Gmail&lt;/code&gt; 인증 절차와 비슷하다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>데이콘 대회 참여 - 06 교차검증과 파라미터 튜닝</title>
      <link>https://dschloe.github.io/programming/2020/07/06_gbm_cross_val_and_parameter/</link>
      <pubDate>Wed, 01 Jul 2020 18:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/06_gbm_cross_val_and_parameter/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;사전작업&#34;&gt;사전작업&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 구글 코랩 내에서 &lt;code&gt;pandas_profiling&lt;/code&gt;을 확인하기 위해 &lt;code&gt;master.zip&lt;/code&gt;을 설치한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ref. &lt;a href=&#34;https://github.com/pandas-profiling/pandas-profiling&#34;&gt;https://github.com/pandas-profiling/pandas-profiling&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;설치가 끝나면 구글코랩에서 런타임 다시 시작 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;github&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;pandas&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;profiling&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;pandas&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;profiling&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;archive&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;master&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;zip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Collecting https://github.com/pandas-profiling/pandas-profiling/archive/master.zip&#xA;  Using cached https://github.com/pandas-profiling/pandas-profiling/archive/master.zip&#xA;.&#xA;.&#xA;.&#xA;Successfully built pandas-profiling&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;i-빅쿼리-연동&#34;&gt;I. 빅쿼리 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지난 시간에 데이콘에서 내려받은 데이터를 빅쿼리에 넣는 작업을 진행하였다.&lt;/li&gt;&#xA;&lt;li&gt;빅쿼리에 저장된 데이터를 구글 코랩으로 불러오려면 다음과 같이 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-사용자-계정-인증&#34;&gt;(1) 사용자 계정 인증&lt;/h3&gt;&#xA;&lt;p&gt;구글 코랩을 사용해서 인증 절차를 밟도록 한다. 아래 소스코드는 변경시키지 않는다. 아래 절차대로 진행하면 된다. &lt;code&gt;Gmail&lt;/code&gt; 인증 절차와 비슷하다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ch 07 - 데이터 검토</title>
      <link>https://dschloe.github.io/programming/2020/07/ch_07_review_data/</link>
      <pubDate>Wed, 01 Jul 2020 09:30:00 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/07/ch_07_review_data/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;수집된 데이터에 대해 정규성 검증을 하는 것은 중요하다.&lt;/li&gt;&#xA;&lt;li&gt;그런데, &lt;code&gt;CB-SEM&lt;/code&gt;과 &lt;code&gt;PLS-SEM&lt;/code&gt;의 기준 조건은 조금 상이하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;정규성-분포-확인&#34;&gt;정규성 분포 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Kolmogorov-Smirnov Test&lt;/code&gt; 또는 &lt;code&gt;Shapiro-Wilk Test&lt;/code&gt;를 통해서 검증한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;귀무가설: 데이터분포를 정규분포를 이룬다, &lt;code&gt;p-value&lt;/code&gt; &amp;gt; 0.05&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;데이터가 치우쳐 있는 정도를 나타내는 왜도(&lt;code&gt;skewness: S&lt;/code&gt;)와 첨도(&lt;code&gt;Kurtosis: K&lt;/code&gt;)를 검토한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;첨도와 왜도가 -1보다 작거나 또는 +1 보다 크지 않으면 변수는 정규분포를 하고 있다고 판단한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;그러나, 이 부분은 분석 방법에 대해 조금 상이하다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;회귀 분석: 엄밀하게는 2, 관용적으로 3을 사용함. (이일현, 2014)&lt;/li&gt;&#xA;&lt;li&gt;SEM: 왜도가 2 이상이고, 첨도가 7 이상이면 비졍규분포로 봄 (West, Finch &amp;amp; Curran, 1995)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;결측치&#34;&gt;결측치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;설문문항에 의도적으로 혹은 부주의로 하나 이상의 문항에 대한 답을 하지 않았을 때 발생함.&lt;/li&gt;&#xA;&lt;li&gt;PLS-SEM에서는 (1) 평균값대체(mean value replacement)와 (2) 사례별 제거 등이 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;측정변수(지표변수)별로 &lt;code&gt;5% 미만&lt;/code&gt;인 경우에는 평균값 대체를, &lt;code&gt;5% 초과&lt;/code&gt;시에는 사례별 제거방법을 사용한다.&lt;/li&gt;&#xA;&lt;li&gt;사례별 제거 방법은 권장하지 않는다. 설문지가 많으면 상관이 없지만, 대개의 경우 그렇지 못하기 때문에, 가급적이면 삭제는 권장하지 않는다.&lt;/li&gt;&#xA;&lt;li&gt;단, 결측치가 사례별로 15%를 초과하는 경우에는 데이터 파일에서 삭제하는 것이 좋다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;이상치&#34;&gt;이상치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이상치는 특정 설문 혹은 모든 설문에 대한 극단적인 응답값을 말한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;일반적인 기준으로는 표준화 변량값인 &lt;code&gt;Z값&lt;/code&gt;과 표준편차가 &lt;code&gt;$\pm$ 3 이상&lt;/code&gt;인 경우는 극단치에 해당한다.&lt;/li&gt;&#xA;&lt;li&gt;마할라노비스 거리 통계량$D^2$을 이용하여 판단할 수 있음. 만약, $D^2$값이 유의수준 0.01보다 작으면 해당 관측변수는 다변량 이상치로 판단할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;이상치는 &lt;code&gt;PLS-SEM&lt;/code&gt;을 시행하기 전에 반드시 확인하고 문제가 되는 응답치가 포함되어 있는 경우네느 데이터 파일에서 삭제해야 한다.&lt;/li&gt;&#xA;&lt;li&gt;가장 일반적인 경우는 이상치가 소수인 경우로 이 때는 해당 이상치를 데이터 파일에서 제거한다.&lt;/li&gt;&#xA;&lt;li&gt;영향력이 큰 이상치가 있는 경우에는 &lt;code&gt;PLS-SEM&lt;/code&gt;에서 &lt;code&gt;OLS&lt;/code&gt; 회귀에 영향을 미치기 때문에 면밀한 검토와 평가가 필요하며 조치해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;다중공선성&#34;&gt;다중공선성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;측정변수(지표)들 간에 &lt;code&gt;다중공선성(Multicollinearity)&lt;/code&gt;가 있는지를 확인한다.&lt;/li&gt;&#xA;&lt;li&gt;완벽한 공선성(&lt;code&gt;Collinearity&lt;/code&gt;)가 나타나는 경우는 거의 없으며 일반적으로 높은 공선성이 나타난다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;SmartPLS&lt;/code&gt;에서는 분산팽창인자(&lt;code&gt;Variance Inflation Factor: VIF&lt;/code&gt;)를 이용하여 평가한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;모든 측정변수에 대해 &lt;code&gt;VIF값이 임계치인 5&lt;/code&gt;보다 작으면 공선성은 존재하지 않는다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;VIF&lt;/code&gt;값이 5 이상인 경우 잠재적인 공선성 문제(&lt;code&gt;Collinearity Problem&lt;/code&gt;)를 지니게 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;pls-sem-vs-cb-sem&#34;&gt;PLS-SEM vs. CB-SEM&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;PLS-SEM&lt;/code&gt;과 &lt;code&gt;CB-SEM&lt;/code&gt;의 차이점은 아래와 같이 서술 할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;구분&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;PLS-SEM&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;CB-SEM&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;사용목적&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;예측&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;이론 검증&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;표본 수&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;30-100개 가능&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;200-800개&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;데이터 파일&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;CSV 파일&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;모든 파일 가능&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;분포 가정&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;분포 가정이 없음, 비모수적 기법&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;엄격한 분포 가정(다변량 정규성이 있어야 함)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;모델 복잡성&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;수백 개의 측정 변수 있어도 가능&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;측정변수의 수가 100개 미만&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;잠재변수당 측정변수 의 수&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;1개 이상&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;3~4개 이상&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;반영적 지표 + 형성적 지표&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;매우 용이(모두 사용)&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;주로 반영적 지표 사용&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;반영적 지표 + 형성적 지표&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;매우 용이(모두 사용)&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;주로 반영적 지표 사용&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;모델 적합도&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;모델 적합도 보고 없음&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;상세한 모델 적합도 보고 필요&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;오차항의 고려&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;모델 구축 시 오차항(측정오차와 구조 오차)를 표시하지 않음&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;오차항(측정오차와 구조오차)을 모델 구축 시 표시함&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;재귀모델과 비재귀모델&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;재귀모델(일방향 인과관계)만 가능&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;재귀모델과 비재귀모델 가능&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;잠재변수 산출&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;잠재변수 점수의 산출 가능, 이 점수를 후속연구에 사용&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;잠재변수 점수의 직접적인 추정이 불가능&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;모델 평가&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;측정모델과 구조모델 동시에 설정하고 평가(동시분석법)&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;측정모델을 이용해 개별 측정변수와 잠재변수의 신뢰도와 타당도를 분석한 후 구조모델을 통해 가설검증을 시행 (2단계 분석법)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;reference&#34;&gt;Reference&lt;/h2&gt;&#xA;&lt;p&gt;신건권. (2018). 석박사학위 및 학술논문 작성 중심의 &lt;code&gt;SmartPLS 3.0 구조방정식모델링&lt;/code&gt;. 서울: 청람.&lt;/p&gt;</description>
    </item>
    <item>
      <title>데이콘 대회 참여 - 05 GBM 파라미터 튜닝</title>
      <link>https://dschloe.github.io/programming/2020/06/05_gbm_parameter/</link>
      <pubDate>Tue, 30 Jun 2020 18:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/05_gbm_parameter/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;사전작업&#34;&gt;사전작업&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 구글 코랩 내에서 &lt;code&gt;pandas_profiling&lt;/code&gt;을 확인하기 위해 &lt;code&gt;master.zip&lt;/code&gt;을 설치한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ref. &lt;a href=&#34;https://github.com/pandas-profiling/pandas-profiling&#34;&gt;https://github.com/pandas-profiling/pandas-profiling&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;설치가 끝나면 구글코랩에서 런타임 다시 시작 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;github&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;pandas&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;profiling&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;pandas&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;profiling&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;archive&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;master&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;zip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Collecting https://github.com/pandas-profiling/pandas-profiling/archive/master.zip&#xA;  Using cached https://github.com/pandas-profiling/pandas-profiling/archive/master.zip&#xA;.&#xA;.&#xA;.&#xA;Successfully built pandas-profiling&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;i-빅쿼리-연동&#34;&gt;I. 빅쿼리 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지난 시간에 데이콘에서 내려받은 데이터를 빅쿼리에 넣는 작업을 진행하였다.&lt;/li&gt;&#xA;&lt;li&gt;빅쿼리에 저장된 데이터를 구글 코랩으로 불러오려면 다음과 같이 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-사용자-계정-인증&#34;&gt;(1) 사용자 계정 인증&lt;/h3&gt;&#xA;&lt;p&gt;구글 코랩을 사용해서 인증 절차를 밟도록 한다. 아래 소스코드는 변경시키지 않는다. 아래 절차대로 진행하면 된다. &lt;code&gt;Gmail&lt;/code&gt; 인증 절차와 비슷하다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>데이콘 대회 참여 - 04 데이터셋 분리</title>
      <link>https://dschloe.github.io/programming/2020/06/04_data_split_gbm/</link>
      <pubDate>Tue, 30 Jun 2020 16:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/04_data_split_gbm/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;사전작업&#34;&gt;사전작업&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 구글 코랩 내에서 &lt;code&gt;pandas_profiling&lt;/code&gt;을 확인하기 위해 &lt;code&gt;master.zip&lt;/code&gt;을 설치한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ref. &lt;a href=&#34;https://github.com/pandas-profiling/pandas-profiling&#34;&gt;https://github.com/pandas-profiling/pandas-profiling&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;설치가 끝나면 구글코랩에서 런타임 다시 시작 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;github&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;pandas&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;profiling&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;pandas&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;profiling&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;archive&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;master&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;zip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Collecting https://github.com/pandas-profiling/pandas-profiling/archive/master.zip&#xA;  Using cached https://github.com/pandas-profiling/pandas-profiling/archive/master.zip&#xA;.&#xA;.&#xA;.&#xA;Successfully built pandas-profiling&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;i-빅쿼리-연동&#34;&gt;I. 빅쿼리 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지난 시간에 데이콘에서 내려받은 데이터를 빅쿼리에 넣는 작업을 진행하였다.&lt;/li&gt;&#xA;&lt;li&gt;빅쿼리에 저장된 데이터를 구글 코랩으로 불러오려면 다음과 같이 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-사용자-계정-인증&#34;&gt;(1) 사용자 계정 인증&lt;/h3&gt;&#xA;&lt;p&gt;구글 코랩을 사용해서 인증 절차를 밟도록 한다. 아래 소스코드는 변경시키지 않는다. 아래 절차대로 진행하면 된다. &lt;code&gt;Gmail&lt;/code&gt; 인증 절차와 비슷하다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ch 06 - 표본의 크기</title>
      <link>https://dschloe.github.io/programming/2020/06/ch_06_sample_size/</link>
      <pubDate>Tue, 30 Jun 2020 12:00:00 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/ch_06_sample_size/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;PLS-SEM&lt;/code&gt;은 &lt;code&gt;작은 표본 크기&lt;/code&gt;에 의해 식별 문제가 발생하지 않으며 모델이 복잡하고 &lt;code&gt;표본크기가 작은 상황&lt;/code&gt;에서도 높은 수준의 통게적 검증력을 가짐&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;일반적으로 &lt;code&gt;CB-SEM&lt;/code&gt;의 경우 표본 크기가 200개 이상이 필요한 것으로 알려짐&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;반대로 &lt;code&gt;PLS-SEM&lt;/code&gt;은 &lt;code&gt;30-100&lt;/code&gt;개 정도의 소표본인 경우에도 적용할 수 있다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;표본크기를 증가시키면 모델 추정의 정확성이 높아지나 표본이 250개 이상이 넘어가면 &lt;code&gt;CB-SEM&lt;/code&gt;과 차이점이 없어진다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;최소-표본-크기&#34;&gt;최소 표본 크기&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;Chin(1988)&lt;/code&gt;과 &lt;code&gt;Barclay, Higgins &amp;amp; Thompson(1995)&lt;/code&gt;는 최소표본크기 결정에 있어서 &lt;code&gt;10배수 규칙(10 times rule)&lt;/code&gt;을 제안함.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;단일 잠재변수(구성개념)을 측정하는 데 사용된 형성적 지표 최대수의 10보다 커야 함&lt;/li&gt;&#xA;&lt;li&gt;구조모델에서 특정 잠재변수(구성개념)로 향하는 경로 최대수의 10배 보다 커야 함&lt;/li&gt;&#xA;&lt;li&gt;이러한 10배수 규칙에 의하면 &lt;code&gt;PLS-SEM&lt;/code&gt;을 사용하는 데 있어서 최소한의 표본크기는 형성적 측정 모델과 반영적 측정모델이 모두 구조모델 속에 포함되어 있는 경우에는 두 기준 모두 적용해 판단한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/ch_06_sample_size/sample_size.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>데이콘 대회 참여 - 03 데이터 샘플링과 종속변수 로그변환</title>
      <link>https://dschloe.github.io/programming/2020/06/03_log_transformation_gbm/</link>
      <pubDate>Mon, 29 Jun 2020 23:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/03_log_transformation_gbm/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;사전작업&#34;&gt;사전작업&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 구글 코랩 내에서 &lt;code&gt;pandas_profiling&lt;/code&gt;을 확인하기 위해 &lt;code&gt;master.zip&lt;/code&gt;을 설치한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ref. &lt;a href=&#34;https://github.com/pandas-profiling/pandas-profiling&#34;&gt;https://github.com/pandas-profiling/pandas-profiling&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;설치가 끝나면 구글코랩에서 런타임 다시 시작 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;github&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;pandas&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;profiling&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;pandas&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;profiling&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;archive&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;master&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;zip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Collecting https://github.com/pandas-profiling/pandas-profiling/archive/master.zip&#xA;  Using cached https://github.com/pandas-profiling/pandas-profiling/archive/master.zip&#xA;.&#xA;.&#xA;.&#xA;Successfully built pandas-profiling&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;i-빅쿼리-연동&#34;&gt;I. 빅쿼리 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지난 시간에 데이콘에서 내려받은 데이터를 빅쿼리에 넣는 작업을 진행하였다.&lt;/li&gt;&#xA;&lt;li&gt;빅쿼리에 저장된 데이터를 구글 코랩으로 불러오려면 다음과 같이 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-사용자-계정-인증&#34;&gt;(1) 사용자 계정 인증&lt;/h3&gt;&#xA;&lt;p&gt;구글 코랩을 사용해서 인증 절차를 밟도록 한다. 아래 소스코드는 변경시키지 않는다. 아래 절차대로 진행하면 된다. &lt;code&gt;Gmail&lt;/code&gt; 인증 절차와 비슷하다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ch 05 - 측정척도의 유형과 내용</title>
      <link>https://dschloe.github.io/programming/2020/06/ch_05_measurement_scale/</link>
      <pubDate>Mon, 29 Jun 2020 12:00:00 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/ch_05_measurement_scale/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터의 유형에는 크게 4가지가 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;명목척도, 서열척도, 등간척도, 비율척도&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;그중에서 &lt;code&gt;PLS-SEM&lt;/code&gt; 분석 시에 필요한 척도는 등간척도와 비율척도이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간혹, 범주형 변수의 경우 &lt;code&gt;더미변수(Dummy Variable)&lt;/code&gt;로 변환하여 투입하기도 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;데이터의-유형&#34;&gt;데이터의 유형&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-명목척도&#34;&gt;(1) 명목척도&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;범주형 데이터로 측정된 측정대상으로 단순히 범주로 분류하기 위한 목적으로 숫자를 부여한 척도&#xA;&lt;ul&gt;&#xA;&lt;li&gt;예시: 성별, 종교, 직업, 혈액형, 만족여부(예/아니오)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-서열척도&#34;&gt;(2) 서열척도&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;범주형 데이터로 명목척도의 기능뿐 아니라 각 범주 간의 대소관계, 순위(서열성)에 관하여 숫자를 부여한 척도(수학적 가감승제 계산 안 됨)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;예시: 학력, 건강상태 등&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-등간척도&#34;&gt;(3) 등간척도&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;연속형 데이터로 절대적 영점(&lt;code&gt;Absolute Zero&lt;/code&gt;)이 없으며 대상이 갖는 양적인 정도의 차이에 따라 등간격으로 숫자를 부여한 척도(수학적 가감승제 계산 가능)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;예시: 온도, 만족도(리커트척도), 충성도(리커트척도), 물가지수, 생산지수 등&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;4-비율척도&#34;&gt;(4) 비율척도&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;연속형 데이터로 절대적 영점이 존재하며, 비율계산이 가능한 숫자를 부여한 척도(수학적 가감승제 계산 가능)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;매출액, 무게, 가격, 소득, 길이, 부피 등&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;통계기법의-선택&#34;&gt;통계기법의 선택&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;변수의 성격에 따라 다른 통계기법이 선택될 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-범주형종속변수--범주형-변수독립변수&#34;&gt;(1) 범주형(종속변수) + 범주형 변수(독립변수)&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교차분석(카이제곱검증)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-범주형종속변수--연속형-변수독립변수&#34;&gt;(2) 범주형(종속변수) + 연속형 변수(독립변수)&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;판별분석, 군집분석, 로지스틱회귀분석&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-연속형종속변수--범주형-변수독립변수&#34;&gt;(3) 연속형(종속변수) + 범주형 변수(독립변수)&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;t-검증, 분산분석, 다변량분산분석&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;4-연속형종속변수--연속형-변수독립변수&#34;&gt;(4) 연속형(종속변수) + 연속형 변수(독립변수)&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;상관분석, 회귀분석, &lt;code&gt;경로분석/구조방정식모델링분석&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;reference&#34;&gt;Reference&lt;/h2&gt;&#xA;&lt;p&gt;신건권. (2018). 석박사학위 및 학술논문 작성 중심의 &lt;code&gt;SmartPLS 3.0 구조방정식모델링&lt;/code&gt;. 서울: 청람.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ch 04 - 반영적 지표와 형성적 지표</title>
      <link>https://dschloe.github.io/programming/2020/06/ch_04_reflective_and_formative_indicator/</link>
      <pubDate>Mon, 29 Jun 2020 11:00:00 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/ch_04_reflective_and_formative_indicator/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;인과방향에 따라 지표를 반영적 지표(&lt;code&gt;reflective indicator&lt;/code&gt;) 형성적 지표(&lt;code&gt;formative indicator&lt;/code&gt;)로 구분한다.&#xA;-반영적 지표는 잠재변수가 원인이 되고 측정변수들이 결과가 되는 지표로 잠재변수가 측정변수를 야기하는 것으로 가정함&lt;/li&gt;&#xA;&lt;li&gt;형성적 지표는 측정변수가 원인이 되고 잠재변수가 결과가 되는 지표로 측정변수가 잠재변수를 야기하는 것으로 가정함.&lt;/li&gt;&#xA;&lt;li&gt;화살표의 방향은 측정변수에서 잠재변수로 표시됨.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/ch_04_reflective_and_formative_indicator/difference.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-반영적-지표와-형성적-지표&#34;&gt;I. 반영적 지표와 형성적 지표&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-인과관계화살표의-방향&#34;&gt;(1) 인과관계(화살표)의 방향&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;반영적 지표: 잠재변수 $\rightarrow$ 측정변수(지표들)&lt;/li&gt;&#xA;&lt;li&gt;형성적 지표: 측정변수(지표들) $\rightarrow$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-측정변수지표간-상관&#34;&gt;(2) 측정변수(지표)간 상관&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;반영적 지표: 설문지법 적용 시, 각 설문문항은 유사한 것들로 구성되어 있어야 함&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python for loop example</title>
      <link>https://dschloe.github.io/programming/2020/06/chapter_3_5_for_loop_example/</link>
      <pubDate>Mon, 29 Jun 2020 10:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/chapter_3_5_for_loop_example/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_3_4_for_loop/for_loop.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지난 시간에 &lt;code&gt;for_loop&lt;/code&gt;의 기본적인 개념에 대해 살펴봤다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조: &lt;a href=&#34;https://chloevan.github.io/python/python_edu/01_basic/chapter_3_4_for_loop/&#34;&gt;[Python] for loops in different ways&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이번 시간에는 &lt;code&gt;for_loop&lt;/code&gt;의 실제 다양한 활용 방안에 대해 살펴본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-데이터-시각화&#34;&gt;II. 데이터 시각화&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;변수의 개수에 상관없이 &lt;code&gt;for-loop&lt;/code&gt;를 활용하면 무한대로 시각화를 작성할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;빠르게 코드로 확인해본다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;IRIS&lt;/code&gt; 데이터를 수집하는 코드를 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; datasets&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;iris &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; datasets&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;load_iris()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame(iris&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;data, columns&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;iris&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;feature_names)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;   sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)&#xA;0                5.1               3.5                1.4               0.2&#xA;1                4.9               3.0                1.4               0.2&#xA;2                4.7               3.2                1.3               0.2&#xA;3                4.6               3.1                1.5               0.2&#xA;4                5.0               3.6                1.4               0.2&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;변수별로 시각화를 작성하기 위해, 우선 변수명을 &lt;code&gt;List&lt;/code&gt;에 포함한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;feature_names &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; iris&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;feature_names&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(feature_names)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[&#39;sepal length (cm)&#39;, &#39;sepal width (cm)&#39;, &#39;petal length (cm)&#39;, &#39;petal width (cm)&#39;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 코드는 시각화 작성을 위한 기본 환경설정이다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;figsize&lt;/code&gt;는 &lt;code&gt;Jupyter Notebook&lt;/code&gt;에 맞게 최적화 되어 있기는 하지만, 수정할 수 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본인만의 스타일 수정을 원한다면 다음 링크 참조 하기 바란다.  &lt;a href=&#34;https://matplotlib.org/3.2.1/tutorials/introductory/customizing.html#defining-your-own-style&#34;&gt;Customizing Matplotlib with style sheets and rcParams&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;matplotlib inline&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pylab &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;figure.figsize&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; (&lt;span style=&#34;color:#ae81ff&#34;&gt;14&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lines.linewidth&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lines.color&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;r&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;axes.grid&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;그리고 마지막으로 &lt;code&gt;for-loop&lt;/code&gt; 활용하는 시각화를 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; fea &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; feature_names:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; df&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;copy()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# iris.sepal_length[:20].plot(kind=&amp;#39;bar&amp;#39;, rot=0)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  data[fea]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;plot(kind&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hist&amp;#39;&lt;/span&gt;, rot&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;xlabel(fea)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;title(fea)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_3_5_for_loop_example/output_10_0.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>데이콘 대회 참여 - 02 GBM을 활용한 머신러닝 예제</title>
      <link>https://dschloe.github.io/programming/2020/06/02_review_gbm/</link>
      <pubDate>Sun, 28 Jun 2020 18:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/02_review_gbm/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 예제에서는 제주 빅데이터 경진대회에서 제공하는 베이스라인 코드를 살려서 작성하였다.&lt;/li&gt;&#xA;&lt;li&gt;처음 대회를 입문하는 데 있어서, 빠르게 제출하는 것에 의미부여를 하기 바란다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조: &lt;a href=&#34;https://dacon.io/competitions/official/235615/codeshare/1228&#34;&gt;https://dacon.io/competitions/official/235615/codeshare/1228&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;다만, 데이터를 불러오는 영역 및 머신러닝 모형 알고리즘만 조금 수정하였다.&lt;/li&gt;&#xA;&lt;li&gt;향후 매일 업데이트 하면서 일종의 가이드라인이 되었으면 좋겠다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-빅쿼리-연동&#34;&gt;I. 빅쿼리 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지난 시간에 데이콘에서 내려받은 데이터를 빅쿼리에 넣는 작업을 진행하였다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참조: &lt;a href=&#34;https://chloevan.github.io/python/dacon/jeju2020/01_dataimport/&#34;&gt;데이콘 대회 참여 - 01 제주시 빅데이터 카드 매출 경진대회 데이터 수집 및 저장&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;빅쿼리에 저장된 데이터를 구글 코랩으로 불러오려면 다음과 같이 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-사용자-계정-인증&#34;&gt;(1) 사용자 계정 인증&lt;/h3&gt;&#xA;&lt;p&gt;구글 코랩을 사용해서 인증 절차를 밟도록 한다. 아래 소스코드는 변경시키지 않는다. 아래 절차대로 진행하면 된다. &lt;code&gt;Gmail&lt;/code&gt; 인증 절차와 비슷하다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ch 03 - PLS-SEM 주요 개념</title>
      <link>https://dschloe.github.io/programming/2020/06/ch_03_main_concepts/</link>
      <pubDate>Sun, 28 Jun 2020 13:10:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/ch_03_main_concepts/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PLS-SEM의 주요 개념 및 유사용어에 대해 살펴본다.&lt;/li&gt;&#xA;&lt;li&gt;영어로 논문을 써야하기 때문에, 한국어와 영어를 같이 표기했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;주요개념&#34;&gt;주요개념&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;잠재변수(Latent Variable): 직접 측정되지 않는 비관측변수(&lt;code&gt;Unobserved Variable&lt;/code&gt;)로 측정변수를 통해 간접적으로 측정.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;잠재변인, 구인, 구성개념(construct), 차원(dimension), 요인, 이론변수라고도 하며 경로도에는 &lt;code&gt;circle&lt;/code&gt;로 표시됨&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;측정변수(Measured Variable): 직접 측정되는 관측변수(Observed Variable)로 잠재변수를 측정하기 위해 사용된 변수를 말함. &lt;code&gt;(설문문항이 여기에 해당됨&lt;/code&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지표변수(Indicator Variable), 명시변수(Manifest Variable), 측정항목(Items)로 표기되며 직사각형 또는 정사각형으로 표시함&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;외생변수(Exogenous Variable): 독립변수의 개념으로 다른 변수의 변화에 원인(Causes)이나 동기의 역할을 하는 변수로 경로도에서 화살표가 시작이 되는 모든 변수 말함&#xA;&lt;ul&gt;&#xA;&lt;li&gt;잠재변수 개념과 결합되면 외생잠재변수(&lt;code&gt;Exogenous Latent Variable&lt;/code&gt;)가 됨&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;내생변수(Endogenous Variable): 종속변수의 개념으로 다른 변수에 의해 영향을 받는 변수이며 화살표를 받는 변수를 말함. 이는 잠재변수 개념과 결합되면 내생잠재변수(&lt;code&gt;Endogenous Latent Variable&lt;/code&gt;)가 됨&lt;/li&gt;&#xA;&lt;li&gt;측정오차(Measurement Error): 측정변수에 포함되어 있는 오차로 잠재변수가 관측변수(측정변수)를 설명하고 난 나머지 즉 설명되지 않은 부분을 말함.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;오차항(error term), 잔차(residual)이라고 함. 보통 &lt;code&gt;e&lt;/code&gt;로 표시됨.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;구조오차(Structural Error): 외생변수로 내생변수를 예측할 때 내생잠재변수에 발생하는 오차로 외생변수가 내생변수를 설명하고 난 나머지를 말함.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;방해오차(&lt;code&gt;Disturbance&lt;/code&gt;, 방정식오차(&lt;code&gt;Equation Error&lt;/code&gt;), 설명오차라고 함), 보통 &lt;code&gt;d&lt;/code&gt;로 표시됨&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;측정모델(Measurement Model, Outer Model): 잠재변수가 측정변수(지표)에 어떻게 연결되어 있는가를 나타내는 모델을 말한다. 이는 측정변수나 잠재변수의 신뢰도와 타당도를 분석하는 데 목적이 있음.&lt;/li&gt;&#xA;&lt;li&gt;반영적 측정모델(Reflective Measurement Model): 잠재변수가 원인이 되고 측정변수가 결과가 될 때의 측정모델을 말한다.&lt;/li&gt;&#xA;&lt;li&gt;형성적 측정모델(Formative Measurement Model): 측정변수가 원인이 되고 잠재변수가 결과가 될 때의 측정모델을 말한다.&lt;/li&gt;&#xA;&lt;li&gt;구조모델(Structural Model): 잠재변수 간의 인과관계를 나타내는 모형으로 가설을 검증하기 위한 모델.&lt;/li&gt;&#xA;&lt;li&gt;반영적 지표(Reflective Indicators): 특정모델에서 측정변수가 잠재변수로부터 화살표를 받는 측정변수들(혹은 지표들)을 말함.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 변수에는 측정오차가 존재하며 결과지표(&lt;code&gt;effect indicator&lt;/code&gt;)라고도 함.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;형성적 지표(Formative Indicators): 측정모델에서 잠재변수가 측정변수들(지표들)에 의하여 영향을 받는 지표를 말한다. 이 변수에는 측정오차가 존재하지 않으며 원인지표(&lt;code&gt;cause indicator&lt;/code&gt;)라고도 한다.&lt;/li&gt;&#xA;&lt;li&gt;인과관계(causation): 원인변수가 결과변수에 미치는 영향관계를 말하며 단방향 화살표로 표시한다.&lt;/li&gt;&#xA;&lt;li&gt;쌍방향적 인과관계(Reciprocal Causation): 쌍방향적 인과관계는 변수 서로 간 원인-결과를 반복하는 관계를 말함. 상관은 서로 관련되어져 있는 변수 간의 상관을 표시함.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;reference&#34;&gt;Reference&lt;/h2&gt;&#xA;&lt;p&gt;신건권. (2018). 석박사학위 및 학술논문 작성 중심의 &lt;code&gt;SmartPLS 3.0 구조방정식모델링&lt;/code&gt;. 서울: 청람.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python for loops in different ways</title>
      <link>https://dschloe.github.io/programming/2020/06/chapter_3_4_for_loop/</link>
      <pubDate>Sat, 27 Jun 2020 18:42:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/chapter_3_4_for_loop/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_3_4_for_loop/for_loop.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;여러 형태의 반복문을 배우고 실습한다.&lt;/li&gt;&#xA;&lt;li&gt;한줄로 작성하는 반복문을 배우고 실습한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-for-loop-basic-syntax&#34;&gt;II. For Loop Basic Syntax&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파이썬의 기본 문법은 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;변수&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;iterable&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;코드&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;여기에서 &lt;code&gt;iterable&lt;/code&gt;의 개념은 &lt;code&gt;list&lt;/code&gt;와 &lt;code&gt;tuple&lt;/code&gt;을 의미한다.&lt;/li&gt;&#xA;&lt;li&gt;간단하게 &lt;code&gt;for_loop&lt;/code&gt; 코드를 작성해보자.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선, A라는 리스트 객체를 작성한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;for_loop&lt;/code&gt;를 활용해서 리스트 안에 있는 것을 하나씩 출력한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;A &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;철수&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;영희&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;길동&amp;#34;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; i &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; A:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(i)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;철수&#xA;영희&#xA;길동&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;1-iterables&#34;&gt;(1) Iterables&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Iteration&lt;/code&gt;을 한국어로 번역하면 되풀이다.&lt;/li&gt;&#xA;&lt;li&gt;그런데, 어떤 데이터 유형이 &lt;code&gt;되풀이&lt;/code&gt;를 할 수 있을가?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;List&lt;/code&gt;와 &lt;code&gt;Tuple&lt;/code&gt;이 되풀이가 될 수 있는 소재인 것은 확실하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;어떤 &lt;code&gt;객체(=Object)&lt;/code&gt;가 있을 때, 이 객체가 &lt;code&gt;iterable&lt;/code&gt; 한것인지, 또는 아닌지 확인하는 함수(&lt;code&gt;iter()&lt;/code&gt;)도 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(iter(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;ABC&amp;#34;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;str_iterator object at 0x7f2464faeb00&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(iter([&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;A&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;B&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;C&amp;#34;&lt;/span&gt;]))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;list_iterator object at 0x7f2464faedd8&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(iter((&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;A&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;B&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;C&amp;#34;&lt;/span&gt;)))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;tuple_iterator object at 0x7f2464faedd8&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(iter({&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;A&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;B&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;C&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;}))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;dict_keyiterator object at 0x7f2464fdd458&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;그런데, 수치형의 경우에는 iteration이 적용되지 않는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;iter(&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;---------------------------------------------------------------------------&#xA;TypeError                                 Traceback (most recent call last)&#xA;&amp;lt;ipython-input-48-f3bbc5ecfc9b&amp;gt; in &amp;lt;module&amp;gt;()&#xA;----&amp;gt; 1 print(iter(100))&#xA;&#xA;TypeError: &amp;#39;int&amp;#39; object is not iterable&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;iter(&lt;span style=&#34;color:#ae81ff&#34;&gt;3.14&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;---------------------------------------------------------------------------&#xA;TypeError                                 Traceback (most recent call last)&#xA;&amp;lt;ipython-input-12-eb85da4c3f57&amp;gt; in &amp;lt;module&amp;gt;()&#xA;----&amp;gt; 1 iter(3.14)&#xA;&#xA;TypeError: &amp;#39;float&amp;#39; object is not iterable&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;단일 수치형 데이터를 제외하고는 사실상 모든 데이터가 &lt;code&gt;iterable&lt;/code&gt;의 성질을 가지고 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-next&#34;&gt;(2) next()&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;next()&lt;/code&gt;는 &lt;code&gt;iterator&lt;/code&gt;에서의 &lt;code&gt;next value&lt;/code&gt;를 의미한다.&lt;/li&gt;&#xA;&lt;li&gt;다음 코드를 확인해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;A &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;철수&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;영희&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;길동&amp;#34;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;iterable &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; iter(A)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;iterable&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&amp;lt;list_iterator at 0x7f2464fb7dd8&amp;gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>ch 02 - 구조방정식의 기본 개념과 고려사항</title>
      <link>https://dschloe.github.io/programming/2020/06/ch_02_sem_concept_considerations/</link>
      <pubDate>Fri, 26 Jun 2020 17:10:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/ch_02_sem_concept_considerations/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기본적으로 다변량 분석&lt;/li&gt;&#xA;&lt;li&gt;1세대 분석 방법론&#xA;&lt;ul&gt;&#xA;&lt;li&gt;군집분석, EFA, 분산분석, 다항회귀, 로지스틱 회귀분석&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;2세대 분석 방법론&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PLS-SEM and CB-SEM&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;간단한 용어 정리&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SEM - Structural Equation Modeling&lt;/li&gt;&#xA;&lt;li&gt;CB - Covariance Based SEM&lt;/li&gt;&#xA;&lt;li&gt;PLS - Partial Least Squares SEM (= PLS path Modeling)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;CB-SEM&lt;/code&gt;의 주 목적은 실증적으로 검증 가능한 다중 변수들 간의 체계적 관계 확인&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;PLS-SEM&lt;/code&gt;은 주로 탐험적 연구에서의 이론발전에 주로 사용되며, 종속변수의 분산을 설명하는데 주 초점을 맞준다.&lt;/li&gt;&#xA;&lt;li&gt;본 논문에서는 필리핀에서의 스타트업 등에 관련된 논문 및 자료 수집에 한계가 있기 때문에 &lt;code&gt;PLS-SEM&lt;/code&gt; 분석방법론을 채택하여 탐험연구에 준하여 분석을 진행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;There are two types of SEM: covariance-based SEM (CB-SEM) and partial least squares SEM (PLS-SEM; also called PLS path modeling). CB-SEM is primarily used to confirm (or reject) theories (i.e., a set of systematic relationships between multiple variables that can be tested empirically). It does this by determining how well a proposed theoretical model can estimate the covariance matrix for a sample data set. In contrast, PLS-SEM is primarily used to develop theories in exploratory research. It does this by focusing on explaining the variance in the dependent variables when examining the model. We explain this difference in more detail later in the chapter.&lt;/p&gt;</description>
    </item>
    <item>
      <title>If else, and more</title>
      <link>https://dschloe.github.io/programming/2020/06/chapter_3_3_if_else/</link>
      <pubDate>Thu, 25 Jun 2020 21:42:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/chapter_3_3_if_else/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_3_3_if_else/python_if_else.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;조건문에 대해 배우고 실습하는 시간을 갖는다.&lt;/li&gt;&#xA;&lt;li&gt;else와 elif에 대해 배우고 실습한다.&lt;/li&gt;&#xA;&lt;li&gt;한줄로 작성하는 if_else에 대해 배우고 실습한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-if-조건문-소개&#34;&gt;II. If 조건문 소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Excel을 배운 사람이라면 누구나 아는 문법이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다만, 위 문법을 파이썬 언어에 맞게 변형한 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;조건&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;코드1&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;코드2&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;1-언제-실행되는가&#34;&gt;(1) 언제 실행되는가?&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;위 구문의 뜻이 무엇인가?&lt;/p&gt;</description>
    </item>
    <item>
      <title>ch 01 - PLS SEM Intro</title>
      <link>https://dschloe.github.io/programming/2020/06/ch_01_intro/</link>
      <pubDate>Wed, 24 Jun 2020 11:10:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/ch_01_intro/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;석사 학위 논문을 위해 작성하기 위해 만들었음&lt;/li&gt;&#xA;&lt;li&gt;PLS SEM 모델링을 위한 R 패키지가 존재함&#xA;&lt;ul&gt;&#xA;&lt;li&gt;plspm: 2020년 5월 14일 &lt;code&gt;R Cran&lt;/code&gt;에서 정식 패키지에서 내려감&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 패키지는 원서 약 230페이지 되는 교재도 있음&lt;/li&gt;&#xA;&lt;li&gt;1차로 위 패키지를 고려했으나 5/14일 패키지가 내려간 이후 선택에서 제외시킴&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;또한, &lt;code&gt;SMART PLS&lt;/code&gt;라는 상용프로그램도 존재함&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt&gt;특정 R &lt;code&gt;semPLS&lt;/code&gt;와 위 상용 프로그램을 비교한 논문이 있었고, 다행히 두 프로그램의 결과값이 동일한 것으로 증명되었다.&lt;/dt&gt;&#xA;&lt;dd&gt;ref. &lt;a href=&#34;http://koreascience.or.kr/article/JAKO201503334699002.page&#34;&gt;Utilization of R Program for the Partial Least Square Model: Comparison of SmartPLS and R&lt;/a&gt;&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;아직 확정지은 것은 아니지만, 향후 추가적인 논문을 진행한다면 위 2개의 패키지와 SMART PLS 상용 소프트웨어를 비교하는 논문도 괜찮을 것이라 생각함&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;교재&#34;&gt;교재&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이론적인 공부 및 Self-Study를 위해 크게 2가지 방향성을 잡고 공부하려고 함&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이론서 1: &lt;a href=&#34;https://www.pls-sem.net/pls-sem-book-1/a-primer-on-pls-sem-2nd-ed/&#34;&gt;PLS-SEM Book: A Primer on PLS-SEM (2nd Ed.)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;이론서 2: &lt;a href=&#34;https://cran.r-project.org/web/packages/semPLS/vignettes/semPLS-intro.pdf&#34;&gt;semPLS: Structural Equation Modeling Using&#xA;Partial Least Squares&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;실습서 3: &lt;a href=&#34;https://cran.r-project.org/web/packages/semPLS/semPLS.pdf&#34;&gt;R Package ‘semPLS’&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;smartPLS 온라인 강좌 : &lt;a href=&#34;https://www.pls-sem.net/courses/&#34;&gt;PLS-SEM Courses&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;sample-code&#34;&gt;Sample Code&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;패키지 로드&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;semPLS&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## Loading required package: lattice&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;Sample 데이터 불러오기&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;data&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;ECSIsm&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;(ECSIsm)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;##      source        target        &#xA;## [1,] &amp;#34;Image&amp;#34;       &amp;#34;Expectation&amp;#34; &#xA;## [2,] &amp;#34;Expectation&amp;#34; &amp;#34;Quality&amp;#34;     &#xA;## [3,] &amp;#34;Expectation&amp;#34; &amp;#34;Value&amp;#34;       &#xA;## [4,] &amp;#34;Quality&amp;#34;     &amp;#34;Value&amp;#34;       &#xA;## [5,] &amp;#34;Image&amp;#34;       &amp;#34;Satisfaction&amp;#34;&#xA;## [6,] &amp;#34;Expectation&amp;#34; &amp;#34;Satisfaction&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;data&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;ECSImm&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;(ECSImm)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;##      source        target &#xA;## [1,] &amp;#34;Image&amp;#34;       &amp;#34;IMAG1&amp;#34;&#xA;## [2,] &amp;#34;Image&amp;#34;       &amp;#34;IMAG2&amp;#34;&#xA;## [3,] &amp;#34;Image&amp;#34;       &amp;#34;IMAG3&amp;#34;&#xA;## [4,] &amp;#34;Image&amp;#34;       &amp;#34;IMAG4&amp;#34;&#xA;## [5,] &amp;#34;Image&amp;#34;       &amp;#34;IMAG5&amp;#34;&#xA;## [6,] &amp;#34;Expectation&amp;#34; &amp;#34;CUEX1&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;data&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;mobi&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;(mobi)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;##   CUEX1 CUEX2 CUEX3 CUSA1 CUSA2 CUSA3 CUSCO CUSL1 CUSL2 CUSL3 IMAG1 IMAG2 IMAG3&#xA;## 1     7     7     6     6     4     7     7     6     5     6     7     5     5&#xA;## 2    10    10     9    10    10     8    10    10     2    10    10     9    10&#xA;## 3     7     7     7     8     7     7     6     6     2     7     8     7     6&#xA;## 4     7    10     5    10    10    10     5    10     4    10    10    10     5&#xA;## 5     8     7    10    10     8     8     5    10     3     8    10    10     5&#xA;## 6    10     9     7     8     7     7     8    10     3    10     8     9    10&#xA;##   IMAG4 IMAG5 PERQ1 PERQ2 PERQ3 PERQ4 PERQ5 PERQ6 PERQ7 PERV1 PERV2&#xA;## 1     5     4     7     6     4     7     6     5     5     2     3&#xA;## 2    10     9    10     9    10    10     9    10    10    10    10&#xA;## 3     4     7     7     8     5     7     8     7     7     7     7&#xA;## 4     5    10     8    10    10     8     4     5     8     5     5&#xA;## 5     8     9    10     9     8    10     9     9     8     6     6&#xA;## 6     8     9     9    10     9    10     8     9     9    10    10&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;모형 적합&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ECSI &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;plsm&lt;/span&gt;(data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; mobi, strucmod &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ECSIsm, measuremod &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ECSImm)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;mvpairs&lt;/span&gt;(model &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ECSI, data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; mobi, LVs &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Expectation&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/ch_01_intro/pathmodeling.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>데이콘 대회 참여 - 01 제주시 빅데이터 카드 매출 경진대회 데이터 수집 및 저장</title>
      <link>https://dschloe.github.io/programming/2020/06/01_dataimport/</link>
      <pubDate>Tue, 23 Jun 2020 23:10:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/01_dataimport/</guid>
      <description>&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 과정은 직업훈련기관 수업의 일환으로 진행하였음&lt;/li&gt;&#xA;&lt;li&gt;수강생들이 기본적으로 어려워하는 클라우드 &lt;code&gt;DB연동&lt;/code&gt;부터 구현하여 빠르게 &lt;code&gt;EDA&lt;/code&gt;를 활용할 수 있도록 진행함&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;DB&lt;/code&gt;는 &lt;code&gt;BigQuery&lt;/code&gt;를 활용함.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-대회-참여-및-파일-다운로드-상세&#34;&gt;(1) 대회 참여 및 파일 다운로드 상세&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dacon.io/&#34;&gt;데이콘&lt;/a&gt;은 국내 빅데이터 경진대회이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/01_dataimport/01_tutorial.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;2-대회-개요&#34;&gt;(2) 대회 개요&lt;/h3&gt;&#xA;&lt;p&gt;Ref. &lt;a href=&#34;https://dacon.io/competitions/official/235615/overview/&#34;&gt;https://dacon.io/competitions/official/235615/overview/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;주제&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;AI 알고리즘 활용 카드 사용 금액 예측&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;목표&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;신용카드 사용 내역 데이터를 활용한 지역별, 업종별 월간 카드 사용 총액 예측&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;배경&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;신용카드 사용량을 분석을 통한  ‘Post COVID-19 시대’ 신용카드 사용량 예측 모델 개발&lt;/li&gt;&#xA;&lt;li&gt;지역 경제 위축 및 중소상공인 경영난 해소를 위한 대책 마련&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;주최/주관&lt;/p&gt;</description>
    </item>
    <item>
      <title>추천 시스템 개요 및 이론, Surprise Package</title>
      <link>https://dschloe.github.io/programming/2020/06/recommendation_02/</link>
      <pubDate>Mon, 22 Jun 2020 22:10:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/recommendation_02/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/recommendation_01/types_of_recommendation.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;대고객 대상으로 한 대부분의 플랫폼 서비스 업체들은 고객 개개인에게 맞춤형의 추천 서비스를 도입하고 있음&#xA;&lt;ul&gt;&#xA;&lt;li&gt;전자상거래 업체, 유투브, 애플 뮤직 등&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;ML의 여러 알고리즘 중 비즈니스 관점에 부합하는 기법이 추천 시스템.&lt;/li&gt;&#xA;&lt;li&gt;추천 시스템의 진정한 묘미는 사용자 본인도 모르는 취향 발견, 재구매로 연결하도록 설계&lt;/li&gt;&#xA;&lt;li&gt;누가 필요할까?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;모든 플랫폼 서비스&lt;/li&gt;&#xA;&lt;li&gt;이유1: 플랫폼은 다수의 판매자와 소비자를 필요로 함, 문제는 카테고리와 메뉴구성이 복잡해지면 소비자의 제품 선택에 부작용&lt;/li&gt;&#xA;&lt;li&gt;이유2: 만족도가 떨어지면 고객은 그 플랫폼을 떠날 가능성이 크며, 이는 플랫폼 서비스의 매출 하락과 직결&lt;/li&gt;&#xA;&lt;li&gt;모든 플랫폼 서비스는 기본적으로 추천서비스를 장착하고 싶어함&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;영화 데이터를 기준으로 추천시스템을 단계별로 구현함을 목표로 함&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-추천시스템의-유형-및-역사&#34;&gt;II. 추천시스템의 유형 및 역사&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;추천시스템의 유형과 간단한 역사에 대해 배워보도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-유형&#34;&gt;(1) 유형&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;크게 세가지로 구분됨.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Demographic Filtering&lt;/li&gt;&#xA;&lt;li&gt;콘텐츠 기반 필터링 (Content Filtering)&lt;/li&gt;&#xA;&lt;li&gt;협업 필터링 (Collaborative Filtering)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;최근접 이웃(Nearest Neighbor)&lt;/li&gt;&#xA;&lt;li&gt;잠재 요인(Latent Factor)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;2-역사&#34;&gt;(2) 역사&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;초창기: 콘텐츠 기반 필터링 또는 최근접 이웃 기반 협업 필터링이 주로 사용됨.&lt;/li&gt;&#xA;&lt;li&gt;중기: 넷플릭스 추천 시스템 경연 대회에서 행렬 분해 (Matrix Factorization) 기법을 이용한 잠재요인 협업 필터링 방식으로 우승한 뒤, 유명해짐.&lt;/li&gt;&#xA;&lt;li&gt;최근: 개인화 특성을 강화하기 위해서 하이브리드 형식으로 콘텐츠 기반과 협업 기반을 적절히 결합해 사용하는 경우도 늘고 있음&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-surprise-패키지&#34;&gt;III. Surprise 패키지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Surprise&lt;/code&gt; 패키지는 추천시스템 패키지이다.&lt;/li&gt;&#xA;&lt;li&gt;설치 방법은 다음 문서를 참조하기를 바란다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/NicolasHug/Surprise#Installation&#34;&gt;설치방법&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Windows에서 &lt;code&gt;Surprise&lt;/code&gt; 패키지를 설치할 때는 &lt;code&gt;MS Studio Build Tools 2015&lt;/code&gt;이상의 버전이 필요함. &lt;a href=&#34;https://visualstudio.microsoft.com/ko/visual-cpp-build-tools/&#34;&gt;설치방법 참조&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;해당 패키지를 활용하면 보다 쉽게 &lt;code&gt;API&lt;/code&gt;를 활용해서 추천 시스템을 구축할 수 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다양한 추천 알고리즘들이 해당 패키지에 내재되어 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-패키지-개요&#34;&gt;(1) 패키지 개요&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;영어 원문에는 아래와 같이 설명되어 있다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>추천 시스템 패키지 소개 - recommenderlab</title>
      <link>https://dschloe.github.io/programming/2020/06/recommendation_intro/</link>
      <pubDate>Mon, 22 Jun 2020 10:38:15 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/recommendation_intro/</guid>
      <description>&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;추천시스템을 처음 배우는 접하는 사람들을 위해 준비한 입문 &lt;code&gt;Tutorial&lt;/code&gt;이다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;패키지 소개서에 있는 내용을 한글로 번역하였다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;This R package provides an infrastructure to test and develop recommender algorithms. The package supports rating (e.g., 1-5 stars) and unary (0-1) data sets. Supported algorithms are:&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;이 R 패키지는 추천자 알고리즘을 테스트하고 개발할 수 있는 인프라를 제공한다. 이 패키지는 등급(예: 별 1-5개) 및 단항(0-1) 데이터 세트를 지원한다. 지원되는 알고리즘:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;User-based collborative filtering (UBCF)&lt;/li&gt;&#xA;&lt;li&gt;Item-based collborative filtering (IBCF)&lt;/li&gt;&#xA;&lt;li&gt;SVD with column-mean imputation (SVD)&lt;/li&gt;&#xA;&lt;li&gt;Funk SVD (SVDF)&lt;/li&gt;&#xA;&lt;li&gt;Alternating Least Squares (ALS)&lt;/li&gt;&#xA;&lt;li&gt;Matrix factorization with LIBMF (LIBMF)&lt;/li&gt;&#xA;&lt;li&gt;Association rule-based recommender (AR)&lt;/li&gt;&#xA;&lt;li&gt;Popular items (POPULAR)&lt;/li&gt;&#xA;&lt;li&gt;Randomly chosen items for comparison (RANDOM)&lt;/li&gt;&#xA;&lt;li&gt;Re-recommend liked items (RERECOMMEND)&lt;/li&gt;&#xA;&lt;li&gt;Hybrid recommendations (HybridRecommender)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;For evaluation, the framework supports given-n and all-but-x protocols with&lt;/p&gt;</description>
    </item>
    <item>
      <title>추천 시스템 개요 및 이론, Baseline Code</title>
      <link>https://dschloe.github.io/programming/2020/06/recommendation_01/</link>
      <pubDate>Sun, 21 Jun 2020 17:10:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/recommendation_01/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/recommendation_01/types_of_recommendation.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;대고객 대상으로 한 대부분의 플랫폼 서비스 업체들은 고객 개개인에게 맞춤형의 추천 서비스를 도입하고 있음&#xA;&lt;ul&gt;&#xA;&lt;li&gt;전자상거래 업체, 유투브, 애플 뮤직 등&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;ML의 여러 알고리즘 중 비즈니스 관점에 부합하는 기법이 추천 시스템.&lt;/li&gt;&#xA;&lt;li&gt;추천 시스템의 진정한 묘미는 사용자 본인도 모르는 취향 발견, 재구매로 연결하도록 설계&lt;/li&gt;&#xA;&lt;li&gt;누가 필요할까?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;모든 플랫폼 서비스&lt;/li&gt;&#xA;&lt;li&gt;이유1: 플랫폼은 다수의 판매자와 소비자를 필요로 함, 문제는 카테고리와 메뉴구성이 복잡해지면 소비자의 제품 선택에 부작용&lt;/li&gt;&#xA;&lt;li&gt;이유2: 만족도가 떨어지면 고객은 그 플랫폼을 떠날 가능성이 크며, 이는 플랫폼 서비스의 매출 하락과 직결&lt;/li&gt;&#xA;&lt;li&gt;모든 플랫폼 서비스는 기본적으로 추천서비스를 장착하고 싶어함&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;영화 데이터를 기준으로 추천시스템을 단계별로 구현함을 목표로 함&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-추천시스템의-유형-및-역사&#34;&gt;II. 추천시스템의 유형 및 역사&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;추천시스템의 유형과 간단한 역사에 대해 배워보도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-유형&#34;&gt;(1) 유형&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;크게 세가지로 구분됨.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Demographic Filtering&lt;/li&gt;&#xA;&lt;li&gt;콘텐츠 기반 필터링 (Content Filtering)&lt;/li&gt;&#xA;&lt;li&gt;협업 필터링 (Collaborative Filtering)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;최근접 이웃(Nearest Neighbor)&lt;/li&gt;&#xA;&lt;li&gt;잠재 요인(Latent Factor)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;2-역사&#34;&gt;(2) 역사&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;초창기: 콘텐츠 기반 필터링 또는 최근접 이웃 기반 협업 필터링이 주로 사용됨.&lt;/li&gt;&#xA;&lt;li&gt;중기: 넷플릭스 추천 시스템 경연 대회에서 행렬 분해 (Matrix Factorization) 기법을 이용한 잠재요인 협업 필터링 방식으로 우승한 뒤, 유명해짐.&lt;/li&gt;&#xA;&lt;li&gt;최근: 개인화 특성을 강화하기 위해서 하이브리드 형식으로 콘텐츠 기반과 협업 기반을 적절히 결합해 사용하는 경우도 늘고 있음&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-demographic-filtering&#34;&gt;III. Demographic Filtering&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;가장 기초적이면서 &lt;code&gt;Simple&lt;/code&gt;한 추천시스템 방식&lt;/li&gt;&#xA;&lt;li&gt;같은 영화를 인구통계학에 기반하여 각 사용자에게 추천&lt;/li&gt;&#xA;&lt;li&gt;그런데, 영화추천 시, 주로 인기도가 높은 대중적인 영화 위주 (예를 들면 Top 250개)만 선별하여 각 사용자에게 전달. 대중적인 영화들은 영화를 보지 않는 다른 일반 관객들에게게 호감을 가질 가능성이 더 높을 것으로 추정&lt;/li&gt;&#xA;&lt;li&gt;필요조건&#xA;&lt;ul&gt;&#xA;&lt;li&gt;영화 평점 점수&lt;/li&gt;&#xA;&lt;li&gt;평점 점수 기반 영화 정렬&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-데이터-수집&#34;&gt;(1) 데이터 수집&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터는 &lt;code&gt;kaggle&lt;/code&gt;에서 가져왔다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.kaggle.com/rounakbanik/the-movies-dataset/data&#34;&gt;https://www.kaggle.com/rounakbanik/the-movies-dataset/data&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-데이터-설명&#34;&gt;(2) 데이터 설명&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;여러 데이터들이 있는데, 관련 내용은 캐글 본문의 것을 그대로 사용한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;movies_metadata.csv: The main Movies Metadata file. Contains information on 45,000 movies featured in the Full MovieLens dataset. Features include posters, backdrops, budget, revenue, release dates, languages, production countries and companies.&lt;/li&gt;&#xA;&lt;li&gt;keywords.csv: Contains the movie plot keywords for our MovieLens movies. Available in the form of a stringified JSON Object.&lt;/li&gt;&#xA;&lt;li&gt;credits.csv: Consists of Cast and Crew Information for all our movies. Available in the form of a stringified JSON Object.&lt;/li&gt;&#xA;&lt;li&gt;links.csv: The file that contains the TMDB and IMDB IDs of all the movies featured in the Full MovieLens dataset.&lt;/li&gt;&#xA;&lt;li&gt;links_small.csv: Contains the TMDB and IMDB IDs of a small subset of 9,000 movies of the Full Dataset.&lt;/li&gt;&#xA;&lt;li&gt;ratings_small.csv: The subset of 100,000 ratings from 700 users on 9,000 movies.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-구글-드라이브와-연동&#34;&gt;(3) 구글 드라이브와 연동&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 드라이브와 연동하여 &lt;code&gt;pandas&lt;/code&gt;를 활용하여 데이터를 수집한다.&lt;/li&gt;&#xA;&lt;li&gt;구글 드라이브와 연동하는 방법에 대해서는 &lt;a href=&#34;https://chloevan.github.io/settings/colab_drive_github_settings/&#34;&gt;Colab + Drive + Github Workflow&lt;/a&gt;에서 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;from google.colab import drive # 패키지 불러오기 &#xA;from os.path import join  &#xA;&#xA;ROOT = &amp;#34;/content/drive&amp;#34;     # 드라이브 기본 경로&#xA;print(ROOT)                 # print content of ROOT (Optional)&#xA;drive.mount(ROOT)           # 드라이브 기본 경로 Mount&#xA;&#xA;MY_GOOGLE_DRIVE_PATH = &amp;#39;My Drive/Colab Notebooks/your/path&amp;#39; # 프로젝트 경로&#xA;PROJECT_PATH = join(ROOT, MY_GOOGLE_DRIVE_PATH) # 프로젝트 경로&#xA;print(PROJECT_PATH)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/content/drive&#xA;Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&amp;amp;redirect_uri=urn%3aietf%3awg%3aoauth%3a2.0%3aoob&amp;amp;response_type=code&amp;amp;scope=email%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdocs.test%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive.photos.readonly%20https%3a%2f%2fwww.googleapis.com%2fauth%2fpeopleapi.readonly&#xA;&#xA;Enter your authorization code:&#xA;··········&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;%cd &amp;#34;{PROJECT_PATH}&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;!ls&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;data  source&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas_profiling&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; mpl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; figure&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; IPython.core.display &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; display, HTML&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; pandas_profiling &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; ProfileReport&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/usr/local/lib/python3.6/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.&#xA;  import pandas.util.testing as tm&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;metadata &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;data/movies_metadata.csv&amp;#39;&lt;/span&gt;, low_memory&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;metadata&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head(&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;style&gt;&#xA;    #customers {&#xA;      font-family: &#34;Trebuchet MS&#34;, Arial, Helvetica, sans-serif;&#xA;      border-collapse: collapse;&#xA;    }&#xA;  &#xA;    #customers td,&#xA;    #customers th {&#xA;      border: 1px solid #ddd;&#xA;      padding: 8px;&#xA;    }&#xA;  &#xA;    #customers tr:nth-child(even) {&#xA;      background-color: #f2f2f2;&#xA;    }&#xA;  &#xA;    #customers tr:hover {&#xA;      background-color: #ddd;&#xA;    }&#xA;  &#xA;    #customers th {&#xA;      padding-top: 12px;&#xA;      padding-bottom: 12px;&#xA;      text-align: left;&#xA;      background-color: rgb(175, 107, 76);&#xA;      color: white;&#xA;    }&#xA;  &lt;/style&gt;&#xA;&#xA;&#xA;&lt;div style=&#34;width:100%; height:400px; overflow:auto&#34;&gt;&#xA;    &lt;style scoped&gt;&#xA;        .dataframe tbody tr th:only-of-type {&#xA;            vertical-align: middle;&#xA;        }&#xA;    &#xA;        .dataframe tbody tr th {&#xA;            vertical-align: top;&#xA;        }&#xA;    &#xA;        .dataframe thead th {&#xA;            text-align: right;&#xA;        }&#xA;    &lt;/style&gt;&#xA;    &lt;table border=&#34;1&#34; id=&#34;customers&#34;&gt;&#xA;      &lt;thead&gt;&#xA;        &lt;tr style=&#34;text-align: right;&#34;&gt;&#xA;          &lt;th&gt;&lt;/th&gt;&#xA;          &lt;th&gt;adult&lt;/th&gt;&#xA;          &lt;th&gt;belongs_to_collection&lt;/th&gt;&#xA;          &lt;th&gt;budget&lt;/th&gt;&#xA;          &lt;th&gt;genres&lt;/th&gt;&#xA;          &lt;th&gt;homepage&lt;/th&gt;&#xA;          &lt;th&gt;id&lt;/th&gt;&#xA;          &lt;th&gt;imdb_id&lt;/th&gt;&#xA;          &lt;th&gt;original_language&lt;/th&gt;&#xA;          &lt;th&gt;original_title&lt;/th&gt;&#xA;          &lt;th&gt;overview&lt;/th&gt;&#xA;          &lt;th&gt;popularity&lt;/th&gt;&#xA;          &lt;th&gt;poster_path&lt;/th&gt;&#xA;          &lt;th&gt;production_companies&lt;/th&gt;&#xA;          &lt;th&gt;production_countries&lt;/th&gt;&#xA;          &lt;th&gt;release_date&lt;/th&gt;&#xA;          &lt;th&gt;revenue&lt;/th&gt;&#xA;          &lt;th&gt;runtime&lt;/th&gt;&#xA;          &lt;th&gt;spoken_languages&lt;/th&gt;&#xA;          &lt;th&gt;status&lt;/th&gt;&#xA;          &lt;th&gt;tagline&lt;/th&gt;&#xA;          &lt;th&gt;title&lt;/th&gt;&#xA;          &lt;th&gt;video&lt;/th&gt;&#xA;          &lt;th&gt;vote_average&lt;/th&gt;&#xA;          &lt;th&gt;vote_count&lt;/th&gt;&#xA;        &lt;/tr&gt;&#xA;      &lt;/thead&gt;&#xA;      &lt;tbody&gt;&#xA;        &lt;tr&gt;&#xA;          &lt;th&gt;0&lt;/th&gt;&#xA;          &lt;td&gt;False&lt;/td&gt;&#xA;          &lt;td&gt;{&#39;id&#39;: 10194, &#39;name&#39;: &#39;Toy Story Collection&#39;, ...&lt;/td&gt;&#xA;          &lt;td&gt;30000000&lt;/td&gt;&#xA;          &lt;td&gt;[{&#39;id&#39;: 16, &#39;name&#39;: &#39;Animation&#39;}, {&#39;id&#39;: 35, &#39;...&lt;/td&gt;&#xA;          &lt;td&gt;http://toystory.disney.com/toy-story&lt;/td&gt;&#xA;          &lt;td&gt;862&lt;/td&gt;&#xA;          &lt;td&gt;tt0114709&lt;/td&gt;&#xA;          &lt;td&gt;en&lt;/td&gt;&#xA;          &lt;td&gt;Toy Story&lt;/td&gt;&#xA;          &lt;td&gt;Led by Woody, Andy&#39;s toys live happily in his ...&lt;/td&gt;&#xA;          &lt;td&gt;21.946943&lt;/td&gt;&#xA;          &lt;td&gt;/rhIRbceoE9lR4veEXuwCC2wARtG.jpg&lt;/td&gt;&#xA;          &lt;td&gt;[{&#39;name&#39;: &#39;Pixar Animation Studios&#39;, &#39;id&#39;: 3}]&lt;/td&gt;&#xA;          &lt;td&gt;[{&#39;iso_3166_1&#39;: &#39;US&#39;, &#39;name&#39;: &#39;United States o...&lt;/td&gt;&#xA;          &lt;td&gt;1995-10-30&lt;/td&gt;&#xA;          &lt;td&gt;373554033.0&lt;/td&gt;&#xA;          &lt;td&gt;81.0&lt;/td&gt;&#xA;          &lt;td&gt;[{&#39;iso_639_1&#39;: &#39;en&#39;, &#39;name&#39;: &#39;English&#39;}]&lt;/td&gt;&#xA;          &lt;td&gt;Released&lt;/td&gt;&#xA;          &lt;td&gt;NaN&lt;/td&gt;&#xA;          &lt;td&gt;Toy Story&lt;/td&gt;&#xA;          &lt;td&gt;False&lt;/td&gt;&#xA;          &lt;td&gt;7.7&lt;/td&gt;&#xA;          &lt;td&gt;5415.0&lt;/td&gt;&#xA;        &lt;/tr&gt;&#xA;        &lt;tr&gt;&#xA;          &lt;th&gt;1&lt;/th&gt;&#xA;          &lt;td&gt;False&lt;/td&gt;&#xA;          &lt;td&gt;NaN&lt;/td&gt;&#xA;          &lt;td&gt;65000000&lt;/td&gt;&#xA;          &lt;td&gt;[{&#39;id&#39;: 12, &#39;name&#39;: &#39;Adventure&#39;}, {&#39;id&#39;: 14, &#39;...&lt;/td&gt;&#xA;          &lt;td&gt;NaN&lt;/td&gt;&#xA;          &lt;td&gt;8844&lt;/td&gt;&#xA;          &lt;td&gt;tt0113497&lt;/td&gt;&#xA;          &lt;td&gt;en&lt;/td&gt;&#xA;          &lt;td&gt;Jumanji&lt;/td&gt;&#xA;          &lt;td&gt;When siblings Judy and Peter discover an encha...&lt;/td&gt;&#xA;          &lt;td&gt;17.015539&lt;/td&gt;&#xA;          &lt;td&gt;/vzmL6fP7aPKNKPRTFnZmiUfciyV.jpg&lt;/td&gt;&#xA;          &lt;td&gt;[{&#39;name&#39;: &#39;TriStar Pictures&#39;, &#39;id&#39;: 559}, {&#39;na...&lt;/td&gt;&#xA;          &lt;td&gt;[{&#39;iso_3166_1&#39;: &#39;US&#39;, &#39;name&#39;: &#39;United States o...&lt;/td&gt;&#xA;          &lt;td&gt;1995-12-15&lt;/td&gt;&#xA;          &lt;td&gt;262797249.0&lt;/td&gt;&#xA;          &lt;td&gt;104.0&lt;/td&gt;&#xA;          &lt;td&gt;[{&#39;iso_639_1&#39;: &#39;en&#39;, &#39;name&#39;: &#39;English&#39;}, {&#39;iso...&lt;/td&gt;&#xA;          &lt;td&gt;Released&lt;/td&gt;&#xA;          &lt;td&gt;Roll the dice and unleash the excitement!&lt;/td&gt;&#xA;          &lt;td&gt;Jumanji&lt;/td&gt;&#xA;          &lt;td&gt;False&lt;/td&gt;&#xA;          &lt;td&gt;6.9&lt;/td&gt;&#xA;          &lt;td&gt;2413.0&lt;/td&gt;&#xA;        &lt;/tr&gt;&#xA;        &lt;tr&gt;&#xA;          &lt;th&gt;2&lt;/th&gt;&#xA;          &lt;td&gt;False&lt;/td&gt;&#xA;          &lt;td&gt;{&#39;id&#39;: 119050, &#39;name&#39;: &#39;Grumpy Old Men Collect...&lt;/td&gt;&#xA;          &lt;td&gt;0&lt;/td&gt;&#xA;          &lt;td&gt;[{&#39;id&#39;: 10749, &#39;name&#39;: &#39;Romance&#39;}, {&#39;id&#39;: 35, ...&lt;/td&gt;&#xA;          &lt;td&gt;NaN&lt;/td&gt;&#xA;          &lt;td&gt;15602&lt;/td&gt;&#xA;          &lt;td&gt;tt0113228&lt;/td&gt;&#xA;          &lt;td&gt;en&lt;/td&gt;&#xA;          &lt;td&gt;Grumpier Old Men&lt;/td&gt;&#xA;          &lt;td&gt;A family wedding reignites the ancient feud be...&lt;/td&gt;&#xA;          &lt;td&gt;11.7129&lt;/td&gt;&#xA;          &lt;td&gt;/6ksm1sjKMFLbO7UY2i6G1ju9SML.jpg&lt;/td&gt;&#xA;          &lt;td&gt;[{&#39;name&#39;: &#39;Warner Bros.&#39;, &#39;id&#39;: 6194}, {&#39;name&#39;...&lt;/td&gt;&#xA;          &lt;td&gt;[{&#39;iso_3166_1&#39;: &#39;US&#39;, &#39;name&#39;: &#39;United States o...&lt;/td&gt;&#xA;          &lt;td&gt;1995-12-22&lt;/td&gt;&#xA;          &lt;td&gt;0.0&lt;/td&gt;&#xA;          &lt;td&gt;101.0&lt;/td&gt;&#xA;          &lt;td&gt;[{&#39;iso_639_1&#39;: &#39;en&#39;, &#39;name&#39;: &#39;English&#39;}]&lt;/td&gt;&#xA;          &lt;td&gt;Released&lt;/td&gt;&#xA;          &lt;td&gt;Still Yelling. Still Fighting. Still Ready for...&lt;/td&gt;&#xA;          &lt;td&gt;Grumpier Old Men&lt;/td&gt;&#xA;          &lt;td&gt;False&lt;/td&gt;&#xA;          &lt;td&gt;6.5&lt;/td&gt;&#xA;          &lt;td&gt;92.0&lt;/td&gt;&#xA;        &lt;/tr&gt;&#xA;      &lt;/tbody&gt;&#xA;    &lt;/table&gt;&#xA;    &lt;/div&gt;&#xA;&lt;h3 id=&#34;4-평점-가중치-함수-구현&#34;&gt;(4) 평점 가중치 함수 구현&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;여기에서 주목해야 하는 것이 있는데, &lt;code&gt;vote_average&lt;/code&gt;와 &lt;code&gt;vote_count&lt;/code&gt;를 유심히 봐야한다.&lt;/li&gt;&#xA;&lt;li&gt;3명이 투표해서 얻은 평점 8.7의 영화 Vs. 100명이 투표해서 얻은 평점 8.0의 영화 중 어느 것이 더 좋다고 볼 수 있을까?&lt;/li&gt;&#xA;&lt;li&gt;이러한 부분을 고려하여 가중치 공식을 만든다. (wr:Weighted Rating)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;$$ wr = \left (\frac{\nu }{\nu+\mu } \times R \right ) + \left (\frac{\nu }{\nu+\mu } \times C \right ) $$&lt;/p&gt;</description>
    </item>
    <item>
      <title>About Dictionaries</title>
      <link>https://dschloe.github.io/programming/2020/06/chapter_3_2_dictionary/</link>
      <pubDate>Sat, 20 Jun 2020 10:42:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/chapter_3_2_dictionary/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_3_2_dictionary/dictionary.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번 시간부터 본격적으로 파이썬의 기초 자료형에 대해 간단한 튜토리얼을 준비했다.&lt;/li&gt;&#xA;&lt;li&gt;데이터 분석과는 큰 관계가 없을 수 있지만, 데이터 정제 할 때, 도움이 되기도 한다.&lt;/li&gt;&#xA;&lt;li&gt;그 중에서 면접의 단골질문과 같은 &lt;code&gt;Dictionary&lt;/code&gt;에 대해 나누는 시간을 가졌다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-dictionary의-기본적인-특징&#34;&gt;II. Dictionary의 기본적인 특징&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Dictionary&lt;/code&gt;는 영어 원뜻 그대로 사전을 생각하면 된다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Dictionary&lt;/code&gt;는 &lt;code&gt;List&lt;/code&gt;와 유사한 부분이 많다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;List&lt;/code&gt;와 같이 &lt;code&gt;Mutable&lt;/code&gt;이라는 뜻을 포함한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;List&lt;/code&gt;와 같이 다른 &lt;code&gt;Dictionary&lt;/code&gt;, &lt;code&gt;list&lt;/code&gt; 등을 포함시킬 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;차이점은 원소에 대한 접근방법의 차이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;List&lt;/code&gt;에서 각 원소에 대한 접근법은 &lt;code&gt;index&lt;/code&gt;을 활용한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Dictionary&lt;/code&gt;에서 각 원소에 대한 접근법은 &lt;code&gt;keys&lt;/code&gt;에 의해 접근한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-dictionary-정의&#34;&gt;III. Dictionary 정의&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;로고사진처럼, &lt;code&gt;Dictionary&lt;/code&gt;는 &lt;code&gt;key-value&lt;/code&gt;로 구성 되어 있다.&lt;/li&gt;&#xA;&lt;li&gt;Dictionary를 정의하는 방법에는 여러가지가 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-기본--를-활용한-방법&#34;&gt;(1) 기본 &lt;code&gt;{ }&lt;/code&gt;를 활용한 방법&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기본적인 문법은 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;d &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;키&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;: &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;값&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;키&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;: &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;값&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;키&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;: &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;값&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;간단하게 국내 야구팀을 &lt;code&gt;Dictionary&lt;/code&gt; 형태로 만들어보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;KOR_team1 = {&#xA;    &amp;#34;인천&amp;#34;  : &amp;#34;SK&amp;#34;, &#xA;    &amp;#34;서울1&amp;#34; : &amp;#34;LG&amp;#34;, &#xA;    &amp;#34;서울2&amp;#34; : &amp;#34;두산&amp;#34;, &#xA;    &amp;#34;창원&amp;#34;  : &amp;#34;NC&amp;#34;,&#xA;    &amp;#34;광주&amp;#34;  : &amp;#34;기아&amp;#34;,&#xA;    &amp;#34;대구&amp;#34;  : &amp;#34;삼성&amp;#34;,&#xA;    &amp;#34;대전&amp;#34;  : &amp;#34;한화&amp;#34;,&#xA;    &amp;#34;부산&amp;#34;  : &amp;#34;롯데&amp;#34;,&#xA;    &amp;#34;수원&amp;#34;  : &amp;#34;KT&amp;#34;,&#xA;    &amp;#34;고척&amp;#34;  : &amp;#34;키움&amp;#34;,&#xA;}&#xA;KOR_team1&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;{&#39;고척&#39;: &#39;키움&#39;,&#xA; &#39;광주&#39;: &#39;기아&#39;,&#xA; &#39;대구&#39;: &#39;삼성&#39;,&#xA; &#39;대전&#39;: &#39;한화&#39;,&#xA; &#39;부산&#39;: &#39;롯데&#39;,&#xA; &#39;서울1&#39;: &#39;LG&#39;,&#xA; &#39;서울2&#39;: &#39;두산&#39;,&#xA; &#39;수원&#39;: &#39;KT&#39;,&#xA; &#39;인천&#39;: &#39;SK&#39;,&#xA; &#39;창원&#39;: &#39;NC&#39;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-내장함수-dict를-활용하는-방법&#34;&gt;(2) 내장함수 &lt;code&gt;dict()&lt;/code&gt;를 활용하는 방법&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;key-value&lt;/code&gt;를 활용하는데, 이 때 &lt;code&gt;tuple&lt;/code&gt; 형태로 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;d &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; dict([&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    (&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;키&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;값&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    (&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;키&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;값),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    (&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;키&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;값&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;똑같이 야구팀을 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;KOR_team2 = dict([&#xA;  (&amp;#34;인천&amp;#34;, &amp;#34;SK&amp;#34;), &#xA;  (&amp;#34;서울1&amp;#34;, &amp;#34;LG&amp;#34;), &#xA;  (&amp;#34;서울2&amp;#34;, &amp;#34;두산&amp;#34;), &#xA;  (&amp;#34;창원&amp;#34;, &amp;#34;NC&amp;#34;), &#xA;  (&amp;#34;광주&amp;#34;, &amp;#34;기아&amp;#34;), &#xA;  (&amp;#34;대구&amp;#34;, &amp;#34;삼성&amp;#34;), &#xA;  (&amp;#34;대전&amp;#34;, &amp;#34;한화&amp;#34;), &#xA;  (&amp;#34;부산&amp;#34;, &amp;#34;롯데&amp;#34;), &#xA;  (&amp;#34;수원&amp;#34;, &amp;#34;KT&amp;#34;), &#xA;  (&amp;#34;고척&amp;#34;, &amp;#34;키움&amp;#34;)&#xA;])&#xA;&#xA;KOR_team2&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;{&#39;고척&#39;: &#39;키움&#39;,&#xA; &#39;광주&#39;: &#39;기아&#39;,&#xA; &#39;대구&#39;: &#39;삼성&#39;,&#xA; &#39;대전&#39;: &#39;한화&#39;,&#xA; &#39;부산&#39;: &#39;롯데&#39;,&#xA; &#39;서울1&#39;: &#39;LG&#39;,&#xA; &#39;서울2&#39;: &#39;두산&#39;,&#xA; &#39;수원&#39;: &#39;KT&#39;,&#xA; &#39;인천&#39;: &#39;SK&#39;,&#xA; &#39;창원&#39;: &#39;NC&#39;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;3-dict-with-spring&#34;&gt;(3) dict with spring&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;dict()&lt;/code&gt; 함수 안에 문자열 변수를 입력하는 형태로 코드를 작성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;KOR_team3 = dict(&#xA;  인천 = &amp;#34;SK&amp;#34;, &#xA;  서울1 = &amp;#34;LG&amp;#34;, &#xA;  서울2 = &amp;#34;두산&amp;#34;, &#xA;  창원 = &amp;#34;NC&amp;#34;, &#xA;  광주 = &amp;#34;기아&amp;#34;, &#xA;  대구 = &amp;#34;삼성&amp;#34;, &#xA;  대전 = &amp;#34;한화&amp;#34;, &#xA;  부산 = &amp;#34;롯데&amp;#34;, &#xA;  수원 = &amp;#34;KT&amp;#34;, &#xA;  고척 = &amp;#34;키움&amp;#34; &#xA;)&#xA;&#xA;KOR_team3&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;{&#39;고척&#39;: &#39;키움&#39;,&#xA; &#39;광주&#39;: &#39;기아&#39;,&#xA; &#39;대구&#39;: &#39;삼성&#39;,&#xA; &#39;대전&#39;: &#39;한화&#39;,&#xA; &#39;부산&#39;: &#39;롯데&#39;,&#xA; &#39;서울1&#39;: &#39;LG&#39;,&#xA; &#39;서울2&#39;: &#39;두산&#39;,&#xA; &#39;수원&#39;: &#39;KT&#39;,&#xA; &#39;인천&#39;: &#39;SK&#39;,&#xA; &#39;창원&#39;: &#39;NC&#39;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실제 &lt;code&gt;Dictionary&lt;/code&gt; 형태로 정의가 되었는지 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;print(type(KOR_team1))&#xA;print(type(KOR_team2))&#xA;print(type(KOR_team3))&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;dict&#39;&amp;gt;&#xA;&amp;lt;class &#39;dict&#39;&amp;gt;&#xA;&amp;lt;class &#39;dict&#39;&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;iv-dictionary-접근법&#34;&gt;IV. Dictionary 접근법&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Dictionary 원소 접근법은 &lt;code&gt;indexing&lt;/code&gt;이 아니라 &lt;code&gt;key&lt;/code&gt;값에 의해 결정된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;print(KOR_team1[&amp;#39;인천&amp;#39;])&#xA;print(KOR_team1[&amp;#39;부산&amp;#39;])&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;SK&#xA;롯데&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;만약에 전주에 새로운 야구팀(현대)이 생겼다고 가정하자.&lt;/li&gt;&#xA;&lt;li&gt;추가하는 소스코드는 아래와 같다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;KOR_team1[&amp;#39;전주&amp;#39;] = &amp;#34;현대&amp;#34;&#xA;KOR_team1&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;{&#39;고척&#39;: &#39;키움&#39;,&#xA; &#39;광주&#39;: &#39;기아&#39;,&#xA; &#39;대구&#39;: &#39;삼성&#39;,&#xA; &#39;대전&#39;: &#39;한화&#39;,&#xA; &#39;부산&#39;: &#39;롯데&#39;,&#xA; &#39;서울1&#39;: &#39;LG&#39;,&#xA; &#39;서울2&#39;: &#39;두산&#39;,&#xA; &#39;수원&#39;: &#39;KT&#39;,&#xA; &#39;인천&#39;: &#39;SK&#39;,&#xA; &#39;전주&#39;: &#39;현대&#39;,&#xA; &#39;창원&#39;: &#39;NC&#39;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;전주&lt;/code&gt;: &lt;code&gt;현대&lt;/code&gt;가 추가된 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;이번에는 방금 추가한 &lt;code&gt;전주&lt;/code&gt;: &lt;code&gt;현대&lt;/code&gt;를 삭제하도록 하자. (&lt;code&gt;del&lt;/code&gt;) 함수 사용&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;del KOR_team1[&amp;#39;전주&amp;#39;]&#xA;KOR_team1&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;{&#39;고척&#39;: &#39;키움&#39;,&#xA; &#39;광주&#39;: &#39;기아&#39;,&#xA; &#39;대구&#39;: &#39;삼성&#39;,&#xA; &#39;대전&#39;: &#39;한화&#39;,&#xA; &#39;부산&#39;: &#39;롯데&#39;,&#xA; &#39;서울1&#39;: &#39;LG&#39;,&#xA; &#39;서울2&#39;: &#39;두산&#39;,&#xA; &#39;수원&#39;: &#39;KT&#39;,&#xA; &#39;인천&#39;: &#39;SK&#39;,&#xA; &#39;창원&#39;: &#39;NC&#39;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;정상적으로 삭제가 된 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;v-dictionary-using-integer&#34;&gt;V. Dictionary Using Integer&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이전까지 접근한 것은 문자를 입력해서 접근했다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Integer&lt;/code&gt;로 활용하는 방법은 없을까?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;dic = {0: &amp;#39;a&amp;#39;, 1: &amp;#39;b&amp;#39;, 2: &amp;#39;c&amp;#39;, 3: &amp;#39;d&amp;#39;}&#xA;dic&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;{0: &#39;a&#39;, 1: &#39;b&#39;, 2: &#39;c&#39;, 3: &#39;d&#39;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;print(dic[0])&#xA;print(dic[1])&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;a&#xA;b&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그러나 주의해야 하는 것은 &lt;code&gt;dic&lt;/code&gt;는 &lt;code&gt;list&lt;/code&gt;가 아니다.&lt;/li&gt;&#xA;&lt;li&gt;즉, &lt;code&gt;list&lt;/code&gt;에서 할 수 있었던, &lt;code&gt;slicing&lt;/code&gt;이나 &lt;code&gt;append&lt;/code&gt;를 사용할 수 없다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;관련 에러 몇개를 확인해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;dic.append(&amp;#39;e&amp;#39;)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;---------------------------------------------------------------------------&#xA;&#xA;AttributeError                            Traceback (most recent call last)&#xA;&#xA;&amp;lt;ipython-input-20-8bfa5988d009&amp;gt; in &amp;lt;module&amp;gt;()&#xA;----&amp;gt; 1 dic.append(&#39;e&#39;)&#xA;&#xA;&#xA;AttributeError: &#39;dict&#39; object has no attribute &#39;append&#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;AttributeError: &#39;dict&#39; object has no attribute &#39;append&#39;&lt;/code&gt; 이 뜻이 함의하는 것은 &lt;code&gt;dictionary&lt;/code&gt;에는 &lt;code&gt;append&lt;/code&gt;라는 속성값이 없다는 뜻이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;dic[0:2]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;---------------------------------------------------------------------------&#xA;&#xA;TypeError                                 Traceback (most recent call last)&#xA;&#xA;&amp;lt;ipython-input-21-82c17d59c309&amp;gt; in &amp;lt;module&amp;gt;()&#xA;----&amp;gt; 1 dic[0:2]&#xA;&#xA;&#xA;TypeError: unhashable type: &#39;slice&#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;마찬가지로 &lt;code&gt;list&lt;/code&gt;에서 작동했던 &lt;code&gt;slice&lt;/code&gt;는 여기에서는 존재하지 않는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;vi-dictionary와-관련된-여러-함수-소개&#34;&gt;VI. Dictionary와 관련된 여러 함수 소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Dictionary와 함께 사용되면 좋은 함수들을 간단하게 소개 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-dclear&#34;&gt;(1) d.clear()&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 아래 코드를 확인해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;dic = {&amp;#39;A&amp;#39;: 1, &amp;#39;B&amp;#39;: 2, &amp;#39;C&amp;#39;: 3}&#xA;dic&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;{&#39;A&#39;: 1, &#39;B&#39;: 2, &#39;C&#39;: 3}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;clear() 함수 적용 뒤 결과값을 확인해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;dic.clear()&#xA;dic&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;{}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;결과값을 확인해보니 모두 삭제된 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-dget&#34;&gt;(2) d.get()&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;get()&lt;/code&gt;함수는 &lt;code&gt;key&lt;/code&gt;값을 활용해서 &lt;code&gt;value&lt;/code&gt;값을 가져오는 함수다.&lt;/li&gt;&#xA;&lt;li&gt;소스코드를 통해 확인하자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;dic = {&amp;#39;A&amp;#39;: 1, &amp;#39;B&amp;#39;: 2, &amp;#39;C&amp;#39;: 3}&#xA;print(dic.get(&amp;#39;B&amp;#39;))&#xA;print(dic.get(&amp;#39;Z&amp;#39;))&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;2&#xA;None&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;.get(&#39;B&#39;)&lt;/code&gt;에 해당하는 &lt;code&gt;Dictionary&lt;/code&gt;값이 존재하기 때문에 2를 반환한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;.get(&#39;Z&#39;)&lt;/code&gt;에 해당하는 &lt;code&gt;Dictionary&lt;/code&gt;값이 존재하지 않기 때문에 &lt;code&gt;None&lt;/code&gt;을 반환한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그런데 &lt;code&gt;None&lt;/code&gt;을 반환하기 보다 특정 숫자 또는 문자로 출력하고 싶다면 다음과 같이 입력하면 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;print(dic.get(&amp;#39;z&amp;#39;, 0))&#xA;print(dic.get(&amp;#39;z&amp;#39;, &amp;#34;없음&amp;#34;))&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;0&#xA;없음&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;3-dkeys&#34;&gt;(3) d.keys()&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Dictionary&lt;/code&gt;는 &lt;code&gt;key&lt;/code&gt;와 &lt;code&gt;value&lt;/code&gt;로 구성되어 있는데, &lt;code&gt;keys()&lt;/code&gt;의 뜻은 현재 구성되어 있는 &lt;code&gt;Dictionary&lt;/code&gt;에서 &lt;code&gt;keys()&lt;/code&gt;를 &lt;code&gt;dict_keys&lt;/code&gt; 형태로 반환한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때, &lt;code&gt;list&lt;/code&gt;로 변환을 하려면 &lt;code&gt;list()&lt;/code&gt;를 활용하면 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;dic = {&amp;#39;A&amp;#39;: 1, &amp;#39;B&amp;#39;: 2, &amp;#39;C&amp;#39;: 3}&#xA;print(dic.keys())&#xA;print(list(dic.keys()))&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;dict_keys([&#39;A&#39;, &#39;B&#39;, &#39;C&#39;])&#xA;[&#39;A&#39;, &#39;B&#39;, &#39;C&#39;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;4-dvalues&#34;&gt;(4) d.values()&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;keys()&lt;/code&gt;를 활용하여 &lt;code&gt;key&lt;/code&gt;를 반환했던 것처럼, &lt;code&gt;values()&lt;/code&gt;를 활용하여 &lt;code&gt;value&lt;/code&gt;를 진행하자.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;코드는 위와 동일하다. 다만, 함수만 바꾼다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;dic = {&amp;#39;A&amp;#39;: 1, &amp;#39;B&amp;#39;: 2, &amp;#39;C&amp;#39;: 3}&#xA;print(dic.values())&#xA;print(list(dic.values()))&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;dict_values([1, 2, 3])&#xA;[1, 2, 3]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그 외에도 &lt;code&gt;pop()&lt;/code&gt;, &lt;code&gt;popitem()&lt;/code&gt;, &lt;code&gt;update()&lt;/code&gt;를 활용법을 익혀본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;vii-reference&#34;&gt;VII. Reference&lt;/h2&gt;&#xA;&lt;p&gt;w3schools. Python Dictionaries. Retrieved June 20, 2020, from &lt;a href=&#34;https://www.w3schools.com/python/python_dictionaries.asp&#34;&gt;https://www.w3schools.com/python/python_dictionaries.asp&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>The difference betwen Lists and Tuples in Python</title>
      <link>https://dschloe.github.io/programming/2020/06/chapter_3_1_lists_and_tuples/</link>
      <pubDate>Thu, 18 Jun 2020 01:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/chapter_3_1_lists_and_tuples/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_3_1_lists_and_tuples/logo.jpg#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번 시간부터 본격적으로 파이썬의 기초 자료형에 대해 간단한 튜토리얼을 준비했다.&lt;/li&gt;&#xA;&lt;li&gt;데이터 분석과는 큰 관계가 없을 수 있지만, 데이터 정제 할 때, 도움이 되기도 한다.&lt;/li&gt;&#xA;&lt;li&gt;그 중에서 면접의 단골질문과 같은 &lt;code&gt;Lists &amp;amp; Tuple&lt;/code&gt;에 대해 나누는 시간을 가졌다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-lists&#34;&gt;II. Lists&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 &lt;code&gt;Lists&lt;/code&gt;는 &lt;code&gt;[]&lt;/code&gt; 형태로 정의가 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alphabet &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;A&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;C&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;D&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(alphabet)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[&#39;A&#39;, &#39;B&#39;, &#39;C&#39;, &#39;D&#39;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;코드는 간단하다. 그러나 함의하고 있는 내용은 다음과 같다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;List&lt;/code&gt;는 정렬(&lt;code&gt;ordered&lt;/code&gt;)되었다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;List&lt;/code&gt;는 다양한 형태의 데이터 유형을 담을 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;List&lt;/code&gt;안에 있는 값은 인덱스로 접근한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;List&lt;/code&gt;안에 또다른 &lt;code&gt;List&lt;/code&gt;를 담을 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;List&lt;/code&gt;는 변하기 쉽다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;List&lt;/code&gt;는 동적이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-list는-정렬ordered되었다&#34;&gt;(1) &lt;code&gt;List&lt;/code&gt;는 정렬(&lt;code&gt;ordered&lt;/code&gt;)되었다.&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 코드로 확인하자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;a1 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;a2 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;a1 &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; a2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;False&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;a1 &lt;span style=&#34;color:#f92672&#34;&gt;is&lt;/span&gt; a2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;False&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;False&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;일련의 코드는 &lt;code&gt;a1&lt;/code&gt;과 &lt;code&gt;a2&lt;/code&gt;가 같지 않다는 것을 프로그래밍적으로 증명한 것이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;좀 더 쉽게 표현하면 &lt;code&gt;List&lt;/code&gt;안에 있는 값은 순서가 있다는 뜻이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-list는-다양한-형태의-데이터-유형을-담을-수-있다&#34;&gt;(2) &lt;code&gt;List&lt;/code&gt;는 다양한 형태의 데이터 유형을 담을 수 있다.&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;List&lt;/code&gt;의 편리성이기도 하지만, 분석시에는 데이터프레임으로 변환할 때 큰 애로사항이 되기도 한다.&lt;/li&gt;&#xA;&lt;li&gt;우선, 코드로 확인해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;multi_values &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;11.1&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;foo&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;bar&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3.1245&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(multi_values)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[11.1, &#39;foo&#39;, 3, 5, &#39;bar&#39;, True, False, 3.1245]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;또한, &lt;code&gt;List&lt;/code&gt;는 다양한 함수, class, 심지어는 모듈도 담을 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;float&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;float&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;len&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;function len&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;temp&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;pass&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;function __main__.temp&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; math&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;math&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;module &#39;math&#39; (built-in)&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;multi_objects &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [float, len, temp, math]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;multi_objects&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[float, &amp;lt;function len&amp;gt;, &amp;lt;function __main__.temp&amp;gt;, &amp;lt;module &#39;math&#39; (built-in)&amp;gt;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;3-list안에-있는-값은-인덱스로-접근한다&#34;&gt;(3) &lt;code&gt;List&lt;/code&gt;안에 있는 값은 인덱스로 접근한다.&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 그림이 인덱스로 접근하는 기본적인 방법이다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참고로 또다른 분석 언어인 &lt;code&gt;R&lt;/code&gt;은 &lt;code&gt;0&lt;/code&gt;이 아닌 &lt;code&gt;1&lt;/code&gt;부터 시작한다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_3_1_lists_and_tuples/list_indices.png#center&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;소스코드로 빠르게 확인해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;A&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;B&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;C&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;D&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;E&amp;#34;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&#39;A&#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&#39;B&#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp[&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&#39;E&#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그런데, &lt;code&gt;Negative List&lt;/code&gt; 형태로도 접근할 수 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;-1&lt;/code&gt;, &lt;code&gt;-2&lt;/code&gt;와 같은 형태로 접근하는 것이다.&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_3_1_lists_and_tuples/negative_list_indices.png#center&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;코드를 통해 확인해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp[&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&#39;E&#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp[&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&#39;B&#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp[&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&#39;A&#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;슬라이싱을 활용한 인덱스 접근법도 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;temp[m:n] 형태로 &lt;code&gt;From M to N&lt;/code&gt;으로 접근한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;코드를 통해서 확인해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[&#39;A&#39;, &#39;B&#39;, &#39;C&#39;, &#39;D&#39;, &#39;E&#39;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp[&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[&#39;C&#39;, &#39;D&#39;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp[&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[&#39;A&#39;, &#39;B&#39;, &#39;C&#39;, &#39;D&#39;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;temp[&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;:]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[&#39;A&#39;, &#39;B&#39;, &#39;C&#39;, &#39;D&#39;, &#39;E&#39;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 외에도, 슬라이싱 기법을 활용한 다양한 접근법이 있다. 스택오버플로우의 문서를 확인해보면 보다 더 많은 정보를 얻을 수 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://stackoverflow.com/questions/509211/understanding-slice-notation&#34;&gt;Understanding slice notation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;4-list안에-또다른-list를-담을-수-있다&#34;&gt;(4) &lt;code&gt;List&lt;/code&gt;안에 또다른 &lt;code&gt;List&lt;/code&gt;를 담을 수 있다.&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;List&lt;/code&gt;안에 다양한 객체가 들어가 있음을 확인했다.&lt;/li&gt;&#xA;&lt;li&gt;그런데, &lt;code&gt;List&lt;/code&gt;안에 또 다른 &lt;code&gt;List&lt;/code&gt;가 들어갈 수도 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_3_1_lists_and_tuples/nested_list.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Google Colab with Kaggle - Beginner</title>
      <link>https://dschloe.github.io/programming/2020/06/kaggle_with_colab_beginner/</link>
      <pubDate>Wed, 17 Jun 2020 20:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/kaggle_with_colab_beginner/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_1_6_Colab_with_Kaggle/logo.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 시각화와 변환에 대해 짧게 익혔다면 바로 실전 데이터를 활용한다.&lt;/li&gt;&#xA;&lt;li&gt;이론이 조금 부족하게 느껴질 수 있지만, 모든 것을 다 알려드릴 수는 없다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;결국 공부는 스스로 해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이 강의의 목적이 &lt;code&gt;Kaggle&lt;/code&gt; 데이터를 활용한 Python 포트폴리오 제작 강의임을 잊지 말자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-kaggle-kpi-설치&#34;&gt;II. Kaggle KPI 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Google Colab&lt;/code&gt;에서 &lt;code&gt;Kaggle API&lt;/code&gt;를 불러오려면 다음 소스코드를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;!pip install kaggle&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;Requirement already satisfied: kaggle in /usr/local/lib/python3.6/dist-packages (1.5.6)&#xA;Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.23.0)&#xA;Requirement already satisfied: python-dateutil in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.8.1)&#xA;Requirement already satisfied: six&amp;gt;=1.10 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.12.0)&#xA;Requirement already satisfied: tqdm in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.41.1)&#xA;Requirement already satisfied: urllib3&amp;lt;1.25,&amp;gt;=1.21.1 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.24.3)&#xA;Requirement already satisfied: certifi in /usr/local/lib/python3.6/dist-packages (from kaggle) (2020.4.5.1)&#xA;Requirement already satisfied: python-slugify in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.0.0)&#xA;Requirement already satisfied: chardet&amp;lt;4,&amp;gt;=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests-&amp;gt;kaggle) (3.0.4)&#xA;Requirement already satisfied: idna&amp;lt;3,&amp;gt;=2.5 in /usr/local/lib/python3.6/dist-packages (from requests-&amp;gt;kaggle) (2.9)&#xA;Requirement already satisfied: text-unidecode&amp;gt;=1.3 in /usr/local/lib/python3.6/dist-packages (from python-slugify-&amp;gt;kaggle) (1.3)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;iii-kaggle-token-다운로드&#34;&gt;III. Kaggle Token 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Kaggle에서 &lt;code&gt;API Token&lt;/code&gt;을 다운로드 받는다.&lt;/li&gt;&#xA;&lt;li&gt;[Kaggle]-[My Account]-[API]-[Create New API Token]을 누르면 kaggle.json 파일이 다운로드 된다.&lt;/li&gt;&#xA;&lt;li&gt;이 파일을 바탕화면에 옮긴 뒤, 아래 코드를 실행 시킨다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;from google.colab import files&#xA;uploaded = files.upload()&#xA;for fn in uploaded.keys():&#xA;  print(&amp;#39;uploaded file &amp;#34;{name}&amp;#34; with length {length} bytes&amp;#39;.format(&#xA;      name=fn, length=len(uploaded[fn])))&#xA;  &#xA;# kaggle.json을 아래 폴더로 옮긴 뒤, file을 사용할 수 있도록 권한을 부여한다. &#xA;!mkdir -p ~/.kaggle/ &amp;amp;&amp;amp; mv kaggle.json ~/.kaggle/ &amp;amp;&amp;amp; chmod 600 ~/.kaggle/kaggle.json&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;input type=&#34;file&#34; id=&#34;files-2e8421b4-2180-4f4a-9aa4-45303ca5ca35&#34; name=&#34;files[]&#34; multiple disabled&#xA;style=&#34;border:none&#34; /&gt;&#xA;&lt;output id=&#34;result-2e8421b4-2180-4f4a-9aa4-45303ca5ca35&#34;&gt;&#xA;Upload widget is only available when the cell has been executed in the&#xA;current browser session. Please rerun this cell to enable.&#xA;&lt;/output&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>EDA with Housing Price Prediction - Handling Outliers</title>
      <link>https://dschloe.github.io/programming/2020/06/chapter_2_11_eda_with_outliers/</link>
      <pubDate>Tue, 16 Jun 2020 10:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/chapter_2_11_eda_with_outliers/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_2_10_eda_with_missingvalues/tutorial_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 본격적으로 Kaggle 데이터를 활용하여 분석을 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;데이터는 이미 다운 받은 상태를 전제로 하며, 만약에 데이터가 없다면 이전 포스팅에서 절차를 확인하기 바란다. (미리보기 가능)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/kaggle/colab_with_drive/&#34;&gt;캐글 데이터 다운로드 받기 (via Colab)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-구글-드라이브-연동&#34;&gt;II. 구글 드라이브 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 코랩을 시작하면 언제든지 가장 먼저 해야 하는 것은 드라이브 연동이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;from google.colab import drive # 패키지 불러오기 &#xA;from os.path import join  &#xA;&#xA;ROOT = &amp;#34;/content/drive&amp;#34;     # 드라이브 기본 경로&#xA;print(ROOT)                 # print content of ROOT (Optional)&#xA;drive.mount(ROOT)           # 드라이브 기본 경로 Mount&#xA;&#xA;MY_GOOGLE_DRIVE_PATH = &amp;#39;My Drive/Colab Notebooks/inflearn_kaggle/&amp;#39; # 프로젝트 경로&#xA;PROJECT_PATH = join(ROOT, MY_GOOGLE_DRIVE_PATH) # 프로젝트 경로&#xA;print(PROJECT_PATH)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/content/drive&#xA;Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&amp;amp;redirect_uri=urn%3aietf%3awg%3aoauth%3a2.0%3aoob&amp;amp;response_type=code&amp;amp;scope=email%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdocs.test%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive.photos.readonly%20https%3a%2f%2fwww.googleapis.com%2fauth%2fpeopleapi.readonly&#xA;&#xA;Enter your authorization code:&#xA;··········&#xA;Mounted at /content/drive&#xA;/content/drive/My Drive/Colab Notebooks/inflearn_kaggle/&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;%cd &amp;#34;{PROJECT_PATH}&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/inflearn_kaggle&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 코드가 에러 없이 돌아간다면 이제 데이터를 불러올 차례다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;!ls&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;data  docs  source&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 &lt;code&gt;inflearn_kaggle&lt;/code&gt; 폴더안에 &lt;code&gt;data&lt;/code&gt;, &lt;code&gt;docs&lt;/code&gt;, &lt;code&gt;source&lt;/code&gt; 등의 하위 폴더를 추가로 만들었다.&lt;/li&gt;&#xA;&lt;li&gt;즉, &lt;code&gt;data&lt;/code&gt; 안에 다운로드 받은 파일이 있을 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-캐글-데이터-수집-및-eda&#34;&gt;III. 캐글 데이터 수집 및 EDA&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 데이터를 수집하기에 앞서서 &lt;code&gt;EDA&lt;/code&gt;에 관한 필수 패키지를 설치하자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas_profiling&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; mpl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; figure&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; IPython.core.display &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; display, HTML&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; pandas_profiling &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; ProfileReport&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/usr/local/lib/python3.6/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.&#xA;  import pandas.util.testing as tm&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;%matplotlib inline&#xA;import matplotlib.pylab as plt&#xA;&#xA;plt.rcParams[&amp;#34;figure.figsize&amp;#34;] = (14,4)&#xA;plt.rcParams[&amp;#39;lines.linewidth&amp;#39;] = 2&#xA;plt.rcParams[&amp;#39;lines.color&amp;#39;] = &amp;#39;r&amp;#39;&#xA;plt.rcParams[&amp;#39;axes.grid&amp;#39;] = True &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;1-데이터-수집&#34;&gt;(1) 데이터 수집&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지난 시간에 받은 데이터가 총 4개임을 확인했다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;data_description.txt&lt;/li&gt;&#xA;&lt;li&gt;sample_submission.csv&lt;/li&gt;&#xA;&lt;li&gt;test.csv&lt;/li&gt;&#xA;&lt;li&gt;train.csv&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;여기에서는 우선 &lt;code&gt;test.csv&lt;/code&gt; &amp;amp; &lt;code&gt;train.csv&lt;/code&gt; 파일을 받도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;data/train.csv&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;data/test.csv&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data import is done&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;data import is done&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-데이터-확인&#34;&gt;(2) 데이터 확인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Kaggle&lt;/code&gt; 데이터를 불러오면 우선 확인해야 하는 것은 데이터셋의 크기다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;변수의 갯수&lt;/li&gt;&#xA;&lt;li&gt;Numeric 변수 &amp;amp; Categorical 변수의 개수 등을 파악해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Point 1 - &lt;code&gt;train&lt;/code&gt;데이터에서 굳이 훈련데이터와 테스트 데이터를 구분할 필요는 없다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;보통 &lt;code&gt;Kaggle&lt;/code&gt;에서는 테스트 데이터를 주기적으로 업데이트 해준다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Point 2 - 보통 &lt;code&gt;test&lt;/code&gt; 데이터의 변수의 개수가 하나 더 작다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;((1460, 81), (1459, 80))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그 후 &lt;code&gt;train&lt;/code&gt;데이터의 &lt;code&gt;상위 5개&lt;/code&gt;의 데이터만 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;display(train.head())&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&#34;width:100%; height:400px; overflow:auto&#34;&gt;&#xA;    &lt;style scoped&gt;&#xA;        #dataframe {&#xA;            font-family: &#34;Trebuchet MS&#34;, Arial, Helvetica, sans-serif;&#xA;            border-collapse: collapse;&#xA;        }&#xA;&#xA;        #dataframe td,&#xA;        #dataframe th {&#xA;            border: 1px solid #ddd;&#xA;            padding: 8px;&#xA;        }&#xA;&#xA;        #dataframe tr:nth-child(even) {&#xA;            background-color: #f2f2f2;&#xA;        }&#xA;&#xA;        #dataframe tr:hover {&#xA;            background-color: #ddd;&#xA;        }&#xA;&#xA;        #dataframe th {&#xA;            padding-top: 12px;&#xA;            padding-bottom: 12px;&#xA;            text-align: left;&#xA;            background-color: rgb(175, 107, 76);&#xA;            color: white;&#xA;        }&#xA;    &lt;/style&gt;&#xA;    &lt;table border=&#34;1&#34; id=&#34;dataframe&#34;&gt;&#xA;        &lt;thead&gt;&#xA;            &lt;tr style=&#34;text-align: right;&#34;&gt;&#xA;                &lt;th&gt;&lt;/th&gt;&#xA;                &lt;th&gt;Id&lt;/th&gt;&#xA;                &lt;th&gt;MSSubClass&lt;/th&gt;&#xA;                &lt;th&gt;MSZoning&lt;/th&gt;&#xA;                &lt;th&gt;LotFrontage&lt;/th&gt;&#xA;                &lt;th&gt;LotArea&lt;/th&gt;&#xA;                &lt;th&gt;Street&lt;/th&gt;&#xA;                &lt;th&gt;Alley&lt;/th&gt;&#xA;                &lt;th&gt;LotShape&lt;/th&gt;&#xA;                &lt;th&gt;LandContour&lt;/th&gt;&#xA;                &lt;th&gt;Utilities&lt;/th&gt;&#xA;                &lt;th&gt;LotConfig&lt;/th&gt;&#xA;                &lt;th&gt;LandSlope&lt;/th&gt;&#xA;                &lt;th&gt;Neighborhood&lt;/th&gt;&#xA;                &lt;th&gt;Condition1&lt;/th&gt;&#xA;                &lt;th&gt;Condition2&lt;/th&gt;&#xA;                &lt;th&gt;BldgType&lt;/th&gt;&#xA;                &lt;th&gt;HouseStyle&lt;/th&gt;&#xA;                &lt;th&gt;OverallQual&lt;/th&gt;&#xA;                &lt;th&gt;OverallCond&lt;/th&gt;&#xA;                &lt;th&gt;YearBuilt&lt;/th&gt;&#xA;                &lt;th&gt;YearRemodAdd&lt;/th&gt;&#xA;                &lt;th&gt;RoofStyle&lt;/th&gt;&#xA;                &lt;th&gt;RoofMatl&lt;/th&gt;&#xA;                &lt;th&gt;Exterior1st&lt;/th&gt;&#xA;                &lt;th&gt;Exterior2nd&lt;/th&gt;&#xA;                &lt;th&gt;MasVnrType&lt;/th&gt;&#xA;                &lt;th&gt;MasVnrArea&lt;/th&gt;&#xA;                &lt;th&gt;ExterQual&lt;/th&gt;&#xA;                &lt;th&gt;ExterCond&lt;/th&gt;&#xA;                &lt;th&gt;Foundation&lt;/th&gt;&#xA;                &lt;th&gt;BsmtQual&lt;/th&gt;&#xA;                &lt;th&gt;BsmtCond&lt;/th&gt;&#xA;                &lt;th&gt;BsmtExposure&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinType1&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinSF1&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinType2&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinSF2&lt;/th&gt;&#xA;                &lt;th&gt;BsmtUnfSF&lt;/th&gt;&#xA;                &lt;th&gt;TotalBsmtSF&lt;/th&gt;&#xA;                &lt;th&gt;Heating&lt;/th&gt;&#xA;                &lt;th&gt;...&lt;/th&gt;&#xA;                &lt;th&gt;CentralAir&lt;/th&gt;&#xA;                &lt;th&gt;Electrical&lt;/th&gt;&#xA;                &lt;th&gt;1stFlrSF&lt;/th&gt;&#xA;                &lt;th&gt;2ndFlrSF&lt;/th&gt;&#xA;                &lt;th&gt;LowQualFinSF&lt;/th&gt;&#xA;                &lt;th&gt;GrLivArea&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFullBath&lt;/th&gt;&#xA;                &lt;th&gt;BsmtHalfBath&lt;/th&gt;&#xA;                &lt;th&gt;FullBath&lt;/th&gt;&#xA;                &lt;th&gt;HalfBath&lt;/th&gt;&#xA;                &lt;th&gt;BedroomAbvGr&lt;/th&gt;&#xA;                &lt;th&gt;KitchenAbvGr&lt;/th&gt;&#xA;                &lt;th&gt;KitchenQual&lt;/th&gt;&#xA;                &lt;th&gt;TotRmsAbvGrd&lt;/th&gt;&#xA;                &lt;th&gt;Functional&lt;/th&gt;&#xA;                &lt;th&gt;Fireplaces&lt;/th&gt;&#xA;                &lt;th&gt;FireplaceQu&lt;/th&gt;&#xA;                &lt;th&gt;GarageType&lt;/th&gt;&#xA;                &lt;th&gt;GarageYrBlt&lt;/th&gt;&#xA;                &lt;th&gt;GarageFinish&lt;/th&gt;&#xA;                &lt;th&gt;GarageCars&lt;/th&gt;&#xA;                &lt;th&gt;GarageArea&lt;/th&gt;&#xA;                &lt;th&gt;GarageQual&lt;/th&gt;&#xA;                &lt;th&gt;GarageCond&lt;/th&gt;&#xA;                &lt;th&gt;PavedDrive&lt;/th&gt;&#xA;                &lt;th&gt;WoodDeckSF&lt;/th&gt;&#xA;                &lt;th&gt;OpenPorchSF&lt;/th&gt;&#xA;                &lt;th&gt;EnclosedPorch&lt;/th&gt;&#xA;                &lt;th&gt;3SsnPorch&lt;/th&gt;&#xA;                &lt;th&gt;ScreenPorch&lt;/th&gt;&#xA;                &lt;th&gt;PoolArea&lt;/th&gt;&#xA;                &lt;th&gt;PoolQC&lt;/th&gt;&#xA;                &lt;th&gt;Fence&lt;/th&gt;&#xA;                &lt;th&gt;MiscFeature&lt;/th&gt;&#xA;                &lt;th&gt;MiscVal&lt;/th&gt;&#xA;                &lt;th&gt;MoSold&lt;/th&gt;&#xA;                &lt;th&gt;YrSold&lt;/th&gt;&#xA;                &lt;th&gt;SaleType&lt;/th&gt;&#xA;                &lt;th&gt;SaleCondition&lt;/th&gt;&#xA;                &lt;th&gt;SalePrice&lt;/th&gt;&#xA;            &lt;/tr&gt;&#xA;        &lt;/thead&gt;&#xA;        &lt;tbody&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;0&lt;/th&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;65.0&lt;/td&gt;&#xA;                &lt;td&gt;8450&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;CollgCr&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2003&lt;/td&gt;&#xA;                &lt;td&gt;2003&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;BrkFace&lt;/td&gt;&#xA;                &lt;td&gt;196.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;706&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;150&lt;/td&gt;&#xA;                &lt;td&gt;856&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;856&lt;/td&gt;&#xA;                &lt;td&gt;854&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1710&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;2003.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;548&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;61&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;208500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1&lt;/th&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;80.0&lt;/td&gt;&#xA;                &lt;td&gt;9600&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;FR2&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Veenker&lt;/td&gt;&#xA;                &lt;td&gt;Feedr&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;1976&lt;/td&gt;&#xA;                &lt;td&gt;1976&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;ALQ&lt;/td&gt;&#xA;                &lt;td&gt;978&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;284&lt;/td&gt;&#xA;                &lt;td&gt;1262&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1262&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1262&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1976.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;460&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;298&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2007&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;181500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;2&lt;/th&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;68.0&lt;/td&gt;&#xA;                &lt;td&gt;11250&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;IR1&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;CollgCr&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2001&lt;/td&gt;&#xA;                &lt;td&gt;2002&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;BrkFace&lt;/td&gt;&#xA;                &lt;td&gt;162.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Mn&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;486&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;434&lt;/td&gt;&#xA;                &lt;td&gt;920&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;920&lt;/td&gt;&#xA;                &lt;td&gt;866&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1786&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;2001.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;608&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;42&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;223500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;3&lt;/th&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;70&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;60.0&lt;/td&gt;&#xA;                &lt;td&gt;9550&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;IR1&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Corner&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Crawfor&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;1915&lt;/td&gt;&#xA;                &lt;td&gt;1970&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;Wd Sdng&lt;/td&gt;&#xA;                &lt;td&gt;Wd Shng&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;BrkTil&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;ALQ&lt;/td&gt;&#xA;                &lt;td&gt;216&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;540&lt;/td&gt;&#xA;                &lt;td&gt;756&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;961&lt;/td&gt;&#xA;                &lt;td&gt;756&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1717&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;Detchd&lt;/td&gt;&#xA;                &lt;td&gt;1998.0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;642&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;35&lt;/td&gt;&#xA;                &lt;td&gt;272&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;2006&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Abnorml&lt;/td&gt;&#xA;                &lt;td&gt;140000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;4&lt;/th&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;84.0&lt;/td&gt;&#xA;                &lt;td&gt;14260&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;IR1&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;FR2&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;NoRidge&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2000&lt;/td&gt;&#xA;                &lt;td&gt;2000&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;BrkFace&lt;/td&gt;&#xA;                &lt;td&gt;350.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Av&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;655&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;490&lt;/td&gt;&#xA;                &lt;td&gt;1145&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1145&lt;/td&gt;&#xA;                &lt;td&gt;1053&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2198&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;2000.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;836&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;192&lt;/td&gt;&#xA;                &lt;td&gt;84&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;12&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;250000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;...&lt;/th&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1455&lt;/th&gt;&#xA;                &lt;td&gt;1456&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;62.0&lt;/td&gt;&#xA;                &lt;td&gt;7917&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Gilbert&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;1999&lt;/td&gt;&#xA;                &lt;td&gt;2000&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;953&lt;/td&gt;&#xA;                &lt;td&gt;953&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;953&lt;/td&gt;&#xA;                &lt;td&gt;694&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1647&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1999.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;460&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;40&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;2007&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;175000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1456&lt;/th&gt;&#xA;                &lt;td&gt;1457&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;85.0&lt;/td&gt;&#xA;                &lt;td&gt;13175&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;NWAmes&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;1978&lt;/td&gt;&#xA;                &lt;td&gt;1988&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;Plywood&lt;/td&gt;&#xA;                &lt;td&gt;Plywood&lt;/td&gt;&#xA;                &lt;td&gt;Stone&lt;/td&gt;&#xA;                &lt;td&gt;119.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;ALQ&lt;/td&gt;&#xA;                &lt;td&gt;790&lt;/td&gt;&#xA;                &lt;td&gt;Rec&lt;/td&gt;&#xA;                &lt;td&gt;163&lt;/td&gt;&#xA;                &lt;td&gt;589&lt;/td&gt;&#xA;                &lt;td&gt;1542&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;2073&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2073&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;Min1&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1978.0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;500&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;349&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;MnPrv&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;2010&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;210000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1457&lt;/th&gt;&#xA;                &lt;td&gt;1458&lt;/td&gt;&#xA;                &lt;td&gt;70&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;66.0&lt;/td&gt;&#xA;                &lt;td&gt;9042&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Crawfor&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;1941&lt;/td&gt;&#xA;                &lt;td&gt;2006&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;CemntBd&lt;/td&gt;&#xA;                &lt;td&gt;CmentBd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;Ex&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;Stone&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;275&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;877&lt;/td&gt;&#xA;                &lt;td&gt;1152&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1188&lt;/td&gt;&#xA;                &lt;td&gt;1152&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2340&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1941.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;252&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;GdPrv&lt;/td&gt;&#xA;                &lt;td&gt;Shed&lt;/td&gt;&#xA;                &lt;td&gt;2500&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2010&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;266500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1458&lt;/th&gt;&#xA;                &lt;td&gt;1459&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;68.0&lt;/td&gt;&#xA;                &lt;td&gt;9717&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;NAmes&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;1950&lt;/td&gt;&#xA;                &lt;td&gt;1996&lt;/td&gt;&#xA;                &lt;td&gt;Hip&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Mn&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;49&lt;/td&gt;&#xA;                &lt;td&gt;Rec&lt;/td&gt;&#xA;                &lt;td&gt;1029&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1078&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;FuseA&lt;/td&gt;&#xA;                &lt;td&gt;1078&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1078&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1950.0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;240&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;366&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;112&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;2010&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;142125&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1459&lt;/th&gt;&#xA;                &lt;td&gt;1460&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;75.0&lt;/td&gt;&#xA;                &lt;td&gt;9937&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Edwards&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;1965&lt;/td&gt;&#xA;                &lt;td&gt;1965&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;HdBoard&lt;/td&gt;&#xA;                &lt;td&gt;HdBoard&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;BLQ&lt;/td&gt;&#xA;                &lt;td&gt;830&lt;/td&gt;&#xA;                &lt;td&gt;LwQ&lt;/td&gt;&#xA;                &lt;td&gt;290&lt;/td&gt;&#xA;                &lt;td&gt;136&lt;/td&gt;&#xA;                &lt;td&gt;1256&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1256&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1256&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1965.0&lt;/td&gt;&#xA;                &lt;td&gt;Fin&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;276&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;736&lt;/td&gt;&#xA;                &lt;td&gt;68&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;147500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;        &lt;/tbody&gt;&#xA;    &lt;/table&gt;&#xA;    &lt;p&gt;1460 rows × 81 columns&lt;/p&gt;</description>
    </item>
    <item>
      <title>구글 텐서플로우 공인 자격증 취득 방법</title>
      <link>https://dschloe.github.io/programming/2020/06/tensorflow_certification/</link>
      <pubDate>Mon, 15 Jun 2020 17:10:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/tensorflow_certification/</guid>
      <description>&lt;h2 id=&#34;i-python-개발환경-20200620-기준&#34;&gt;I. Python 개발환경 (2020.06.20) 기준&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;텐서플로 자격증 시험은 &lt;code&gt;PyCharm&lt;/code&gt;에서 실행된다.&lt;/li&gt;&#xA;&lt;li&gt;텐서플로 버전 &lt;code&gt;2.x&lt;/code&gt;을 사용하고, &lt;code&gt;(1.x)&lt;/code&gt; 사용하지 않는다.&lt;/li&gt;&#xA;&lt;li&gt;파이썬 버전은 &lt;code&gt;3.7&lt;/code&gt;을 사용한다. 만약 현재 다른 버전을 사용한다면, 별도로 선정해야 하는 번거로움이 있다.&lt;/li&gt;&#xA;&lt;li&gt;추가 확인 사항&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선, &lt;code&gt;인터넷 환경이 안정적&lt;/code&gt;이어야 한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;PyCharm&lt;/code&gt; 기반 구성에 대해 익숙해져야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;작성 중&amp;hellip;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch22 Cleaner Null Handling with Coalesce</title>
      <link>https://dschloe.github.io/programming/2020/06/ch22_cleaner_null_handling_with_coalesce/</link>
      <pubDate>Sun, 14 Jun 2020 22:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/ch22_cleaner_null_handling_with_coalesce/</guid>
      <description>&lt;h2 id=&#34;i-구글-클라우드-설정&#34;&gt;I. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>EDA with Housing Price Prediction - Handling Missing Values</title>
      <link>https://dschloe.github.io/programming/2020/06/chapter_2_10_eda_with_missingvalues/</link>
      <pubDate>Sat, 13 Jun 2020 10:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/chapter_2_10_eda_with_missingvalues/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_2_10_eda_with_missingvalues/tutorial_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 본격적으로 Kaggle 데이터를 활용하여 분석을 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;데이터는 이미 다운 받은 상태를 전제로 하며, 만약에 데이터가 없다면 이전 포스팅에서 절차를 확인하기 바란다. (미리보기 가능)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/kaggle/colab_with_drive/&#34;&gt;캐글 데이터 다운로드 받기 (via Colab)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-구글-드라이브-연동&#34;&gt;II. 구글 드라이브 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 코랩을 시작하면 언제든지 가장 먼저 해야 하는 것은 드라이브 연동이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;from google.colab import drive # 패키지 불러오기 &#xA;from os.path import join  &#xA;&#xA;ROOT = &amp;#34;/content/drive&amp;#34;     # 드라이브 기본 경로&#xA;print(ROOT)                 # print content of ROOT (Optional)&#xA;drive.mount(ROOT)           # 드라이브 기본 경로 Mount&#xA;&#xA;MY_GOOGLE_DRIVE_PATH = &amp;#39;My Drive/Colab Notebooks/inflearn_kaggle/&amp;#39; # 프로젝트 경로&#xA;PROJECT_PATH = join(ROOT, MY_GOOGLE_DRIVE_PATH) # 프로젝트 경로&#xA;print(PROJECT_PATH)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/content/drive&#xA;Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&amp;amp;redirect_uri=urn%3aietf%3awg%3aoauth%3a2.0%3aoob&amp;amp;response_type=code&amp;amp;scope=email%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdocs.test%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive.photos.readonly%20https%3a%2f%2fwww.googleapis.com%2fauth%2fpeopleapi.readonly&#xA;&#xA;Enter your authorization code:&#xA;··········&#xA;Mounted at /content/drive&#xA;/content/drive/My Drive/Colab Notebooks/inflearn_kaggle/&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;%cd &amp;#34;{PROJECT_PATH}&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/inflearn_kaggle&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 코드가 에러 없이 돌아간다면 이제 데이터를 불러올 차례다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;!ls&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;data  docs  source&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 &lt;code&gt;inflearn_kaggle&lt;/code&gt; 폴더안에 &lt;code&gt;data&lt;/code&gt;, &lt;code&gt;docs&lt;/code&gt;, &lt;code&gt;source&lt;/code&gt; 등의 하위 폴더를 추가로 만들었다.&lt;/li&gt;&#xA;&lt;li&gt;즉, &lt;code&gt;data&lt;/code&gt; 안에 다운로드 받은 파일이 있을 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-캐글-데이터-수집-및-eda&#34;&gt;III. 캐글 데이터 수집 및 EDA&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 데이터를 수집하기에 앞서서 &lt;code&gt;EDA&lt;/code&gt;에 관한 필수 패키지를 설치하자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas_profiling&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; mpl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; figure&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; IPython.core.display &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; display, HTML&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; pandas_profiling &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; ProfileReport&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/usr/local/lib/python3.6/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.&#xA;  import pandas.util.testing as tm&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;%matplotlib inline&#xA;import matplotlib.pylab as plt&#xA;&#xA;plt.rcParams[&amp;#34;figure.figsize&amp;#34;] = (14,4)&#xA;plt.rcParams[&amp;#39;lines.linewidth&amp;#39;] = 2&#xA;plt.rcParams[&amp;#39;lines.color&amp;#39;] = &amp;#39;r&amp;#39;&#xA;plt.rcParams[&amp;#39;axes.grid&amp;#39;] = True &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;1-데이터-수집&#34;&gt;(1) 데이터 수집&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지난 시간에 받은 데이터가 총 4개임을 확인했다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;data_description.txt&lt;/li&gt;&#xA;&lt;li&gt;sample_submission.csv&lt;/li&gt;&#xA;&lt;li&gt;test.csv&lt;/li&gt;&#xA;&lt;li&gt;train.csv&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;여기에서는 우선 &lt;code&gt;test.csv&lt;/code&gt; &amp;amp; &lt;code&gt;train.csv&lt;/code&gt; 파일을 받도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;data/train.csv&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;data/test.csv&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data import is done&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;data import is done&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-데이터-확인&#34;&gt;(2) 데이터 확인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Kaggle&lt;/code&gt; 데이터를 불러오면 우선 확인해야 하는 것은 데이터셋의 크기다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;변수의 갯수&lt;/li&gt;&#xA;&lt;li&gt;Numeric 변수 &amp;amp; Categorical 변수의 개수 등을 파악해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Point 1 - &lt;code&gt;train&lt;/code&gt;데이터에서 굳이 훈련데이터와 테스트 데이터를 구분할 필요는 없다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;보통 &lt;code&gt;Kaggle&lt;/code&gt;에서는 테스트 데이터를 주기적으로 업데이트 해준다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Point 2 - 보통 &lt;code&gt;test&lt;/code&gt; 데이터의 변수의 개수가 하나 더 작다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;((1460, 81), (1459, 80))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그 후 &lt;code&gt;train&lt;/code&gt;데이터의 &lt;code&gt;상위 5개&lt;/code&gt;의 데이터만 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;display(train.head())&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&#34;width:100%; height:400px; overflow:auto&#34;&gt;&#xA;    &lt;style scoped&gt;&#xA;        #dataframe {&#xA;            font-family: &#34;Trebuchet MS&#34;, Arial, Helvetica, sans-serif;&#xA;            border-collapse: collapse;&#xA;        }&#xA;&#xA;        #dataframe td,&#xA;        #dataframe th {&#xA;            border: 1px solid #ddd;&#xA;            padding: 8px;&#xA;        }&#xA;&#xA;        #dataframe tr:nth-child(even) {&#xA;            background-color: #f2f2f2;&#xA;        }&#xA;&#xA;        #dataframe tr:hover {&#xA;            background-color: #ddd;&#xA;        }&#xA;&#xA;        #dataframe th {&#xA;            padding-top: 12px;&#xA;            padding-bottom: 12px;&#xA;            text-align: left;&#xA;            background-color: rgb(175, 107, 76);&#xA;            color: white;&#xA;        }&#xA;    &lt;/style&gt;&#xA;    &lt;table border=&#34;1&#34; id=&#34;dataframe&#34;&gt;&#xA;        &lt;thead&gt;&#xA;            &lt;tr style=&#34;text-align: right;&#34;&gt;&#xA;                &lt;th&gt;&lt;/th&gt;&#xA;                &lt;th&gt;Id&lt;/th&gt;&#xA;                &lt;th&gt;MSSubClass&lt;/th&gt;&#xA;                &lt;th&gt;MSZoning&lt;/th&gt;&#xA;                &lt;th&gt;LotFrontage&lt;/th&gt;&#xA;                &lt;th&gt;LotArea&lt;/th&gt;&#xA;                &lt;th&gt;Street&lt;/th&gt;&#xA;                &lt;th&gt;Alley&lt;/th&gt;&#xA;                &lt;th&gt;LotShape&lt;/th&gt;&#xA;                &lt;th&gt;LandContour&lt;/th&gt;&#xA;                &lt;th&gt;Utilities&lt;/th&gt;&#xA;                &lt;th&gt;LotConfig&lt;/th&gt;&#xA;                &lt;th&gt;LandSlope&lt;/th&gt;&#xA;                &lt;th&gt;Neighborhood&lt;/th&gt;&#xA;                &lt;th&gt;Condition1&lt;/th&gt;&#xA;                &lt;th&gt;Condition2&lt;/th&gt;&#xA;                &lt;th&gt;BldgType&lt;/th&gt;&#xA;                &lt;th&gt;HouseStyle&lt;/th&gt;&#xA;                &lt;th&gt;OverallQual&lt;/th&gt;&#xA;                &lt;th&gt;OverallCond&lt;/th&gt;&#xA;                &lt;th&gt;YearBuilt&lt;/th&gt;&#xA;                &lt;th&gt;YearRemodAdd&lt;/th&gt;&#xA;                &lt;th&gt;RoofStyle&lt;/th&gt;&#xA;                &lt;th&gt;RoofMatl&lt;/th&gt;&#xA;                &lt;th&gt;Exterior1st&lt;/th&gt;&#xA;                &lt;th&gt;Exterior2nd&lt;/th&gt;&#xA;                &lt;th&gt;MasVnrType&lt;/th&gt;&#xA;                &lt;th&gt;MasVnrArea&lt;/th&gt;&#xA;                &lt;th&gt;ExterQual&lt;/th&gt;&#xA;                &lt;th&gt;ExterCond&lt;/th&gt;&#xA;                &lt;th&gt;Foundation&lt;/th&gt;&#xA;                &lt;th&gt;BsmtQual&lt;/th&gt;&#xA;                &lt;th&gt;BsmtCond&lt;/th&gt;&#xA;                &lt;th&gt;BsmtExposure&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinType1&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinSF1&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinType2&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinSF2&lt;/th&gt;&#xA;                &lt;th&gt;BsmtUnfSF&lt;/th&gt;&#xA;                &lt;th&gt;TotalBsmtSF&lt;/th&gt;&#xA;                &lt;th&gt;Heating&lt;/th&gt;&#xA;                &lt;th&gt;...&lt;/th&gt;&#xA;                &lt;th&gt;CentralAir&lt;/th&gt;&#xA;                &lt;th&gt;Electrical&lt;/th&gt;&#xA;                &lt;th&gt;1stFlrSF&lt;/th&gt;&#xA;                &lt;th&gt;2ndFlrSF&lt;/th&gt;&#xA;                &lt;th&gt;LowQualFinSF&lt;/th&gt;&#xA;                &lt;th&gt;GrLivArea&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFullBath&lt;/th&gt;&#xA;                &lt;th&gt;BsmtHalfBath&lt;/th&gt;&#xA;                &lt;th&gt;FullBath&lt;/th&gt;&#xA;                &lt;th&gt;HalfBath&lt;/th&gt;&#xA;                &lt;th&gt;BedroomAbvGr&lt;/th&gt;&#xA;                &lt;th&gt;KitchenAbvGr&lt;/th&gt;&#xA;                &lt;th&gt;KitchenQual&lt;/th&gt;&#xA;                &lt;th&gt;TotRmsAbvGrd&lt;/th&gt;&#xA;                &lt;th&gt;Functional&lt;/th&gt;&#xA;                &lt;th&gt;Fireplaces&lt;/th&gt;&#xA;                &lt;th&gt;FireplaceQu&lt;/th&gt;&#xA;                &lt;th&gt;GarageType&lt;/th&gt;&#xA;                &lt;th&gt;GarageYrBlt&lt;/th&gt;&#xA;                &lt;th&gt;GarageFinish&lt;/th&gt;&#xA;                &lt;th&gt;GarageCars&lt;/th&gt;&#xA;                &lt;th&gt;GarageArea&lt;/th&gt;&#xA;                &lt;th&gt;GarageQual&lt;/th&gt;&#xA;                &lt;th&gt;GarageCond&lt;/th&gt;&#xA;                &lt;th&gt;PavedDrive&lt;/th&gt;&#xA;                &lt;th&gt;WoodDeckSF&lt;/th&gt;&#xA;                &lt;th&gt;OpenPorchSF&lt;/th&gt;&#xA;                &lt;th&gt;EnclosedPorch&lt;/th&gt;&#xA;                &lt;th&gt;3SsnPorch&lt;/th&gt;&#xA;                &lt;th&gt;ScreenPorch&lt;/th&gt;&#xA;                &lt;th&gt;PoolArea&lt;/th&gt;&#xA;                &lt;th&gt;PoolQC&lt;/th&gt;&#xA;                &lt;th&gt;Fence&lt;/th&gt;&#xA;                &lt;th&gt;MiscFeature&lt;/th&gt;&#xA;                &lt;th&gt;MiscVal&lt;/th&gt;&#xA;                &lt;th&gt;MoSold&lt;/th&gt;&#xA;                &lt;th&gt;YrSold&lt;/th&gt;&#xA;                &lt;th&gt;SaleType&lt;/th&gt;&#xA;                &lt;th&gt;SaleCondition&lt;/th&gt;&#xA;                &lt;th&gt;SalePrice&lt;/th&gt;&#xA;            &lt;/tr&gt;&#xA;        &lt;/thead&gt;&#xA;        &lt;tbody&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;0&lt;/th&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;65.0&lt;/td&gt;&#xA;                &lt;td&gt;8450&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;CollgCr&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2003&lt;/td&gt;&#xA;                &lt;td&gt;2003&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;BrkFace&lt;/td&gt;&#xA;                &lt;td&gt;196.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;706&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;150&lt;/td&gt;&#xA;                &lt;td&gt;856&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;856&lt;/td&gt;&#xA;                &lt;td&gt;854&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1710&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;2003.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;548&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;61&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;208500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1&lt;/th&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;80.0&lt;/td&gt;&#xA;                &lt;td&gt;9600&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;FR2&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Veenker&lt;/td&gt;&#xA;                &lt;td&gt;Feedr&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;1976&lt;/td&gt;&#xA;                &lt;td&gt;1976&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;ALQ&lt;/td&gt;&#xA;                &lt;td&gt;978&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;284&lt;/td&gt;&#xA;                &lt;td&gt;1262&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1262&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1262&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1976.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;460&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;298&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2007&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;181500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;2&lt;/th&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;68.0&lt;/td&gt;&#xA;                &lt;td&gt;11250&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;IR1&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;CollgCr&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2001&lt;/td&gt;&#xA;                &lt;td&gt;2002&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;BrkFace&lt;/td&gt;&#xA;                &lt;td&gt;162.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Mn&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;486&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;434&lt;/td&gt;&#xA;                &lt;td&gt;920&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;920&lt;/td&gt;&#xA;                &lt;td&gt;866&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1786&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;2001.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;608&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;42&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;223500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;3&lt;/th&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;70&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;60.0&lt;/td&gt;&#xA;                &lt;td&gt;9550&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;IR1&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Corner&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Crawfor&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;1915&lt;/td&gt;&#xA;                &lt;td&gt;1970&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;Wd Sdng&lt;/td&gt;&#xA;                &lt;td&gt;Wd Shng&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;BrkTil&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;ALQ&lt;/td&gt;&#xA;                &lt;td&gt;216&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;540&lt;/td&gt;&#xA;                &lt;td&gt;756&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;961&lt;/td&gt;&#xA;                &lt;td&gt;756&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1717&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;Detchd&lt;/td&gt;&#xA;                &lt;td&gt;1998.0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;642&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;35&lt;/td&gt;&#xA;                &lt;td&gt;272&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;2006&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Abnorml&lt;/td&gt;&#xA;                &lt;td&gt;140000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;4&lt;/th&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;84.0&lt;/td&gt;&#xA;                &lt;td&gt;14260&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;IR1&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;FR2&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;NoRidge&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2000&lt;/td&gt;&#xA;                &lt;td&gt;2000&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;BrkFace&lt;/td&gt;&#xA;                &lt;td&gt;350.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Av&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;655&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;490&lt;/td&gt;&#xA;                &lt;td&gt;1145&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1145&lt;/td&gt;&#xA;                &lt;td&gt;1053&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2198&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;2000.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;836&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;192&lt;/td&gt;&#xA;                &lt;td&gt;84&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;12&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;250000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;...&lt;/th&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1455&lt;/th&gt;&#xA;                &lt;td&gt;1456&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;62.0&lt;/td&gt;&#xA;                &lt;td&gt;7917&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Gilbert&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;1999&lt;/td&gt;&#xA;                &lt;td&gt;2000&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;953&lt;/td&gt;&#xA;                &lt;td&gt;953&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;953&lt;/td&gt;&#xA;                &lt;td&gt;694&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1647&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1999.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;460&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;40&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;2007&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;175000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1456&lt;/th&gt;&#xA;                &lt;td&gt;1457&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;85.0&lt;/td&gt;&#xA;                &lt;td&gt;13175&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;NWAmes&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;1978&lt;/td&gt;&#xA;                &lt;td&gt;1988&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;Plywood&lt;/td&gt;&#xA;                &lt;td&gt;Plywood&lt;/td&gt;&#xA;                &lt;td&gt;Stone&lt;/td&gt;&#xA;                &lt;td&gt;119.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;ALQ&lt;/td&gt;&#xA;                &lt;td&gt;790&lt;/td&gt;&#xA;                &lt;td&gt;Rec&lt;/td&gt;&#xA;                &lt;td&gt;163&lt;/td&gt;&#xA;                &lt;td&gt;589&lt;/td&gt;&#xA;                &lt;td&gt;1542&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;2073&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2073&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;Min1&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1978.0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;500&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;349&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;MnPrv&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;2010&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;210000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1457&lt;/th&gt;&#xA;                &lt;td&gt;1458&lt;/td&gt;&#xA;                &lt;td&gt;70&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;66.0&lt;/td&gt;&#xA;                &lt;td&gt;9042&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Crawfor&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;1941&lt;/td&gt;&#xA;                &lt;td&gt;2006&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;CemntBd&lt;/td&gt;&#xA;                &lt;td&gt;CmentBd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;Ex&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;Stone&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;275&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;877&lt;/td&gt;&#xA;                &lt;td&gt;1152&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1188&lt;/td&gt;&#xA;                &lt;td&gt;1152&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2340&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1941.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;252&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;GdPrv&lt;/td&gt;&#xA;                &lt;td&gt;Shed&lt;/td&gt;&#xA;                &lt;td&gt;2500&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2010&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;266500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1458&lt;/th&gt;&#xA;                &lt;td&gt;1459&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;68.0&lt;/td&gt;&#xA;                &lt;td&gt;9717&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;NAmes&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;1950&lt;/td&gt;&#xA;                &lt;td&gt;1996&lt;/td&gt;&#xA;                &lt;td&gt;Hip&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Mn&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;49&lt;/td&gt;&#xA;                &lt;td&gt;Rec&lt;/td&gt;&#xA;                &lt;td&gt;1029&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1078&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;FuseA&lt;/td&gt;&#xA;                &lt;td&gt;1078&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1078&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1950.0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;240&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;366&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;112&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;2010&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;142125&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1459&lt;/th&gt;&#xA;                &lt;td&gt;1460&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;75.0&lt;/td&gt;&#xA;                &lt;td&gt;9937&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Edwards&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;1965&lt;/td&gt;&#xA;                &lt;td&gt;1965&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;HdBoard&lt;/td&gt;&#xA;                &lt;td&gt;HdBoard&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;BLQ&lt;/td&gt;&#xA;                &lt;td&gt;830&lt;/td&gt;&#xA;                &lt;td&gt;LwQ&lt;/td&gt;&#xA;                &lt;td&gt;290&lt;/td&gt;&#xA;                &lt;td&gt;136&lt;/td&gt;&#xA;                &lt;td&gt;1256&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1256&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1256&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1965.0&lt;/td&gt;&#xA;                &lt;td&gt;Fin&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;276&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;736&lt;/td&gt;&#xA;                &lt;td&gt;68&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;147500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;        &lt;/tbody&gt;&#xA;    &lt;/table&gt;&#xA;    &lt;p&gt;1460 rows × 81 columns&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python 사용자 정의 함수에 대한 이해 2편 - Simple Decorator</title>
      <link>https://dschloe.github.io/programming/2020/06/understanding_function_simpledecorator/</link>
      <pubDate>Fri, 12 Jun 2020 17:20:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/understanding_function_simpledecorator/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Functions&lt;/code&gt;와 &lt;code&gt;Decorators&lt;/code&gt;에 관해 나누려고 한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;function&lt;/code&gt;는 우리가 생각하는 그 함수가 맞다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;decorator&lt;/code&gt;도 함수인데, 일종의 확장 개념으로 생각하면 좋다.&lt;/li&gt;&#xA;&lt;li&gt;지난 시간에 &lt;a href=&#34;https://chloevan.github.io/python/basic/understanding_function_innerfunction/&#34;&gt;Python 사용자 정의 함수에 대한 이해 1편 - Inner Function&lt;/a&gt;를 통해 함수의 기본적인 작동 원리에 대해 배웠다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-simple-decorators&#34;&gt;II. Simple Decorators&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Inner Function&lt;/code&gt;에 대해 기본적인 개념을 이해하였다면, 이번에는 &lt;code&gt;decorator&lt;/code&gt;에 대해 빠르게 학습하는 시간을 준비하였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;simple_decorator&lt;/span&gt;(func):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;wrapper&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Before Function&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    func()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;After Function&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; wrapper&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;say_something&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;hay, say something&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;say_something &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; simple_decorator(say_something)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;say_something()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Before Function&#xA;hay, say something&#xA;After Function&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 소스코드는 지난 시간에 배운 &lt;code&gt;inner function&lt;/code&gt;의 개념이 들어가 있다.&lt;/li&gt;&#xA;&lt;li&gt;보통 &lt;code&gt;decorator&lt;/code&gt;라고 말할 수 있는 시점은 &lt;code&gt;say_something = simple_decorator(say_something)&lt;/code&gt; 이다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;say_something&lt;/code&gt; 함수는 &lt;code&gt;wrapper()&lt;/code&gt; 함수 안에 있는 &lt;code&gt;inner function&lt;/code&gt;을 의미한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;say_something&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;function __main__.simple_decorator.&amp;lt;locals&amp;gt;.wrapper&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그런데, &lt;code&gt;wrapper()&lt;/code&gt;는 원래의 &lt;code&gt;say_something()&lt;/code&gt;를 &lt;code&gt;func&lt;/code&gt;로 언급하고 있으며, 그 기능을 두 사람 사이에 &lt;code&gt;print()&lt;/code&gt;를 호출 한다.&lt;/li&gt;&#xA;&lt;li&gt;조금 쉽게 말하면: &lt;code&gt;decorators wrap a function, modifying its behavior&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;다음 단계로 넘어가기 전에 두 번째 예를 살펴 본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;wrapper()&lt;/code&gt;는 일반적인 &lt;code&gt;Python&lt;/code&gt; 함수이기 때문에, &lt;code&gt;decorator&lt;/code&gt;가 함수를 수정하는 방식은 보다 역동적으로 변할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;10시가 넘어가면 함수 호출&lt;/code&gt;이 금지하는 것을 짜보도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; datetime &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; datetime&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;the current time is : &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{nowtime}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;H&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(nowtime &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; datetime&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;now()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;hour))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;do_not_disturb_me&lt;/span&gt;(func):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;wrapper&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;=&lt;/span&gt; datetime&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;now()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;hour &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      func()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#66d9ef&#34;&gt;pass&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 10시가 넘어갔습니다. 지금 11시입니다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; wrapper&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;say_loudly&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hey~~~~~!&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;say_loudly &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; do_not_disturb_me(say_loudly)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;say_loudly()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;the current time is : 11H&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;10시가 넘어갔기 때문에, 아무일도 일어나지 않는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-pie-syntax&#34;&gt;III. Pie Syntax&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;decorator&lt;/code&gt;가 사용되기는 했지만,&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;say_loudly = do_not_disturb_me(say_loudly)&#xA;say_loudly()&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;즉, 코드의 길이가 길다는 단점이 있다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 때, 보통 &lt;code&gt;@symbol&lt;/code&gt;을 사용하면 보다 쉽게 사용할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;아래코드를 실행하면 위 2줄의 코드가 실행된 것과 똑같이 결과값이 나온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; datetime &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; datetime&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;the current time is : &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{nowtime}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;H&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;format(nowtime &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; datetime&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;now()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;hour))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;my1st_decorator&lt;/span&gt;(func):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;wrapper&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;=&lt;/span&gt; datetime&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;now()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;hour &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      func()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#66d9ef&#34;&gt;pass&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 10시가 넘어갔습니다. 지금 11시입니다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; wrapper&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;@my1st_decorator&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;say_loudly&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hey~~~~~!&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;the current time is : 11H&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 다음시간에는 모듈을 활용하여 &lt;code&gt;decorator&lt;/code&gt;의 재사용성에 대해 확인해보는 시간을 갖는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iv-reference&#34;&gt;IV. Reference&lt;/h2&gt;&#xA;&lt;p&gt;Hjelle, G. A. (2020, May 04). Primer on Python Decorators. Retrieved June 10, 2020, from &lt;a href=&#34;https://realpython.com/primer-on-python-decorators&#34;&gt;https://realpython.com/primer-on-python-decorators&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>EDA with Housing Price Prediction - Handling Categorical Variables</title>
      <link>https://dschloe.github.io/programming/2020/06/chapter_2_9_eda_with_categorical_features/</link>
      <pubDate>Fri, 12 Jun 2020 10:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/chapter_2_9_eda_with_categorical_features/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_2_10_eda_with_missingvalues/tutorial_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 본격적으로 Kaggle 데이터를 활용하여 분석을 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;데이터는 이미 다운 받은 상태를 전제로 하며, 만약에 데이터가 없다면 이전 포스팅에서 절차를 확인하기 바란다. (미리보기 가능)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/kaggle/colab_with_drive/&#34;&gt;캐글 데이터 다운로드 받기 (via Colab)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-구글-드라이브-연동&#34;&gt;II. 구글 드라이브 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 코랩을 시작하면 언제든지 가장 먼저 해야 하는 것은 드라이브 연동이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;from google.colab import drive # 패키지 불러오기 &#xA;from os.path import join  &#xA;&#xA;ROOT = &amp;#34;/content/drive&amp;#34;     # 드라이브 기본 경로&#xA;print(ROOT)                 # print content of ROOT (Optional)&#xA;drive.mount(ROOT)           # 드라이브 기본 경로 Mount&#xA;&#xA;MY_GOOGLE_DRIVE_PATH = &amp;#39;My Drive/Colab Notebooks/inflearn_kaggle/&amp;#39; # 프로젝트 경로&#xA;PROJECT_PATH = join(ROOT, MY_GOOGLE_DRIVE_PATH) # 프로젝트 경로&#xA;print(PROJECT_PATH)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/content/drive&#xA;Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&amp;amp;redirect_uri=urn%3aietf%3awg%3aoauth%3a2.0%3aoob&amp;amp;response_type=code&amp;amp;scope=email%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdocs.test%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive.photos.readonly%20https%3a%2f%2fwww.googleapis.com%2fauth%2fpeopleapi.readonly&#xA;&#xA;Enter your authorization code:&#xA;··········&#xA;Mounted at /content/drive&#xA;/content/drive/My Drive/Colab Notebooks/inflearn_kaggle/&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;%cd &amp;#34;{PROJECT_PATH}&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/inflearn_kaggle&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 코드가 에러 없이 돌아간다면 이제 데이터를 불러올 차례다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;!ls&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;data  docs  source&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 &lt;code&gt;inflearn_kaggle&lt;/code&gt; 폴더안에 &lt;code&gt;data&lt;/code&gt;, &lt;code&gt;docs&lt;/code&gt;, &lt;code&gt;source&lt;/code&gt; 등의 하위 폴더를 추가로 만들었다.&lt;/li&gt;&#xA;&lt;li&gt;즉, &lt;code&gt;data&lt;/code&gt; 안에 다운로드 받은 파일이 있을 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-캐글-데이터-수집-및-eda&#34;&gt;III. 캐글 데이터 수집 및 EDA&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 데이터를 수집하기에 앞서서 &lt;code&gt;EDA&lt;/code&gt;에 관한 필수 패키지를 설치하자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;import pandas as pd&#xA;import pandas_profiling&#xA;import numpy as np&#xA;import matplotlib as mpl&#xA;import matplotlib.pyplot as plt&#xA;from matplotlib.pyplot import figure&#xA;import seaborn as sns&#xA;&#xA;from IPython.core.display import display, HTML&#xA;from pandas_profiling import ProfileReport&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/usr/local/lib/python3.6/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.&#xA;  import pandas.util.testing as tm&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;%matplotlib inline&#xA;import matplotlib.pylab as plt&#xA;&#xA;plt.rcParams[&amp;#34;figure.figsize&amp;#34;] = (14,4)&#xA;plt.rcParams[&amp;#39;lines.linewidth&amp;#39;] = 2&#xA;plt.rcParams[&amp;#39;lines.color&amp;#39;] = &amp;#39;r&amp;#39;&#xA;plt.rcParams[&amp;#39;axes.grid&amp;#39;] = True &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;1-데이터-수집&#34;&gt;(1) 데이터 수집&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지난 시간에 받은 데이터가 총 4개임을 확인했다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;data_description.txt&lt;/li&gt;&#xA;&lt;li&gt;sample_submission.csv&lt;/li&gt;&#xA;&lt;li&gt;test.csv&lt;/li&gt;&#xA;&lt;li&gt;train.csv&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;여기에서는 우선 &lt;code&gt;test.csv&lt;/code&gt; &amp;amp; &lt;code&gt;train.csv&lt;/code&gt; 파일을 받도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;train = pd.read_csv(&amp;#39;data/train.csv&amp;#39;)&#xA;test = pd.read_csv(&amp;#39;data/test.csv&amp;#39;)&#xA;print(&amp;#34;data import is done&amp;#34;)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;data import is done&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-데이터-확인&#34;&gt;(2) 데이터 확인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Kaggle&lt;/code&gt; 데이터를 불러오면 우선 확인해야 하는 것은 데이터셋의 크기다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;변수의 갯수&lt;/li&gt;&#xA;&lt;li&gt;Numeric 변수 &amp;amp; Categorical 변수의 개수 등을 파악해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Point 1 - &lt;code&gt;train&lt;/code&gt;데이터에서 굳이 훈련데이터와 테스트 데이터를 구분할 필요는 없다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;보통 &lt;code&gt;Kaggle&lt;/code&gt;에서는 테스트 데이터를 주기적으로 업데이트 해준다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Point 2 - 보통 &lt;code&gt;test&lt;/code&gt; 데이터의 변수의 개수가 하나 더 작다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;train.shape, test.shape&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;((1460, 81), (1459, 80))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그 후 &lt;code&gt;train&lt;/code&gt;데이터의 &lt;code&gt;상위 5개&lt;/code&gt;의 데이터만 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;display(train.head())&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&#34;width:100%; height:400px; overflow:auto&#34;&gt;&#xA;    &lt;style scoped&gt;&#xA;        #dataframe {&#xA;            font-family: &#34;Trebuchet MS&#34;, Arial, Helvetica, sans-serif;&#xA;            border-collapse: collapse;&#xA;        }&#xA;&#xA;        #dataframe td,&#xA;        #dataframe th {&#xA;            border: 1px solid #ddd;&#xA;            padding: 8px;&#xA;        }&#xA;&#xA;        #dataframe tr:nth-child(even) {&#xA;            background-color: #f2f2f2;&#xA;        }&#xA;&#xA;        #dataframe tr:hover {&#xA;            background-color: #ddd;&#xA;        }&#xA;&#xA;        #dataframe th {&#xA;            padding-top: 12px;&#xA;            padding-bottom: 12px;&#xA;            text-align: left;&#xA;            background-color: rgb(175, 107, 76);&#xA;            color: white;&#xA;        }&#xA;    &lt;/style&gt;&#xA;    &lt;table border=&#34;1&#34; id=&#34;dataframe&#34;&gt;&#xA;        &lt;thead&gt;&#xA;            &lt;tr style=&#34;text-align: right;&#34;&gt;&#xA;                &lt;th&gt;&lt;/th&gt;&#xA;                &lt;th&gt;Id&lt;/th&gt;&#xA;                &lt;th&gt;MSSubClass&lt;/th&gt;&#xA;                &lt;th&gt;MSZoning&lt;/th&gt;&#xA;                &lt;th&gt;LotFrontage&lt;/th&gt;&#xA;                &lt;th&gt;LotArea&lt;/th&gt;&#xA;                &lt;th&gt;Street&lt;/th&gt;&#xA;                &lt;th&gt;Alley&lt;/th&gt;&#xA;                &lt;th&gt;LotShape&lt;/th&gt;&#xA;                &lt;th&gt;LandContour&lt;/th&gt;&#xA;                &lt;th&gt;Utilities&lt;/th&gt;&#xA;                &lt;th&gt;LotConfig&lt;/th&gt;&#xA;                &lt;th&gt;LandSlope&lt;/th&gt;&#xA;                &lt;th&gt;Neighborhood&lt;/th&gt;&#xA;                &lt;th&gt;Condition1&lt;/th&gt;&#xA;                &lt;th&gt;Condition2&lt;/th&gt;&#xA;                &lt;th&gt;BldgType&lt;/th&gt;&#xA;                &lt;th&gt;HouseStyle&lt;/th&gt;&#xA;                &lt;th&gt;OverallQual&lt;/th&gt;&#xA;                &lt;th&gt;OverallCond&lt;/th&gt;&#xA;                &lt;th&gt;YearBuilt&lt;/th&gt;&#xA;                &lt;th&gt;YearRemodAdd&lt;/th&gt;&#xA;                &lt;th&gt;RoofStyle&lt;/th&gt;&#xA;                &lt;th&gt;RoofMatl&lt;/th&gt;&#xA;                &lt;th&gt;Exterior1st&lt;/th&gt;&#xA;                &lt;th&gt;Exterior2nd&lt;/th&gt;&#xA;                &lt;th&gt;MasVnrType&lt;/th&gt;&#xA;                &lt;th&gt;MasVnrArea&lt;/th&gt;&#xA;                &lt;th&gt;ExterQual&lt;/th&gt;&#xA;                &lt;th&gt;ExterCond&lt;/th&gt;&#xA;                &lt;th&gt;Foundation&lt;/th&gt;&#xA;                &lt;th&gt;BsmtQual&lt;/th&gt;&#xA;                &lt;th&gt;BsmtCond&lt;/th&gt;&#xA;                &lt;th&gt;BsmtExposure&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinType1&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinSF1&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinType2&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinSF2&lt;/th&gt;&#xA;                &lt;th&gt;BsmtUnfSF&lt;/th&gt;&#xA;                &lt;th&gt;TotalBsmtSF&lt;/th&gt;&#xA;                &lt;th&gt;Heating&lt;/th&gt;&#xA;                &lt;th&gt;...&lt;/th&gt;&#xA;                &lt;th&gt;CentralAir&lt;/th&gt;&#xA;                &lt;th&gt;Electrical&lt;/th&gt;&#xA;                &lt;th&gt;1stFlrSF&lt;/th&gt;&#xA;                &lt;th&gt;2ndFlrSF&lt;/th&gt;&#xA;                &lt;th&gt;LowQualFinSF&lt;/th&gt;&#xA;                &lt;th&gt;GrLivArea&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFullBath&lt;/th&gt;&#xA;                &lt;th&gt;BsmtHalfBath&lt;/th&gt;&#xA;                &lt;th&gt;FullBath&lt;/th&gt;&#xA;                &lt;th&gt;HalfBath&lt;/th&gt;&#xA;                &lt;th&gt;BedroomAbvGr&lt;/th&gt;&#xA;                &lt;th&gt;KitchenAbvGr&lt;/th&gt;&#xA;                &lt;th&gt;KitchenQual&lt;/th&gt;&#xA;                &lt;th&gt;TotRmsAbvGrd&lt;/th&gt;&#xA;                &lt;th&gt;Functional&lt;/th&gt;&#xA;                &lt;th&gt;Fireplaces&lt;/th&gt;&#xA;                &lt;th&gt;FireplaceQu&lt;/th&gt;&#xA;                &lt;th&gt;GarageType&lt;/th&gt;&#xA;                &lt;th&gt;GarageYrBlt&lt;/th&gt;&#xA;                &lt;th&gt;GarageFinish&lt;/th&gt;&#xA;                &lt;th&gt;GarageCars&lt;/th&gt;&#xA;                &lt;th&gt;GarageArea&lt;/th&gt;&#xA;                &lt;th&gt;GarageQual&lt;/th&gt;&#xA;                &lt;th&gt;GarageCond&lt;/th&gt;&#xA;                &lt;th&gt;PavedDrive&lt;/th&gt;&#xA;                &lt;th&gt;WoodDeckSF&lt;/th&gt;&#xA;                &lt;th&gt;OpenPorchSF&lt;/th&gt;&#xA;                &lt;th&gt;EnclosedPorch&lt;/th&gt;&#xA;                &lt;th&gt;3SsnPorch&lt;/th&gt;&#xA;                &lt;th&gt;ScreenPorch&lt;/th&gt;&#xA;                &lt;th&gt;PoolArea&lt;/th&gt;&#xA;                &lt;th&gt;PoolQC&lt;/th&gt;&#xA;                &lt;th&gt;Fence&lt;/th&gt;&#xA;                &lt;th&gt;MiscFeature&lt;/th&gt;&#xA;                &lt;th&gt;MiscVal&lt;/th&gt;&#xA;                &lt;th&gt;MoSold&lt;/th&gt;&#xA;                &lt;th&gt;YrSold&lt;/th&gt;&#xA;                &lt;th&gt;SaleType&lt;/th&gt;&#xA;                &lt;th&gt;SaleCondition&lt;/th&gt;&#xA;                &lt;th&gt;SalePrice&lt;/th&gt;&#xA;            &lt;/tr&gt;&#xA;        &lt;/thead&gt;&#xA;        &lt;tbody&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;0&lt;/th&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;65.0&lt;/td&gt;&#xA;                &lt;td&gt;8450&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;CollgCr&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2003&lt;/td&gt;&#xA;                &lt;td&gt;2003&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;BrkFace&lt;/td&gt;&#xA;                &lt;td&gt;196.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;706&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;150&lt;/td&gt;&#xA;                &lt;td&gt;856&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;856&lt;/td&gt;&#xA;                &lt;td&gt;854&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1710&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;2003.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;548&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;61&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;208500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1&lt;/th&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;80.0&lt;/td&gt;&#xA;                &lt;td&gt;9600&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;FR2&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Veenker&lt;/td&gt;&#xA;                &lt;td&gt;Feedr&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;1976&lt;/td&gt;&#xA;                &lt;td&gt;1976&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;ALQ&lt;/td&gt;&#xA;                &lt;td&gt;978&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;284&lt;/td&gt;&#xA;                &lt;td&gt;1262&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1262&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1262&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1976.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;460&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;298&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2007&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;181500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;2&lt;/th&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;68.0&lt;/td&gt;&#xA;                &lt;td&gt;11250&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;IR1&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;CollgCr&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2001&lt;/td&gt;&#xA;                &lt;td&gt;2002&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;BrkFace&lt;/td&gt;&#xA;                &lt;td&gt;162.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Mn&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;486&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;434&lt;/td&gt;&#xA;                &lt;td&gt;920&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;920&lt;/td&gt;&#xA;                &lt;td&gt;866&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1786&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;2001.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;608&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;42&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;223500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;3&lt;/th&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;70&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;60.0&lt;/td&gt;&#xA;                &lt;td&gt;9550&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;IR1&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Corner&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Crawfor&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;1915&lt;/td&gt;&#xA;                &lt;td&gt;1970&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;Wd Sdng&lt;/td&gt;&#xA;                &lt;td&gt;Wd Shng&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;BrkTil&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;ALQ&lt;/td&gt;&#xA;                &lt;td&gt;216&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;540&lt;/td&gt;&#xA;                &lt;td&gt;756&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;961&lt;/td&gt;&#xA;                &lt;td&gt;756&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1717&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;Detchd&lt;/td&gt;&#xA;                &lt;td&gt;1998.0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;642&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;35&lt;/td&gt;&#xA;                &lt;td&gt;272&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;2006&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Abnorml&lt;/td&gt;&#xA;                &lt;td&gt;140000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;4&lt;/th&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;84.0&lt;/td&gt;&#xA;                &lt;td&gt;14260&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;IR1&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;FR2&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;NoRidge&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2000&lt;/td&gt;&#xA;                &lt;td&gt;2000&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;BrkFace&lt;/td&gt;&#xA;                &lt;td&gt;350.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Av&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;655&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;490&lt;/td&gt;&#xA;                &lt;td&gt;1145&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1145&lt;/td&gt;&#xA;                &lt;td&gt;1053&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2198&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;2000.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;836&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;192&lt;/td&gt;&#xA;                &lt;td&gt;84&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;12&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;250000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;...&lt;/th&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1455&lt;/th&gt;&#xA;                &lt;td&gt;1456&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;62.0&lt;/td&gt;&#xA;                &lt;td&gt;7917&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Gilbert&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;1999&lt;/td&gt;&#xA;                &lt;td&gt;2000&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;953&lt;/td&gt;&#xA;                &lt;td&gt;953&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;953&lt;/td&gt;&#xA;                &lt;td&gt;694&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1647&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1999.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;460&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;40&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;2007&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;175000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1456&lt;/th&gt;&#xA;                &lt;td&gt;1457&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;85.0&lt;/td&gt;&#xA;                &lt;td&gt;13175&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;NWAmes&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;1978&lt;/td&gt;&#xA;                &lt;td&gt;1988&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;Plywood&lt;/td&gt;&#xA;                &lt;td&gt;Plywood&lt;/td&gt;&#xA;                &lt;td&gt;Stone&lt;/td&gt;&#xA;                &lt;td&gt;119.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;ALQ&lt;/td&gt;&#xA;                &lt;td&gt;790&lt;/td&gt;&#xA;                &lt;td&gt;Rec&lt;/td&gt;&#xA;                &lt;td&gt;163&lt;/td&gt;&#xA;                &lt;td&gt;589&lt;/td&gt;&#xA;                &lt;td&gt;1542&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;2073&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2073&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;Min1&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1978.0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;500&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;349&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;MnPrv&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;2010&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;210000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1457&lt;/th&gt;&#xA;                &lt;td&gt;1458&lt;/td&gt;&#xA;                &lt;td&gt;70&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;66.0&lt;/td&gt;&#xA;                &lt;td&gt;9042&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Crawfor&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;1941&lt;/td&gt;&#xA;                &lt;td&gt;2006&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;CemntBd&lt;/td&gt;&#xA;                &lt;td&gt;CmentBd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;Ex&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;Stone&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;275&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;877&lt;/td&gt;&#xA;                &lt;td&gt;1152&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1188&lt;/td&gt;&#xA;                &lt;td&gt;1152&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2340&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1941.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;252&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;GdPrv&lt;/td&gt;&#xA;                &lt;td&gt;Shed&lt;/td&gt;&#xA;                &lt;td&gt;2500&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2010&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;266500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1458&lt;/th&gt;&#xA;                &lt;td&gt;1459&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;68.0&lt;/td&gt;&#xA;                &lt;td&gt;9717&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;NAmes&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;1950&lt;/td&gt;&#xA;                &lt;td&gt;1996&lt;/td&gt;&#xA;                &lt;td&gt;Hip&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Mn&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;49&lt;/td&gt;&#xA;                &lt;td&gt;Rec&lt;/td&gt;&#xA;                &lt;td&gt;1029&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1078&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;FuseA&lt;/td&gt;&#xA;                &lt;td&gt;1078&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1078&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1950.0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;240&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;366&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;112&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;2010&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;142125&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1459&lt;/th&gt;&#xA;                &lt;td&gt;1460&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;75.0&lt;/td&gt;&#xA;                &lt;td&gt;9937&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Edwards&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;1965&lt;/td&gt;&#xA;                &lt;td&gt;1965&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;HdBoard&lt;/td&gt;&#xA;                &lt;td&gt;HdBoard&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;BLQ&lt;/td&gt;&#xA;                &lt;td&gt;830&lt;/td&gt;&#xA;                &lt;td&gt;LwQ&lt;/td&gt;&#xA;                &lt;td&gt;290&lt;/td&gt;&#xA;                &lt;td&gt;136&lt;/td&gt;&#xA;                &lt;td&gt;1256&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1256&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1256&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1965.0&lt;/td&gt;&#xA;                &lt;td&gt;Fin&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;276&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;736&lt;/td&gt;&#xA;                &lt;td&gt;68&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;147500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;        &lt;/tbody&gt;&#xA;    &lt;/table&gt;&#xA;    &lt;p&gt;1460 rows × 81 columns&lt;/p&gt;</description>
    </item>
    <item>
      <title>EDA with Housing Price Prediction - Handling Continuous Variables</title>
      <link>https://dschloe.github.io/programming/2020/06/chapter_2_8_eda_with_continous_features/</link>
      <pubDate>Thu, 11 Jun 2020 10:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/chapter_2_8_eda_with_continous_features/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_2_10_eda_with_missingvalues/tutorial_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 본격적으로 Kaggle 데이터를 활용하여 분석을 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;데이터는 이미 다운 받은 상태를 전제로 하며, 만약에 데이터가 없다면 이전 포스팅에서 절차를 확인하기 바란다. (미리보기 가능)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/kaggle/colab_with_drive/&#34;&gt;캐글 데이터 다운로드 받기 (via Colab)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-구글-드라이브-연동&#34;&gt;II. 구글 드라이브 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 코랩을 시작하면 언제든지 가장 먼저 해야 하는 것은 드라이브 연동이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;from google.colab import drive # 패키지 불러오기 &#xA;from os.path import join  &#xA;&#xA;ROOT = &amp;#34;/content/drive&amp;#34;     # 드라이브 기본 경로&#xA;print(ROOT)                 # print content of ROOT (Optional)&#xA;drive.mount(ROOT)           # 드라이브 기본 경로 Mount&#xA;&#xA;MY_GOOGLE_DRIVE_PATH = &amp;#39;My Drive/Colab Notebooks/inflearn_kaggle/&amp;#39; # 프로젝트 경로&#xA;PROJECT_PATH = join(ROOT, MY_GOOGLE_DRIVE_PATH) # 프로젝트 경로&#xA;print(PROJECT_PATH)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/content/drive&#xA;Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&amp;amp;redirect_uri=urn%3aietf%3awg%3aoauth%3a2.0%3aoob&amp;amp;response_type=code&amp;amp;scope=email%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdocs.test%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive.photos.readonly%20https%3a%2f%2fwww.googleapis.com%2fauth%2fpeopleapi.readonly&#xA;&#xA;Enter your authorization code:&#xA;··········&#xA;Mounted at /content/drive&#xA;/content/drive/My Drive/Colab Notebooks/inflearn_kaggle/&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;%cd &amp;#34;{PROJECT_PATH}&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/inflearn_kaggle&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 코드가 에러 없이 돌아간다면 이제 데이터를 불러올 차례다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;!ls&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;data  docs  source&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 &lt;code&gt;inflearn_kaggle&lt;/code&gt; 폴더안에 &lt;code&gt;data&lt;/code&gt;, &lt;code&gt;docs&lt;/code&gt;, &lt;code&gt;source&lt;/code&gt; 등의 하위 폴더를 추가로 만들었다.&lt;/li&gt;&#xA;&lt;li&gt;즉, &lt;code&gt;data&lt;/code&gt; 안에 다운로드 받은 파일이 있을 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-캐글-데이터-수집-및-eda&#34;&gt;III. 캐글 데이터 수집 및 EDA&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 데이터를 수집하기에 앞서서 &lt;code&gt;EDA&lt;/code&gt;에 관한 필수 패키지를 설치하자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;import pandas as pd&#xA;import pandas_profiling&#xA;import numpy as np&#xA;import matplotlib as mpl&#xA;import matplotlib.pyplot as plt&#xA;from matplotlib.pyplot import figure&#xA;import seaborn as sns&#xA;&#xA;from IPython.core.display import display, HTML&#xA;from pandas_profiling import ProfileReport&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/usr/local/lib/python3.6/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.&#xA;  import pandas.util.testing as tm&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;%matplotlib inline&#xA;import matplotlib.pylab as plt&#xA;&#xA;plt.rcParams[&amp;#34;figure.figsize&amp;#34;] = (14,4)&#xA;plt.rcParams[&amp;#39;lines.linewidth&amp;#39;] = 2&#xA;plt.rcParams[&amp;#39;lines.color&amp;#39;] = &amp;#39;r&amp;#39;&#xA;plt.rcParams[&amp;#39;axes.grid&amp;#39;] = True &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;1-데이터-수집&#34;&gt;(1) 데이터 수집&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지난 시간에 받은 데이터가 총 4개임을 확인했다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;data_description.txt&lt;/li&gt;&#xA;&lt;li&gt;sample_submission.csv&lt;/li&gt;&#xA;&lt;li&gt;test.csv&lt;/li&gt;&#xA;&lt;li&gt;train.csv&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;여기에서는 우선 &lt;code&gt;test.csv&lt;/code&gt; &amp;amp; &lt;code&gt;train.csv&lt;/code&gt; 파일을 받도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;train = pd.read_csv(&amp;#39;data/train.csv&amp;#39;)&#xA;test = pd.read_csv(&amp;#39;data/test.csv&amp;#39;)&#xA;print(&amp;#34;data import is done&amp;#34;)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;data import is done&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-데이터-확인&#34;&gt;(2) 데이터 확인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Kaggle&lt;/code&gt; 데이터를 불러오면 우선 확인해야 하는 것은 데이터셋의 크기다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;변수의 갯수&lt;/li&gt;&#xA;&lt;li&gt;Numeric 변수 &amp;amp; Categorical 변수의 개수 등을 파악해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Point 1 - &lt;code&gt;train&lt;/code&gt;데이터에서 굳이 훈련데이터와 테스트 데이터를 구분할 필요는 없다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;보통 &lt;code&gt;Kaggle&lt;/code&gt;에서는 테스트 데이터를 주기적으로 업데이트 해준다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Point 2 - 보통 &lt;code&gt;test&lt;/code&gt; 데이터의 변수의 개수가 하나 더 작다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;train.shape, test.shape&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;((1460, 81), (1459, 80))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그 후 &lt;code&gt;train&lt;/code&gt;데이터의 &lt;code&gt;상위 5개&lt;/code&gt;의 데이터만 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;display(train.head())&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&#34;width:100%; height:400px; overflow:auto&#34;&gt;&#xA;    &lt;style scoped&gt;&#xA;        #dataframe {&#xA;            font-family: &#34;Trebuchet MS&#34;, Arial, Helvetica, sans-serif;&#xA;            border-collapse: collapse;&#xA;        }&#xA;&#xA;        #dataframe td,&#xA;        #dataframe th {&#xA;            border: 1px solid #ddd;&#xA;            padding: 8px;&#xA;        }&#xA;&#xA;        #dataframe tr:nth-child(even) {&#xA;            background-color: #f2f2f2;&#xA;        }&#xA;&#xA;        #dataframe tr:hover {&#xA;            background-color: #ddd;&#xA;        }&#xA;&#xA;        #dataframe th {&#xA;            padding-top: 12px;&#xA;            padding-bottom: 12px;&#xA;            text-align: left;&#xA;            background-color: rgb(175, 107, 76);&#xA;            color: white;&#xA;        }&#xA;    &lt;/style&gt;&#xA;    &lt;table border=&#34;1&#34; id=&#34;dataframe&#34;&gt;&#xA;        &lt;thead&gt;&#xA;            &lt;tr style=&#34;text-align: right;&#34;&gt;&#xA;                &lt;th&gt;&lt;/th&gt;&#xA;                &lt;th&gt;Id&lt;/th&gt;&#xA;                &lt;th&gt;MSSubClass&lt;/th&gt;&#xA;                &lt;th&gt;MSZoning&lt;/th&gt;&#xA;                &lt;th&gt;LotFrontage&lt;/th&gt;&#xA;                &lt;th&gt;LotArea&lt;/th&gt;&#xA;                &lt;th&gt;Street&lt;/th&gt;&#xA;                &lt;th&gt;Alley&lt;/th&gt;&#xA;                &lt;th&gt;LotShape&lt;/th&gt;&#xA;                &lt;th&gt;LandContour&lt;/th&gt;&#xA;                &lt;th&gt;Utilities&lt;/th&gt;&#xA;                &lt;th&gt;LotConfig&lt;/th&gt;&#xA;                &lt;th&gt;LandSlope&lt;/th&gt;&#xA;                &lt;th&gt;Neighborhood&lt;/th&gt;&#xA;                &lt;th&gt;Condition1&lt;/th&gt;&#xA;                &lt;th&gt;Condition2&lt;/th&gt;&#xA;                &lt;th&gt;BldgType&lt;/th&gt;&#xA;                &lt;th&gt;HouseStyle&lt;/th&gt;&#xA;                &lt;th&gt;OverallQual&lt;/th&gt;&#xA;                &lt;th&gt;OverallCond&lt;/th&gt;&#xA;                &lt;th&gt;YearBuilt&lt;/th&gt;&#xA;                &lt;th&gt;YearRemodAdd&lt;/th&gt;&#xA;                &lt;th&gt;RoofStyle&lt;/th&gt;&#xA;                &lt;th&gt;RoofMatl&lt;/th&gt;&#xA;                &lt;th&gt;Exterior1st&lt;/th&gt;&#xA;                &lt;th&gt;Exterior2nd&lt;/th&gt;&#xA;                &lt;th&gt;MasVnrType&lt;/th&gt;&#xA;                &lt;th&gt;MasVnrArea&lt;/th&gt;&#xA;                &lt;th&gt;ExterQual&lt;/th&gt;&#xA;                &lt;th&gt;ExterCond&lt;/th&gt;&#xA;                &lt;th&gt;Foundation&lt;/th&gt;&#xA;                &lt;th&gt;BsmtQual&lt;/th&gt;&#xA;                &lt;th&gt;BsmtCond&lt;/th&gt;&#xA;                &lt;th&gt;BsmtExposure&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinType1&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinSF1&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinType2&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinSF2&lt;/th&gt;&#xA;                &lt;th&gt;BsmtUnfSF&lt;/th&gt;&#xA;                &lt;th&gt;TotalBsmtSF&lt;/th&gt;&#xA;                &lt;th&gt;Heating&lt;/th&gt;&#xA;                &lt;th&gt;...&lt;/th&gt;&#xA;                &lt;th&gt;CentralAir&lt;/th&gt;&#xA;                &lt;th&gt;Electrical&lt;/th&gt;&#xA;                &lt;th&gt;1stFlrSF&lt;/th&gt;&#xA;                &lt;th&gt;2ndFlrSF&lt;/th&gt;&#xA;                &lt;th&gt;LowQualFinSF&lt;/th&gt;&#xA;                &lt;th&gt;GrLivArea&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFullBath&lt;/th&gt;&#xA;                &lt;th&gt;BsmtHalfBath&lt;/th&gt;&#xA;                &lt;th&gt;FullBath&lt;/th&gt;&#xA;                &lt;th&gt;HalfBath&lt;/th&gt;&#xA;                &lt;th&gt;BedroomAbvGr&lt;/th&gt;&#xA;                &lt;th&gt;KitchenAbvGr&lt;/th&gt;&#xA;                &lt;th&gt;KitchenQual&lt;/th&gt;&#xA;                &lt;th&gt;TotRmsAbvGrd&lt;/th&gt;&#xA;                &lt;th&gt;Functional&lt;/th&gt;&#xA;                &lt;th&gt;Fireplaces&lt;/th&gt;&#xA;                &lt;th&gt;FireplaceQu&lt;/th&gt;&#xA;                &lt;th&gt;GarageType&lt;/th&gt;&#xA;                &lt;th&gt;GarageYrBlt&lt;/th&gt;&#xA;                &lt;th&gt;GarageFinish&lt;/th&gt;&#xA;                &lt;th&gt;GarageCars&lt;/th&gt;&#xA;                &lt;th&gt;GarageArea&lt;/th&gt;&#xA;                &lt;th&gt;GarageQual&lt;/th&gt;&#xA;                &lt;th&gt;GarageCond&lt;/th&gt;&#xA;                &lt;th&gt;PavedDrive&lt;/th&gt;&#xA;                &lt;th&gt;WoodDeckSF&lt;/th&gt;&#xA;                &lt;th&gt;OpenPorchSF&lt;/th&gt;&#xA;                &lt;th&gt;EnclosedPorch&lt;/th&gt;&#xA;                &lt;th&gt;3SsnPorch&lt;/th&gt;&#xA;                &lt;th&gt;ScreenPorch&lt;/th&gt;&#xA;                &lt;th&gt;PoolArea&lt;/th&gt;&#xA;                &lt;th&gt;PoolQC&lt;/th&gt;&#xA;                &lt;th&gt;Fence&lt;/th&gt;&#xA;                &lt;th&gt;MiscFeature&lt;/th&gt;&#xA;                &lt;th&gt;MiscVal&lt;/th&gt;&#xA;                &lt;th&gt;MoSold&lt;/th&gt;&#xA;                &lt;th&gt;YrSold&lt;/th&gt;&#xA;                &lt;th&gt;SaleType&lt;/th&gt;&#xA;                &lt;th&gt;SaleCondition&lt;/th&gt;&#xA;                &lt;th&gt;SalePrice&lt;/th&gt;&#xA;            &lt;/tr&gt;&#xA;        &lt;/thead&gt;&#xA;        &lt;tbody&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;0&lt;/th&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;65.0&lt;/td&gt;&#xA;                &lt;td&gt;8450&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;CollgCr&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2003&lt;/td&gt;&#xA;                &lt;td&gt;2003&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;BrkFace&lt;/td&gt;&#xA;                &lt;td&gt;196.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;706&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;150&lt;/td&gt;&#xA;                &lt;td&gt;856&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;856&lt;/td&gt;&#xA;                &lt;td&gt;854&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1710&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;2003.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;548&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;61&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;208500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1&lt;/th&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;80.0&lt;/td&gt;&#xA;                &lt;td&gt;9600&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;FR2&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Veenker&lt;/td&gt;&#xA;                &lt;td&gt;Feedr&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;1976&lt;/td&gt;&#xA;                &lt;td&gt;1976&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;ALQ&lt;/td&gt;&#xA;                &lt;td&gt;978&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;284&lt;/td&gt;&#xA;                &lt;td&gt;1262&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1262&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1262&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1976.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;460&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;298&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2007&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;181500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;2&lt;/th&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;68.0&lt;/td&gt;&#xA;                &lt;td&gt;11250&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;IR1&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;CollgCr&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2001&lt;/td&gt;&#xA;                &lt;td&gt;2002&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;BrkFace&lt;/td&gt;&#xA;                &lt;td&gt;162.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Mn&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;486&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;434&lt;/td&gt;&#xA;                &lt;td&gt;920&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;920&lt;/td&gt;&#xA;                &lt;td&gt;866&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1786&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;2001.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;608&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;42&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;223500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;3&lt;/th&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;70&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;60.0&lt;/td&gt;&#xA;                &lt;td&gt;9550&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;IR1&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Corner&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Crawfor&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;1915&lt;/td&gt;&#xA;                &lt;td&gt;1970&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;Wd Sdng&lt;/td&gt;&#xA;                &lt;td&gt;Wd Shng&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;BrkTil&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;ALQ&lt;/td&gt;&#xA;                &lt;td&gt;216&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;540&lt;/td&gt;&#xA;                &lt;td&gt;756&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;961&lt;/td&gt;&#xA;                &lt;td&gt;756&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1717&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;Detchd&lt;/td&gt;&#xA;                &lt;td&gt;1998.0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;642&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;35&lt;/td&gt;&#xA;                &lt;td&gt;272&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;2006&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Abnorml&lt;/td&gt;&#xA;                &lt;td&gt;140000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;4&lt;/th&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;84.0&lt;/td&gt;&#xA;                &lt;td&gt;14260&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;IR1&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;FR2&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;NoRidge&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2000&lt;/td&gt;&#xA;                &lt;td&gt;2000&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;BrkFace&lt;/td&gt;&#xA;                &lt;td&gt;350.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Av&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;655&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;490&lt;/td&gt;&#xA;                &lt;td&gt;1145&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1145&lt;/td&gt;&#xA;                &lt;td&gt;1053&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2198&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;2000.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;836&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;192&lt;/td&gt;&#xA;                &lt;td&gt;84&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;12&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;250000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;...&lt;/th&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1455&lt;/th&gt;&#xA;                &lt;td&gt;1456&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;62.0&lt;/td&gt;&#xA;                &lt;td&gt;7917&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Gilbert&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;1999&lt;/td&gt;&#xA;                &lt;td&gt;2000&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;953&lt;/td&gt;&#xA;                &lt;td&gt;953&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;953&lt;/td&gt;&#xA;                &lt;td&gt;694&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1647&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1999.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;460&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;40&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;2007&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;175000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1456&lt;/th&gt;&#xA;                &lt;td&gt;1457&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;85.0&lt;/td&gt;&#xA;                &lt;td&gt;13175&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;NWAmes&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;1978&lt;/td&gt;&#xA;                &lt;td&gt;1988&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;Plywood&lt;/td&gt;&#xA;                &lt;td&gt;Plywood&lt;/td&gt;&#xA;                &lt;td&gt;Stone&lt;/td&gt;&#xA;                &lt;td&gt;119.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;ALQ&lt;/td&gt;&#xA;                &lt;td&gt;790&lt;/td&gt;&#xA;                &lt;td&gt;Rec&lt;/td&gt;&#xA;                &lt;td&gt;163&lt;/td&gt;&#xA;                &lt;td&gt;589&lt;/td&gt;&#xA;                &lt;td&gt;1542&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;2073&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2073&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;Min1&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1978.0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;500&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;349&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;MnPrv&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;2010&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;210000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1457&lt;/th&gt;&#xA;                &lt;td&gt;1458&lt;/td&gt;&#xA;                &lt;td&gt;70&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;66.0&lt;/td&gt;&#xA;                &lt;td&gt;9042&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Crawfor&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;1941&lt;/td&gt;&#xA;                &lt;td&gt;2006&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;CemntBd&lt;/td&gt;&#xA;                &lt;td&gt;CmentBd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;Ex&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;Stone&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;275&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;877&lt;/td&gt;&#xA;                &lt;td&gt;1152&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1188&lt;/td&gt;&#xA;                &lt;td&gt;1152&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2340&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1941.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;252&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;GdPrv&lt;/td&gt;&#xA;                &lt;td&gt;Shed&lt;/td&gt;&#xA;                &lt;td&gt;2500&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2010&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;266500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1458&lt;/th&gt;&#xA;                &lt;td&gt;1459&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;68.0&lt;/td&gt;&#xA;                &lt;td&gt;9717&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;NAmes&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;1950&lt;/td&gt;&#xA;                &lt;td&gt;1996&lt;/td&gt;&#xA;                &lt;td&gt;Hip&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Mn&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;49&lt;/td&gt;&#xA;                &lt;td&gt;Rec&lt;/td&gt;&#xA;                &lt;td&gt;1029&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1078&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;FuseA&lt;/td&gt;&#xA;                &lt;td&gt;1078&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1078&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1950.0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;240&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;366&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;112&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;2010&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;142125&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1459&lt;/th&gt;&#xA;                &lt;td&gt;1460&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;75.0&lt;/td&gt;&#xA;                &lt;td&gt;9937&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Edwards&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;1965&lt;/td&gt;&#xA;                &lt;td&gt;1965&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;HdBoard&lt;/td&gt;&#xA;                &lt;td&gt;HdBoard&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;BLQ&lt;/td&gt;&#xA;                &lt;td&gt;830&lt;/td&gt;&#xA;                &lt;td&gt;LwQ&lt;/td&gt;&#xA;                &lt;td&gt;290&lt;/td&gt;&#xA;                &lt;td&gt;136&lt;/td&gt;&#xA;                &lt;td&gt;1256&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1256&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1256&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1965.0&lt;/td&gt;&#xA;                &lt;td&gt;Fin&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;276&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;736&lt;/td&gt;&#xA;                &lt;td&gt;68&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;147500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;        &lt;/tbody&gt;&#xA;    &lt;/table&gt;&#xA;    &lt;p&gt;1460 rows × 81 columns&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python 사용자 정의 함수에 대한 이해 1편 - Inner Function</title>
      <link>https://dschloe.github.io/programming/2020/06/understanding_function_innerfunction/</link>
      <pubDate>Wed, 10 Jun 2020 01:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/understanding_function_innerfunction/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Functions&lt;/code&gt;와 &lt;code&gt;Decorators&lt;/code&gt;에 관해 나누려고 한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;function&lt;/code&gt;는 우리가 생각하는 그 함수가 맞다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;decorator&lt;/code&gt;도 함수인데, 일종의 확장 개념으로 생각하면 좋다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-simple-tutorial&#34;&gt;II. Simple Tutorial&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 간단한 함수를 만들자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;add_one&lt;/span&gt;(number):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; number &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;add_one(&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;3&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;일반적으로 파이썬의 함수들은 단지 입출력에 대한 단순한 내용 보다는 &lt;code&gt;side effects&lt;/code&gt; 또한 함의하고 있다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;print()&lt;/code&gt;함수가 대표적인 예인데, 코드에 &lt;code&gt;print()&lt;/code&gt;를 실행하면 아무것도 출력되지 않는다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;decorator&lt;/code&gt;를 이해하기 위해서 필요한 가설 1개는 &lt;code&gt;arguments&lt;/code&gt;를 &lt;code&gt;value&lt;/code&gt;로 바꾸는 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;iii-first-class-objects&#34;&gt;III. First-Class Objects&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파이썬에서 함수는 &lt;code&gt;first-class objects&lt;/code&gt;이다.&lt;/li&gt;&#xA;&lt;li&gt;이것은 다른 객체(문자열, int, float, list 등)와 마찬가지로 기능들이 다양한 경로로 전달되어 인수로 사용될 수 있다는 것을 의미한다.&lt;/li&gt;&#xA;&lt;li&gt;다음 예제를 확인해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;_hello&lt;/span&gt;(name):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;안녕하세요 &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;name&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;_friend&lt;/span&gt;(name): &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;와~ &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;name&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;, 우리는 이제 친구야&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;will_greet&lt;/span&gt;(greeter_func):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; greeter_func(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Chloe&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;여기에서 &lt;code&gt;will_greet()&lt;/code&gt; 함수만 사용할 것이다.&lt;/li&gt;&#xA;&lt;li&gt;그런데, &lt;code&gt;_greet()&lt;/code&gt; 함수 안에는 다른 함수들 &lt;code&gt;_hello()&lt;/code&gt;나 &lt;code&gt;_friend()&lt;/code&gt;만 사용할 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;will_greet(_hello)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&#39;안녕하세요 Chloe&#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;will_greet(_friend)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&#39;와~ Chloe, 우리는 이제 친구야&#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;will_greet(_hello)&lt;/code&gt;는 두개의 함수가 사용되었지만, 조금 작동법이 다르다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 &lt;code&gt;_hello&lt;/code&gt;는 인수값이 사용된 것은 아니며 그저 참조된 것이지만, &lt;code&gt;will_greet()&lt;/code&gt;함수는 인수값이 사용되었다는 차이점이 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iv-inner-functions&#34;&gt;IV. Inner Functions&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Inner functions&lt;/code&gt;는 정의된 함수안에 또다른 함수를 정의하는 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;mother&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;저는 두 아이의 엄마입니다.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;child_1st&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;저는 첫째이며 3살입니다.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;child_2nd&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;저는 둘째이며 2살입니다.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  child_1st()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  child_2nd()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mother()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;저는 두 아이의 엄마입니다.&#xA;저는 첫째이며 3살입니다.&#xA;저는 둘째이며 2살입니다.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 내용은 매우 간단하지만, &lt;code&gt;mother()&lt;/code&gt;를 불러야 첫째와 둘째를 같이 볼 수 있다. 이유는 첫째와 둘째 모두 엄마 없이는 살 수 없기 때문이다.&lt;/li&gt;&#xA;&lt;li&gt;만약에 &lt;code&gt;child_1st()&lt;/code&gt;만 호출해보자. 엄마 없이 아이를 불러서는 안된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;child_1st()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;---------------------------------------------------------------------------&#xA;&#xA;NameError                                 Traceback (most recent call last)&#xA;&#xA;&amp;lt;ipython-input-14-8d46572507ad&amp;gt; in &amp;lt;module&amp;gt;()&#xA;----&amp;gt; 1 child_1st()&#xA;&#xA;&#xA;NameError: name &#39;child_1st&#39; is not defined&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;v-returning-functions-from-functions&#34;&gt;V. Returning Functions from Functions&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;함수의 &lt;code&gt;return&lt;/code&gt; 값으로 &lt;code&gt;inner function&lt;/code&gt;을 사용할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;mother&lt;/span&gt;(num):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;child_1st&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;안녕하세요, 저는 첫째, Chloe입니다.&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;child_2nd&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;안녕하세요, 저는 둘째, Evan입니다.&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; num&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;저는 첫째 아이의 엄마입니다.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; child_1st&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;: &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;저는 둘째 아이의 엄마입니다.&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; child_2nd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;괄호 없이 &lt;code&gt;child_1st&lt;/code&gt;와 &lt;code&gt;child_2nd&lt;/code&gt;를 반환한다는 점에 주목한다.&lt;/li&gt;&#xA;&lt;li&gt;이는 함수에 대한 참조를 먼저 반환함을 의미한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my1stBaby &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; mother(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my2ndBaby &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; mother(&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;저는 첫째 아이의 엄마입니다.&#xA;저는 둘째 아이의 엄마입니다.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;여기에서 각각의 객체를 출력해보고 어떤 결과가 나오는지 확인해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my1stBaby&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;function __main__.mother.&amp;lt;locals&amp;gt;.child_1st&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my2ndBaby&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;function __main__.mother.&amp;lt;locals&amp;gt;.child_2nd&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;mother&lt;/code&gt; 함수 안에 필요한 함수들만 호출되는 것을 볼 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, &lt;code&gt;my1stBaby()&lt;/code&gt;와 &lt;code&gt;my2ndBaby()&lt;/code&gt; 함수를 호출하면 어떤 결과가 나타내는지 확인해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my1stBaby()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&#39;안녕하세요, 저는 첫째, Chloe입니다.&#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my2ndBaby()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&#39;안녕하세요, 저는 둘째, Evan입니다.&#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;마지막으로, 앞의 예에서 상위 함수 &lt;code&gt;mother()&lt;/code&gt; 내에서 &lt;code&gt;inner function(예: child_1st())&lt;/code&gt; 함수를 실행했다는 점에 유의한다.&lt;/li&gt;&#xA;&lt;li&gt;그러나 이 마지막 예에서는 결과값을 반환할 때 내부 함수인 &lt;code&gt;child_1st&lt;/code&gt; 괄호를 하지 않았다는 것도 확인한다.&lt;/li&gt;&#xA;&lt;li&gt;That way, you got a reference to each function that you could call in the future.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;vi-reference&#34;&gt;VI. Reference&lt;/h2&gt;&#xA;&lt;p&gt;Hjelle, G. A. (2020, May 04). Primer on Python Decorators. Retrieved June 10, 2020, from &lt;a href=&#34;https://realpython.com/primer-on-python-decorators&#34;&gt;https://realpython.com/primer-on-python-decorators&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>EDA with Housing Price Prediction - Handling Discrete Variables</title>
      <link>https://dschloe.github.io/programming/2020/06/chapter_2_7_eda_with_discrete_features/</link>
      <pubDate>Tue, 09 Jun 2020 22:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/chapter_2_7_eda_with_discrete_features/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_2_10_eda_with_missingvalues/tutorial_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 본격적으로 Kaggle 데이터를 활용하여 분석을 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;데이터는 이미 다운 받은 상태를 전제로 하며, 만약에 데이터가 없다면 이전 포스팅에서 절차를 확인하기 바란다. (미리보기 가능)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/kaggle/colab_with_drive/&#34;&gt;캐글 데이터 다운로드 받기 (via Colab)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-구글-드라이브-연동&#34;&gt;II. 구글 드라이브 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 코랩을 시작하면 언제든지 가장 먼저 해야 하는 것은 드라이브 연동이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;from google.colab import drive # 패키지 불러오기 &#xA;from os.path import join  &#xA;&#xA;ROOT = &amp;#34;/content/drive&amp;#34;     # 드라이브 기본 경로&#xA;print(ROOT)                 # print content of ROOT (Optional)&#xA;drive.mount(ROOT)           # 드라이브 기본 경로 Mount&#xA;&#xA;MY_GOOGLE_DRIVE_PATH = &amp;#39;My Drive/Colab Notebooks/inflearn_kaggle/&amp;#39; # 프로젝트 경로&#xA;PROJECT_PATH = join(ROOT, MY_GOOGLE_DRIVE_PATH) # 프로젝트 경로&#xA;print(PROJECT_PATH)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/content/drive&#xA;Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&amp;amp;redirect_uri=urn%3aietf%3awg%3aoauth%3a2.0%3aoob&amp;amp;response_type=code&amp;amp;scope=email%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdocs.test%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive.photos.readonly%20https%3a%2f%2fwww.googleapis.com%2fauth%2fpeopleapi.readonly&#xA;&#xA;Enter your authorization code:&#xA;··········&#xA;Mounted at /content/drive&#xA;/content/drive/My Drive/Colab Notebooks/inflearn_kaggle/&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;%cd &amp;#34;{PROJECT_PATH}&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/inflearn_kaggle&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 코드가 에러 없이 돌아간다면 이제 데이터를 불러올 차례다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;!ls&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;data  docs  source&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 &lt;code&gt;inflearn_kaggle&lt;/code&gt; 폴더안에 &lt;code&gt;data&lt;/code&gt;, &lt;code&gt;docs&lt;/code&gt;, &lt;code&gt;source&lt;/code&gt; 등의 하위 폴더를 추가로 만들었다.&lt;/li&gt;&#xA;&lt;li&gt;즉, &lt;code&gt;data&lt;/code&gt; 안에 다운로드 받은 파일이 있을 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-캐글-데이터-수집-및-eda&#34;&gt;III. 캐글 데이터 수집 및 EDA&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 데이터를 수집하기에 앞서서 &lt;code&gt;EDA&lt;/code&gt;에 관한 필수 패키지를 설치하자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;import pandas as pd&#xA;import pandas_profiling&#xA;import numpy as np&#xA;import matplotlib as mpl&#xA;import matplotlib.pyplot as plt&#xA;from matplotlib.pyplot import figure&#xA;import seaborn as sns&#xA;&#xA;from IPython.core.display import display, HTML&#xA;from pandas_profiling import ProfileReport&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/usr/local/lib/python3.6/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.&#xA;  import pandas.util.testing as tm&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;%matplotlib inline&#xA;import matplotlib.pylab as plt&#xA;&#xA;plt.rcParams[&amp;#34;figure.figsize&amp;#34;] = (14,4)&#xA;plt.rcParams[&amp;#39;lines.linewidth&amp;#39;] = 2&#xA;plt.rcParams[&amp;#39;lines.color&amp;#39;] = &amp;#39;r&amp;#39;&#xA;plt.rcParams[&amp;#39;axes.grid&amp;#39;] = True &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;1-데이터-수집&#34;&gt;(1) 데이터 수집&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지난 시간에 받은 데이터가 총 4개임을 확인했다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;data_description.txt&lt;/li&gt;&#xA;&lt;li&gt;sample_submission.csv&lt;/li&gt;&#xA;&lt;li&gt;test.csv&lt;/li&gt;&#xA;&lt;li&gt;train.csv&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;여기에서는 우선 &lt;code&gt;test.csv&lt;/code&gt; &amp;amp; &lt;code&gt;train.csv&lt;/code&gt; 파일을 받도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;train = pd.read_csv(&amp;#39;data/train.csv&amp;#39;)&#xA;test = pd.read_csv(&amp;#39;data/test.csv&amp;#39;)&#xA;print(&amp;#34;data import is done&amp;#34;)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;data import is done&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-데이터-확인&#34;&gt;(2) 데이터 확인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Kaggle&lt;/code&gt; 데이터를 불러오면 우선 확인해야 하는 것은 데이터셋의 크기다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;변수의 갯수&lt;/li&gt;&#xA;&lt;li&gt;Numeric 변수 &amp;amp; Categorical 변수의 개수 등을 파악해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Point 1 - &lt;code&gt;train&lt;/code&gt;데이터에서 굳이 훈련데이터와 테스트 데이터를 구분할 필요는 없다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;보통 &lt;code&gt;Kaggle&lt;/code&gt;에서는 테스트 데이터를 주기적으로 업데이트 해준다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Point 2 - 보통 &lt;code&gt;test&lt;/code&gt; 데이터의 변수의 개수가 하나 더 작다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;train.shape, test.shape&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;((1460, 81), (1459, 80))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그 후 &lt;code&gt;train&lt;/code&gt;데이터의 &lt;code&gt;상위 5개&lt;/code&gt;의 데이터만 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;display(train.head())&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&#34;width:100%; height:400px; overflow:auto&#34;&gt;&#xA;    &lt;style scoped&gt;&#xA;        #dataframe {&#xA;            font-family: &#34;Trebuchet MS&#34;, Arial, Helvetica, sans-serif;&#xA;            border-collapse: collapse;&#xA;        }&#xA;&#xA;        #dataframe td,&#xA;        #dataframe th {&#xA;            border: 1px solid #ddd;&#xA;            padding: 8px;&#xA;        }&#xA;&#xA;        #dataframe tr:nth-child(even) {&#xA;            background-color: #f2f2f2;&#xA;        }&#xA;&#xA;        #dataframe tr:hover {&#xA;            background-color: #ddd;&#xA;        }&#xA;&#xA;        #dataframe th {&#xA;            padding-top: 12px;&#xA;            padding-bottom: 12px;&#xA;            text-align: left;&#xA;            background-color: rgb(175, 107, 76);&#xA;            color: white;&#xA;        }&#xA;    &lt;/style&gt;&#xA;    &lt;table border=&#34;1&#34; id=&#34;dataframe&#34;&gt;&#xA;        &lt;thead&gt;&#xA;            &lt;tr style=&#34;text-align: right;&#34;&gt;&#xA;                &lt;th&gt;&lt;/th&gt;&#xA;                &lt;th&gt;Id&lt;/th&gt;&#xA;                &lt;th&gt;MSSubClass&lt;/th&gt;&#xA;                &lt;th&gt;MSZoning&lt;/th&gt;&#xA;                &lt;th&gt;LotFrontage&lt;/th&gt;&#xA;                &lt;th&gt;LotArea&lt;/th&gt;&#xA;                &lt;th&gt;Street&lt;/th&gt;&#xA;                &lt;th&gt;Alley&lt;/th&gt;&#xA;                &lt;th&gt;LotShape&lt;/th&gt;&#xA;                &lt;th&gt;LandContour&lt;/th&gt;&#xA;                &lt;th&gt;Utilities&lt;/th&gt;&#xA;                &lt;th&gt;LotConfig&lt;/th&gt;&#xA;                &lt;th&gt;LandSlope&lt;/th&gt;&#xA;                &lt;th&gt;Neighborhood&lt;/th&gt;&#xA;                &lt;th&gt;Condition1&lt;/th&gt;&#xA;                &lt;th&gt;Condition2&lt;/th&gt;&#xA;                &lt;th&gt;BldgType&lt;/th&gt;&#xA;                &lt;th&gt;HouseStyle&lt;/th&gt;&#xA;                &lt;th&gt;OverallQual&lt;/th&gt;&#xA;                &lt;th&gt;OverallCond&lt;/th&gt;&#xA;                &lt;th&gt;YearBuilt&lt;/th&gt;&#xA;                &lt;th&gt;YearRemodAdd&lt;/th&gt;&#xA;                &lt;th&gt;RoofStyle&lt;/th&gt;&#xA;                &lt;th&gt;RoofMatl&lt;/th&gt;&#xA;                &lt;th&gt;Exterior1st&lt;/th&gt;&#xA;                &lt;th&gt;Exterior2nd&lt;/th&gt;&#xA;                &lt;th&gt;MasVnrType&lt;/th&gt;&#xA;                &lt;th&gt;MasVnrArea&lt;/th&gt;&#xA;                &lt;th&gt;ExterQual&lt;/th&gt;&#xA;                &lt;th&gt;ExterCond&lt;/th&gt;&#xA;                &lt;th&gt;Foundation&lt;/th&gt;&#xA;                &lt;th&gt;BsmtQual&lt;/th&gt;&#xA;                &lt;th&gt;BsmtCond&lt;/th&gt;&#xA;                &lt;th&gt;BsmtExposure&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinType1&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinSF1&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinType2&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinSF2&lt;/th&gt;&#xA;                &lt;th&gt;BsmtUnfSF&lt;/th&gt;&#xA;                &lt;th&gt;TotalBsmtSF&lt;/th&gt;&#xA;                &lt;th&gt;Heating&lt;/th&gt;&#xA;                &lt;th&gt;...&lt;/th&gt;&#xA;                &lt;th&gt;CentralAir&lt;/th&gt;&#xA;                &lt;th&gt;Electrical&lt;/th&gt;&#xA;                &lt;th&gt;1stFlrSF&lt;/th&gt;&#xA;                &lt;th&gt;2ndFlrSF&lt;/th&gt;&#xA;                &lt;th&gt;LowQualFinSF&lt;/th&gt;&#xA;                &lt;th&gt;GrLivArea&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFullBath&lt;/th&gt;&#xA;                &lt;th&gt;BsmtHalfBath&lt;/th&gt;&#xA;                &lt;th&gt;FullBath&lt;/th&gt;&#xA;                &lt;th&gt;HalfBath&lt;/th&gt;&#xA;                &lt;th&gt;BedroomAbvGr&lt;/th&gt;&#xA;                &lt;th&gt;KitchenAbvGr&lt;/th&gt;&#xA;                &lt;th&gt;KitchenQual&lt;/th&gt;&#xA;                &lt;th&gt;TotRmsAbvGrd&lt;/th&gt;&#xA;                &lt;th&gt;Functional&lt;/th&gt;&#xA;                &lt;th&gt;Fireplaces&lt;/th&gt;&#xA;                &lt;th&gt;FireplaceQu&lt;/th&gt;&#xA;                &lt;th&gt;GarageType&lt;/th&gt;&#xA;                &lt;th&gt;GarageYrBlt&lt;/th&gt;&#xA;                &lt;th&gt;GarageFinish&lt;/th&gt;&#xA;                &lt;th&gt;GarageCars&lt;/th&gt;&#xA;                &lt;th&gt;GarageArea&lt;/th&gt;&#xA;                &lt;th&gt;GarageQual&lt;/th&gt;&#xA;                &lt;th&gt;GarageCond&lt;/th&gt;&#xA;                &lt;th&gt;PavedDrive&lt;/th&gt;&#xA;                &lt;th&gt;WoodDeckSF&lt;/th&gt;&#xA;                &lt;th&gt;OpenPorchSF&lt;/th&gt;&#xA;                &lt;th&gt;EnclosedPorch&lt;/th&gt;&#xA;                &lt;th&gt;3SsnPorch&lt;/th&gt;&#xA;                &lt;th&gt;ScreenPorch&lt;/th&gt;&#xA;                &lt;th&gt;PoolArea&lt;/th&gt;&#xA;                &lt;th&gt;PoolQC&lt;/th&gt;&#xA;                &lt;th&gt;Fence&lt;/th&gt;&#xA;                &lt;th&gt;MiscFeature&lt;/th&gt;&#xA;                &lt;th&gt;MiscVal&lt;/th&gt;&#xA;                &lt;th&gt;MoSold&lt;/th&gt;&#xA;                &lt;th&gt;YrSold&lt;/th&gt;&#xA;                &lt;th&gt;SaleType&lt;/th&gt;&#xA;                &lt;th&gt;SaleCondition&lt;/th&gt;&#xA;                &lt;th&gt;SalePrice&lt;/th&gt;&#xA;            &lt;/tr&gt;&#xA;        &lt;/thead&gt;&#xA;        &lt;tbody&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;0&lt;/th&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;65.0&lt;/td&gt;&#xA;                &lt;td&gt;8450&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;CollgCr&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2003&lt;/td&gt;&#xA;                &lt;td&gt;2003&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;BrkFace&lt;/td&gt;&#xA;                &lt;td&gt;196.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;706&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;150&lt;/td&gt;&#xA;                &lt;td&gt;856&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;856&lt;/td&gt;&#xA;                &lt;td&gt;854&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1710&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;2003.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;548&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;61&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;208500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1&lt;/th&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;80.0&lt;/td&gt;&#xA;                &lt;td&gt;9600&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;FR2&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Veenker&lt;/td&gt;&#xA;                &lt;td&gt;Feedr&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;1976&lt;/td&gt;&#xA;                &lt;td&gt;1976&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;ALQ&lt;/td&gt;&#xA;                &lt;td&gt;978&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;284&lt;/td&gt;&#xA;                &lt;td&gt;1262&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1262&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1262&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1976.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;460&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;298&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2007&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;181500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;2&lt;/th&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;68.0&lt;/td&gt;&#xA;                &lt;td&gt;11250&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;IR1&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;CollgCr&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2001&lt;/td&gt;&#xA;                &lt;td&gt;2002&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;BrkFace&lt;/td&gt;&#xA;                &lt;td&gt;162.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Mn&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;486&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;434&lt;/td&gt;&#xA;                &lt;td&gt;920&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;920&lt;/td&gt;&#xA;                &lt;td&gt;866&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1786&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;2001.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;608&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;42&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;223500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;3&lt;/th&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;70&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;60.0&lt;/td&gt;&#xA;                &lt;td&gt;9550&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;IR1&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Corner&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Crawfor&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;1915&lt;/td&gt;&#xA;                &lt;td&gt;1970&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;Wd Sdng&lt;/td&gt;&#xA;                &lt;td&gt;Wd Shng&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;BrkTil&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;ALQ&lt;/td&gt;&#xA;                &lt;td&gt;216&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;540&lt;/td&gt;&#xA;                &lt;td&gt;756&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;961&lt;/td&gt;&#xA;                &lt;td&gt;756&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1717&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;Detchd&lt;/td&gt;&#xA;                &lt;td&gt;1998.0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;642&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;35&lt;/td&gt;&#xA;                &lt;td&gt;272&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;2006&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Abnorml&lt;/td&gt;&#xA;                &lt;td&gt;140000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;4&lt;/th&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;84.0&lt;/td&gt;&#xA;                &lt;td&gt;14260&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;IR1&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;FR2&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;NoRidge&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2000&lt;/td&gt;&#xA;                &lt;td&gt;2000&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;BrkFace&lt;/td&gt;&#xA;                &lt;td&gt;350.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Av&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;655&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;490&lt;/td&gt;&#xA;                &lt;td&gt;1145&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1145&lt;/td&gt;&#xA;                &lt;td&gt;1053&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2198&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;2000.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;836&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;192&lt;/td&gt;&#xA;                &lt;td&gt;84&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;12&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;250000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;...&lt;/th&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1455&lt;/th&gt;&#xA;                &lt;td&gt;1456&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;62.0&lt;/td&gt;&#xA;                &lt;td&gt;7917&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Gilbert&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;1999&lt;/td&gt;&#xA;                &lt;td&gt;2000&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;953&lt;/td&gt;&#xA;                &lt;td&gt;953&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;953&lt;/td&gt;&#xA;                &lt;td&gt;694&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1647&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1999.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;460&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;40&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;2007&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;175000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1456&lt;/th&gt;&#xA;                &lt;td&gt;1457&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;85.0&lt;/td&gt;&#xA;                &lt;td&gt;13175&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;NWAmes&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;1978&lt;/td&gt;&#xA;                &lt;td&gt;1988&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;Plywood&lt;/td&gt;&#xA;                &lt;td&gt;Plywood&lt;/td&gt;&#xA;                &lt;td&gt;Stone&lt;/td&gt;&#xA;                &lt;td&gt;119.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;ALQ&lt;/td&gt;&#xA;                &lt;td&gt;790&lt;/td&gt;&#xA;                &lt;td&gt;Rec&lt;/td&gt;&#xA;                &lt;td&gt;163&lt;/td&gt;&#xA;                &lt;td&gt;589&lt;/td&gt;&#xA;                &lt;td&gt;1542&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;2073&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2073&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;Min1&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1978.0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;500&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;349&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;MnPrv&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;2010&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;210000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1457&lt;/th&gt;&#xA;                &lt;td&gt;1458&lt;/td&gt;&#xA;                &lt;td&gt;70&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;66.0&lt;/td&gt;&#xA;                &lt;td&gt;9042&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Crawfor&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;1941&lt;/td&gt;&#xA;                &lt;td&gt;2006&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;CemntBd&lt;/td&gt;&#xA;                &lt;td&gt;CmentBd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;Ex&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;Stone&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;275&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;877&lt;/td&gt;&#xA;                &lt;td&gt;1152&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1188&lt;/td&gt;&#xA;                &lt;td&gt;1152&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2340&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1941.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;252&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;GdPrv&lt;/td&gt;&#xA;                &lt;td&gt;Shed&lt;/td&gt;&#xA;                &lt;td&gt;2500&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2010&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;266500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1458&lt;/th&gt;&#xA;                &lt;td&gt;1459&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;68.0&lt;/td&gt;&#xA;                &lt;td&gt;9717&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;NAmes&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;1950&lt;/td&gt;&#xA;                &lt;td&gt;1996&lt;/td&gt;&#xA;                &lt;td&gt;Hip&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Mn&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;49&lt;/td&gt;&#xA;                &lt;td&gt;Rec&lt;/td&gt;&#xA;                &lt;td&gt;1029&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1078&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;FuseA&lt;/td&gt;&#xA;                &lt;td&gt;1078&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1078&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1950.0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;240&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;366&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;112&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;2010&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;142125&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1459&lt;/th&gt;&#xA;                &lt;td&gt;1460&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;75.0&lt;/td&gt;&#xA;                &lt;td&gt;9937&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Edwards&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;1965&lt;/td&gt;&#xA;                &lt;td&gt;1965&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;HdBoard&lt;/td&gt;&#xA;                &lt;td&gt;HdBoard&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;BLQ&lt;/td&gt;&#xA;                &lt;td&gt;830&lt;/td&gt;&#xA;                &lt;td&gt;LwQ&lt;/td&gt;&#xA;                &lt;td&gt;290&lt;/td&gt;&#xA;                &lt;td&gt;136&lt;/td&gt;&#xA;                &lt;td&gt;1256&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1256&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1256&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1965.0&lt;/td&gt;&#xA;                &lt;td&gt;Fin&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;276&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;736&lt;/td&gt;&#xA;                &lt;td&gt;68&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;147500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;        &lt;/tbody&gt;&#xA;    &lt;/table&gt;&#xA;    &lt;p&gt;1460 rows × 81 columns&lt;/p&gt;</description>
    </item>
    <item>
      <title>(AWS Project) BigData with Hadoop 05 - Hive Script 연습 예제</title>
      <link>https://dschloe.github.io/programming/2020/06/step_5_run_hive_script/</link>
      <pubDate>Mon, 08 Jun 2020 15:13:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/step_5_run_hive_script/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/step_1_overview/aws-project_analyze-big-data_diagram.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-getting-started&#34;&gt;I. Getting Started&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;처음 이 페이지를 방문했다면, 반드시 사전작업을 완료하기를 바란다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/aws/02_bigdataplatform/step_2_setup/&#34;&gt;(AWS Project) BigData with Hadoop 02 - 사전작업&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/aws/02_bigdataplatform/step_3_launch_emr_cluster/&#34;&gt;(AWS Project) BigData with Hadoop 03 - Amazon EMR Cluster 시작&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/aws/02_bigdataplatform/step_4_allow_ssh_access/&#34;&gt;(AWS Project) BigData with Hadoop 04 - Allow SSH Access&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-what-to-do-now&#34;&gt;II. What to do now&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Hive Script&lt;/code&gt;를 제출하는 방법에 대해 준비하였다.&lt;/li&gt;&#xA;&lt;li&gt;를러스터를 생성할 때 단계를 지정하거나 마스터 노드에 연결하고 로컬 파일 시스템에서 스크립트를 생성하고 명렁어를 사용하여 실행할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-데이터와-스크립트에-대한-이해&#34;&gt;III. 데이터와 스크립트에 대한 이해&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 튜토리얼에서 사용하는 샘플 데이터와 스크립트는 Amazon S3에서 사용이 가능하다.&lt;/li&gt;&#xA;&lt;li&gt;샘플 데이터는 일련의 Amazon CloudFront 액세스 로그 파일이다.&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt&gt;CloudFront 및 로그 파일 형식에 대한 자세한 정보는 다음을 확인한다.&lt;/dt&gt;&#xA;&lt;dd&gt;&lt;a href=&#34;https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/&#34;&gt;Amazon CloudFront Developer Guide&lt;/a&gt;&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;데이터의 위치는 아래와 같이 저장된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;s3://region.elasticmapreduce.samples/cloudfront/&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;여기에서 &lt;code&gt;region&lt;/code&gt;은 사용자의 &lt;code&gt;region&lt;/code&gt;이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-스크립트-제출-시&#34;&gt;(1) 스크립트 제출 시&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;script를 제출할 때 위치를 입력하면 스크립트가 클라우드 프런트/데이터 부분을 추가하기 때문에 생략한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;CloudFront&lt;/code&gt; 로그 파일의 각 항목은 다음과 같은 형식으로 단일 사용자 요청에 대한 세부 정보를 제공한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;2014-07-05 20:00:00 LHR3 4260 10.0.0.15 GET eabcd12345678.cloudfront.net /test-image-1.jpeg 200 - Mozilla/5.0%20(MacOS;%20U;%20Windows%20NT%205.1;%20en-US;%20rv:1.9.0.9)%20Gecko/2009040821%20IE/3.0.9&lt;/p&gt;</description>
    </item>
    <item>
      <title>EDA with Housing Price Prediction - Handling Date</title>
      <link>https://dschloe.github.io/programming/2020/06/chapter_2_5_eda_with_date/</link>
      <pubDate>Mon, 08 Jun 2020 11:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/chapter_2_5_eda_with_date/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_2_10_eda_with_missingvalues/tutorial_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 본격적으로 Kaggle 데이터를 활용하여 분석을 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;데이터는 이미 다운 받은 상태를 전제로 하며, 만약에 데이터가 없다면 이전 포스팅에서 절차를 확인하기 바란다. (미리보기 가능)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/kaggle/colab_with_drive/&#34;&gt;캐글 데이터 다운로드 받기 (via Colab)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-구글-드라이브-연동&#34;&gt;II. 구글 드라이브 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 코랩을 시작하면 언제든지 가장 먼저 해야 하는 것은 드라이브 연동이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; drive &lt;span style=&#34;color:#75715e&#34;&gt;# 패키지 불러오기 &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; os.path &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; join  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ROOT &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/content/drive&amp;#34;&lt;/span&gt;     &lt;span style=&#34;color:#75715e&#34;&gt;# 드라이브 기본 경로&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(ROOT)                 &lt;span style=&#34;color:#75715e&#34;&gt;# print content of ROOT (Optional)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;drive&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mount(ROOT)           &lt;span style=&#34;color:#75715e&#34;&gt;# 드라이브 기본 경로 Mount&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;MY_GOOGLE_DRIVE_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;My Drive/Colab Notebooks/inflearn_kaggle/&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 프로젝트 경로&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PROJECT_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; join(ROOT, MY_GOOGLE_DRIVE_PATH) &lt;span style=&#34;color:#75715e&#34;&gt;# 프로젝트 경로&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(PROJECT_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive&#xA;Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&amp;amp;redirect_uri=urn%3aietf%3awg%3aoauth%3a2.0%3aoob&amp;amp;response_type=code&amp;amp;scope=email%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdocs.test%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive.photos.readonly%20https%3a%2f%2fwww.googleapis.com%2fauth%2fpeopleapi.readonly&#xA;&#xA;Enter your authorization code:&#xA;··········&#xA;Mounted at /content/drive&#xA;/content/drive/My Drive/Colab Notebooks/inflearn_kaggle/&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;%cd &amp;#34;{PROJECT_PATH}&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/inflearn_kaggle&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 코드가 에러 없이 돌아간다면 이제 데이터를 불러올 차례다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;!ls&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;data  docs  source&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 &lt;code&gt;inflearn_kaggle&lt;/code&gt; 폴더안에 &lt;code&gt;data&lt;/code&gt;, &lt;code&gt;docs&lt;/code&gt;, &lt;code&gt;source&lt;/code&gt; 등의 하위 폴더를 추가로 만들었다.&lt;/li&gt;&#xA;&lt;li&gt;즉, &lt;code&gt;data&lt;/code&gt; 안에 다운로드 받은 파일이 있을 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-캐글-데이터-수집-및-eda&#34;&gt;III. 캐글 데이터 수집 및 EDA&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 데이터를 수집하기에 앞서서 &lt;code&gt;EDA&lt;/code&gt;에 관한 필수 패키지를 설치하자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas_profiling&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; mpl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; figure&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; IPython.core.display &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; display, HTML&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; pandas_profiling &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; ProfileReport&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;matplotlib inline&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pylab &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;figure.figsize&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; (&lt;span style=&#34;color:#ae81ff&#34;&gt;14&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lines.linewidth&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;lines.color&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;r&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;axes.grid&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;1-데이터-수집&#34;&gt;(1) 데이터 수집&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지난 시간에 받은 데이터가 총 4개임을 확인했다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;data_description.txt&lt;/li&gt;&#xA;&lt;li&gt;sample_submission.csv&lt;/li&gt;&#xA;&lt;li&gt;test.csv&lt;/li&gt;&#xA;&lt;li&gt;train.csv&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;여기에서는 우선 &lt;code&gt;test.csv&lt;/code&gt; &amp;amp; &lt;code&gt;train.csv&lt;/code&gt; 파일을 받도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;data/train.csv&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;test &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;data/test.csv&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data import is done&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;data import is done&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-데이터-확인&#34;&gt;(2) 데이터 확인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Kaggle&lt;/code&gt; 데이터를 불러오면 우선 확인해야 하는 것은 데이터셋의 크기다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;변수의 갯수&lt;/li&gt;&#xA;&lt;li&gt;Numeric 변수 &amp;amp; Categorical 변수의 개수 등을 파악해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Point 1 - &lt;code&gt;train&lt;/code&gt;데이터에서 굳이 훈련데이터와 테스트 데이터를 구분할 필요는 없다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;보통 &lt;code&gt;Kaggle&lt;/code&gt;에서는 테스트 데이터를 주기적으로 업데이트 해준다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Point 2 - 보통 &lt;code&gt;test&lt;/code&gt; 데이터의 변수의 개수가 하나 더 작다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;train&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape, test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;((1460, 81), (1459, 80))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그 후 &lt;code&gt;train&lt;/code&gt;데이터의 &lt;code&gt;상위 5개&lt;/code&gt;의 데이터만 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;display(train)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style=&#34;width:100%; height:400px; overflow:auto&#34;&gt;&#xA;    &lt;style scoped&gt;&#xA;        #dataframe {&#xA;            font-family: &#34;Trebuchet MS&#34;, Arial, Helvetica, sans-serif;&#xA;            border-collapse: collapse;&#xA;        }&#xA;&#xA;        #dataframe td,&#xA;        #dataframe th {&#xA;            border: 1px solid #ddd;&#xA;            padding: 8px;&#xA;        }&#xA;&#xA;        #dataframe tr:nth-child(even) {&#xA;            background-color: #f2f2f2;&#xA;        }&#xA;&#xA;        #dataframe tr:hover {&#xA;            background-color: #ddd;&#xA;        }&#xA;&#xA;        #dataframe th {&#xA;            padding-top: 12px;&#xA;            padding-bottom: 12px;&#xA;            text-align: left;&#xA;            background-color: rgb(175, 107, 76);&#xA;            color: white;&#xA;        }&#xA;    &lt;/style&gt;&#xA;    &lt;table border=&#34;1&#34; id=&#34;dataframe&#34;&gt;&#xA;        &lt;thead&gt;&#xA;            &lt;tr style=&#34;text-align: right;&#34;&gt;&#xA;                &lt;th&gt;&lt;/th&gt;&#xA;                &lt;th&gt;Id&lt;/th&gt;&#xA;                &lt;th&gt;MSSubClass&lt;/th&gt;&#xA;                &lt;th&gt;MSZoning&lt;/th&gt;&#xA;                &lt;th&gt;LotFrontage&lt;/th&gt;&#xA;                &lt;th&gt;LotArea&lt;/th&gt;&#xA;                &lt;th&gt;Street&lt;/th&gt;&#xA;                &lt;th&gt;Alley&lt;/th&gt;&#xA;                &lt;th&gt;LotShape&lt;/th&gt;&#xA;                &lt;th&gt;LandContour&lt;/th&gt;&#xA;                &lt;th&gt;Utilities&lt;/th&gt;&#xA;                &lt;th&gt;LotConfig&lt;/th&gt;&#xA;                &lt;th&gt;LandSlope&lt;/th&gt;&#xA;                &lt;th&gt;Neighborhood&lt;/th&gt;&#xA;                &lt;th&gt;Condition1&lt;/th&gt;&#xA;                &lt;th&gt;Condition2&lt;/th&gt;&#xA;                &lt;th&gt;BldgType&lt;/th&gt;&#xA;                &lt;th&gt;HouseStyle&lt;/th&gt;&#xA;                &lt;th&gt;OverallQual&lt;/th&gt;&#xA;                &lt;th&gt;OverallCond&lt;/th&gt;&#xA;                &lt;th&gt;YearBuilt&lt;/th&gt;&#xA;                &lt;th&gt;YearRemodAdd&lt;/th&gt;&#xA;                &lt;th&gt;RoofStyle&lt;/th&gt;&#xA;                &lt;th&gt;RoofMatl&lt;/th&gt;&#xA;                &lt;th&gt;Exterior1st&lt;/th&gt;&#xA;                &lt;th&gt;Exterior2nd&lt;/th&gt;&#xA;                &lt;th&gt;MasVnrType&lt;/th&gt;&#xA;                &lt;th&gt;MasVnrArea&lt;/th&gt;&#xA;                &lt;th&gt;ExterQual&lt;/th&gt;&#xA;                &lt;th&gt;ExterCond&lt;/th&gt;&#xA;                &lt;th&gt;Foundation&lt;/th&gt;&#xA;                &lt;th&gt;BsmtQual&lt;/th&gt;&#xA;                &lt;th&gt;BsmtCond&lt;/th&gt;&#xA;                &lt;th&gt;BsmtExposure&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinType1&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinSF1&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinType2&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinSF2&lt;/th&gt;&#xA;                &lt;th&gt;BsmtUnfSF&lt;/th&gt;&#xA;                &lt;th&gt;TotalBsmtSF&lt;/th&gt;&#xA;                &lt;th&gt;Heating&lt;/th&gt;&#xA;                &lt;th&gt;...&lt;/th&gt;&#xA;                &lt;th&gt;CentralAir&lt;/th&gt;&#xA;                &lt;th&gt;Electrical&lt;/th&gt;&#xA;                &lt;th&gt;1stFlrSF&lt;/th&gt;&#xA;                &lt;th&gt;2ndFlrSF&lt;/th&gt;&#xA;                &lt;th&gt;LowQualFinSF&lt;/th&gt;&#xA;                &lt;th&gt;GrLivArea&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFullBath&lt;/th&gt;&#xA;                &lt;th&gt;BsmtHalfBath&lt;/th&gt;&#xA;                &lt;th&gt;FullBath&lt;/th&gt;&#xA;                &lt;th&gt;HalfBath&lt;/th&gt;&#xA;                &lt;th&gt;BedroomAbvGr&lt;/th&gt;&#xA;                &lt;th&gt;KitchenAbvGr&lt;/th&gt;&#xA;                &lt;th&gt;KitchenQual&lt;/th&gt;&#xA;                &lt;th&gt;TotRmsAbvGrd&lt;/th&gt;&#xA;                &lt;th&gt;Functional&lt;/th&gt;&#xA;                &lt;th&gt;Fireplaces&lt;/th&gt;&#xA;                &lt;th&gt;FireplaceQu&lt;/th&gt;&#xA;                &lt;th&gt;GarageType&lt;/th&gt;&#xA;                &lt;th&gt;GarageYrBlt&lt;/th&gt;&#xA;                &lt;th&gt;GarageFinish&lt;/th&gt;&#xA;                &lt;th&gt;GarageCars&lt;/th&gt;&#xA;                &lt;th&gt;GarageArea&lt;/th&gt;&#xA;                &lt;th&gt;GarageQual&lt;/th&gt;&#xA;                &lt;th&gt;GarageCond&lt;/th&gt;&#xA;                &lt;th&gt;PavedDrive&lt;/th&gt;&#xA;                &lt;th&gt;WoodDeckSF&lt;/th&gt;&#xA;                &lt;th&gt;OpenPorchSF&lt;/th&gt;&#xA;                &lt;th&gt;EnclosedPorch&lt;/th&gt;&#xA;                &lt;th&gt;3SsnPorch&lt;/th&gt;&#xA;                &lt;th&gt;ScreenPorch&lt;/th&gt;&#xA;                &lt;th&gt;PoolArea&lt;/th&gt;&#xA;                &lt;th&gt;PoolQC&lt;/th&gt;&#xA;                &lt;th&gt;Fence&lt;/th&gt;&#xA;                &lt;th&gt;MiscFeature&lt;/th&gt;&#xA;                &lt;th&gt;MiscVal&lt;/th&gt;&#xA;                &lt;th&gt;MoSold&lt;/th&gt;&#xA;                &lt;th&gt;YrSold&lt;/th&gt;&#xA;                &lt;th&gt;SaleType&lt;/th&gt;&#xA;                &lt;th&gt;SaleCondition&lt;/th&gt;&#xA;                &lt;th&gt;SalePrice&lt;/th&gt;&#xA;            &lt;/tr&gt;&#xA;        &lt;/thead&gt;&#xA;        &lt;tbody&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;0&lt;/th&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;65.0&lt;/td&gt;&#xA;                &lt;td&gt;8450&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;CollgCr&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2003&lt;/td&gt;&#xA;                &lt;td&gt;2003&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;BrkFace&lt;/td&gt;&#xA;                &lt;td&gt;196.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;706&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;150&lt;/td&gt;&#xA;                &lt;td&gt;856&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;856&lt;/td&gt;&#xA;                &lt;td&gt;854&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1710&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;2003.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;548&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;61&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;208500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1&lt;/th&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;80.0&lt;/td&gt;&#xA;                &lt;td&gt;9600&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;FR2&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Veenker&lt;/td&gt;&#xA;                &lt;td&gt;Feedr&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;1976&lt;/td&gt;&#xA;                &lt;td&gt;1976&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;ALQ&lt;/td&gt;&#xA;                &lt;td&gt;978&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;284&lt;/td&gt;&#xA;                &lt;td&gt;1262&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1262&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1262&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1976.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;460&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;298&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2007&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;181500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;2&lt;/th&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;68.0&lt;/td&gt;&#xA;                &lt;td&gt;11250&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;IR1&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;CollgCr&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2001&lt;/td&gt;&#xA;                &lt;td&gt;2002&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;BrkFace&lt;/td&gt;&#xA;                &lt;td&gt;162.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Mn&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;486&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;434&lt;/td&gt;&#xA;                &lt;td&gt;920&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;920&lt;/td&gt;&#xA;                &lt;td&gt;866&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1786&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;2001.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;608&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;42&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;223500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;3&lt;/th&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;70&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;60.0&lt;/td&gt;&#xA;                &lt;td&gt;9550&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;IR1&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Corner&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Crawfor&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;1915&lt;/td&gt;&#xA;                &lt;td&gt;1970&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;Wd Sdng&lt;/td&gt;&#xA;                &lt;td&gt;Wd Shng&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;BrkTil&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;ALQ&lt;/td&gt;&#xA;                &lt;td&gt;216&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;540&lt;/td&gt;&#xA;                &lt;td&gt;756&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;961&lt;/td&gt;&#xA;                &lt;td&gt;756&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1717&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;Detchd&lt;/td&gt;&#xA;                &lt;td&gt;1998.0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;642&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;35&lt;/td&gt;&#xA;                &lt;td&gt;272&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;2006&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Abnorml&lt;/td&gt;&#xA;                &lt;td&gt;140000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;4&lt;/th&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;84.0&lt;/td&gt;&#xA;                &lt;td&gt;14260&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;IR1&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;FR2&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;NoRidge&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2000&lt;/td&gt;&#xA;                &lt;td&gt;2000&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;BrkFace&lt;/td&gt;&#xA;                &lt;td&gt;350.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Av&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;655&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;490&lt;/td&gt;&#xA;                &lt;td&gt;1145&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1145&lt;/td&gt;&#xA;                &lt;td&gt;1053&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2198&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;2000.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;836&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;192&lt;/td&gt;&#xA;                &lt;td&gt;84&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;12&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;250000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;...&lt;/th&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1455&lt;/th&gt;&#xA;                &lt;td&gt;1456&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;62.0&lt;/td&gt;&#xA;                &lt;td&gt;7917&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Gilbert&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;1999&lt;/td&gt;&#xA;                &lt;td&gt;2000&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;953&lt;/td&gt;&#xA;                &lt;td&gt;953&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;953&lt;/td&gt;&#xA;                &lt;td&gt;694&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1647&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1999.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;460&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;40&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;2007&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;175000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1456&lt;/th&gt;&#xA;                &lt;td&gt;1457&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;85.0&lt;/td&gt;&#xA;                &lt;td&gt;13175&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;NWAmes&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;1978&lt;/td&gt;&#xA;                &lt;td&gt;1988&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;Plywood&lt;/td&gt;&#xA;                &lt;td&gt;Plywood&lt;/td&gt;&#xA;                &lt;td&gt;Stone&lt;/td&gt;&#xA;                &lt;td&gt;119.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;ALQ&lt;/td&gt;&#xA;                &lt;td&gt;790&lt;/td&gt;&#xA;                &lt;td&gt;Rec&lt;/td&gt;&#xA;                &lt;td&gt;163&lt;/td&gt;&#xA;                &lt;td&gt;589&lt;/td&gt;&#xA;                &lt;td&gt;1542&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;2073&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2073&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;Min1&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1978.0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;500&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;349&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;MnPrv&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;2010&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;210000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1457&lt;/th&gt;&#xA;                &lt;td&gt;1458&lt;/td&gt;&#xA;                &lt;td&gt;70&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;66.0&lt;/td&gt;&#xA;                &lt;td&gt;9042&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Crawfor&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;1941&lt;/td&gt;&#xA;                &lt;td&gt;2006&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;CemntBd&lt;/td&gt;&#xA;                &lt;td&gt;CmentBd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;Ex&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;Stone&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;275&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;877&lt;/td&gt;&#xA;                &lt;td&gt;1152&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1188&lt;/td&gt;&#xA;                &lt;td&gt;1152&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2340&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1941.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;252&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;GdPrv&lt;/td&gt;&#xA;                &lt;td&gt;Shed&lt;/td&gt;&#xA;                &lt;td&gt;2500&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2010&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;266500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1458&lt;/th&gt;&#xA;                &lt;td&gt;1459&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;68.0&lt;/td&gt;&#xA;                &lt;td&gt;9717&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;NAmes&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;1950&lt;/td&gt;&#xA;                &lt;td&gt;1996&lt;/td&gt;&#xA;                &lt;td&gt;Hip&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Mn&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;49&lt;/td&gt;&#xA;                &lt;td&gt;Rec&lt;/td&gt;&#xA;                &lt;td&gt;1029&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1078&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;FuseA&lt;/td&gt;&#xA;                &lt;td&gt;1078&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1078&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1950.0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;240&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;366&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;112&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;2010&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;142125&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1459&lt;/th&gt;&#xA;                &lt;td&gt;1460&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;75.0&lt;/td&gt;&#xA;                &lt;td&gt;9937&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Edwards&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;1965&lt;/td&gt;&#xA;                &lt;td&gt;1965&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;HdBoard&lt;/td&gt;&#xA;                &lt;td&gt;HdBoard&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;BLQ&lt;/td&gt;&#xA;                &lt;td&gt;830&lt;/td&gt;&#xA;                &lt;td&gt;LwQ&lt;/td&gt;&#xA;                &lt;td&gt;290&lt;/td&gt;&#xA;                &lt;td&gt;136&lt;/td&gt;&#xA;                &lt;td&gt;1256&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1256&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1256&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1965.0&lt;/td&gt;&#xA;                &lt;td&gt;Fin&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;276&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;736&lt;/td&gt;&#xA;                &lt;td&gt;68&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;147500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;        &lt;/tbody&gt;&#xA;    &lt;/table&gt;&#xA;    &lt;p&gt;1460 rows × 81 columns&lt;/p&gt;</description>
    </item>
    <item>
      <title>EDA with Housing Price Prediction - Data Import</title>
      <link>https://dschloe.github.io/programming/2020/06/chapter_2_4_eda_data_import/</link>
      <pubDate>Sun, 07 Jun 2020 18:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/chapter_2_4_eda_data_import/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_2_10_eda_with_missingvalues/tutorial_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 본격적으로 Kaggle 데이터를 활용하여 분석을 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;데이터는 이미 다운 받은 상태를 전제로 하며, 만약에 데이터가 없다면 이전 포스팅에서 절차를 확인하기 바란다. (미리보기 가능)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/kaggle/colab_with_drive/&#34;&gt;캐글 데이터 다운로드 받기 (via Colab)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-구글-드라이브-연동&#34;&gt;II. 구글 드라이브 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 코랩을 시작하면 언제든지 가장 먼저 해야 하는 것은 드라이브 연동이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;from google.colab import drive # 패키지 불러오기 &#xA;from os.path import join  &#xA;&#xA;ROOT = &amp;#34;/content/drive&amp;#34;     # 드라이브 기본 경로&#xA;print(ROOT)                 # print content of ROOT (Optional)&#xA;drive.mount(ROOT)           # 드라이브 기본 경로 Mount&#xA;&#xA;MY_GOOGLE_DRIVE_PATH = &amp;#39;My Drive/Colab Notebooks/inflearn_kaggle/&amp;#39; # 프로젝트 경로&#xA;PROJECT_PATH = join(ROOT, MY_GOOGLE_DRIVE_PATH) # 프로젝트 경로&#xA;print(PROJECT_PATH)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/content/drive&#xA;Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&amp;amp;redirect_uri=urn%3aietf%3awg%3aoauth%3a2.0%3aoob&amp;amp;response_type=code&amp;amp;scope=email%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdocs.test%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive.photos.readonly%20https%3a%2f%2fwww.googleapis.com%2fauth%2fpeopleapi.readonly&#xA;&#xA;Enter your authorization code:&#xA;··········&#xA;Mounted at /content/drive&#xA;/content/drive/My Drive/Colab Notebooks/inflearn_kaggle/&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;%cd &amp;#34;{PROJECT_PATH}&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/inflearn_kaggle&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 코드가 에러 없이 돌아간다면 이제 데이터를 불러올 차례다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;!ls&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;data  docs  source&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자는 &lt;code&gt;inflearn_kaggle&lt;/code&gt; 폴더안에 &lt;code&gt;data&lt;/code&gt;, &lt;code&gt;docs&lt;/code&gt;, &lt;code&gt;source&lt;/code&gt; 등의 하위 폴더를 추가로 만들었다.&lt;/li&gt;&#xA;&lt;li&gt;즉, &lt;code&gt;data&lt;/code&gt; 안에 다운로드 받은 파일이 있을 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-캐글-데이터-수집-및-eda&#34;&gt;III. 캐글 데이터 수집 및 EDA&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;우선 데이터를 수집하기에 앞서서 &lt;code&gt;EDA&lt;/code&gt;에 관한 필수 패키지를 설치하자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;import pandas as pd&#xA;import pandas_profiling&#xA;import numpy as np&#xA;import matplotlib as mpl&#xA;import matplotlib.pyplot as plt&#xA;import seaborn as sns&#xA;&#xA;from IPython.core.display import display, HTML&#xA;from pandas_profiling import ProfileReport&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/usr/local/lib/python3.6/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.&#xA;  import pandas.util.testing as tm&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;1-데이터-수집&#34;&gt;(1) 데이터 수집&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;지난 시간에 받은 데이터가 총 4개임을 확인했다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;data_description.txt&lt;/li&gt;&#xA;&lt;li&gt;sample_submission.csv&lt;/li&gt;&#xA;&lt;li&gt;test.csv&lt;/li&gt;&#xA;&lt;li&gt;train.csv&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;여기에서는 우선 &lt;code&gt;test.csv&lt;/code&gt; &amp;amp; &lt;code&gt;train.csv&lt;/code&gt; 파일을 받도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;train = pd.read_csv(&amp;#39;data/train.csv&amp;#39;)&#xA;test = pd.read_csv(&amp;#39;data/test.csv&amp;#39;)&#xA;print(&amp;#34;data import is done&amp;#34;)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;data import is done&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-데이터-확인&#34;&gt;(2) 데이터 확인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Kaggle&lt;/code&gt; 데이터를 불러오면 우선 확인해야 하는 것은 데이터셋의 크기다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;변수의 갯수&lt;/li&gt;&#xA;&lt;li&gt;Numeric 변수 &amp;amp; Categorical 변수의 개수 등을 파악해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Point 1 - &lt;code&gt;train&lt;/code&gt;데이터에서 굳이 훈련데이터와 테스트 데이터를 구분할 필요는 없다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;보통 &lt;code&gt;Kaggle&lt;/code&gt;에서는 테스트 데이터를 주기적으로 업데이트 해준다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Point 2 - 보통 &lt;code&gt;test&lt;/code&gt; 데이터의 변수의 개수가 하나 더 작다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;train.shape, test.shape&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;((1460, 81), (1459, 80))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그 후 &lt;code&gt;train&lt;/code&gt;데이터의 &lt;code&gt;상위 5개&lt;/code&gt;의 데이터만 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;display(train)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&#34;width:100%; height:400px; overflow:auto&#34;&gt;&#xA;    &lt;style scoped&gt;&#xA;        #dataframe {&#xA;            font-family: &#34;Trebuchet MS&#34;, Arial, Helvetica, sans-serif;&#xA;            border-collapse: collapse;&#xA;        }&#xA;&#xA;        #dataframe td,&#xA;        #dataframe th {&#xA;            border: 1px solid #ddd;&#xA;            padding: 8px;&#xA;        }&#xA;&#xA;        #dataframe tr:nth-child(even) {&#xA;            background-color: #f2f2f2;&#xA;        }&#xA;&#xA;        #dataframe tr:hover {&#xA;            background-color: #ddd;&#xA;        }&#xA;&#xA;        #dataframe th {&#xA;            padding-top: 12px;&#xA;            padding-bottom: 12px;&#xA;            text-align: left;&#xA;            background-color: rgb(175, 107, 76);&#xA;            color: white;&#xA;        }&#xA;    &lt;/style&gt;&#xA;    &lt;table border=&#34;1&#34; id=&#34;dataframe&#34;&gt;&#xA;        &lt;thead&gt;&#xA;            &lt;tr style=&#34;text-align: right;&#34;&gt;&#xA;                &lt;th&gt;&lt;/th&gt;&#xA;                &lt;th&gt;Id&lt;/th&gt;&#xA;                &lt;th&gt;MSSubClass&lt;/th&gt;&#xA;                &lt;th&gt;MSZoning&lt;/th&gt;&#xA;                &lt;th&gt;LotFrontage&lt;/th&gt;&#xA;                &lt;th&gt;LotArea&lt;/th&gt;&#xA;                &lt;th&gt;Street&lt;/th&gt;&#xA;                &lt;th&gt;Alley&lt;/th&gt;&#xA;                &lt;th&gt;LotShape&lt;/th&gt;&#xA;                &lt;th&gt;LandContour&lt;/th&gt;&#xA;                &lt;th&gt;Utilities&lt;/th&gt;&#xA;                &lt;th&gt;LotConfig&lt;/th&gt;&#xA;                &lt;th&gt;LandSlope&lt;/th&gt;&#xA;                &lt;th&gt;Neighborhood&lt;/th&gt;&#xA;                &lt;th&gt;Condition1&lt;/th&gt;&#xA;                &lt;th&gt;Condition2&lt;/th&gt;&#xA;                &lt;th&gt;BldgType&lt;/th&gt;&#xA;                &lt;th&gt;HouseStyle&lt;/th&gt;&#xA;                &lt;th&gt;OverallQual&lt;/th&gt;&#xA;                &lt;th&gt;OverallCond&lt;/th&gt;&#xA;                &lt;th&gt;YearBuilt&lt;/th&gt;&#xA;                &lt;th&gt;YearRemodAdd&lt;/th&gt;&#xA;                &lt;th&gt;RoofStyle&lt;/th&gt;&#xA;                &lt;th&gt;RoofMatl&lt;/th&gt;&#xA;                &lt;th&gt;Exterior1st&lt;/th&gt;&#xA;                &lt;th&gt;Exterior2nd&lt;/th&gt;&#xA;                &lt;th&gt;MasVnrType&lt;/th&gt;&#xA;                &lt;th&gt;MasVnrArea&lt;/th&gt;&#xA;                &lt;th&gt;ExterQual&lt;/th&gt;&#xA;                &lt;th&gt;ExterCond&lt;/th&gt;&#xA;                &lt;th&gt;Foundation&lt;/th&gt;&#xA;                &lt;th&gt;BsmtQual&lt;/th&gt;&#xA;                &lt;th&gt;BsmtCond&lt;/th&gt;&#xA;                &lt;th&gt;BsmtExposure&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinType1&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinSF1&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinType2&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFinSF2&lt;/th&gt;&#xA;                &lt;th&gt;BsmtUnfSF&lt;/th&gt;&#xA;                &lt;th&gt;TotalBsmtSF&lt;/th&gt;&#xA;                &lt;th&gt;Heating&lt;/th&gt;&#xA;                &lt;th&gt;...&lt;/th&gt;&#xA;                &lt;th&gt;CentralAir&lt;/th&gt;&#xA;                &lt;th&gt;Electrical&lt;/th&gt;&#xA;                &lt;th&gt;1stFlrSF&lt;/th&gt;&#xA;                &lt;th&gt;2ndFlrSF&lt;/th&gt;&#xA;                &lt;th&gt;LowQualFinSF&lt;/th&gt;&#xA;                &lt;th&gt;GrLivArea&lt;/th&gt;&#xA;                &lt;th&gt;BsmtFullBath&lt;/th&gt;&#xA;                &lt;th&gt;BsmtHalfBath&lt;/th&gt;&#xA;                &lt;th&gt;FullBath&lt;/th&gt;&#xA;                &lt;th&gt;HalfBath&lt;/th&gt;&#xA;                &lt;th&gt;BedroomAbvGr&lt;/th&gt;&#xA;                &lt;th&gt;KitchenAbvGr&lt;/th&gt;&#xA;                &lt;th&gt;KitchenQual&lt;/th&gt;&#xA;                &lt;th&gt;TotRmsAbvGrd&lt;/th&gt;&#xA;                &lt;th&gt;Functional&lt;/th&gt;&#xA;                &lt;th&gt;Fireplaces&lt;/th&gt;&#xA;                &lt;th&gt;FireplaceQu&lt;/th&gt;&#xA;                &lt;th&gt;GarageType&lt;/th&gt;&#xA;                &lt;th&gt;GarageYrBlt&lt;/th&gt;&#xA;                &lt;th&gt;GarageFinish&lt;/th&gt;&#xA;                &lt;th&gt;GarageCars&lt;/th&gt;&#xA;                &lt;th&gt;GarageArea&lt;/th&gt;&#xA;                &lt;th&gt;GarageQual&lt;/th&gt;&#xA;                &lt;th&gt;GarageCond&lt;/th&gt;&#xA;                &lt;th&gt;PavedDrive&lt;/th&gt;&#xA;                &lt;th&gt;WoodDeckSF&lt;/th&gt;&#xA;                &lt;th&gt;OpenPorchSF&lt;/th&gt;&#xA;                &lt;th&gt;EnclosedPorch&lt;/th&gt;&#xA;                &lt;th&gt;3SsnPorch&lt;/th&gt;&#xA;                &lt;th&gt;ScreenPorch&lt;/th&gt;&#xA;                &lt;th&gt;PoolArea&lt;/th&gt;&#xA;                &lt;th&gt;PoolQC&lt;/th&gt;&#xA;                &lt;th&gt;Fence&lt;/th&gt;&#xA;                &lt;th&gt;MiscFeature&lt;/th&gt;&#xA;                &lt;th&gt;MiscVal&lt;/th&gt;&#xA;                &lt;th&gt;MoSold&lt;/th&gt;&#xA;                &lt;th&gt;YrSold&lt;/th&gt;&#xA;                &lt;th&gt;SaleType&lt;/th&gt;&#xA;                &lt;th&gt;SaleCondition&lt;/th&gt;&#xA;                &lt;th&gt;SalePrice&lt;/th&gt;&#xA;            &lt;/tr&gt;&#xA;        &lt;/thead&gt;&#xA;        &lt;tbody&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;0&lt;/th&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;65.0&lt;/td&gt;&#xA;                &lt;td&gt;8450&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;CollgCr&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2003&lt;/td&gt;&#xA;                &lt;td&gt;2003&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;BrkFace&lt;/td&gt;&#xA;                &lt;td&gt;196.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;706&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;150&lt;/td&gt;&#xA;                &lt;td&gt;856&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;856&lt;/td&gt;&#xA;                &lt;td&gt;854&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1710&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;2003.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;548&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;61&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;208500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1&lt;/th&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;80.0&lt;/td&gt;&#xA;                &lt;td&gt;9600&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;FR2&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Veenker&lt;/td&gt;&#xA;                &lt;td&gt;Feedr&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;1976&lt;/td&gt;&#xA;                &lt;td&gt;1976&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;ALQ&lt;/td&gt;&#xA;                &lt;td&gt;978&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;284&lt;/td&gt;&#xA;                &lt;td&gt;1262&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1262&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1262&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1976.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;460&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;298&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2007&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;181500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;2&lt;/th&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;68.0&lt;/td&gt;&#xA;                &lt;td&gt;11250&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;IR1&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;CollgCr&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2001&lt;/td&gt;&#xA;                &lt;td&gt;2002&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;BrkFace&lt;/td&gt;&#xA;                &lt;td&gt;162.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Mn&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;486&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;434&lt;/td&gt;&#xA;                &lt;td&gt;920&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;920&lt;/td&gt;&#xA;                &lt;td&gt;866&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1786&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;2001.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;608&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;42&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;223500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;3&lt;/th&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;70&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;60.0&lt;/td&gt;&#xA;                &lt;td&gt;9550&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;IR1&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Corner&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Crawfor&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;1915&lt;/td&gt;&#xA;                &lt;td&gt;1970&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;Wd Sdng&lt;/td&gt;&#xA;                &lt;td&gt;Wd Shng&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;BrkTil&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;ALQ&lt;/td&gt;&#xA;                &lt;td&gt;216&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;540&lt;/td&gt;&#xA;                &lt;td&gt;756&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;961&lt;/td&gt;&#xA;                &lt;td&gt;756&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1717&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;Detchd&lt;/td&gt;&#xA;                &lt;td&gt;1998.0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;642&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;35&lt;/td&gt;&#xA;                &lt;td&gt;272&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;2006&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Abnorml&lt;/td&gt;&#xA;                &lt;td&gt;140000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;4&lt;/th&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;84.0&lt;/td&gt;&#xA;                &lt;td&gt;14260&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;IR1&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;FR2&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;NoRidge&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2000&lt;/td&gt;&#xA;                &lt;td&gt;2000&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;BrkFace&lt;/td&gt;&#xA;                &lt;td&gt;350.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Av&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;655&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;490&lt;/td&gt;&#xA;                &lt;td&gt;1145&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1145&lt;/td&gt;&#xA;                &lt;td&gt;1053&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2198&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;2000.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;836&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;192&lt;/td&gt;&#xA;                &lt;td&gt;84&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;12&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;250000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;...&lt;/th&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1455&lt;/th&gt;&#xA;                &lt;td&gt;1456&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;62.0&lt;/td&gt;&#xA;                &lt;td&gt;7917&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Gilbert&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;1999&lt;/td&gt;&#xA;                &lt;td&gt;2000&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;VinylSd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;PConc&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;953&lt;/td&gt;&#xA;                &lt;td&gt;953&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;953&lt;/td&gt;&#xA;                &lt;td&gt;694&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1647&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1999.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;460&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;40&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;8&lt;/td&gt;&#xA;                &lt;td&gt;2007&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;175000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1456&lt;/th&gt;&#xA;                &lt;td&gt;1457&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;85.0&lt;/td&gt;&#xA;                &lt;td&gt;13175&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;NWAmes&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;1978&lt;/td&gt;&#xA;                &lt;td&gt;1988&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;Plywood&lt;/td&gt;&#xA;                &lt;td&gt;Plywood&lt;/td&gt;&#xA;                &lt;td&gt;Stone&lt;/td&gt;&#xA;                &lt;td&gt;119.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;ALQ&lt;/td&gt;&#xA;                &lt;td&gt;790&lt;/td&gt;&#xA;                &lt;td&gt;Rec&lt;/td&gt;&#xA;                &lt;td&gt;163&lt;/td&gt;&#xA;                &lt;td&gt;589&lt;/td&gt;&#xA;                &lt;td&gt;1542&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;2073&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2073&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;Min1&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1978.0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;500&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;349&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;MnPrv&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;2010&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;210000&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1457&lt;/th&gt;&#xA;                &lt;td&gt;1458&lt;/td&gt;&#xA;                &lt;td&gt;70&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;66.0&lt;/td&gt;&#xA;                &lt;td&gt;9042&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Crawfor&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;2Story&lt;/td&gt;&#xA;                &lt;td&gt;7&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;1941&lt;/td&gt;&#xA;                &lt;td&gt;2006&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;CemntBd&lt;/td&gt;&#xA;                &lt;td&gt;CmentBd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;Ex&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;Stone&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;275&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;877&lt;/td&gt;&#xA;                &lt;td&gt;1152&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1188&lt;/td&gt;&#xA;                &lt;td&gt;1152&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2340&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;9&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1941.0&lt;/td&gt;&#xA;                &lt;td&gt;RFn&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;252&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;60&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;GdPrv&lt;/td&gt;&#xA;                &lt;td&gt;Shed&lt;/td&gt;&#xA;                &lt;td&gt;2500&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;2010&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;266500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1458&lt;/th&gt;&#xA;                &lt;td&gt;1459&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;68.0&lt;/td&gt;&#xA;                &lt;td&gt;9717&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;NAmes&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;1950&lt;/td&gt;&#xA;                &lt;td&gt;1996&lt;/td&gt;&#xA;                &lt;td&gt;Hip&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;MetalSd&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Mn&lt;/td&gt;&#xA;                &lt;td&gt;GLQ&lt;/td&gt;&#xA;                &lt;td&gt;49&lt;/td&gt;&#xA;                &lt;td&gt;Rec&lt;/td&gt;&#xA;                &lt;td&gt;1029&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1078&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;FuseA&lt;/td&gt;&#xA;                &lt;td&gt;1078&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1078&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;2&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1950.0&lt;/td&gt;&#xA;                &lt;td&gt;Unf&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;240&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;366&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;112&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;4&lt;/td&gt;&#xA;                &lt;td&gt;2010&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;142125&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;            &lt;tr&gt;&#xA;                &lt;th&gt;1459&lt;/th&gt;&#xA;                &lt;td&gt;1460&lt;/td&gt;&#xA;                &lt;td&gt;20&lt;/td&gt;&#xA;                &lt;td&gt;RL&lt;/td&gt;&#xA;                &lt;td&gt;75.0&lt;/td&gt;&#xA;                &lt;td&gt;9937&lt;/td&gt;&#xA;                &lt;td&gt;Pave&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Reg&lt;/td&gt;&#xA;                &lt;td&gt;Lvl&lt;/td&gt;&#xA;                &lt;td&gt;AllPub&lt;/td&gt;&#xA;                &lt;td&gt;Inside&lt;/td&gt;&#xA;                &lt;td&gt;Gtl&lt;/td&gt;&#xA;                &lt;td&gt;Edwards&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;Norm&lt;/td&gt;&#xA;                &lt;td&gt;1Fam&lt;/td&gt;&#xA;                &lt;td&gt;1Story&lt;/td&gt;&#xA;                &lt;td&gt;5&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;1965&lt;/td&gt;&#xA;                &lt;td&gt;1965&lt;/td&gt;&#xA;                &lt;td&gt;Gable&lt;/td&gt;&#xA;                &lt;td&gt;CompShg&lt;/td&gt;&#xA;                &lt;td&gt;HdBoard&lt;/td&gt;&#xA;                &lt;td&gt;HdBoard&lt;/td&gt;&#xA;                &lt;td&gt;None&lt;/td&gt;&#xA;                &lt;td&gt;0.0&lt;/td&gt;&#xA;                &lt;td&gt;Gd&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;CBlock&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;No&lt;/td&gt;&#xA;                &lt;td&gt;BLQ&lt;/td&gt;&#xA;                &lt;td&gt;830&lt;/td&gt;&#xA;                &lt;td&gt;LwQ&lt;/td&gt;&#xA;                &lt;td&gt;290&lt;/td&gt;&#xA;                &lt;td&gt;136&lt;/td&gt;&#xA;                &lt;td&gt;1256&lt;/td&gt;&#xA;                &lt;td&gt;GasA&lt;/td&gt;&#xA;                &lt;td&gt;...&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;SBrkr&lt;/td&gt;&#xA;                &lt;td&gt;1256&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1256&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;3&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;Typ&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;Attchd&lt;/td&gt;&#xA;                &lt;td&gt;1965.0&lt;/td&gt;&#xA;                &lt;td&gt;Fin&lt;/td&gt;&#xA;                &lt;td&gt;1&lt;/td&gt;&#xA;                &lt;td&gt;276&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;TA&lt;/td&gt;&#xA;                &lt;td&gt;Y&lt;/td&gt;&#xA;                &lt;td&gt;736&lt;/td&gt;&#xA;                &lt;td&gt;68&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;NaN&lt;/td&gt;&#xA;                &lt;td&gt;0&lt;/td&gt;&#xA;                &lt;td&gt;6&lt;/td&gt;&#xA;                &lt;td&gt;2008&lt;/td&gt;&#xA;                &lt;td&gt;WD&lt;/td&gt;&#xA;                &lt;td&gt;Normal&lt;/td&gt;&#xA;                &lt;td&gt;147500&lt;/td&gt;&#xA;            &lt;/tr&gt;&#xA;        &lt;/tbody&gt;&#xA;    &lt;/table&gt;&#xA;    &lt;p&gt;1460 rows × 81 columns&lt;/p&gt;</description>
    </item>
    <item>
      <title>캐글 데이터 다운로드 받기 (via Colab)</title>
      <link>https://dschloe.github.io/programming/2020/06/colab_with_drive/</link>
      <pubDate>Sun, 07 Jun 2020 16:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/colab_with_drive/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_2_10_eda_with_missingvalues/tutorial_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 시각화와 변환에 대해 짧게 익혔다면 바로 실전 데이터를 활용한다.&lt;/li&gt;&#xA;&lt;li&gt;이론이 조금 부족하게 느껴질 수 있지만, 모든 것을 다 알려드릴 수는 없다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;결국 공부는 스스로 해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이 강의의 목적이 &lt;code&gt;Kaggle&lt;/code&gt; 데이터를 활용한 Python 포트폴리오 제작 강의임을 잊지 말자.&lt;/li&gt;&#xA;&lt;li&gt;이번 시간에는 &lt;code&gt;Kaggle&lt;/code&gt; 데이터를 구글 드라이브로 다운로드 받는 방법에 대해 작성하였다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-kaggle-kpi-설치&#34;&gt;II. Kaggle KPI 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Google Colab&lt;/code&gt;에서 &lt;code&gt;Kaggle API&lt;/code&gt;를 불러오려면 다음 소스코드를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;!pip install kaggle&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;Requirement already satisfied: kaggle in /usr/local/lib/python3.6/dist-packages (1.5.6)&#xA;Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.23.0)&#xA;Requirement already satisfied: urllib3&amp;lt;1.25,&amp;gt;=1.21.1 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.24.3)&#xA;Requirement already satisfied: python-slugify in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.0.0)&#xA;Requirement already satisfied: python-dateutil in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.8.1)&#xA;Requirement already satisfied: tqdm in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.41.1)&#xA;Requirement already satisfied: certifi in /usr/local/lib/python3.6/dist-packages (from kaggle) (2020.4.5.1)&#xA;Requirement already satisfied: six&amp;gt;=1.10 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.12.0)&#xA;Requirement already satisfied: idna&amp;lt;3,&amp;gt;=2.5 in /usr/local/lib/python3.6/dist-packages (from requests-&amp;gt;kaggle) (2.9)&#xA;Requirement already satisfied: chardet&amp;lt;4,&amp;gt;=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests-&amp;gt;kaggle) (3.0.4)&#xA;Requirement already satisfied: text-unidecode&amp;gt;=1.3 in /usr/local/lib/python3.6/dist-packages (from python-slugify-&amp;gt;kaggle) (1.3)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;iii-kaggle-token-다운로드&#34;&gt;III. Kaggle Token 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Kaggle에서 &lt;code&gt;API Token&lt;/code&gt;을 다운로드 받는다.&lt;/li&gt;&#xA;&lt;li&gt;[Kaggle]-[My Account]-[API]-[Create New API Token]을 누르면 kaggle.json 파일이 다운로드 된다.&lt;/li&gt;&#xA;&lt;li&gt;이 파일을 바탕화면에 옮긴 뒤, 아래 코드를 실행 시킨다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;from google.colab import files&#xA;uploaded = files.upload()&#xA;for fn in uploaded.keys():&#xA;  print(&amp;#39;uploaded file &amp;#34;{name}&amp;#34; with length {length} bytes&amp;#39;.format(&#xA;      name=fn, length=len(uploaded[fn])))&#xA;  &#xA;# kaggle.json을 아래 폴더로 옮긴 뒤, file을 사용할 수 있도록 권한을 부여한다. &#xA;!mkdir -p ~/.kaggle/ &amp;amp;&amp;amp; mv kaggle.json ~/.kaggle/ &amp;amp;&amp;amp; chmod 600 ~/.kaggle/kaggle.json&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;input type=&#34;file&#34; id=&#34;files-6e5ae397-9500-461a-85f5-fdf49569ecd8&#34; name=&#34;files[]&#34; multiple disabled /&gt;&#xA;&lt;output id=&#34;result-6e5ae397-9500-461a-85f5-fdf49569ecd8&#34;&gt;&#xA; Upload widget is only available when the cell has been executed in the&#xA; current browser session. Please rerun this cell to enable.&#xA; &lt;/output&gt;&#xA; &lt;script src=&#34;https://dschloe.github.io/nbextensions/google.colab/files.js&#34;&gt;&lt;/script&gt; &#xA;&lt;pre&gt;&lt;code&gt;Saving kaggle.json to kaggle.json&#xA;uploaded file &amp;quot;kaggle.json&amp;quot; with length 64 bytes&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ls -1ha ~/.kaggle/kaggle.json&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;ls: cannot access &#39;/root/.kaggle/kaggle.json&#39;: No such file or directory&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;에러 메시지가 없으면 성공적으로 &lt;code&gt;json&lt;/code&gt; 파일이 업로드 되었다는 뜻이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iv-구글-드라이브-연동&#34;&gt;IV. 구글 드라이브 연동&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터를 불러오기 전에 구글 드라이브와 연동하는 작업을 우선 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;매우 쉽다. 그러니 천천히 따라와주시기를 바란다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-구글-드라이브-마운트&#34;&gt;(1) 구글 드라이브 마운트&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 소스코드를 통해서 구글 드라이브와 마운트를 진행한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;쉽게 표현하면 구글 코랩에서 드라이브로 접근을 하겠다는 뜻이다.&lt;/li&gt;&#xA;&lt;li&gt;아래 소스 코드를 실행 하면 본인 인증 절차를 진행하면 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;from google.colab import drive # 패키지 불러오기 &#xA;&#xA;ROOT = &amp;#34;/content/drive&amp;#34;     # 드라이브 기본 경로&#xA;print(ROOT)                 # print content of ROOT (Optional)&#xA;drive.mount(ROOT)           # 드라이브 기본 경로 Mount&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/content/drive&#xA;Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount(&amp;quot;/content/drive&amp;quot;, force_remount=True).&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-프로젝트-파일-생성-및-다운받을-경로-이동&#34;&gt;(2) 프로젝트 파일 생성 및 다운받을 경로 이동&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 코랩을 실행하면 Drive에 &lt;code&gt;Colab Notebooks&lt;/code&gt; 폴더가 생성이 된다.&lt;/li&gt;&#xA;&lt;li&gt;일종의 &lt;code&gt;Colab Project&lt;/code&gt; 폴더로 생각하자.&lt;/li&gt;&#xA;&lt;li&gt;이 때 본인만의 프로젝트 폴더를 만들자. (주의: 폴더 이름은 반드시 영어명과 공백없이 만든다)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;예: &lt;code&gt;내프로젝트&lt;/code&gt; 또는 &lt;code&gt;my project&lt;/code&gt;와 같이 만들지 않는다.&lt;/li&gt;&#xA;&lt;li&gt;강사는 &lt;code&gt;inflearn_kaggle&lt;/code&gt;이라고 만들었다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;프로젝트 폴더를 생성했으면 이제 아래코드를 실행시킨다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;from os.path import join  &#xA;&#xA;MY_GOOGLE_DRIVE_PATH = &amp;#39;My Drive/Colab Notebooks/inflearn_kaggle/data&amp;#39;&#xA;PROJECT_PATH = join(ROOT, MY_GOOGLE_DRIVE_PATH)&#xA;print(PROJECT_PATH)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/inflearn_kaggle/data&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 소스코드는 &lt;code&gt;PROJECT_PATH&lt;/code&gt;를 만드는 코드다.&lt;/li&gt;&#xA;&lt;li&gt;만들어진 &lt;code&gt;PROJECT_PATH&lt;/code&gt;를 아래와 같이 적용하면 구글 드라이브 내 해당 폴더로 이동하게 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;%cd &amp;#34;{PROJECT_PATH}&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/inflearn_kaggle/data&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;v-kaggle-데이터-불러오기&#34;&gt;V. Kaggle 데이터 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 kaggle competition list를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;!kaggle competitions list&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;Warning: Looks like you&#39;re using an outdated API Version, please consider updating (server 1.5.6 / client 1.5.4)&#xA;ref                                               deadline             category            reward  teamCount  userHasEntered  &#xA;------------------------------------------------  -------------------  ---------------  ---------  ---------  --------------  &#xA;digit-recognizer                                  2030-01-01 00:00:00  Getting Started  Knowledge       3152           False  &#xA;titanic                                           2030-01-01 00:00:00  Getting Started  Knowledge      23304            True  &#xA;house-prices-advanced-regression-techniques       2030-01-01 00:00:00  Getting Started  Knowledge       5364            True  &#xA;connectx                                          2030-01-01 00:00:00  Getting Started  Knowledge        389           False  &#xA;nlp-getting-started                               2030-01-01 00:00:00  Getting Started      Kudos       1704            True  &#xA;competitive-data-science-predict-future-sales     2020-12-31 23:59:00  Playground           Kudos       7210           False  &#xA;siim-isic-melanoma-classification                 2020-08-17 23:59:00  Featured           $30,000        637           False  &#xA;global-wheat-detection                            2020-08-04 23:59:00  Research           $15,000        714           False  &#xA;open-images-object-detection-rvc-2020             2020-07-31 16:00:00  Playground       Knowledge         22           False  &#xA;open-images-instance-segmentation-rvc-2020        2020-07-31 16:00:00  Playground       Knowledge          5           False  &#xA;hashcode-photo-slideshow                          2020-07-27 23:59:00  Playground       Knowledge         33           False  &#xA;prostate-cancer-grade-assessment                  2020-07-22 23:59:00  Featured           $25,000        531           False  &#xA;alaska2-image-steganalysis                        2020-07-20 23:59:00  Research           $25,000        471           False  &#xA;halite                                            2020-06-30 23:59:00  Featured             Kudos          0           False  &#xA;m5-forecasting-accuracy                           2020-06-30 23:59:00  Featured           $50,000       4749            True  &#xA;m5-forecasting-uncertainty                        2020-06-30 23:59:00  Featured           $50,000        572           False  &#xA;trends-assessment-prediction                      2020-06-29 23:59:00  Research           $25,000        597           False  &#xA;jigsaw-multilingual-toxic-comment-classification  2020-06-22 23:59:00  Featured           $50,000       1277           False  &#xA;tweet-sentiment-extraction                        2020-06-16 23:59:00  Featured           $15,000       1869           False  &#xA;trec-covid-information-retrieval                  2020-06-03 11:00:00  Research             Kudos         19           False  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;여기에서 참여하기 원하는 대회의 데이터셋을 불러오면 된다.&lt;/li&gt;&#xA;&lt;li&gt;이번 &lt;code&gt;basic&lt;/code&gt;강의에서는  &lt;code&gt;house-prices-advanced-regression-techniques&lt;/code&gt; 데이터를 활용한 &lt;code&gt;데이터 가공과 시각화&lt;/code&gt;를 연습할 것이기 때문에 아래와 같이 코드를 실행하여 데이터를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;!kaggle competitions download -c house-prices-advanced-regression-techniques&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;Warning: Looks like you&#39;re using an outdated API Version, please consider updating (server 1.5.6 / client 1.5.4)&#xA;Downloading sample_submission.csv to /content/drive/My Drive/Colab Notebooks/inflearn_kaggle/data&#xA;  0% 0.00/31.2k [00:00&amp;lt;?, ?B/s]&#xA;100% 31.2k/31.2k [00:00&amp;lt;00:00, 4.73MB/s]&#xA;Downloading train.csv to /content/drive/My Drive/Colab Notebooks/inflearn_kaggle/data&#xA;  0% 0.00/450k [00:00&amp;lt;?, ?B/s]&#xA;100% 450k/450k [00:00&amp;lt;00:00, 30.0MB/s]&#xA;Downloading test.csv to /content/drive/My Drive/Colab Notebooks/inflearn_kaggle/data&#xA;  0% 0.00/441k [00:00&amp;lt;?, ?B/s]&#xA;100% 441k/441k [00:00&amp;lt;00:00, 29.0MB/s]&#xA;Downloading data_description.txt to /content/drive/My Drive/Colab Notebooks/inflearn_kaggle/data&#xA;  0% 0.00/13.1k [00:00&amp;lt;?, ?B/s]&#xA;100% 13.1k/13.1k [00:00&amp;lt;00:00, 1.83MB/s]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;!ls&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;data_description.txt  sample_submission.csv  test.csv  train.csv&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;현재 총 4개의 데이터를 다운로드 받았다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;data_description.txt&lt;/li&gt;&#xA;&lt;li&gt;sample_submission.csv&lt;/li&gt;&#xA;&lt;li&gt;test.csv&lt;/li&gt;&#xA;&lt;li&gt;train.csv&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;vi-whats-next&#34;&gt;VI. What&amp;rsquo;s Next&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Google Colab&lt;/code&gt;에서 &lt;code&gt;Kaggle API&lt;/code&gt;를 활용하여 데이터를 불러오는 것을 실습하였다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Kaggle&lt;/code&gt;에서 받은 데이터를 &lt;code&gt;구글 드라이브&lt;/code&gt;에 바로 저장하는 방법을 배웠다.&lt;/li&gt;&#xA;&lt;li&gt;다음 시간에는 데이터를 불러온 뒤 이제 본격적인 EDA를 단계별로 진행한다. (Stay with Me)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;vii-옵션&#34;&gt;VII. 옵션&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;구글 코랩은 참고로 한글폰트를 지원하지 않는다. 따라서, 한글 폰트를 꼭 실무에서 사용하고 싶은 분들은 아래 &lt;code&gt;Reference&lt;/code&gt;에 관련 내용을 같이 첨부한 것이 있으니 확인하시기를 바란다.&lt;/li&gt;&#xA;&lt;li&gt;본 튜토리얼에서 Kaggle 데이터는 모두 영어이기에 한글폰트는 따로 사용하지 않는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;reference&#34;&gt;Reference&lt;/h2&gt;&#xA;&lt;p&gt;출처: &lt;a href=&#34;https://chloevan.github.io/settings/kakao_arena_3_eda/&#34;&gt;https://chloevan.github.io/settings/kakao_arena_3_eda/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>(AWS Project) BigData with Hadoop 04 - Allow SSH Access</title>
      <link>https://dschloe.github.io/programming/2020/06/step_4_allow_ssh_access/</link>
      <pubDate>Sat, 06 Jun 2020 20:13:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/step_4_allow_ssh_access/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/step_1_overview/aws-project_analyze-big-data_diagram.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-getting-started&#34;&gt;I. Getting Started&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;처음 이 페이지를 방문했다면, 반드시 사전작업을 완료하기를 바란다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/aws/02_bigdataplatform/step_2_setup/&#34;&gt;(AWS Project) BigData with Hadoop 02 - 사전작업&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/aws/02_bigdataplatform/step_3_launch_emr_cluster/&#34;&gt;(AWS Project) BigData with Hadoop 03 - Amazon EMR Cluster 시작&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-what-to-do-now&#34;&gt;II. What to do now&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Client&lt;/code&gt;에서 &lt;code&gt;SSH&lt;/code&gt;를 통해 클러스터에 접근하는 방법에 대해 다룬다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-warning&#34;&gt;(1) Warning&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;보안 그룹은 클러스터에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 역할을 한다.&lt;/li&gt;&#xA;&lt;li&gt;첫 번째 클러스터를 생성하면 Amazon EMR은 마스터 인스턴스, ElasticMapReduce-master와 연결된 기본 Amazon EMR 관리 Security Group 및 핵심 노드 및 태스크 노드와 연결된 Security Group ElasticMapReduce-slave를 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Warning: 공용 서브넷의 마스터 인스턴스에 대한 기본 EMR 관리 보안 그룹 ElasticMapReduce-master는 모든 소스(IPv4 0.0.0/0)에서 포트 22의 인바운드 트래픽을 허용하는 규칙으로 사전 구성된다. 이는 마스터 노드에 대한 초기 SSH 클라이언트 연결을 단순화하기 위한 것이다. 보안 이슈가 생길 우려가 있기 때문에 AWS는 이 인바운드 규칙을 편집하여 신뢰할 수 있는 소스의 트래픽만 제한하거나 액세스를 제한하는 사용자 지정 보안 그룹을 지정해야 한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Chapter 1.6 Google Colab with Kaggle</title>
      <link>https://dschloe.github.io/programming/2020/06/chapter_1_6_colab_with_kaggle/</link>
      <pubDate>Sat, 06 Jun 2020 10:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/chapter_1_6_colab_with_kaggle/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_1_6_Colab_with_Kaggle/logo.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터 시각화와 변환에 대해 짧게 익혔다면 바로 실전 데이터를 활용한다.&lt;/li&gt;&#xA;&lt;li&gt;이론이 조금 부족하게 느껴질 수 있지만, 모든 것을 다 알려드릴 수는 없다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;결국 공부는 스스로 해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이 강의의 목적이 &lt;code&gt;Kaggle&lt;/code&gt; 데이터를 활용한 Python 포트폴리오 제작 강의임을 잊지 말자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-kaggle-kpi-설치&#34;&gt;II. Kaggle KPI 설치&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Google Colab&lt;/code&gt;에서 &lt;code&gt;Kaggle API&lt;/code&gt;를 불러오려면 다음 소스코드를 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;!pip install kaggle&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;Requirement already satisfied: kaggle in /usr/local/lib/python3.6/dist-packages (1.5.6)&#xA;Requirement already satisfied: python-slugify in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.0.0)&#xA;Requirement already satisfied: certifi in /usr/local/lib/python3.6/dist-packages (from kaggle) (2020.4.5.1)&#xA;Requirement already satisfied: python-dateutil in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.8.1)&#xA;Requirement already satisfied: six&amp;gt;=1.10 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.12.0)&#xA;Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.23.0)&#xA;Requirement already satisfied: tqdm in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.41.1)&#xA;Requirement already satisfied: urllib3&amp;lt;1.25,&amp;gt;=1.21.1 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.24.3)&#xA;Requirement already satisfied: text-unidecode&amp;gt;=1.3 in /usr/local/lib/python3.6/dist-packages (from python-slugify-&amp;gt;kaggle) (1.3)&#xA;Requirement already satisfied: idna&amp;lt;3,&amp;gt;=2.5 in /usr/local/lib/python3.6/dist-packages (from requests-&amp;gt;kaggle) (2.9)&#xA;Requirement already satisfied: chardet&amp;lt;4,&amp;gt;=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests-&amp;gt;kaggle) (3.0.4)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;iii-kaggle-token-다운로드&#34;&gt;III. Kaggle Token 다운로드&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Kaggle에서 &lt;code&gt;API Token&lt;/code&gt;을 다운로드 받는다.&lt;/li&gt;&#xA;&lt;li&gt;[Kaggle]-[My Account]-[API]-[Create New API Token]을 누르면 kaggle.json 파일이 다운로드 된다.&lt;/li&gt;&#xA;&lt;li&gt;이 파일을 바탕화면에 옮긴 뒤, 아래 코드를 실행 시킨다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_1_6_Colab_with_Kaggle/kaggle_01_api.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Google Colab with R</title>
      <link>https://dschloe.github.io/programming/2020/06/settings_colab_with_r/</link>
      <pubDate>Fri, 05 Jun 2020 17:20:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/settings_colab_with_r/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/logo/r_colab.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-들어가며&#34;&gt;I. 들어가며&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;빅데이터 시대에 맞춰서 다양한 툴이 나오는 가운데, Google Colab은 가히 혁명적이라 할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;과거 높은 사양의 컴퓨터에서만 수행할 수 있었던 머신러닝과 딥러닝을 구글 코랩의 환경에서 무료로 배울 수 있는 기회를 구글이 제공하기 시작했다.&lt;/li&gt;&#xA;&lt;li&gt;간단하게 아래 소스코드를 실행하여 CPU와 GPU의 연산속도를 비교 해보자.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://colab.research.google.com/notebooks/gpu.ipynb&#34;&gt;GPU를 사용한 TensorFlow&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-google-colab-with-r&#34;&gt;II. Google Colab with R&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Google Colab은 매우 편리하다. 실제 강의를 시작하면서 &lt;code&gt;파이썬&lt;/code&gt; 관련 모든 강의안은 &lt;code&gt;Google Colab&lt;/code&gt;으로 제작중이다.&lt;/li&gt;&#xA;&lt;li&gt;문제는 현재로써는 &lt;code&gt;Google Colab&lt;/code&gt;만 지원한다는 점이다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;RStudio&lt;/code&gt;가 개발용으로 매우 훌륭한 도구이지만, 교육 목적으로는 조금 부족한 감이 있다. (&lt;code&gt;UI 관점에서&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;li&gt;일단 환경이 다르면 강의하는 입장에서는 여러가지로 어렵다.&lt;/li&gt;&#xA;&lt;li&gt;그래서 이번에 온라인 &lt;code&gt;Tutorial&lt;/code&gt;을 제작하면서, &lt;code&gt;Google Colab&lt;/code&gt;에서 &lt;code&gt;R&lt;/code&gt;을 실행하고 또한 이를 바탕으로 강의를 제작하기로 했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-set-up&#34;&gt;III. Set up&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 소스코드를 그대로 실행한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;%load_ext rpy2.ipython&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;The rpy2.ipython extension is already loaded. To reload it, use:&#xA;  %reload_ext rpy2.ipython&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단한 &lt;code&gt;EDA&lt;/code&gt;는 &lt;code&gt;Jupyter&lt;/code&gt;에서 실행할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iv-r-소스코드-실행&#34;&gt;IV. R 소스코드 실행&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 간단하게 R 소스코드를 실행해보자.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 임시적으로 &lt;code&gt;%%R&lt;/code&gt; 매직 command를 활용한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-패키지-설치&#34;&gt;(1) 패키지 설치&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;R에서 필요한 필수 패키지를 설치한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;EDA&lt;/code&gt;를 위한 &lt;code&gt;tidyverse&lt;/code&gt; 패키지와 머신러닝을 위한 &lt;code&gt;caret&lt;/code&gt;패키지를 설치한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%%&lt;/span&gt;R&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 1. 패키지가 설치 function&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;install_pkgs &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt;(pkg){&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  new.pkg &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; pkg[&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;(pkg &lt;span style=&#34;color:#f92672&#34;&gt;%in%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;installed.packages&lt;/span&gt;()[, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Package&amp;#34;&lt;/span&gt;])]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;length&lt;/span&gt;(new.pkg)) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;install.packages&lt;/span&gt;(new.pkg, dependencies &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TRUE&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;sapply&lt;/span&gt;(pkg, require, character.only &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TRUE&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pkgs &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;tidyverse&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;nycflights13&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;mlbench&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;install_pkgs&lt;/span&gt;(pkgs)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;R[write to console]: Installing packages into ‘/usr/local/lib/R/site-library’&#xA;(as ‘lib’ is unspecified)&#xA;&#xA;R[write to console]: trying URL &#39;https://cran.rstudio.com/src/contrib/nycflights13_1.0.1.tar.gz&#39;&#xA;.&#xA;.&#xA;&#xA;   tidyverse nycflights13      mlbench &#xA;        TRUE         TRUE         TRUE &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-eda-with-tidyverse&#34;&gt;(2) EDA with tidyverse&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;tidyverse&lt;/code&gt; 패키지를 활용하여 간단한 &lt;code&gt;EDA&lt;/code&gt;를 작업해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%%&lt;/span&gt;R&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nycflights13&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;flights &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;mutate&lt;/span&gt;(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    cancelled &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;is.na&lt;/span&gt;(dep_time),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    sched_hour &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sched_dep_time &lt;span style=&#34;color:#f92672&#34;&gt;%/%&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    sched_min &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sched_dep_time &lt;span style=&#34;color:#f92672&#34;&gt;%%&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    sched_dep_time &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sched_hour &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; sched_min &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;60&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;ggplot&lt;/span&gt;(mapping &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;aes&lt;/span&gt;(sched_dep_time)) &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;geom_freqpoly&lt;/span&gt;(mapping &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;aes&lt;/span&gt;(colour &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; cancelled), binwidth &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/settings_colab_with_r/Chapter_0_1_Google_Colab_with_R_11_0.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>EDA with Pandas - Data Merge</title>
      <link>https://dschloe.github.io/programming/2020/06/chapter_1_4_python_pandas_merge_solution/</link>
      <pubDate>Fri, 05 Jun 2020 13:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/chapter_1_4_python_pandas_merge_solution/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_1_4_Python_Pandas_merge_solution/merge.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실무 데이터에서는 여러가지 데이터를 만나는 경우가 흔하다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, &lt;code&gt;SQL&lt;/code&gt;에서 데이터를 직접 병합하는 방법이 좋다.&lt;/li&gt;&#xA;&lt;li&gt;그러나, 현실적으로 &lt;code&gt;DB&lt;/code&gt;에 접근하는 권한을 가진 경우는 흔하지는 않다. 현재 운영중인 서비스상에 &lt;code&gt;DB&lt;/code&gt;를 직접 만지는 경우는 거의 없다 (DBA가 할지도..)&lt;/li&gt;&#xA;&lt;li&gt;따라서, 데이터분석가는 흩어져 있는 데이터 &lt;code&gt;Dump&lt;/code&gt;를 받게 될 가능성이 큰데, 이 때 Python에서 데이터를 병합하는 작업을 진행하게 된다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Kaggle&lt;/code&gt;이나 각종 경진대회에 출전하게 되면 서로 다른 데이터를 합쳐야 하는 경우가 매우 많다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-모듈-import&#34;&gt;II. 모듈 Import&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;패키지 설치방법은 &lt;a href=&#34;https://pandas.pydata.org/pandas-docs/stable/getting_started/install.html&#34;&gt;설치 문서&lt;/a&gt;를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;import pandas as pd&#xA;print(pd.__version__)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;1.0.4&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터프레임을 보다 이쁘게 출력하기 위해 다음 2개의 패키지를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;from IPython.core.display import display, HTML&#xA;from tabulate import tabulate&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;iii-pandas-데이터-병합-sample-tutorial&#34;&gt;III. Pandas 데이터 병합 Sample Tutorial&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단하게 데이터를 병합하는 방법에 대해 실습을 진행한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터와 소스 코드는 &lt;a href=&#34;https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html#merge-join-and-concatenate&#34;&gt;Pandas 공식 홈페이지&lt;/a&gt;에서 한글 형태로 조금 수정했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-파라미터-세팅&#34;&gt;(1) 파라미터 세팅&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저, 행과 열을 최대 출력하는 개수를 지정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;pd.set_option(&amp;#39;display.max_columns&amp;#39;, 500)&#xA;pd.set_option(&amp;#39;display.max_rows&amp;#39;, 500)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;2-데이터-생성&#34;&gt;(2) 데이터 생성&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 가상의 데이터를 두개 만든다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;temp_1 = pd.DataFrame({&amp;#39;key&amp;#39;: [&amp;#39;A&amp;#39;, &amp;#39;B&amp;#39;, &amp;#39;C&amp;#39;, &amp;#39;D&amp;#39;], &#xA;                       &amp;#39;num1&amp;#39;: [1,2,3,4]})&#xA;print(tabulate(temp_1, headers=[&amp;#39;key&amp;#39;, &amp;#39;num&amp;#39;], tablefmt=&amp;#39;pipe&amp;#39;))&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;|    | key   |   num |&#xA;|---:|:------|------:|&#xA;|  0 | A     |     1 |&#xA;|  1 | B     |     2 |&#xA;|  2 | C     |     3 |&#xA;|  3 | D     |     4 |&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;temp_2 = pd.DataFrame({&amp;#39;key&amp;#39;: [&amp;#39;A&amp;#39;, &amp;#39;B&amp;#39;, &amp;#39;E&amp;#39;, &amp;#39;F&amp;#39;], &#xA;                       &amp;#39;num2&amp;#39;: [5,6,7,8]})&#xA;print(tabulate(temp_2, headers=[&amp;#39;key&amp;#39;, &amp;#39;num&amp;#39;], tablefmt=&amp;#39;pipe&amp;#39;))&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;|    | key   |   num |&#xA;|---:|:------|------:|&#xA;|  0 | A     |     5 |&#xA;|  1 | B     |     6 |&#xA;|  2 | E     |     7 |&#xA;|  3 | F     |     8 |&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;3-data-merge---inner-join&#34;&gt;(3) Data Merge - inner join&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;key&lt;/code&gt;값을 근거로 데이터를 병합한다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, merge의 형태는 &lt;code&gt;inner join&lt;/code&gt; 형태로 출력된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;merge_df = pd.merge(temp_1, temp_2, on=&amp;#39;key&amp;#39;)&#xA;print(tabulate(merge_df, headers=[&amp;#39;key&amp;#39;, &amp;#39;num1&amp;#39;, &amp;#39;num2&amp;#39;], tablefmt=&amp;#39;pipe&amp;#39;))&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;|    | key   |   num1 |   num2 |&#xA;|---:|:------|-------:|-------:|&#xA;|  0 | A     |      1 |      5 |&#xA;|  1 | B     |      2 |      6 |&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;inner_df = pd.merge(temp_1, temp_2, on=&amp;#39;key&amp;#39;, how=&amp;#39;inner&amp;#39;)&#xA;print(tabulate(inner_df, headers=[&amp;#39;key&amp;#39;, &amp;#39;num1&amp;#39;, &amp;#39;num2&amp;#39;], tablefmt=&amp;#39;pipe&amp;#39;))&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;|    | key   |   num1 |   num2 |&#xA;|---:|:------|-------:|-------:|&#xA;|  0 | A     |      1 |      5 |&#xA;|  1 | B     |      2 |      6 |&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 두개의 결과값이 똑같음을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;4-data-merge---outer-join&#34;&gt;(4) Data Merge - outer join&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 &lt;code&gt;outer join&lt;/code&gt;을 해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;outer_df = pd.merge(temp_1, temp_2, on=&amp;#39;key&amp;#39;, how=&amp;#39;outer&amp;#39;)&#xA;print(tabulate(outer_df, headers=[&amp;#39;key&amp;#39;, &amp;#39;num1&amp;#39;, &amp;#39;num2&amp;#39;], tablefmt=&amp;#39;pipe&amp;#39;))&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;|    | key   |   num1 |   num2 |&#xA;|---:|:------|-------:|-------:|&#xA;|  0 | A     |      1 |      5 |&#xA;|  1 | B     |      2 |      6 |&#xA;|  2 | C     |      3 |    nan |&#xA;|  3 | D     |      4 |    nan |&#xA;|  4 | E     |    nan |      7 |&#xA;|  5 | F     |    nan |      8 |&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;결과값을 보면,  우선 &lt;code&gt;key&lt;/code&gt;값은 모두 출력되었다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, 각 데이터에서 가져오는 &lt;code&gt;num1&lt;/code&gt;과 &lt;code&gt;num2&lt;/code&gt;의 &lt;code&gt;Column&lt;/code&gt;도 같이 들어오는데, 각 &lt;code&gt;column&lt;/code&gt;마다 없는 값들은 이렇게 &lt;code&gt;nan&lt;/code&gt;으로 조회됨을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;5-assignment&#34;&gt;(5) Assignment&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 수강생 분들이 &lt;code&gt;left&lt;/code&gt; &amp;amp; &lt;code&gt;right&lt;/code&gt; 조인을 해보도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;공식문서를 보면서 코드 작성하는 것을 추천한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html&#34;&gt;Merge, join, and concatenate&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;먼저 &lt;code&gt;right join&lt;/code&gt;을 해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# pd.merge(temp_1, temp_2) 여기 코드에서 남은 코드를 작성하면 됩니다. &#xA;right_df = pd.merge(temp_1, temp_2, on=&amp;#39;key&amp;#39;, how=&amp;#39;left&amp;#39;)&#xA;print(tabulate(right_df, headers=[&amp;#39;key&amp;#39;, &amp;#39;num1&amp;#39;, &amp;#39;num2&amp;#39;], tablefmt=&amp;#39;pipe&amp;#39;))&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;|    | key   |   num1 |   num2 |&#xA;|---:|:------|-------:|-------:|&#xA;|  0 | A     |      1 |      5 |&#xA;|  1 | B     |      2 |      6 |&#xA;|  2 | E     |    nan |      7 |&#xA;|  3 | F     |    nan |      8 |&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;그리고 이번에는 &lt;code&gt;left join&lt;/code&gt;을 해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# pd.merge(temp_1, temp_2) 여기 코드에서 남은 코드를 작성하면 됩니다. &#xA;right_df = pd.merge(temp_1, temp_2, on=&amp;#39;key&amp;#39;, how=&amp;#39;left&amp;#39;)&#xA;print(tabulate(right_df, headers=[&amp;#39;key&amp;#39;, &amp;#39;num1&amp;#39;, &amp;#39;num2&amp;#39;], tablefmt=&amp;#39;pipe&amp;#39;))&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;|    | key   |   num1 |   num2 |&#xA;|---:|:------|-------:|-------:|&#xA;|  0 | A     |      1 |      5 |&#xA;|  1 | B     |      2 |      6 |&#xA;|  2 | C     |      3 |    nan |&#xA;|  3 | D     |      4 |    nan |&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;vi-whats-next&#34;&gt;VI. What&amp;rsquo;s next&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터를 병합하는 방법 중 &lt;code&gt;Merge&lt;/code&gt;에 대해서 배웠다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Merge&lt;/code&gt;에는 크게 4가지 방법이 있고, 방법에 따라서 최종 데이터의 출력값이 서로 다름을 확인하였다.&lt;/li&gt;&#xA;&lt;li&gt;다음 시간에는 또다른 병합 방법인 &lt;code&gt;Concatenate&lt;/code&gt;에 학습하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>EDA with Personal Email - Data Import</title>
      <link>https://dschloe.github.io/programming/2020/06/02_eda_with_personal_email_dataimport/</link>
      <pubDate>Thu, 04 Jun 2020 16:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/02_eda_with_personal_email_dataimport/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-matplotlib--seaborn&#34;&gt;I. Matplotlib &amp;amp; Seaborn&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-기본-개요&#34;&gt;(1) 기본 개요&lt;/h3&gt;&#xA;&lt;p&gt;&lt;code&gt;Matplotlib&lt;/code&gt;는 파이썬 표준 시각화 도구라고 불리워지며 파이썬 그래프의 기본 토대가 된다고 해도 무방하다. 객체지향 프로그래밍을 지원하므로 세세하게 꾸밀 수 있다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Chapter_1_2_Python_visualisation_seaborn</title>
      <link>https://dschloe.github.io/programming/2020/06/chapter_1_2_python_visualisation_seaborn/</link>
      <pubDate>Thu, 04 Jun 2020 10:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/chapter_1_2_python_visualisation_seaborn/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-matplotlib--seaborn&#34;&gt;I. Matplotlib &amp;amp; Seaborn&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-기본-개요&#34;&gt;(1) 기본 개요&lt;/h3&gt;&#xA;&lt;p&gt;&lt;code&gt;Matplotlib&lt;/code&gt;는 파이썬 표준 시각화 도구라고 불리워지며 파이썬 그래프의 기본 토대가 된다고 해도 무방하다. 객체지향 프로그래밍을 지원하므로 세세하게 꾸밀 수 있다.&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;Seaborn&lt;/code&gt; 그래는 파이썬 시각화 도구의 고급 버전이다. &lt;code&gt;Matplotlib&lt;/code&gt;에 비해 비교적 단순한 인터페이스를 제공하기 때문에 초보자도 어렵지 않게 배울 수 있다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>(AWS Project) BigData with Hadoop 03 - Amazon EMR Cluster 시작</title>
      <link>https://dschloe.github.io/programming/2020/06/step_3_launch_emr_cluster/</link>
      <pubDate>Wed, 03 Jun 2020 17:13:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/step_3_launch_emr_cluster/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/step_1_overview/aws-project_analyze-big-data_diagram.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-getting-started&#34;&gt;I. Getting Started&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;처음 이 페이지를 방문했다면, 반드시 사전작업을 완료하기를 바란다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/aws/02_bigdataplatform/step_2_setup/&#34;&gt;(AWS Project) BigData with Hadoop 02 - 사전작업&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-what-to-do-now&#34;&gt;II. What to do now&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번 포스트에서는 비교적 간단하게 빅데이터 클러스터를 시작하는 과정을 진행한다. 막상 해보면 어려운 것은 아니지만, 언제나 그렇듯이 처음 할 때는 늘 시행착오를 겪게 마련이다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Amazon EMR console&lt;/code&gt;창에 있는 &lt;code&gt;Quick Options&lt;/code&gt;을 사용한다. &lt;code&gt;Quick Options&lt;/code&gt;에 있는 다양한 절차들에 대해 확인이 필요하면 &lt;a href=&#34;https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-gs-launch-sample-cluster.html#emr-gs-quick-cluster-options&#34;&gt;Summary of Quick Options&lt;/a&gt;에서 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-sample-cluster-시작&#34;&gt;III. Sample Cluster 시작&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 &lt;code&gt;AWS&lt;/code&gt;에 있는 &lt;code&gt;AWS Management Console&lt;/code&gt;을 클릭하여 실행하도록 한다. (아래 그림 참조)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://console.aws.amazon.com/elasticmapreduce/&#34;&gt;Amazon EMR Console&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/step_3_launch_emr_cluster/tutorial_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Chapter_1_1_Python_visualisation_intro</title>
      <link>https://dschloe.github.io/programming/2020/06/chapter_1_1_python_visualisation_intro/</link>
      <pubDate>Wed, 03 Jun 2020 16:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/chapter_1_1_python_visualisation_intro/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_1_1_Python_visualisation_intro/matplotlib.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-matplotlib&#34;&gt;I. Matplotlib&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-기본-개요&#34;&gt;(1) 기본 개요&lt;/h3&gt;&#xA;&lt;p&gt;&lt;code&gt;Matplotlib&lt;/code&gt;는 파이썬 표준 시각화 도구라고 불리워지며 파이썬 그래프의 기본 토대가 된다고 해도 무방하다. 객체지향 프로그래밍을 지원하므로 세세하게 꾸밀 수 있다.&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;Seaborn&lt;/code&gt; 그래는 파이썬 시각화 도구의 고급 버전이다. &lt;code&gt;Matplotlib&lt;/code&gt;에 비해 비교적 단순한 인터페이스를 제공하기 때문에 초보자도 어렵지 않게 배울 수 있다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>(AWS Project) BigData with Hadoop 02 - 사전작업</title>
      <link>https://dschloe.github.io/programming/2020/06/step_2_setup/</link>
      <pubDate>Tue, 02 Jun 2020 16:13:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/step_2_setup/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/step_1_overview/aws-project_analyze-big-data_diagram.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-amazon-s3-bucket-생성-주요-요건&#34;&gt;I. Amazon S3 Bucket 생성 주요 요건&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Hive 쿼리의 출력 데이터를 저장할 Amazon S3 버킷과 폴더를 지정한다.&lt;/li&gt;&#xA;&lt;li&gt;자습서에서는 &lt;code&gt;default log location&lt;/code&gt;을 사용하지만, 원하는 경우에는 &lt;code&gt;custom location&lt;/code&gt;을 지정할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;하둡의 요구사항 중, &lt;code&gt;bucket&lt;/code&gt;과 &lt;code&gt;folder names&lt;/code&gt; 다음과 같은 규칙을 적용한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;letters, numbers, periods(.), and hyphens(-) 등을 입력한다.&lt;/li&gt;&#xA;&lt;li&gt;마지막 글자는 숫자로 끝맺음을 하지 않는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이러한 요구 사항을 충족하는 폴더에 이미 액세스할 수 있는 경우 이 튜토리얼에 해당 폴더를 사용하십시오.&lt;/li&gt;&#xA;&lt;li&gt;출력 폴더는 비어 있어야 한다.&lt;/li&gt;&#xA;&lt;li&gt;버킷 이름은 모든 &lt;code&gt;AWS 계정&lt;/code&gt;에서 독특(&lt;code&gt;unique&lt;/code&gt;)해야 한다는 점을 기억해야 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-creating-a-bucket&#34;&gt;II. Creating a Bucket&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 &lt;code&gt;bucket&lt;/code&gt;을 생성하는 예제를 해본다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;관련 예제는 &lt;code&gt;Amazon Simple Storage Service Getting Started Guide&lt;/code&gt;문서에서 &lt;a href=&#34;https://docs.aws.amazon.com/AmazonS3/latest/gsg/CreatingABucket.html&#34;&gt;Create a Bucket&lt;/a&gt;을 찾아서 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Note (영어)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;You are not charged for creating a bucket. You are charged only for storing objects in the bucket and for transferring objects in and out of the bucket. The charges that you incur through following the examples in this guide are minimal (less than $1). For more information about storage charges, see &lt;a href=&#34;http://aws.amazon.com/s3/pricing/&#34;&gt;Amazon S3 Pricing&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>(AWS Project) BigData with Hadoop 01 - Overview</title>
      <link>https://dschloe.github.io/programming/2020/06/step_1_overview/</link>
      <pubDate>Tue, 02 Jun 2020 10:13:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/step_1_overview/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/step_1_overview/aws-project_analyze-big-data_diagram.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-overview&#34;&gt;I. Overview&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Amazon EMR&lt;/code&gt;은 &lt;code&gt;Apache 하둡&lt;/code&gt;과 &lt;code&gt;Spark&lt;/code&gt;를 쉽고 빠르며 비용 효율적으로 실행하여 대량의 데이터를 처리할 수 있게 해주는 관리형 서비스입니다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Amazon EMR&lt;/code&gt;은 &lt;code&gt;Presto&lt;/code&gt;, &lt;code&gt;Hive&lt;/code&gt;, &lt;code&gt;Pig&lt;/code&gt;, &lt;code&gt;HBase&lt;/code&gt; 등과 같은 강력하고 입증된 하둡 도구를 지원한다.&lt;/li&gt;&#xA;&lt;li&gt;이 프로젝트에서는 모든 기능이 작동하는 하둡 클러스터를 배포하여 몇 분 만에 로그 데이터를 분석할 준비를 갖추게 된다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 &lt;code&gt;Amazon EMR&lt;/code&gt; 클러스터를 시작한 다음, &lt;code&gt;HiveQL&lt;/code&gt; 스크립트를 사용하여 &lt;code&gt;Amazon S3&lt;/code&gt; 버킷에 저장된 샘플 로그 데이터를 처리한다.&#xA;&lt;code&gt;HiveQL&lt;/code&gt;은 데이터 웨어하우징과 분석을 위한 SQL 유사 스크립트 언어이다.&lt;/li&gt;&#xA;&lt;li&gt;그런 다음 비슷한 설정을 사용하여 자체 로그 파일을 분석할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-시작하기-전에-필요한-조건&#34;&gt;II. 시작하기 전에 필요한 조건&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 계정을 만들어야 한다. (참조: &lt;a href=&#34;https://chloevan.github.io/aws/01_settings/register/&#34;&gt;AWS - 회원가입 및 주요 서비스 간략 소개&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;요금 추정: 이 프로젝트를 완료하는 데 &lt;code&gt;1.05 USD&lt;/code&gt;의 비용이 들 것으로 예상됩니다. 이는 AWS 프리 티어 한도 내에서 사용하고, 권장 구성을 따르며, 프로젝트에 사용된 모든 리소스를 생성 후 &lt;code&gt;1시간 이내에 종료&lt;/code&gt;한다고 가정할 때의 비용입니다. 고객의 사용 사례에 따라 다른 구성이 필요할 수 있으며 이는 청구서에 영향을 미칠 수 있습니다. 요금 계산기를 사용하면 요구 사항에 맞춰 비용을 추정할 수 있습니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;꼭, 1시간 이내에 종료한다&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;따라서, 단계별로 정리하는 습관이 중요하며, 가급적 &lt;code&gt;사진 캡쳐&lt;/code&gt;하는 것도 좋다.&lt;/li&gt;&#xA;&lt;li&gt;영어 원서를 읽는데 부담감이 적다면, &lt;a href=&#34;https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-mgmt.pdf#emr-gs&#34;&gt;다운로드: EMR 사용자 가이드&lt;/a&gt;받는 것을 추천한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-get-started&#34;&gt;III. Get Started&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이 튜토리얼은 빠른 생성을 사용하여 샘플 Amazon EMR 클러스터를 생성하는 과정을 안내한다.&lt;/li&gt;&#xA;&lt;li&gt;AWS Management Console의 옵션, 클러스터를 생성한 후 Hive Script를 제출한다.&lt;/li&gt;&#xA;&lt;li&gt;Amazon Simple Storage Service(Amazon S3)에 저장된 샘플 데이터를 처리한다.&lt;/li&gt;&#xA;&lt;li&gt;이 튜토리얼은 프로덕션 환경을 위한 것이 아니며 개발환경 구성(configuration) 옵션에 대해서는 다루지 않는다.&lt;/li&gt;&#xA;&lt;li&gt;가능한 한 빠르게 클러스터를 설정할 수 있도록 하기 위한 것이다.&lt;/li&gt;&#xA;&lt;li&gt;만약에 에러 등 문제가 발생이되면, &lt;a href=&#34;https://forums.aws.amazon.com/forum.jspa?forumID=52&#34;&gt;Discussion Forum&lt;/a&gt;에 질의를 합니다.&lt;/li&gt;&#xA;&lt;li&gt;비용은 지역마다 다릅니다만, 일반적으로 클러스터 구성 후에 1시간 이내로 종료하면 비용 부담은 발생하지 않는다.&lt;/li&gt;&#xA;&lt;li&gt;처음 사용자인데, 실수로 비용이 과다하게 발생이 되면 면제받을 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;자세한 것은 &lt;a href=&#34;https://aws.amazon.com/s3/pricing&#34;&gt;Amazon S3 요금&lt;/a&gt; 정책을 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;이제 본격적으로 &lt;code&gt;AWS에서 Hadoop&lt;/code&gt;을 구성해보자.&lt;/p&gt;</description>
    </item>
    <item>
      <title>EDA with Python - Pandas</title>
      <link>https://dschloe.github.io/programming/2020/06/chapter_1_3_eda_with_pandas/</link>
      <pubDate>Mon, 01 Jun 2020 18:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/chapter_1_3_eda_with_pandas/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/03/Pandas_with_Excel/pandas_logo.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Pandas&lt;/code&gt;는 &lt;code&gt;panel data&lt;/code&gt;의 의미를 가지고 있다.&lt;/li&gt;&#xA;&lt;li&gt;흔히, 엑셀 데이터로 불리우는 &lt;code&gt;관계형(Relational)&lt;/code&gt; 또는 &lt;code&gt;레이블링된(Labeling)&lt;/code&gt;된 데이터를 보다 쉽게, 직관적으로 작업할 수 있도록 설계되어 있다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Python&lt;/code&gt;에서 데이터 분석을 수행하기 위한 매우 기초적이며 높은 수준의 문법을 제공한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Pandas&lt;/code&gt;는 크게 &lt;code&gt;Series&lt;/code&gt; &amp;amp; &lt;code&gt;DataFrame&lt;/code&gt;을 다룰 수 있도록 기초 문법을 제공하고 있다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Pandas&lt;/code&gt;가 다루는 여러 종류의 데이터를 확인해보자.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SQL 테이블 또는 Excel 스프레드시트에서와 같이 형식의 행과 열이 있는 표 형식 데이터&lt;/li&gt;&#xA;&lt;li&gt;순서 및 순서 지정되지 않은(고정 빈도일 필요는 없음) 시계열 데이터.&lt;/li&gt;&#xA;&lt;li&gt;행 및 열 레이블이 있는 임의 행렬 데이터(동일하게 입력 또는 이기종)&lt;/li&gt;&#xA;&lt;li&gt;기타 형태의 관측/통계 데이터 세트&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-모듈-import&#34;&gt;II. 모듈 Import&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;패키지 설치방법은 &lt;a href=&#34;https://pandas.pydata.org/pandas-docs/stable/getting_started/install.html&#34;&gt;설치 문서&lt;/a&gt;를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;import pandas as pd&#xA;print(pd.__version__)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;1.0.3&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;iii-pandas-기본-활용법&#34;&gt;III. Pandas 기본 활용법&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Pandas&lt;/code&gt;가 제공하는 다양한 기능은 다음과 같지만, 본 튜토리얼에서는 &lt;code&gt;Sample&lt;/code&gt; 위주로 다루도록 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;부동 소수점 데이터뿐만 아니라 부동 소수점 데이터에서도 결측 데이터(NaN으로 표시됨)를 쉽게 처리함&lt;/li&gt;&#xA;&lt;li&gt;크기 변이성: DataFrame 및 고차원 객체에서 열을 삽입 및 삭제 가능&lt;/li&gt;&#xA;&lt;li&gt;자동 및 명시적 데이터 정렬: 객체를 라벨 집합에 명시적으로 정렬하거나, 사용자가 라벨을 무시하고 &lt;code&gt;Series&lt;/code&gt;, &lt;code&gt;DataFrame&lt;/code&gt; 등이 자동으로 데이터를 계산에서 정렬 가능&lt;/li&gt;&#xA;&lt;li&gt;데이터 집합에서 데이터 집합의 분할 적용 결합 작업을 수행할 수 있는 기능&lt;/li&gt;&#xA;&lt;li&gt;다른 &lt;code&gt;Python&lt;/code&gt; 및 &lt;code&gt;NumPy&lt;/code&gt; 데이터 구조에서 색인이 다른 데이터를 &lt;code&gt;DataFrame&lt;/code&gt; 개체로 쉽게 변환&lt;/li&gt;&#xA;&lt;li&gt;지능형 라벨 기반 슬라이싱, 고급 인덱싱 및 대용량 데이터 세트 부분 집합 취하기&lt;/li&gt;&#xA;&lt;li&gt;직관적인 데이터 세트 병합 및 결합&lt;/li&gt;&#xA;&lt;li&gt;유연한 데이터 세트 재구성 및 피벗테이블 구성&lt;/li&gt;&#xA;&lt;li&gt;축의 계층적 라벨링(눈금당 여러 개의 라벨을 가질 수 있음)&lt;/li&gt;&#xA;&lt;li&gt;플랫 파일(CSV 및 구분), Excel 파일, 데이터베이스 로딩 및 초고속 HDF5 형식의 데이터 저장/로딩에 사용되는 강력한 데이터 IO 도구&lt;/li&gt;&#xA;&lt;li&gt;시계열별 기능: 날짜 범위 생성 및 주파수 변환, 이동 창 통계, 날짜 이동 및 지연.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iv-pandas-sample-tutorial&#34;&gt;IV. Pandas Sample Tutorial&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단하게 &lt;code&gt;Pandas&lt;/code&gt;를 활용한 &lt;code&gt;Tutorial&lt;/code&gt;을 확인해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-파라미터-세팅&#34;&gt;(1) 파라미터 세팅&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저, 행과 열을 최대 출력하는 개수를 지정한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;pd.set_option(&amp;#39;display.max_columns&amp;#39;, 500)&#xA;pd.set_option(&amp;#39;display.max_rows&amp;#39;, 500)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;2-데이터-생성&#34;&gt;(2) 데이터 생성&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터를 생성하는 방법은 크게 2가지로 구분된다. (&lt;code&gt;Series&lt;/code&gt;, &lt;code&gt;DataFrame&lt;/code&gt;)&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_1_3_EDA_with_pandas/series_dataframe.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;li&gt;먼저 &lt;code&gt;Series&lt;/code&gt;를 만들어보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;temp_series = pd.Series([1,2,3,5,8,13,21])&#xA;print(temp_series)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;0     1&#xA;1     2&#xA;2     3&#xA;3     5&#xA;4     8&#xA;5    13&#xA;6    21&#xA;dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 &lt;code&gt;Series&lt;/code&gt;에 있는 데이터와 함께 &lt;code&gt;DataFrame&lt;/code&gt;을 만든다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;series_df = pd.DataFrame({&#xA;    &amp;#34;No&amp;#34;:range(1,5), &#xA;    &amp;#34;날짜&amp;#34;:pd.Timestamp(&amp;#39;20200601&amp;#39;), &#xA;    &amp;#34;출석점수&amp;#34;:pd.Series(5, index=list(range(4)), dtype=&amp;#39;float64&amp;#39;), &#xA;    &amp;#34;등급&amp;#34;:pd.Categorical([&amp;#34;A등급&amp;#34;, &amp;#34;B등급&amp;#34;, &amp;#34;C등급&amp;#34;, &amp;#34;D등급&amp;#34;]), &#xA;    &amp;#34;구분&amp;#34;:&amp;#34;학점&amp;#34;&#xA;})&#xA;&#xA;print(series_df)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;   No         날짜  출석점수   등급  구분&#xA;0   1 2020-06-01   5.0  A등급  학점&#xA;1   2 2020-06-01   5.0  B등급  학점&#xA;2   3 2020-06-01   5.0  C등급  학점&#xA;3   4 2020-06-01   5.0  D등급  학점&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 딕셔너리에서 데이터프레임으로 변환하는 소스코드다.&lt;/li&gt;&#xA;&lt;li&gt;아래 코드에서 보여주고자 하는 것은 딕셔너리의 크기가 동일하지 않아도, 데이터프레임으로 변환되는데 문제가 없다.&lt;/li&gt;&#xA;&lt;li&gt;다만, &lt;code&gt;NaN&lt;/code&gt;으로 채울 뿐이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;dict_df = [{&amp;#39;가&amp;#39;: &amp;#39;사과&amp;#39;, &amp;#39;나&amp;#39;: &amp;#39;볼&amp;#39;},{&amp;#39;가&amp;#39;: &amp;#39;비행기&amp;#39;, &amp;#39;나&amp;#39;: &amp;#39;방망이&amp;#39;, &amp;#39;다&amp;#39;: &amp;#39;고양이&amp;#39;}]&#xA;dict_df = pd.DataFrame(dict_df)&#xA;print(dict_df)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;     가    나    다&#xA;0   사과    볼  NaN&#xA;1  비행기  방망이  고양이&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 배열에서 데이터프레임으로 변환하는 소스코드다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sdf = {&#xA;    &amp;#39;국가&amp;#39;:[&amp;#39;한국&amp;#39;, &amp;#39;미국&amp;#39;, &amp;#39;일본&amp;#39;],&#xA;    &amp;#39;ISO-Code&amp;#39;:[1,2,3],&#xA;    &amp;#39;지역&amp;#39;: [4180.69, 4917.94, 454.07,],&#xA;    &amp;#39;위치&amp;#39;: [&amp;#34;서울&amp;#34;, &amp;#34;LA&amp;#34;, &amp;#34;동경&amp;#34;]&#xA;    }&#xA;sdf = pd.DataFrame(sdf)&#xA;print(sdf)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;   국가  ISO-Code       지역  위치&#xA;0  한국         1  4180.69  서울&#xA;1  미국         2  4917.94  LA&#xA;2  일본         3   454.07  동경&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;3-파일-입출력&#34;&gt;(3) 파일 입출력&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;외부 데이터의 파일 입출력에 대한 코드를 입력한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;url = &amp;#39;http://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data&amp;#39;&#xA;df = pd.read_csv(url)&#xA;print(df.head(2))&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;   39          State-gov   77516   Bachelors   13        Never-married  \&#xA;0  50   Self-emp-not-inc   83311   Bachelors   13   Married-civ-spouse   &#xA;1  38            Private  215646     HS-grad    9             Divorced   &#xA;&#xA;         Adm-clerical   Not-in-family   White   Male   2174   0   40  \&#xA;0     Exec-managerial         Husband   White   Male      0   0   13   &#xA;1   Handlers-cleaners   Not-in-family   White   Male      0   0   40   &#xA;&#xA;    United-States   &amp;lt;=50K  &#xA;0   United-States   &amp;lt;=50K  &#xA;1   United-States   &amp;lt;=50K  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;컬럼명이 지정되지 않아 관측값이 컬럼명 위치에 있는 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;이 때에는 컬럼명을 먼저 저장한 뒤, 아래와 같은 코드로 실행하면 정상적으로 데이터프레임이 완성된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;columns = [&amp;#39;age&amp;#39;, &amp;#39;workclass&amp;#39;, &amp;#39;fnlwgt&amp;#39;, &amp;#39;education&amp;#39;, &amp;#39;education_num&amp;#39;, &#xA;           &amp;#39;marital_status&amp;#39;, &amp;#39;occupation&amp;#39;, &amp;#39;relationship&amp;#39;, &amp;#39;ethnicity&amp;#39;, &#xA;           &amp;#39;gender&amp;#39;,&amp;#39;capital_gain&amp;#39;,&amp;#39;capital_loss&amp;#39;,&amp;#39;hours_per_week&amp;#39;,&amp;#39;country_of_origin&amp;#39;,&amp;#39;income&amp;#39;]&#xA;&#xA;df2 = pd.read_csv(url, names=columns)&#xA;print(df2.head(2))&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;   age          workclass  fnlwgt   education  education_num  \&#xA;0   39          State-gov   77516   Bachelors             13   &#xA;1   50   Self-emp-not-inc   83311   Bachelors             13   &#xA;&#xA;        marital_status        occupation    relationship ethnicity gender  \&#xA;0        Never-married      Adm-clerical   Not-in-family     White   Male   &#xA;1   Married-civ-spouse   Exec-managerial         Husband     White   Male   &#xA;&#xA;   capital_gain  capital_loss  hours_per_week country_of_origin  income  &#xA;0          2174             0              40     United-States   &amp;lt;=50K  &#xA;1             0             0              13     United-States   &amp;lt;=50K  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;컬럼명에 대한 정보는 &lt;a href=&#34;https://archive.ics.uci.edu/ml/datasets/adult&#34;&gt;Adult Data Set&lt;/a&gt; 에서 참고한다.&lt;/li&gt;&#xA;&lt;li&gt;판다스를 배울 때 조금더 자세히 배우겠지만, &lt;code&gt;info()&lt;/code&gt; 함수를 사용하면 데이터의 일반적인 정보를 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;print(df2.info())&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;class &#39;pandas.core.frame.DataFrame&#39;&amp;gt;&#xA;RangeIndex: 32561 entries, 0 to 32560&#xA;Data columns (total 15 columns):&#xA; #   Column             Non-Null Count  Dtype &#xA;---  ------             --------------  ----- &#xA; 0   age                32561 non-null  int64 &#xA; 1   workclass          32561 non-null  object&#xA; 2   fnlwgt             32561 non-null  int64 &#xA; 3   education          32561 non-null  object&#xA; 4   education_num      32561 non-null  int64 &#xA; 5   marital_status     32561 non-null  object&#xA; 6   occupation         32561 non-null  object&#xA; 7   relationship       32561 non-null  object&#xA; 8   ethnicity          32561 non-null  object&#xA; 9   gender             32561 non-null  object&#xA; 10  capital_gain       32561 non-null  int64 &#xA; 11  capital_loss       32561 non-null  int64 &#xA; 12  hours_per_week     32561 non-null  int64 &#xA; 13  country_of_origin  32561 non-null  object&#xA; 14  income             32561 non-null  object&#xA;dtypes: int64(6), object(9)&#xA;memory usage: 3.7+ MB&#xA;None&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;v-결론&#34;&gt;V. 결론&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;간단하게 &lt;code&gt;Pandas&lt;/code&gt;를 활용한 데이터 생성 및 파일 입출력에 대해서 배우는 시간을 가졌다.&lt;/li&gt;&#xA;&lt;li&gt;만약, 빠르게 판다스를 활용하여 데이터 전처리를 연습 하고 싶다면, 공식홈페이지에 있는 &lt;a href=&#34;https://pandas.pydata.org/pandas-docs/stable/getting_started/10min.html&#34;&gt;10 minutes to pandas&lt;/a&gt;에서 학습하는 것을 권장한다.&lt;/li&gt;&#xA;&lt;li&gt;강사는 &lt;code&gt;Kaggle&lt;/code&gt; 데이터를 활용하여 &lt;code&gt;Pandas&lt;/code&gt; 함수를 응용할 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;reference&#34;&gt;Reference&lt;/h2&gt;&#xA;&lt;p&gt;Mukhiya, Suresh Kumar, and Usman Ahmed. “Hands-On Exploratory Data Analysis with Python.” Packt Publishing, Mar. 2020, &lt;a href=&#34;https://www.packtpub.com/data/hands-on-exploratory-data-analysis-with-python&#34;&gt;www.packtpub.com/data/hands-on-exploratory-data-analysis-with-python&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>EDA with Python - NumPy Broadcasting</title>
      <link>https://dschloe.github.io/programming/2020/06/chapter_1_2_eda_with_numpy_broadcasting/</link>
      <pubDate>Mon, 01 Jun 2020 13:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/06/chapter_1_2_eda_with_numpy_broadcasting/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/05/numpy_array_creation/numpy.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;NumPy&lt;/code&gt;는 C언어로 구성되었으며, 고성능의 수치계산을 위해 나온 패키지이며, &lt;code&gt;Numerical Python&lt;/code&gt;의 약자이다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Python&lt;/code&gt;을 활용한 데이터 분석을 수행할 때, 그리고 데이터 시각화나 전처리를 수행할 때, &lt;code&gt;NumPy&lt;/code&gt;는 매우 자주 사용되기 때문에 한번쯤은 꼭 다듬고 가는 것이 중요하다.&lt;/li&gt;&#xA;&lt;li&gt;이전 포스트에서는 &lt;a href=&#34;https://chloevan.github.io/python/basic/numpy_array_creation/&#34;&gt;Python - NumPy 소개 및 다양한 객체 생성&lt;/a&gt;에 대해 다루었으니, 본 포스트 읽기에 앞서서 기본적인 개념에 대해 확인하기를 바란다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-모듈-import&#34;&gt;II. 모듈 Import&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;패키지 설치방법은 &lt;a href=&#34;https://pypi.org/project/numpy/&#34;&gt;설치 문서&lt;/a&gt;를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;1.18.4&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;iii-numpy-기본-활용법&#34;&gt;III. NumPy 기본 활용법&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;NumPy 객체 생성을 한 뒤에, 파일 저장, 서로 다른 배열끼리의 사칙연산 등을 수행할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-numpy-객체-파일-저장-및-불러오기&#34;&gt;(1) NumPy 객체 파일 저장 및 불러오기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;savetxt&lt;/code&gt;, &lt;code&gt;loadtxt&lt;/code&gt;, 그리고 &lt;code&gt;genfromtxt&lt;/code&gt; 함수를 활용하여 객체를 불러오는 예제를 실습한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 객체 생성 후 저장하기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;x &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;arange(&lt;span style=&#34;color:#ae81ff&#34;&gt;0.0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;50.0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1.0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(x)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;savetxt(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;data.out&amp;#39;&lt;/span&gt;, x, delimiter&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;,&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[ 0.  1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12. 13. 14. 15. 16. 17.&#xA; 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.&#xA; 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49.]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;data.out  sample_data&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;현재 폴더에 &lt;code&gt;data.out&lt;/code&gt; 파일이 생성된 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# `data.out` 불러오기&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;z &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;loadtxt(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;data.out&amp;#39;&lt;/span&gt;, unpack&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(z)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[ 0.  1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12. 13. 14. 15. 16. 17.&#xA; 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.&#xA; 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49.]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;정상적으로 &lt;code&gt;data.out&lt;/code&gt;을 불러와서 &lt;code&gt;z&lt;/code&gt;객체에 저장된 것을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# genfromtxt 활용&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my_array2 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;genfromtxt(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;data.out&amp;#39;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                          skip_header&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                          filling_values&lt;span style=&#34;color:#f92672&#34;&gt;=-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;999&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(my_array2)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12. 13. 14. 15. 16. 17. 18.&#xA; 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36.&#xA; 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49.]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;z&lt;/code&gt;객체와 마찬가지로 &lt;code&gt;my_array2&lt;/code&gt;도 객체가 정상적으로 생성된 것을 확인할 수 있다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AWS - 회원가입 및 주요 서비스 간략 소개</title>
      <link>https://dschloe.github.io/programming/2020/05/register/</link>
      <pubDate>Sun, 31 May 2020 17:13:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/register/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/05/register/aws_logo.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-overview&#34;&gt;I. Overview&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;클라우드 서비스로써, &lt;code&gt;AWS&lt;/code&gt;는 모든 &lt;code&gt;IT&lt;/code&gt; 개발자에게 필수 &lt;code&gt;Skill set&lt;/code&gt;과 같다.&lt;/li&gt;&#xA;&lt;li&gt;데이터 분석가, 싸이언티스트에게도 AWS는 반드시 알아야 할 서비스이다.&lt;/li&gt;&#xA;&lt;li&gt;매우 유명한 서비스이기에 자세한 내용은 다루지 않는다. 다만, 데이터 분석가라면 알아두어야 할 필수 서비스만 간단히 다루도록 할 예정이다.&lt;/li&gt;&#xA;&lt;li&gt;간단하게 회원가입을 진행하도록 하자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-registration&#34;&gt;II. Registration&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Step 1. 웹사이트 접속 및 계정 생성&#xA;&lt;ul&gt;&#xA;&lt;li&gt;웹사이트: &lt;a href=&#34;https://aws.amazon.com/ko/&#34;&gt;https://aws.amazon.com/ko/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;우측 상단의 [AWS 계정 생성]을 클릭한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Step 2. [계정 생성] 페이지에서 이메일 주소, 암호, AWS 계정 이름을 입력하고 [계속] 버튼을 클릭한다.&lt;/li&gt;&#xA;&lt;li&gt;Step 3. 이 때 계정 유형이 크게 [프로페셔널]과 [개인]으로 구분되는데, [개인]을 클릭한다. 연락처와 정보는 모두 영어로 기재하기를 바란다.&lt;/li&gt;&#xA;&lt;li&gt;Step 4. [결제 정보] 페이지에서 본인 명의의 신용카드 또는 직불카드 정보를 입력한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;각 실습을 진행한 후에는 가급적 모두 삭제하기를 바란다.&lt;/li&gt;&#xA;&lt;li&gt;따라서, 실습을 할 때마다 정리하여 개인 &lt;code&gt;개발블로그&lt;/code&gt;나 &lt;code&gt;github&lt;/code&gt;에 정리하는 습관을 가지는 것을 추천한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Step 5. [지원 플랜 선택] 페이지에서 &lt;code&gt;기본 플랜&lt;/code&gt;을 선택한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/05/register/figure_01.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>EDA with Python - NumPy basic</title>
      <link>https://dschloe.github.io/programming/2020/05/chapter_1_1_eda_with_numpy_basic/</link>
      <pubDate>Sun, 31 May 2020 13:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/chapter_1_1_eda_with_numpy_basic/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/05/numpy_array_creation/numpy.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파이썬 처음 입문하는 사람들을 위해서 작성하였다. &lt;code&gt;탐색작 자료분석(EDA: Exploratory Data Analysis)&lt;/code&gt;을 위해 가장 기초적인 뼈대가 되는 &lt;code&gt;NumPy&lt;/code&gt;에 대해서 학습하도록 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-array-만들기&#34;&gt;II. Array 만들기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1차원, 2차원, 3차원의 Array를 만들고 학습니다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 &lt;code&gt;numpy&lt;/code&gt; 라이브러리를 불러옵니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# import numpy&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;1.18.4&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;현재 구글 코랩에서 제공하는 &lt;code&gt;numpy 버전&lt;/code&gt;은 1.18.4로 확인되고 있습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-1차원-array-만들기&#34;&gt;(1) 1차원 Array 만들기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1차원 Array를 만들어 봅시다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my_1D_array &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array([&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(my_1D_array)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;type(my_1D_array)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[1 3 5 7]&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;numpy.ndarray&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-2차원-array-만들기&#34;&gt;(2) 2차원 Array 만들기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 2차원 Array를 만듭니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my_2D_array &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array([[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;], [&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;16&lt;/span&gt;], [&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;18&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;32&lt;/span&gt;]])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(my_2D_array)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;type(my_2D_array)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[[ 1  2  3  4]&#xA; [ 2  4  9 16]&#xA; [ 4  8 18 32]]&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;numpy.ndarray&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;3-3차원-array-만들기&#34;&gt;(3) 3차원 Array 만들기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 3차원 Array를 만듭니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my_3D_array &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array([[[ &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt; , &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt; , &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;],[ &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt; , &lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt; , &lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt; ,&lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;]], [[ &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;],[ &lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;11&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt;]]])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(my_3D_array)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;type(my_3D_array)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[[[ 1  2  3  4]&#xA;  [ 5  6  7  8]]&#xA;&#xA; [[ 1  2  3  4]&#xA;  [ 9 10 11 12]]]&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;numpy.ndarray&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;iii-array-information&#34;&gt;III. Array Information&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;실무에서는 데이터를 어떤 형태로 수집되는지 바로 판단하기가 어렵습니다.&lt;/li&gt;&#xA;&lt;li&gt;따라서, 수집받은 데이터를 다양한 방식으로 출력하여 정보를 알아가는 것이 좋습니다.&lt;/li&gt;&#xA;&lt;li&gt;대표적으로, ndim, shape, dtype을 통해서 확인합니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ndim은 배열의 차원수를 의미합니다.&lt;/li&gt;&#xA;&lt;li&gt;shape는 tuple의 index개수와 각 index가 보유하는 elements의 개수를 반환합니다.&lt;/li&gt;&#xA;&lt;li&gt;dtype는 각 게체의 데이터 타입을 표시합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-함수-작성&#34;&gt;(1) 함수 작성&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;저장된 1차원, 2차원, 3차원의 Array를 활용합니다.&lt;/li&gt;&#xA;&lt;li&gt;먼저, 빠르게 확인하기 위해 함수를 작성합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;check_array_info&lt;/span&gt;(arr_obj): &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; isinstance(arr_obj, (np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ndarray)):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;The current dimension is :&amp;#34;&lt;/span&gt;, arr_obj&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ndim)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;The current shape is :&amp;#34;&lt;/span&gt;, arr_obj&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;The current dtype is :&amp;#34;&lt;/span&gt;, arr_obj&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;dtype)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;The current value is :&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;, arr_obj)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;1-1차원-array의-정보-확인&#34;&gt;(1) 1차원 Array의 정보 확인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 정보를 확인합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;check_array_info(my_1D_array)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;The current dimension is : 1&#xA;The current shape is : (4,)&#xA;The current dtype is : int64&#xA;The current value is :&#xA; [1 3 5 7]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1차원 shape의 경우에는 (4,)만 표시가 되었는데, 이는 요소의 개수만 출력됨을 의미합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-2차원-array의-정보-확인&#34;&gt;(2) 2차원 Array의 정보 확인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;2차원 배열의 정보를 확인합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;check_array_info(my_2D_array)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;The current dimension is : 2&#xA;The current shape is : (3, 4)&#xA;The current dtype is : int64&#xA;The current value is :&#xA; [[ 1  2  3  4]&#xA; [ 2  4  9 16]&#xA; [ 4  8 18 32]]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;3-3차원-array의-정보-확인&#34;&gt;(3) 3차원 Array의 정보 확인&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;3차원 배열의 정보를 확인합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;check_array_info(my_3D_array)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;The current dimension is : 3&#xA;The current shape is : (2, 2, 4)&#xA;The current dtype is : int64&#xA;The current value is :&#xA; [[[ 1  2  3  4]&#xA;  [ 5  6  7  8]]&#xA;&#xA; [[ 1  2  3  4]&#xA;  [ 9 10 11 12]]]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;iv-creating-an-array&#34;&gt;IV. Creating An Array&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 다양한 방식으로 NumPy를 작성해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Array of ones&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ones &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ones((&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;check_array_info(ones)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;The current dimension is : 2&#xA;The current shape is : (3, 4)&#xA;The current dtype is : float64&#xA;The current value is :&#xA; [[1. 1. 1. 1.]&#xA; [1. 1. 1. 1.]&#xA; [1. 1. 1. 1.]]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Array of zeros&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;zeros &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;zeros((&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;), dtype&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;int16)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;check_array_info(zeros)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;The current dimension is : 3&#xA;The current shape is : (1, 2, 3)&#xA;The current dtype is : int16&#xA;The current value is :&#xA; [[[0 0 0]&#xA;  [0 0 0]]]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Array with random values&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;np_random &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;random&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;random((&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;check_array_info(np_random)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;The current dimension is : 2&#xA;The current shape is : (2, 2)&#xA;The current dtype is : float64&#xA;The current value is :&#xA; [[0.47775118 0.60277821]&#xA; [0.01818544 0.23499141]]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Empty Array&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;empty_array &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;empty((&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;check_array_info(empty_array)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;The current dimension is : 2&#xA;The current shape is : (3, 2)&#xA;The current dtype is : float64&#xA;The current value is :&#xA; [[2.31101775e-316 0.00000000e+000]&#xA; [0.00000000e+000 0.00000000e+000]&#xA; [0.00000000e+000 0.00000000e+000]]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Full Array&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;full_array &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;full((&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;), &lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;check_array_info(full_array)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;The current dimension is : 2&#xA;The current shape is : (2, 2)&#xA;The current dtype is : int64&#xA;The current value is :&#xA; [[7 7]&#xA; [7 7]]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Array of evenly_spaced values&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;even_spaced_array &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;arange(&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;25&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;check_array_info(even_spaced_array)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;The current dimension is : 1&#xA;The current shape is : (3,)&#xA;The current dtype is : int64&#xA;The current value is :&#xA; [10 15 20]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;even_spaced_array2 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;linspace(&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;check_array_info(even_spaced_array2)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;The current dimension is : 1&#xA;The current shape is : (9,)&#xA;The current dtype is : float64&#xA;The current value is :&#xA; [0.   0.25 0.5  0.75 1.   1.25 1.5  1.75 2.  ]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;v-array의-메모리-체크&#34;&gt;V. Array의 메모리 체크&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;머신러닝과 딥러닝을 수행하려면 반드시 메모리 체크가 필수다.&lt;/li&gt;&#xA;&lt;li&gt;이 부분과 관련된 함수를 작성하여 기존에 저장된 1차원, 2차원, 3차원 배열의 객체를 출력하여 본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-함수-작성-1&#34;&gt;(1) 함수 작성&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;check_memory_info&lt;/code&gt;라는 함수를 만들어보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;check_memory_info&lt;/span&gt;(arr_obj): &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; isinstance(arr_obj, (np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ndarray)): &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;The current size is :&amp;#34;&lt;/span&gt;, arr_obj&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;size)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;The current flags is :&amp;#34;&lt;/span&gt;, arr_obj&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;flags)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;The current itemzise is :&amp;#34;&lt;/span&gt;, arr_obj&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;itemsize)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;The current total consumed bytes is :&amp;#34;&lt;/span&gt;, arr_obj&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;nbytes)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;size&lt;/code&gt;는 &lt;code&gt;element&lt;/code&gt;의 전체 개수를 의미한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;flags&lt;/code&gt;는 &lt;code&gt;memory layout&lt;/code&gt;의 정보를 출력한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;itemsize&lt;/code&gt;는 bytes 당 한 배열의 길이를 출력한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;nbytes&lt;/code&gt;는 객체가 소비하는 전체 bytes를 출력한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-1차원-array의-메모리-정보-확인&#34;&gt;(1) 1차원 Array의 메모리 정보 확인&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;check_memory_info(my_1D_array)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;The current size is : 4&#xA;The current flags is :   C_CONTIGUOUS : True&#xA;  F_CONTIGUOUS : True&#xA;  OWNDATA : True&#xA;  WRITEABLE : True&#xA;  ALIGNED : True&#xA;  WRITEBACKIFCOPY : False&#xA;  UPDATEIFCOPY : False&#xA;&#xA;The current itemzise is : 8&#xA;The current total consumed bytes is : 32&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;1-2차원-array의-메모리-정보-확인&#34;&gt;(1) 2차원 Array의 메모리 정보 확인&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;check_memory_info(my_2D_array)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;The current size is : 12&#xA;The current flags is :   C_CONTIGUOUS : True&#xA;  F_CONTIGUOUS : False&#xA;  OWNDATA : True&#xA;  WRITEABLE : True&#xA;  ALIGNED : True&#xA;  WRITEBACKIFCOPY : False&#xA;  UPDATEIFCOPY : False&#xA;&#xA;The current itemzise is : 8&#xA;The current total consumed bytes is : 96&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;3-1차원-array의-메모리-정보-확인&#34;&gt;(3) 1차원 Array의 메모리 정보 확인&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;check_memory_info(my_3D_array)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;The current size is : 16&#xA;The current flags is :   C_CONTIGUOUS : True&#xA;  F_CONTIGUOUS : False&#xA;  OWNDATA : True&#xA;  WRITEABLE : True&#xA;  ALIGNED : True&#xA;  WRITEBACKIFCOPY : False&#xA;  UPDATEIFCOPY : False&#xA;&#xA;The current itemzise is : 8&#xA;The current total consumed bytes is : 128&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;vi-결론&#34;&gt;VI. 결론&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;NumPy&lt;/code&gt;는 파이썬에서 다루는 데이터과학에서 다루는 매우 중요한 토대가 되는 라이브러이이다.&lt;/li&gt;&#xA;&lt;li&gt;간단하게 &lt;code&gt;NumPy&lt;/code&gt;를 활용한 배열에 대해 학습하였다.&lt;/li&gt;&#xA;&lt;li&gt;또한, &lt;code&gt;Array&lt;/code&gt;를 다양하게 만들어보고, &lt;code&gt;Array&lt;/code&gt;가 가지고 있는 다양한 정보를 확인할 수 있는 여러 함수에 대해 익히는 시간을 가졌다.&lt;/li&gt;&#xA;&lt;li&gt;그러나, 여기까지는 사실상 기초이고, 이제 배열의 연산에 대해 익히는 시간을 가져야 한다.&lt;/li&gt;&#xA;&lt;li&gt;다음 시간에 &lt;code&gt;Broadcasting&lt;/code&gt;이라는 기법을 학습할 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;reference&#34;&gt;Reference&lt;/h2&gt;&#xA;&lt;p&gt;Mukhiya, Suresh Kumar, and Usman Ahmed. “Hands-On Exploratory Data Analysis with Python.” Packt Publishing, Mar. 2020, &lt;a href=&#34;https://www.packtpub.com/data/hands-on-exploratory-data-analysis-with-python&#34;&gt;www.packtpub.com/data/hands-on-exploratory-data-analysis-with-python&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>EDA with Personal Email - Overview</title>
      <link>https://dschloe.github.io/programming/2020/05/01_eda_with_personal_email_overview/</link>
      <pubDate>Sun, 31 May 2020 11:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/01_eda_with_personal_email_overview/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/05/01_eda_with_personal_email_overview/python_ds_logo.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-matplotlib--seaborn&#34;&gt;I. Matplotlib &amp;amp; Seaborn&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-기본-개요&#34;&gt;(1) 기본 개요&lt;/h3&gt;&#xA;&lt;p&gt;&lt;code&gt;Matplotlib&lt;/code&gt;는 파이썬 표준 시각화 도구라고 불리워지며 파이썬 그래프의 기본 토대가 된다고 해도 무방하다. 객체지향 프로그래밍을 지원하므로 세세하게 꾸밀 수 있다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Google Colab Intro</title>
      <link>https://dschloe.github.io/programming/2020/05/chapter_0_1_google_colab/</link>
      <pubDate>Sat, 30 May 2020 21:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/chapter_0_1_google_colab/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-들어가며&#34;&gt;I. 들어가며&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;빅데이터 시대에 맞춰서 다양한 툴이 나오는 가운데, Google Colab은 가히 혁명적이라 할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;과거 높은 사양의 컴퓨터에서만 수행할 수 있었던 머신러닝과 딥러닝을 구글 코랩의 환경에서 무료로 배울 수 있는 기회를 구글이 제공하기 시작했다.&lt;/li&gt;&#xA;&lt;li&gt;간단하게 아래 소스코드를 실행하여 CPU와 GPU의 연산속도를 비교 해보자.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://colab.research.google.com/notebooks/gpu.ipynb&#34;&gt;GPU를 사용한 TensorFlow&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-data-transformation-예제&#34;&gt;II. Data Transformation 예제&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 간단하게 데이터 가공의 예를 실습해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-딕셔너리에서-시리즈로-변환하기&#34;&gt;(1) 딕셔너리에서 시리즈로 변환하기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음의 소스코드를 실행하여 딕셔너리에서 시리즈로 변환하는 것을 실습해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# pandas 불러오기&#xA;import pandas as pd&#xA;&#xA;# key:value 형태로 딕셔너리를 만들고 temp_dic으로 저장&#xA;temp_dic = {&amp;#39;evan&amp;#39;: 30, &amp;#39;chloe&amp;#39;: 27}&#xA;print(temp_dic)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;{&#39;evan&#39;: 30, &#39;chloe&#39;: 27}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# 시리즈로 변환하고 출력값 확인&#xA;data = pd.Series(temp_dic)&#xA;print(data)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;evan     30&#xA;chloe    27&#xA;dtype: int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 출력값에서 인덱스는 &lt;code&gt;evan&lt;/code&gt;과 &lt;code&gt;chloe&lt;/code&gt;이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-리스트에서-시리즈로-변환하기&#34;&gt;(2) 리스트에서 시리즈로 변환하기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 리스트에서 시리즈로 변환한다. 이 때 출력값의 인덱스가 어떻게 나타나는지 확인해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;import pandas as pd&#xA;temp_list = [&amp;#39;2020-05-29&amp;#39;, 1.11, &amp;#39;가나다&amp;#39;, &amp;#39;ABC&amp;#39;, 100, True]&#xA;data = pd.Series(temp_list)&#xA;print(data)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;0    2020-05-29&#xA;1          1.11&#xA;2           가나다&#xA;3           ABC&#xA;4           100&#xA;5          True&#xA;dtype: object&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 인덱스의 값이 자동으로 0부터 시작하는 것을 알 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-data-visualisation-예제&#34;&gt;III. Data Visualisation 예제&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 간단하게 시각화를 작성해본다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;import numpy as np&#xA;import matplotlib.pyplot as plt&#xA;&#xA;N = 5&#xA;menMeans = (20, 35, 30, 35, 27)&#xA;womenMeans = (25, 32, 34, 20, 25)&#xA;menStd = (2, 3, 4, 1, 2)&#xA;womenStd = (3, 5, 2, 3, 3)&#xA;ind = np.arange(N)    # the x locations for the groups&#xA;width = 0.35       # the width of the bars: can also be len(x) sequence&#xA;&#xA;p1 = plt.bar(ind, menMeans, width, yerr=menStd)&#xA;p2 = plt.bar(ind, womenMeans, width,&#xA;             bottom=menMeans, yerr=womenStd)&#xA;&#xA;plt.ylabel(&amp;#39;Scores&amp;#39;)&#xA;plt.title(&amp;#39;Scores by group and gender&amp;#39;)&#xA;plt.xticks(ind, (&amp;#39;G1&amp;#39;, &amp;#39;G2&amp;#39;, &amp;#39;G3&amp;#39;, &amp;#39;G4&amp;#39;, &amp;#39;G5&amp;#39;))&#xA;plt.yticks(np.arange(0, 81, 10))&#xA;plt.legend((p1[0], p2[0]), (&amp;#39;Men&amp;#39;, &amp;#39;Women&amp;#39;))&#xA;&#xA;plt.show()&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img src=&#34;img/python_edu/00_settings/Chapter_0_1_Google_Colab_files/Chapter_0_1_Google_Colab_10_0.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Data Transformation - Merging Data</title>
      <link>https://dschloe.github.io/programming/2020/05/01_data_transformation_merging_data/</link>
      <pubDate>Fri, 29 May 2020 14:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/01_data_transformation_merging_data/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://inf.run/vc9P&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/03/Pandas_with_Excel/pandas_logo.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 &lt;code&gt;Reference&lt;/code&gt;는 꼭 확인하셔서 교재 구매 또는 관련 &lt;code&gt;Reference&lt;/code&gt;를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터는 코로나 데이터를 활용했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-data-transform-overview&#34;&gt;I. Data Transform Overview&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;데이터 변환은 데이터를 하나의 형식이나 구조에서 다른 형식이나 구조로 변환하는 데 사용되는 기법이다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch21 Conditional Expressions</title>
      <link>https://dschloe.github.io/programming/2020/05/ch21_conditional_expressions/</link>
      <pubDate>Thu, 28 May 2020 12:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/ch21_conditional_expressions/</guid>
      <description>&lt;h2 id=&#34;i-구글-클라우드-설정&#34;&gt;I. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch20 Logical Operations</title>
      <link>https://dschloe.github.io/programming/2020/05/ch20_logical_operations/</link>
      <pubDate>Wed, 27 May 2020 20:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/ch20_logical_operations/</guid>
      <description>&lt;h2 id=&#34;i-구글-클라우드-설정&#34;&gt;I. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch19 Comparisons Decimal Calculations</title>
      <link>https://dschloe.github.io/programming/2020/05/ch19_comparisons_decimal_calculations/</link>
      <pubDate>Tue, 26 May 2020 18:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/ch19_comparisons_decimal_calculations/</guid>
      <description>&lt;h2 id=&#34;i-구글-클라우드-설정&#34;&gt;I. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>matplotlib - 09 lollipop</title>
      <link>https://dschloe.github.io/programming/2020/05/matplotlib_09_lollipop_chart/</link>
      <pubDate>Tue, 26 May 2020 11:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/matplotlib_09_lollipop_chart/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-matplotlib--seaborn&#34;&gt;I. Matplotlib &amp;amp; Seaborn&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-기본-개요&#34;&gt;(1) 기본 개요&lt;/h3&gt;&#xA;&lt;p&gt;&lt;code&gt;Matplotlib&lt;/code&gt;는 파이썬 표준 시각화 도구라고 불리워지며 파이썬 그래프의 기본 토대가 된다고 해도 무방하다. 객체지향 프로그래밍을 지원하므로 세세하게 꾸밀 수 있다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch18 Mathematical Functions</title>
      <link>https://dschloe.github.io/programming/2020/05/ch18_mathematical_functions/</link>
      <pubDate>Mon, 25 May 2020 07:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/ch18_mathematical_functions/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/05/Ch18_Mathematical_Functions/google_big_query_icon_256x256.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-구글-클라우드-설정&#34;&gt;I. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kakao Arena 3 EDA on Google Colab</title>
      <link>https://dschloe.github.io/programming/2020/05/kakao_arena_3_eda/</link>
      <pubDate>Sun, 24 May 2020 13:11:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/kakao_arena_3_eda/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;p&gt;이전 포스트인 &lt;a href=&#34;https://chloevan.github.io/settings/colab_drive_github_settings/&#34;&gt;Colab + Drive + Github Workflow&lt;/a&gt; 실전 테스트용으로 생각하면서 읽어주기를 바란다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;프로젝트 폴더 내에서 간단하게 EDA를 실습하는 시간을 갖도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;관련 패키지는 우선 다른 곳에서 설치 되었다는 것을 가정한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;참고: &lt;a href=&#34;https://chloevan.github.io/settings/colab_package_settings/&#34;&gt;Python Package Settings on Google Colab&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;본 포스트의 핵심은 환경설정이 &lt;code&gt;Google Colab + Drive내&lt;/code&gt;에서 작업하는 것이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-패키지-불러오기&#34;&gt;II. 패키지 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음과 같은 순서로 실행한다.&lt;/li&gt;&#xA;&lt;li&gt;첫째, 나눔고딕 한글 폰트를 설치한다.&lt;/li&gt;&#xA;&lt;li&gt;둘째, 내부 패키지를 먼저 불러온다.&lt;/li&gt;&#xA;&lt;li&gt;셋째, 런타임을 다시 실행한다.&lt;/li&gt;&#xA;&lt;li&gt;넷째, &lt;code&gt;Drive&lt;/code&gt; 마운트를 진행한다.&lt;/li&gt;&#xA;&lt;li&gt;다섯째, 외부 패키지를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-나눔고딕-폰트-불러오기&#34;&gt;(1) 나눔고딕 폰트 불러오기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음과 같은 방식으로 폰트를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;config InlineBackend&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;figure_format &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;retina&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;sudo apt&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;get &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;qq &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;y install fonts&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;nanum&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;The following NEW packages will be installed:&#xA;  fonts-nanum&#xA;0 upgraded, 1 newly installed, 0 to remove and 31 not upgraded.&#xA;Need to get 9,604 kB of archives.&#xA;After this operation, 29.5 MB of additional disk space will be used.&#xA;Selecting previously unselected package fonts-nanum.&#xA;(Reading database ... 144433 files and directories currently installed.)&#xA;Preparing to unpack .../fonts-nanum_20170925-1_all.deb ...&#xA;Unpacking fonts-nanum (20170925-1) ...&#xA;Setting up fonts-nanum (20170925-1) ...&#xA;Processing triggers for fontconfig (2.12.6-0ubuntu2) ...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;2-내부에-기-설치된-패키지-불러오기&#34;&gt;(2) 내부에 기 설치된 패키지 불러오기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;관련 패키지를 불러온다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; datetime &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; timedelta, datetime&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; glob&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; itertools &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; chain&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; re&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; wordcloud &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; WordCloud&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; nltk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; nltk.corpus &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; stopwords&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; collections &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Counter&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.feature_extraction.text &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; TfidfVectorizer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; sklearn.feature_extraction.text &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; CountVectorizer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; pandas.plotting &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; register_matplotlib_converters&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; seaborn &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; sns&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; mpl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.font_manager &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; fm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fontpath &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/usr/share/fonts/truetype/nanum/NanumBarunGothic.ttf&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;font &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;FontProperties(fname&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;fontpath, size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rc(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font&amp;#39;&lt;/span&gt;, family&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NanumBarunGothic&amp;#39;&lt;/span&gt;) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rcParams[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;figure.figsize&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; (&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;register_matplotlib_converters()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mpl&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;font_manager&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;_rebuild()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mpl&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;pyplot&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rc(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;font&amp;#39;&lt;/span&gt;, family&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;NanumGothic&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fm&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;_rebuild()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;3-외부-패키지인-konlpy-불러오기&#34;&gt;(3) 외부 패키지인 &lt;code&gt;konlpy&lt;/code&gt; 불러오기&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다음 코드를 실행하기 전 반드시 [런타임]-[런타임 다시 시작]을 누르자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Mount Google Drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; google.colab &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; drive &lt;span style=&#34;color:#75715e&#34;&gt;# import drive from google colab&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ROOT &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/content/drive&amp;#34;&lt;/span&gt;     &lt;span style=&#34;color:#75715e&#34;&gt;# default location for the drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(ROOT)                 &lt;span style=&#34;color:#75715e&#34;&gt;# print content of ROOT (Optional)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;drive&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mount(ROOT)           &lt;span style=&#34;color:#75715e&#34;&gt;# we mount the google drive at /content/drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive&#xA;Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount(&amp;quot;/content/drive&amp;quot;, force_remount=True).&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;,&lt;/span&gt; sys&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my_path &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/content/notebooks&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;symlink(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/content/drive/My Drive/Colab Notebooks/competition/pkgs_folder&amp;#39;&lt;/span&gt;, my_path)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sys&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;insert(&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;,my_path)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; konlpy.tag &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Twitter&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 코드에서 만약 에러가 나면 처음부터 다시 해야 하니, 유의 바란다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;options&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mode&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;chained_assignment &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;iii-데이터-불러오기&#34;&gt;III. 데이터 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 깃허브 프로젝트인 &lt;code&gt;competition&lt;/code&gt;으로 파일 경로를 변경 한 뒤, 데이터를 불러오도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# import join used to join ROOT path and MY_GOOGLE_DRIVE_PATH&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; os.path &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; join  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# path to your project on Google Drive&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;MY_GOOGLE_DRIVE_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;My Drive/Colab Notebooks/competition&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PROJECT_PATH &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; join(ROOT, MY_GOOGLE_DRIVE_PATH)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;cd &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{PROJECT_PATH}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;/content/drive/My Drive/Colab Notebooks/competition&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;git status&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;On branch master&#xA;Your branch is up to date with &#39;origin/master&#39;.&#xA;&#xA;Changes not staged for commit:&#xA;  (use &amp;quot;git add/rm &amp;lt;file&amp;gt;...&amp;quot; to update what will be committed)&#xA;  (use &amp;quot;git checkout -- &amp;lt;file&amp;gt;...&amp;quot; to discard changes in working directory)&#xA;&#xA;&#x9;[31mmodified:   .gitignore[m&#xA;&#x9;[31mdeleted:    kakao_arena_3/source/temp.ipynb[m&#xA;&#x9;[31mdeleted:    kakao_arena_3/source/temp2.ipynb[m&#xA;&#xA;Untracked files:&#xA;  (use &amp;quot;git add &amp;lt;file&amp;gt;...&amp;quot; to include in what will be committed)&#xA;&#xA;&#x9;[31mkakao_arena_3/source/kakao_arena_3_eda.ipynb[m&#xA;&#xA;no changes added to commit (use &amp;quot;git add&amp;quot; and/or &amp;quot;git commit -a&amp;quot;)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;kakao_arena_3  pkgs_folder  README.md&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# genre_gn_all.json&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;genre_gn_all &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_json(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;kakao_arena_3/data/genre_gn_all.json&amp;#39;&lt;/span&gt;, typ &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;series&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 장르코드 : gnr_code, 장르명 : gnr_name&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;genre_gn_all &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DataFrame(genre_gn_all, columns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;gnr_name&amp;#39;&lt;/span&gt;])&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;reset_index()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rename(columns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;index&amp;#39;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;gnr_code&amp;#39;&lt;/span&gt;})&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(genre_gn_all&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;  gnr_code gnr_name&#xA;0   GN0100      발라드&#xA;1   GN0101   세부장르전체&#xA;2   GN0102      &#39;80&#xA;3   GN0103      &#39;90&#xA;4   GN0104      &#39;00&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 장르코드 뒷자리 두 자리가 00이 아닌 코드를 필터링&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dtl_gnr_code &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; genre_gn_all[genre_gn_all[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;gnr_code&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;str[&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;:] &lt;span style=&#34;color:#f92672&#34;&gt;!=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;00&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dtl_gnr_code&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;rename(columns &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;gnr_code&amp;#39;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;dtl_gnr_code&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;gnr_name&amp;#39;&lt;/span&gt; : &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;dtl_gnr_name&amp;#39;&lt;/span&gt;}, inplace &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(dtl_gnr_code&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;  dtl_gnr_code dtl_gnr_name&#xA;1       GN0101       세부장르전체&#xA;2       GN0102          &#39;80&#xA;3       GN0103          &#39;90&#xA;4       GN0104          &#39;00&#xA;5       GN0105         &#39;10-&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;iv-데이터-시각화-구현&#34;&gt;IV. 데이터 시각화 구현&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;한글 시각화를 구현한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Plotting a bar graph of the number of stores in each city, for the first ten cities listed&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# in the column &amp;#39;City&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dtl_gnr_name_count  &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; dtl_gnr_code[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;dtl_gnr_name&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;value_counts()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dtl_gnr_name_count &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; dtl_gnr_name_count[:&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;,]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;figure(figsize&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sns&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;barplot(dtl_gnr_name_count&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;index, dtl_gnr_name_count&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;values, alpha&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.8&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;title(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;한글 시각화 테스트&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ylabel(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Number of Occurrences&amp;#39;&lt;/span&gt;, fontsize&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;xlabel(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;세부장르&amp;#39;&lt;/span&gt;, fontsize&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/05/kakao_arena_3_eda/output_22_0.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Colab &#43; Drive &#43; Github Workflow</title>
      <link>https://dschloe.github.io/programming/2020/05/colab_drive_github_settings/</link>
      <pubDate>Sun, 24 May 2020 11:11:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/colab_drive_github_settings/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-동기-부여-및-개요&#34;&gt;I. 동기 부여 및 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;Google Colab&lt;/code&gt;을 알게 된 이후에, 모든 파일을 가급적 여기에서 작성을 한다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Why?&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;첫째, &lt;code&gt;GPU&lt;/code&gt;를 무료로 사용할 수 있다.&lt;/li&gt;&#xA;&lt;li&gt;둘째, 맥북에어의 저용량을 쓰는 나에게 있어, 시스템 파일 등을 &lt;code&gt;Local&lt;/code&gt;로 내려받는데 버거움이 있다.&lt;/li&gt;&#xA;&lt;li&gt;셋째, 온라인 강의 및 책을 협업해서 써야 하는데, 각 &lt;code&gt;Local&lt;/code&gt; 환경을 구축하는 번거로움을 없애고 싶었다.&lt;/li&gt;&#xA;&lt;li&gt;마지막으로, 파일 공유가 가능하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;문제는 &lt;code&gt;Google Colab&lt;/code&gt; + &lt;code&gt;Drive&lt;/code&gt; + &lt;code&gt;Github&lt;/code&gt;로 연동하여 소스파일을 관리해야 하는 시점이 도래했다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python Package Settings on Google Colab</title>
      <link>https://dschloe.github.io/programming/2020/05/colab_package_settings/</link>
      <pubDate>Sat, 23 May 2020 21:01:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/colab_package_settings/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;교육상, 최근 &lt;code&gt;kaggle&lt;/code&gt; 및 국내 경진 대회에 참여할 일이 생겼다.&lt;/li&gt;&#xA;&lt;li&gt;실습을 해보니, 매번 패키지와 파일을 다운로드 받는 것이 많이 불편했다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;파일을 열 때마다, &lt;code&gt;!pip install name_of_package&lt;/code&gt;을 실행해야 하는 번거로움이 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;이러한 해결책으로 파이썬 패키지를 &lt;code&gt;Google Colab&lt;/code&gt;에 영구적(&lt;code&gt;Permantly&lt;/code&gt;)으로 설치하는 것을 실습한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_1_6_Colab_with_Kaggle/logo.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch17 Types of Functions</title>
      <link>https://dschloe.github.io/programming/2020/05/ch17_types_of_functions/</link>
      <pubDate>Fri, 22 May 2020 17:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/ch17_types_of_functions/</guid>
      <description>&lt;h2 id=&#34;i-구글-클라우드-설정&#34;&gt;I. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>competition - M5 EDA</title>
      <link>https://dschloe.github.io/programming/2020/05/competition_m5_eda_1/</link>
      <pubDate>Thu, 21 May 2020 17:12:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/competition_m5_eda_1/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Kaggle에서 데이터를 다운로드 하는 방법에 대해서는 생략한다.&lt;/li&gt;&#xA;&lt;li&gt;본 포스트는 &lt;code&gt;Google Colab&lt;/code&gt;을 기반으로 작성하였다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Kaggle + Google Colab&lt;/code&gt; 데이터 연동하는 방법은 이전 포스트를 참고한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/settings/kaggle_with_colab/&#34;&gt;Kaggle with Google Colab&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/05/competition_m5_eda_%281%29/01_competition.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch16 Data Types - Numeric types</title>
      <link>https://dschloe.github.io/programming/2020/05/ch16_data_types_numeric_types/</link>
      <pubDate>Thu, 21 May 2020 07:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/ch16_data_types_numeric_types/</guid>
      <description>&lt;h2 id=&#34;i-구글-클라우드-설정&#34;&gt;I. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kaggle with Google Colab</title>
      <link>https://dschloe.github.io/programming/2020/05/kaggle_with_colab/</link>
      <pubDate>Wed, 20 May 2020 08:12:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/kaggle_with_colab/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Kaggle 대회에서 나오는 데이터의 용량은 작은 편은 아니다.&lt;/li&gt;&#xA;&lt;li&gt;성능이 적은 노트북을 사용해야 하는 경우라면 &lt;code&gt;Google Colab&lt;/code&gt;을 사용해야 한다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, &lt;code&gt;Kaggle&lt;/code&gt; 데이터를 &lt;code&gt;Google Colab&lt;/code&gt;으로 다운로드 받는 과정에 대해 기술 하려고 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_1_6_Colab_with_Kaggle/logo.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;ii-캐글-계정에서-해야-할-것&#34;&gt;II. 캐글 계정에서 해야 할 것&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;먼저 본인의 계정에서 &lt;code&gt;API Token&lt;/code&gt;을 다운로드 받는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/06/Chapter_1_6_Colab_with_Kaggle/kaggle_01_api.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>matplotlib - 08 Histogram</title>
      <link>https://dschloe.github.io/programming/2020/05/matplotlib_08_histogram/</link>
      <pubDate>Tue, 19 May 2020 15:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/matplotlib_08_histogram/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-matplotlib--seaborn&#34;&gt;I. Matplotlib &amp;amp; Seaborn&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-기본-개요&#34;&gt;(1) 기본 개요&lt;/h3&gt;&#xA;&lt;p&gt;&lt;code&gt;Matplotlib&lt;/code&gt;는 파이썬 표준 시각화 도구라고 불리워지며 파이썬 그래프의 기본 토대가 된다고 해도 무방하다. 객체지향 프로그래밍을 지원하므로 세세하게 꾸밀 수 있다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch15 Outer Join</title>
      <link>https://dschloe.github.io/programming/2020/05/ch15_outer_join/</link>
      <pubDate>Tue, 19 May 2020 07:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/ch15_outer_join/</guid>
      <description>&lt;h2 id=&#34;i-구글-클라우드-설정&#34;&gt;I. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>R - Select Helper Functions</title>
      <link>https://dschloe.github.io/programming/2020/05/dplyr02_select_helper/</link>
      <pubDate>Mon, 18 May 2020 08:20:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/dplyr02_select_helper/</guid>
      <description>&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;dplyr 문법에서 &lt;code&gt;select&lt;/code&gt;에 대해 다룬다. 보통 &lt;code&gt;select&lt;/code&gt;는 열 추출 함수로 소개되고 있다. 그런데, &lt;code&gt;select&lt;/code&gt; 함수에는 열 추출을 할 때 도와주는 &lt;code&gt;helper functions&lt;/code&gt;가 있는데, 간단하게 소개하고자 한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;starts_with&lt;/li&gt;&#xA;&lt;li&gt;ends_with&lt;/li&gt;&#xA;&lt;li&gt;contains&lt;/li&gt;&#xA;&lt;li&gt;matches&lt;/li&gt;&#xA;&lt;li&gt;num_range&lt;/li&gt;&#xA;&lt;li&gt;one_of&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;작은 도움이 되었기를 바란다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ii-사전-준비&#34;&gt;II. 사전 준비&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본격적인 실습에 앞서서, 패키지를 로드 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(dplyr)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(nycflights13)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;flights 데이터셋의 변수들을 확인하자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;glimpse&lt;/span&gt;(flights)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## Rows: 336,776&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## Columns: 19&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ year           &amp;lt;int&amp;gt; 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, …&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ month          &amp;lt;int&amp;gt; 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ day            &amp;lt;int&amp;gt; 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ dep_time       &amp;lt;int&amp;gt; 517, 533, 542, 544, 554, 554, 555, 557, 557, 558, 558,…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ sched_dep_time &amp;lt;int&amp;gt; 515, 529, 540, 545, 600, 558, 600, 600, 600, 600, 600,…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ dep_delay      &amp;lt;dbl&amp;gt; 2, 4, 2, -1, -6, -4, -5, -3, -3, -2, -2, -2, -2, -2, -…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ arr_time       &amp;lt;int&amp;gt; 830, 850, 923, 1004, 812, 740, 913, 709, 838, 753, 849…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ sched_arr_time &amp;lt;int&amp;gt; 819, 830, 850, 1022, 837, 728, 854, 723, 846, 745, 851…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ arr_delay      &amp;lt;dbl&amp;gt; 11, 20, 33, -18, -25, 12, 19, -14, -8, 8, -2, -3, 7, -…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ carrier        &amp;lt;chr&amp;gt; &amp;#34;UA&amp;#34;, &amp;#34;UA&amp;#34;, &amp;#34;AA&amp;#34;, &amp;#34;B6&amp;#34;, &amp;#34;DL&amp;#34;, &amp;#34;UA&amp;#34;, &amp;#34;B6&amp;#34;, &amp;#34;EV&amp;#34;, &amp;#34;B6&amp;#34;, …&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ flight         &amp;lt;int&amp;gt; 1545, 1714, 1141, 725, 461, 1696, 507, 5708, 79, 301, …&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ tailnum        &amp;lt;chr&amp;gt; &amp;#34;N14228&amp;#34;, &amp;#34;N24211&amp;#34;, &amp;#34;N619AA&amp;#34;, &amp;#34;N804JB&amp;#34;, &amp;#34;N668DN&amp;#34;, &amp;#34;N39…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ origin         &amp;lt;chr&amp;gt; &amp;#34;EWR&amp;#34;, &amp;#34;LGA&amp;#34;, &amp;#34;JFK&amp;#34;, &amp;#34;JFK&amp;#34;, &amp;#34;LGA&amp;#34;, &amp;#34;EWR&amp;#34;, &amp;#34;EWR&amp;#34;, &amp;#34;LGA&amp;#34;…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ dest           &amp;lt;chr&amp;gt; &amp;#34;IAH&amp;#34;, &amp;#34;IAH&amp;#34;, &amp;#34;MIA&amp;#34;, &amp;#34;BQN&amp;#34;, &amp;#34;ATL&amp;#34;, &amp;#34;ORD&amp;#34;, &amp;#34;FLL&amp;#34;, &amp;#34;IAD&amp;#34;…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ air_time       &amp;lt;dbl&amp;gt; 227, 227, 160, 183, 116, 150, 158, 53, 140, 138, 149, …&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ distance       &amp;lt;dbl&amp;gt; 1400, 1416, 1089, 1576, 762, 719, 1065, 229, 944, 733,…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ hour           &amp;lt;dbl&amp;gt; 5, 5, 5, 5, 6, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, …&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ minute         &amp;lt;dbl&amp;gt; 15, 29, 40, 45, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, …&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ time_hour      &amp;lt;dttm&amp;gt; 2013-01-01 05:00:00, 2013-01-01 05:00:00, 2013-01-01 …&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;총 19개의 변수들로 구성이 되어 있는 것을 확인 할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-다양한-helpers-응용&#34;&gt;III. 다양한 Helpers 응용&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;앞서 개요에서 소개한 것처럼 순차적으로 helpers 활용한 변수추출을 진행하도록 한다.&lt;/li&gt;&#xA;&lt;li&gt;필자는 간단하게 소개하는 것이기 때문에, 어떻게 응용할지는 각자 주어진 데이터에서 다시한번 응용하는 것을 추천한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;help(select)&lt;/code&gt;를 실행하면 더 자세히 나와 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-starts_with&#34;&gt;(1) starts_with&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;변수명의 &lt;code&gt;prefix&lt;/code&gt;를 가져오는 것이다.&lt;/li&gt;&#xA;&lt;li&gt;예를 들어 알파벳 문자 &lt;code&gt;a&lt;/code&gt;만 가져오도록 해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;flights &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;select&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;starts_with&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;a&amp;#34;&lt;/span&gt;)) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;glimpse&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## Rows: 336,776&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## Columns: 3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ arr_time  &amp;lt;int&amp;gt; 830, 850, 923, 1004, 812, 740, 913, 709, 838, 753, 849, 853…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ arr_delay &amp;lt;dbl&amp;gt; 11, 20, 33, -18, -25, 12, 19, -14, -8, 8, -2, -3, 7, -14, 3…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ air_time  &amp;lt;dbl&amp;gt; 227, 227, 160, 183, 116, 150, 158, 53, 140, 138, 149, 158, …&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;만약 여기에서 &lt;code&gt;ar&lt;/code&gt;로 변경하면, &lt;code&gt;air_time&lt;/code&gt; 변수는 추출되지 않는다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;flights &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;select&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;starts_with&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;ar&amp;#34;&lt;/span&gt;)) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;glimpse&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## Rows: 336,776&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## Columns: 2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ arr_time  &amp;lt;int&amp;gt; 830, 850, 923, 1004, 812, 740, 913, 709, 838, 753, 849, 853…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ arr_delay &amp;lt;dbl&amp;gt; 11, 20, 33, -18, -25, 12, 19, -14, -8, 8, -2, -3, 7, -14, 3…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;2-ends_with&#34;&gt;(2) ends_with&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;starts_with&lt;/code&gt;의 정확히 반대되는 개념이다. 변수명의 &lt;code&gt;suffix&lt;/code&gt;를 기준으로 변수명을 추출한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;flights &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;select&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;ends_with&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;y&amp;#34;&lt;/span&gt;)) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;glimpse&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## Rows: 336,776&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## Columns: 3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ day       &amp;lt;int&amp;gt; 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ dep_delay &amp;lt;dbl&amp;gt; 2, 4, 2, -1, -6, -4, -5, -3, -3, -2, -2, -2, -2, -2, -1, 0,…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ arr_delay &amp;lt;dbl&amp;gt; 11, 20, 33, -18, -25, 12, 19, -14, -8, 8, -2, -3, 7, -14, 3…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;y&lt;/code&gt;와 연관된 변수명은 3가지였다.&lt;/li&gt;&#xA;&lt;li&gt;그런데, 조금더 구체적으로 &lt;code&gt;delay&lt;/code&gt;라는 글자를 기준으로 추출해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;flights &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;select&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;ends_with&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;delay&amp;#34;&lt;/span&gt;)) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;glimpse&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## Rows: 336,776&#xA;## Columns: 2&#xA;## $ dep_delay &amp;lt;dbl&amp;gt; 2, 4, 2, -1, -6, -4, -5, -3, -3, -2, -2, -2, -2, -2, -1, 0,…&#xA;## $ arr_delay &amp;lt;dbl&amp;gt; 11, 20, 33, -18, -25, 12, 19, -14, -8, 8, -2, -3, 7, -14, 3…&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;3-contains&#34;&gt;(3) contains&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;변수명에 특정 문자열이 있으면 추출할 때 유용하다.&lt;/li&gt;&#xA;&lt;li&gt;특정 문자열 &lt;code&gt;el&lt;/code&gt;을 조회하는 함수를 작성하도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;flights &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;select&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;contains&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;el&amp;#34;&lt;/span&gt;)) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;glimpse&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## Rows: 336,776&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## Columns: 2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ dep_delay &amp;lt;dbl&amp;gt; 2, 4, 2, -1, -6, -4, -5, -3, -3, -2, -2, -2, -2, -2, -1, 0,…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ arr_delay &amp;lt;dbl&amp;gt; 11, 20, 33, -18, -25, 12, 19, -14, -8, 8, -2, -3, 7, -14, 3…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;4-matches&#34;&gt;(4) matches&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;helper&lt;/code&gt; 함수 중에서 정규 표현식 입력이 가능한 유일한 &lt;code&gt;helper&lt;/code&gt; 함수 이다.&lt;/li&gt;&#xA;&lt;li&gt;우선 아래코드를 확인해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;flights &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;select&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;matches&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;a{1}&amp;#34;&lt;/span&gt;)) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;glimpse&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## Rows: 336,776&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## Columns: 10&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ year           &amp;lt;int&amp;gt; 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, …&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ day            &amp;lt;int&amp;gt; 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ dep_delay      &amp;lt;dbl&amp;gt; 2, 4, 2, -1, -6, -4, -5, -3, -3, -2, -2, -2, -2, -2, -…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ arr_time       &amp;lt;int&amp;gt; 830, 850, 923, 1004, 812, 740, 913, 709, 838, 753, 849…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ sched_arr_time &amp;lt;int&amp;gt; 819, 830, 850, 1022, 837, 728, 854, 723, 846, 745, 851…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ arr_delay      &amp;lt;dbl&amp;gt; 11, 20, 33, -18, -25, 12, 19, -14, -8, 8, -2, -3, 7, -…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ carrier        &amp;lt;chr&amp;gt; &amp;#34;UA&amp;#34;, &amp;#34;UA&amp;#34;, &amp;#34;AA&amp;#34;, &amp;#34;B6&amp;#34;, &amp;#34;DL&amp;#34;, &amp;#34;UA&amp;#34;, &amp;#34;B6&amp;#34;, &amp;#34;EV&amp;#34;, &amp;#34;B6&amp;#34;, …&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ tailnum        &amp;lt;chr&amp;gt; &amp;#34;N14228&amp;#34;, &amp;#34;N24211&amp;#34;, &amp;#34;N619AA&amp;#34;, &amp;#34;N804JB&amp;#34;, &amp;#34;N668DN&amp;#34;, &amp;#34;N39…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ air_time       &amp;lt;dbl&amp;gt; 227, 227, 160, 183, 116, 150, 158, 53, 140, 138, 149, …&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ distance       &amp;lt;dbl&amp;gt; 1400, 1416, 1089, 1576, 762, 719, 1065, 229, 944, 733,…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;a{1}&lt;/code&gt;는 변수명에서 &lt;code&gt;a&lt;/code&gt;가 1번 이상 나온 것을 확인하여 추출하는 정규표현식이다.&lt;/li&gt;&#xA;&lt;li&gt;정규표현식의 관한 정리된 글을 활용하여 익히도록 한다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://data-make.tistory.com/44&#34;&gt;정규표현식을 사용한 데이터 추출&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;5-num_range&#34;&gt;(5) num_range&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;num_range&lt;/code&gt;는 변수명 중에서 &lt;code&gt;A1&lt;/code&gt;, &lt;code&gt;A2&lt;/code&gt;와 같이 코드화하여 정리하는 테이블에 변수명을 추출할 때 유용하다.&lt;/li&gt;&#xA;&lt;li&gt;아래코드를 확인해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;set.seed&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;data.frame&lt;/span&gt;(A1 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;runif&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;), &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                 A2 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;runif&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;), &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                 A3 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;runif&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;), &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                 A4 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;runif&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;), &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                 A5 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;runif&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;df &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;select&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;num_range&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;A&amp;#39;&lt;/span&gt;, range &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;)) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;glimpse&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## Rows: 10&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## Columns: 3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ A2 &amp;lt;dbl&amp;gt; 0.2059746, 0.1765568, 0.6870228, 0.3841037, 0.7698414, 0.4976992, …&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ A3 &amp;lt;dbl&amp;gt; 0.93470523, 0.21214252, 0.65167377, 0.12555510, 0.26722067, 0.3861…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ A4 &amp;lt;dbl&amp;gt; 0.4820801, 0.5995658, 0.4935413, 0.1862176, 0.8273733, 0.6684667, …&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;6-one_of&#34;&gt;(6) one_of&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;one_of&lt;/code&gt;를 활용할 때는 &lt;code&gt;vector&lt;/code&gt;를 응용하는데, 이 때 &lt;code&gt;vector&lt;/code&gt;안에 있는 변수명과 매칭되는 테이블을 추출한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;flights &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;select&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;one_of&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;tailnum&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;year&amp;#34;&lt;/span&gt;))) &lt;span style=&#34;color:#f92672&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;glimpse&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## Rows: 336,776&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## Columns: 2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ tailnum &amp;lt;chr&amp;gt; &amp;#34;N14228&amp;#34;, &amp;#34;N24211&amp;#34;, &amp;#34;N619AA&amp;#34;, &amp;#34;N804JB&amp;#34;, &amp;#34;N668DN&amp;#34;, &amp;#34;N39463&amp;#34;, &amp;#34;…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## $ year    &amp;lt;int&amp;gt; 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;vi-reference&#34;&gt;VI. Reference&lt;/h2&gt;&#xA;&lt;p&gt;출처: &lt;a href=&#34;https://dplyr.tidyverse.org/reference/select.html&#34;&gt;Select/rename variables by name&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hugo - 이미지 위치 설정</title>
      <link>https://dschloe.github.io/programming/2020/05/image_center/</link>
      <pubDate>Sat, 16 May 2020 17:20:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/image_center/</guid>
      <description>&lt;h2 id=&#34;i-problem&#34;&gt;I. Problem&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;Hugo&lt;/code&gt;에서 이미지를 업로드하면 자동적으로 왼쪽(Left) 정렬이 된다. 기본적으로 마크다운 내에서 &lt;code&gt;html&lt;/code&gt; 적용은 되지 않는 문제점이 있다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;아래는 기본적인 &lt;code&gt;img&lt;/code&gt; 업로드 방식이다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;![](/img/programming/2020/05/numpy_array_creation/numpy.png)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/05/numpy_array_creation/numpy.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;위 그림처럼 왼쪽으로 치우친 것을 볼 수 있다. 이럴 경우 어떻게 해결해야 할까? 간단하게 해결 방법을 정리하여 공유한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-css-파일-찾기&#34;&gt;II. CSS 파일 찾기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;기본적으로 이미지를 핸들링 하는 것은 &lt;code&gt;CSS&lt;/code&gt; 파일에서 해결한다. 문제는 &lt;code&gt;어떤 CSS&lt;/code&gt; 파일을 열어야 하는지 처음에는 어려울 것이다.&lt;/li&gt;&#xA;&lt;li&gt;첫째, 대부분 &lt;code&gt;hugo&lt;/code&gt; 개발자들이 테마를 사용하기 때문에 테마에서 &lt;code&gt;css&lt;/code&gt; 파일을 찾는다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;강사의 테마는 &lt;code&gt;mainroad&lt;/code&gt;이며, 위 기준으로 말씀드리면 파일 경로는 아래와 .&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-terminal&#34; data-lang=&#34;terminal&#34;&gt;themes/mainroad/assets/css/style.css&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;style.css&lt;/code&gt; 파일을 열면, 테마에 적용된 각종 &lt;code&gt;css&lt;/code&gt; 태그들을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-css-파일에-소스-추가&#34;&gt;III. CSS 파일에 소스 추가&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;다른 소스 코드는 만지지 않는다.&lt;/li&gt;&#xA;&lt;li&gt;맨 마지막에서 아래와 같은 소스코드를 입력한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-css&#34; data-lang=&#34;css&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;img&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;src&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;$=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;#center&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;display&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;block&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;margin&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;0.7&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;rem&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;auto&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;/* you can replace the vertical &amp;#39;0.7rem&amp;#39; by&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;                            whatever floats your boat, but keep the&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;                            horizontal &amp;#39;auto&amp;#39; for this to work */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;/* whatever else styles you fancy here */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;img&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;src&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;$=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;#floatleft&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;float&lt;/span&gt;:&lt;span style=&#34;color:#66d9ef&#34;&gt;left&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;margin&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;0.7&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;rem&lt;/span&gt;;      &lt;span style=&#34;color:#75715e&#34;&gt;/* this margin is totally up to you */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;/* whatever else styles you fancy here */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;img&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;src&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;$=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;#floatright&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;float&lt;/span&gt;:&lt;span style=&#34;color:#66d9ef&#34;&gt;right&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;margin&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;0.7&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;rem&lt;/span&gt;;      &lt;span style=&#34;color:#75715e&#34;&gt;/* this margin is totally up to you */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;/* whatever else styles you fancy here */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;위 코드에서 각 스타일에 맞게 &lt;code&gt;margin&lt;/code&gt;, &lt;code&gt;float&lt;/code&gt; 등을 &lt;code&gt;css&lt;/code&gt; 코드에 맞게 수정 변환하면 된다.&lt;/li&gt;&#xA;&lt;li&gt;수정하였다면 이제 저장한뒤, 작성중인 마크다운으로 다시 돌아간다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iv-markdown-파일에의-적용&#34;&gt;IV. Markdown 파일에의 적용.&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이제 적용해보자. 적용하는 것은 어렵지 않다. 이미지 경로 마지막에 &lt;code&gt;#center&lt;/code&gt;, &lt;code&gt;#floatleft&lt;/code&gt;, &lt;code&gt;#floatright&lt;/code&gt; 등을 입력하면 된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;![](/img/programming/2020/05/image_center/your_image.png#center) # floatleft, floatright&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;#center&lt;/code&gt;의 예시&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/05/numpy_array_creation/numpy.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch14 Cross Join</title>
      <link>https://dschloe.github.io/programming/2020/05/ch14_cross_join/</link>
      <pubDate>Fri, 15 May 2020 17:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/ch14_cross_join/</guid>
      <description>&lt;h2 id=&#34;i-구글-클라우드-설정&#34;&gt;I. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python - NumPy 소개 및 다양한 객체 생성</title>
      <link>https://dschloe.github.io/programming/2020/05/numpy_array_creation/</link>
      <pubDate>Fri, 15 May 2020 16:12:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/numpy_array_creation/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/05/numpy_array_creation/numpy.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;NumPy&lt;/code&gt;는 C언어로 구성되었으며, 고성능의 수치계산을 위해 나온 패키지이며, &lt;code&gt;Numerical Python&lt;/code&gt;의 약자이다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Python&lt;/code&gt;을 활용한 데이터 분석을 수행할 때, 그리고 데이터 시각화나 전처리를 수행할 때, &lt;code&gt;NumPy&lt;/code&gt;는 매우 자주 사용되기 때문에 한번쯤은 꼭 다듬고 가는 것이 중요하다.&lt;/li&gt;&#xA;&lt;li&gt;독자의 가독성을 위해 두번에 걸쳐 나눠서 연재하려고 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-모듈-import&#34;&gt;II. 모듈 Import&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;패키지 설치방법은 &lt;a href=&#34;https://pypi.org/project/numpy/&#34;&gt;설치 문서&lt;/a&gt;를 확인한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;1.18.4&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;iii-배열-생성&#34;&gt;III. 배열 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;NumPy&lt;/code&gt;를 활용하여 &lt;code&gt;Array(배열)&lt;/code&gt;을 만들어 본다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 1차원 배열을 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Defining 1D array&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;array_1D &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array([&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;27&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;64&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(array_1D)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[ 1  8 27 64]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 2차원 배열을 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;array_2D &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array([[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;], [&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;16&lt;/span&gt;], [&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;18&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;32&lt;/span&gt;]])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(array_2D)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[[ 1  2  3  4]&#xA; [ 2  4  9 16]&#xA; [ 4  8 18 32]]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이번에는 3차원 배열을 생성한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;array_3D &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;array([[[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;],[&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;]],[[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;],[&lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;11&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt;]]])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(array_3D)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[[[ 1  2  3  4]&#xA;  [ 5  6  7  8]]&#xA;&#xA; [[ 1  2  3  4]&#xA;  [ 9 10 11 12]]]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;iv-배열에-대한-정보-확인&#34;&gt;IV. 배열에 대한 정보 확인&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;배열의 정보를 확인하는 다양한 함수가 존재한다.&lt;/li&gt;&#xA;&lt;li&gt;현재 저장된 배열에 대해 &lt;code&gt;RAM&lt;/code&gt;의 주소를 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(array_2D&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;data)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;memory at 0x7f1348684ea0&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;배열의 구조를 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(array_2D&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;(3, 4)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;배열의 데이터 타입을 확인할 수 있다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(array_2D&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;dtype)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;int64&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;배열의 간격 및 각 요소간의 간격에 대해서도 확인이 가능하다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;v-numpy를-활용한-다양한-객체-생성&#34;&gt;V. NumPy를 활용한 다양한 객체 생성&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;NumPy 패키지내의 함수를 활용하여 다양한 방식으로 패키지를 작성해보자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Array of 1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ones &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ones((&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;)) &lt;span style=&#34;color:#75715e&#34;&gt;# 행, 열&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(ones)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[[1. 1. 1. 1.]&#xA; [1. 1. 1. 1.]&#xA; [1. 1. 1. 1.]]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Array of 0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;zeros &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;zeros((&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;), dtype&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;int16) &lt;span style=&#34;color:#75715e&#34;&gt;# 3차원의 개수, 2차원의 개수, 1차원의 개수&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(zeros)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[[[0 0 0 0 0]&#xA;  [0 0 0 0 0]&#xA;  [0 0 0 0 0]]&#xA;&#xA; [[0 0 0 0 0]&#xA;  [0 0 0 0 0]&#xA;  [0 0 0 0 0]]]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Array with 랜덤값&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;random&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;random((&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;)) &lt;span style=&#34;color:#75715e&#34;&gt;# 2차원의 개수, 1차원의 개수&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;array([[0.25327514, 0.82196535],&#xA;       [0.77309235, 0.84250901]])&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Empty 배열&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;emptyArray &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;empty((&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(emptyArray)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[[0. 0.]&#xA; [0. 0.]&#xA; [0. 0.]]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Full Array&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fullArray &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;full((&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;), &lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(fullArray)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[[7 7]&#xA; [7 7]]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Array of Evenly-Spaced Values (1차원 배열)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;evenSpacedArray &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;arange(&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;50&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(evenSpacedArray)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[10 15 20 25 30 35 40 45]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;arange&lt;/code&gt; 특정한 규칙에 따라 증가하는 수열을 생성한다.&lt;/li&gt;&#xA;&lt;li&gt;위 예제에서는 5만큼 증가하는 수열을 만들었다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;evenSpacedArray2 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;linspace(&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(evenSpacedArray2)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[0.   0.25 0.5  0.75 1.   1.25 1.5  1.75 2.  ]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;evenSpacedArray3 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; np&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;logspace(&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(evenSpacedArray3)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[  1.           1.77827941   3.16227766   5.62341325  10.&#xA;  17.7827941   31.6227766   56.23413252 100.        ]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;linspace &amp;amp; logspace 명령은 선형 구간 혹은 로그 구간을 &lt;code&gt;지정한 구간의 수&lt;/code&gt;만큼 &lt;code&gt;분할&lt;/code&gt;한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;vi-whats-next&#34;&gt;VI. What&amp;rsquo;s Next&lt;/h2&gt;&#xA;&lt;p&gt;지금까지는 &lt;code&gt;NumPy&lt;/code&gt;를 활용한 객체 생성에 대해 짧게 익혔다. 그러나, NumPy의 가장 중요한 것은 각각의 배열간의 연산이며, 이러한 연산기법에 대한 이해가 있어야 향후에 배우게 될 &lt;code&gt;머신러닝 &amp;amp; 딥러닝&lt;/code&gt;에 대한 이해를 하는데 도움이 될 수 있기 때문에, 꼭 다음 포스트를 읽어두는 것을 추천한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ch04 - Modeling Visualisation</title>
      <link>https://dschloe.github.io/programming/2020/05/ch04_modeling_visualisation/</link>
      <pubDate>Fri, 15 May 2020 11:10:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/ch04_modeling_visualisation/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;A picture is worth a thousand words&#xA;— English Language Adage&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The simple graph has brought more information to the data analyst’s mind than any other device.&#xA;— John Tukey&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;한장의 그림이 수천단어보다 가치가 있다는 영어속담과, 명료한 시각화가 데이터분석가에게 다른 어떤 도구보다 더 많은 정보를 제공한다는 유명한 데이터 과학자의 조언. 핵심은 시각화이다.&lt;/p&gt;&#xA;&lt;p&gt;본 장에서는 &lt;code&gt;ggplot2&lt;/code&gt; 패키지를 활용한 시각화를 먼저 보여줄 것이다. 먼저 간단하게 &lt;code&gt;ggplot2&lt;/code&gt; 패키지에 소개하자면 &lt;code&gt;Grammar of Graphics&lt;/code&gt;&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;의 철학을 담아서 &lt;code&gt;R&lt;/code&gt; 생태계에서 유명한 학자 중, &lt;code&gt;Hadley Wickham&lt;/code&gt;에 의해 주도적으로 개발되었다. 그래프에도 문법이 있다는 패키지의 철학 아래, &lt;code&gt;R&lt;/code&gt;의 시각화는 괄목할만한 발전을 이루었고 이는 &lt;code&gt;R&lt;/code&gt;의 대중화에도 큰 영향을 끼쳤다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python - Pandas 병렬처리</title>
      <link>https://dschloe.github.io/programming/2020/05/pandas_lambda_swifter/</link>
      <pubDate>Wed, 13 May 2020 14:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/pandas_lambda_swifter/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/03/Pandas_with_Excel/pandas_logo.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 &lt;code&gt;Reference&lt;/code&gt;는 꼭 확인하셔서 교재 구매 또는 관련 &lt;code&gt;Reference&lt;/code&gt;를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;p&gt;지난 포스트에서는 &lt;code&gt;lambda&lt;/code&gt;의 기본적인 개념에 대해서 익혔다면, 이제 본격적인 데이터 전처리와 관련된 예제를 올리려고 한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python - Lambda and List Comprehension</title>
      <link>https://dschloe.github.io/programming/2020/05/lambda_and_list_comprehension/</link>
      <pubDate>Tue, 12 May 2020 17:12:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/lambda_and_list_comprehension/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;Python&lt;/code&gt;을 활용한 데이터전처리를 수행할 때, &lt;code&gt;Lambda and List Comprehension&lt;/code&gt; 활용하면 매우 &lt;code&gt;handy&lt;/code&gt;한 경험을 할 수 있다. 특히, 코드 수행 시, &lt;code&gt;for-loop&lt;/code&gt;가 많을 때 유용하다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ii-lambda-expression&#34;&gt;II. Lambda Expression&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/05/lambda_and_list_comprehension/lambda.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;우선 &lt;code&gt;Lambda&lt;/code&gt;의 표현 방법은 아래와 같다.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;lambda&lt;/span&gt; 인자 : 표현식&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;어떻게 사용할 수 있을까요? 우선, &lt;code&gt;temp_sum&lt;/code&gt;이라는 함수를 만들어 본다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python Basic Syntax - list(1)</title>
      <link>https://dschloe.github.io/programming/2020/05/basic_syntax_list_1/</link>
      <pubDate>Tue, 12 May 2020 11:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/basic_syntax_list_1/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;p&gt;본 포스트에서는 짧게 list를 만드는 법과, 값을 추가하는 것에 대해 작성합니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-list-개요&#34;&gt;I. list 개요&lt;/h2&gt;&#xA;&lt;p&gt;list는 순서는 순서가 있는 집합이며, &lt;code&gt;[]&lt;/code&gt; 형태를 가집니다. list는 &lt;code&gt;(integer, float, string, etc)&lt;/code&gt; 등으로 구성되는데, 서로 다른 데이터 값이 들어올 수도 있다. 아래 코드를 보자.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# empty list&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my_list &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; []&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 숫자형 list&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;num_list &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 문자형 list&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;chr_list &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;A&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;B&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;C&amp;#39;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;리스트는 또다른 리스트를 포함할 수 도 있다. 이것을 &lt;code&gt;A nested list&lt;/code&gt;라고 부른다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Make a Portpolio (2)</title>
      <link>https://dschloe.github.io/programming/2020/05/how_to_make_portpolio_2/</link>
      <pubDate>Tue, 12 May 2020 00:35:28 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/how_to_make_portpolio_2/</guid>
      <description>&lt;h2 id=&#34;들어가면서&#34;&gt;들어가면서..&lt;/h2&gt;&#xA;&lt;p&gt;본격적으로 강의를 시작하면서, 수강생들에게 도움이 되는 글을 작성하고 싶었다. 아쉽지만, 본 포스팅에서 코딩과 관련된 글을 제공되지 않는다. 다만, 필자 역시 블로그를 시작하면서 하나의 포트폴리오를 만들어가는 것처럼, 부족한 나의 강의를 듣는 사람들에게도 도움이 될만한 글을 제공하고 싶었다.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;원문: How to Build a Data Science Portfolio&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;원문을 번역하지만, 기타 필자의 개인적인 의견도 섞어서 개진하였음을 밝힌다.&lt;/p&gt;&#xA;&lt;p&gt;데이터 과학분야에 어떻게 취직을 할 수 있을까? 신입의 입장에서, 통계, 기계학습, 프로그래밍, IT 기술, 클라우드 전반에 대해 모두 아는 것은 어렵다. 또한, 취업에 필요한 포트폴리오는 어떻게 만들어야 할지 취준생 입장에서는 이 또한 난감하다. 대학교에서, 직업훈련기관에서, 또는 독학으로. 열심히 공부해 왔다고 해도, 역시 포트폴리오를 만들어가는 것은 쉽지 않다. 그러나, &lt;code&gt;포트폴리오는 매우 중요하며&lt;/code&gt;, &lt;code&gt;포트폴리오&lt;/code&gt;가 있음으로 얻는 이점은 무궁무진하다. 그런데, 인사담당자 &amp;amp; 현업(사수가 될 사람)과의 미팅에서 눈을 사로잡으려면 포트폴리오는 강력한 무기가 될 수 있다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch9.5 - 이미지 분할</title>
      <link>https://dschloe.github.io/programming/2020/05/ch9_5_image_segmentation/</link>
      <pubDate>Mon, 11 May 2020 12:20:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/ch9_5_image_segmentation/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶으신 분은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_1_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.1 - 선형회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_2_multiple_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.2 - 다항회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_3_regression_with_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.3 - 딥러닝 네트워크를 이용한 회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_4_boston_housing_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.4 - 보스턴 주택 가격 데이터세트&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_1_binary_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.1 - 분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_2_multi_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.2 - 다항분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_3_fashion_mnist/&#34;&gt;Tensorflow 2.0 Tutorial ch5.3 - Fashion MNIST&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_1_2_cnn_theory/&#34;&gt;Tensorflow 2.0 Tutorial ch6.1-2 - CNN 이론&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_3_fashion_mnist_with_cnn/&#34;&gt;Tensorflow 2.0 Tutorial ch6.3 - Fashion MNIST with CNN 실습&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_4_improve_performance/&#34;&gt;Tensorflow 2.0 Tutorial ch6.4 - 모형의 성능 높이기&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory1/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (1)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory2/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (2)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_3_sentimentanalysis/&#34;&gt;Tensorflow 2.0 Tutorial ch7.3 - 긍정, 부정 감성 분석&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_4_naturallanguagegeneration1/&#34;&gt;Tensorflow 2.0 Tutorial ch7.4 - (1) 단어 단위 생성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_4_naturallanguagegeneration2/&#34;&gt;Tensorflow 2.0 Tutorial ch7.4 - (2) 단어 단위 생성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch8_1_tensorflow_hub/&#34;&gt;Tensorflow 2.0 Tutorial ch8.1 - 텐서플로 허브&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch8_2_transfer_learning/&#34;&gt;Tensorflow 2.0 Tutorial ch8.2 - 전이 학습과 &amp;amp; Kaggle 대회&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch8_3_1_texture_synthesis/&#34;&gt;Tensorflow 2.0 Tutorial ch8.3.1 - 컨볼루션 신경망을 사용한 텍스처 합성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch8_3_2_neural_style_transfer/&#34;&gt;Tensorflow 2.0 Tutorial ch8.3.2 - 컨볼루션 신경망을 사용한 신경 스타일 전이&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch9_1_auto_encoder/&#34;&gt;Tensorflow 2.0 Tutorial ch9.1-2 - 오토인코더 &amp;amp; MNIST&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch9_3_k_means_clustering/&#34;&gt;Tensorflow 2.0 Tutorial ch9.3 - 클러스터링&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch9_4_super_resolution/&#34;&gt;Tensorflow 2.0 Tutorial ch9.4 - 초해상도&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이미지에서 단순히 경계선을 추출하는 작업은 전통적인 알고리즘의 필터나 한 층의 컨볼루션 레이어로도 가능하지만, 의미 있는 부분과 그렇지 않은 부분으로 분할하기 위해서는 학습이 필요합니다.&lt;/li&gt;&#xA;&lt;li&gt;앞 절에서 정의한 &lt;code&gt;REDNet&lt;/code&gt;을 조금만 수정하면 이미지 분할(&lt;code&gt;Segmentation&lt;/code&gt;)에서 사용할 수 있습니다.&lt;/li&gt;&#xA;&lt;li&gt;이미지의 경계선과 내용, 그리고 외곽의 3가지로 분류하는 &lt;code&gt;Oxford-IIIT Pet&lt;/code&gt; 데이터세트로 이미지 분할 문제를 학습합니다.&lt;/li&gt;&#xA;&lt;li&gt;교재에 있는 코드에서 몇몇 에러가 발생하였습니다. 내용상 텐서플로 홈페이지와 유사하여 텐서플로 공식 홈페이지에 있는 소스코드를 참고하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;먼저 필수 파일들을 &lt;code&gt;pip&lt;/code&gt; 도구를 활용하여 설치합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install git&lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;github&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;tensorflow&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;examples&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;pip install &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;U tfds&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;nightly&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Collecting git+https://github.com/tensorflow/examples.git&#xA;  Cloning https://github.com/tensorflow/examples.git to /tmp/pip-req-build-36g0gu68&#xA;  Running command git clone -q https://github.com/tensorflow/examples.git /tmp/pip-req-build-36g0gu68&#xA;Requirement already satisfied: absl-py in /usr/local/lib/python3.6/dist-packages (from tensorflow-examples===63ee35adcc3e3dd2d228bc3283e27f6a1e2158ab-) (0.9.0)&#xA;Requirement already satisfied: six in /usr/local/lib/python3.6/dist-packages (from tensorflow-examples===63ee35adcc3e3dd2d228bc3283e27f6a1e2158ab-) (1.12.0)&#xA;Building wheels for collected packages: tensorflow-examples&#xA;  Building wheel for tensorflow-examples (setup.py) ... [?25l[?25hdone&#xA;  Created wheel for tensorflow-examples: filename=tensorflow_examples-63ee35adcc3e3dd2d228bc3283e27f6a1e2158ab_-cp36-none-any.whl size=125226 sha256=f2f0d0a9e57edde6593979e55a26983574dba25b3f7008be261173181109f5b8&#xA;  Stored in directory: /tmp/pip-ephem-wheel-cache-f32yqfdy/wheels/83/64/b3/4cfa02dc6f9d16bf7257892c6a7ec602cd7e0ff6ec4d7d714d&#xA;Successfully built tensorflow-examples&#xA;Installing collected packages: tensorflow-examples&#xA;Successfully installed tensorflow-examples-63ee35adcc3e3dd2d228bc3283e27f6a1e2158ab-&#xA;Collecting tfds-nightly&#xA;[?25l  Downloading https://files.pythonhosted.org/packages/8c/42/df5f05f2124f9d1b6e16b88c518f04a7d282d77daf3113ba548baadc4ce5/tfds_nightly-3.1.0.dev202005100106-py3-none-any.whl (3.3MB)&#xA;[K     |████████████████████████████████| 3.3MB 11.6MB/s &#xA;[?25hRequirement already satisfied, skipping upgrade: wrapt in /usr/local/lib/python3.6/dist-packages (from tfds-nightly) (1.12.1)&#xA;Requirement already satisfied, skipping upgrade: requests&amp;gt;=2.19.0 in /usr/local/lib/python3.6/dist-packages (from tfds-nightly) (2.23.0)&#xA;Requirement already satisfied, skipping upgrade: tqdm in /usr/local/lib/python3.6/dist-packages (from tfds-nightly) (4.41.1)&#xA;Requirement already satisfied, skipping upgrade: attrs&amp;gt;=18.1.0 in /usr/local/lib/python3.6/dist-packages (from tfds-nightly) (19.3.0)&#xA;Requirement already satisfied, skipping upgrade: future in /usr/local/lib/python3.6/dist-packages (from tfds-nightly) (0.16.0)&#xA;Requirement already satisfied, skipping upgrade: absl-py in /usr/local/lib/python3.6/dist-packages (from tfds-nightly) (0.9.0)&#xA;Requirement already satisfied, skipping upgrade: dill in /usr/local/lib/python3.6/dist-packages (from tfds-nightly) (0.3.1.1)&#xA;Requirement already satisfied, skipping upgrade: promise in /usr/local/lib/python3.6/dist-packages (from tfds-nightly) (2.3)&#xA;Collecting tensorflow-metadata&amp;lt;0.16,&amp;gt;=0.15&#xA;  Downloading https://files.pythonhosted.org/packages/3b/0c/afb81ea6998f6e26521671585d1cd9d3f7945a8b9834764e91757453dc25/tensorflow_metadata-0.15.2-py2.py3-none-any.whl&#xA;Requirement already satisfied, skipping upgrade: six in /usr/local/lib/python3.6/dist-packages (from tfds-nightly) (1.12.0)&#xA;Requirement already satisfied, skipping upgrade: protobuf&amp;gt;=3.6.1 in /usr/local/lib/python3.6/dist-packages (from tfds-nightly) (3.10.0)&#xA;Requirement already satisfied, skipping upgrade: numpy in /usr/local/lib/python3.6/dist-packages (from tfds-nightly) (1.18.4)&#xA;Requirement already satisfied, skipping upgrade: termcolor in /usr/local/lib/python3.6/dist-packages (from tfds-nightly) (1.1.0)&#xA;Requirement already satisfied, skipping upgrade: chardet&amp;lt;4,&amp;gt;=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests&amp;gt;=2.19.0-&amp;gt;tfds-nightly) (3.0.4)&#xA;Requirement already satisfied, skipping upgrade: certifi&amp;gt;=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests&amp;gt;=2.19.0-&amp;gt;tfds-nightly) (2020.4.5.1)&#xA;Requirement already satisfied, skipping upgrade: idna&amp;lt;3,&amp;gt;=2.5 in /usr/local/lib/python3.6/dist-packages (from requests&amp;gt;=2.19.0-&amp;gt;tfds-nightly) (2.9)&#xA;Requirement already satisfied, skipping upgrade: urllib3!=1.25.0,!=1.25.1,&amp;lt;1.26,&amp;gt;=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests&amp;gt;=2.19.0-&amp;gt;tfds-nightly) (1.24.3)&#xA;Requirement already satisfied, skipping upgrade: googleapis-common-protos in /usr/local/lib/python3.6/dist-packages (from tensorflow-metadata&amp;lt;0.16,&amp;gt;=0.15-&amp;gt;tfds-nightly) (1.51.0)&#xA;Requirement already satisfied, skipping upgrade: setuptools in /usr/local/lib/python3.6/dist-packages (from protobuf&amp;gt;=3.6.1-&amp;gt;tfds-nightly) (46.1.3)&#xA;Installing collected packages: tensorflow-metadata, tfds-nightly&#xA;  Found existing installation: tensorflow-metadata 0.21.2&#xA;    Uninstalling tensorflow-metadata-0.21.2:&#xA;      Successfully uninstalled tensorflow-metadata-0.21.2&#xA;Successfully installed tensorflow-metadata-0.15.2 tfds-nightly-3.1.0.dev202005100106&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;ii-rednet1&#34;&gt;II. REDNet[^1]&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;REDNet&lt;/code&gt;은 &lt;code&gt;Residual Encoder-Decoder Network&lt;/code&gt;의 약자이며, &lt;code&gt;Residual&lt;/code&gt;은 &lt;code&gt;ResNet&lt;/code&gt;등에서 사용하는 건너뛴 연결(&lt;code&gt;skip-connection&lt;/code&gt;)입니다.&lt;/li&gt;&#xA;&lt;li&gt;다수의 레이어가 중첩되는 구조에서 앞쪽의 정보를 잃어버리기 않기 위해 뒤쪽에 정보를 그대로 전달해줄 때 건너뛴 연결이 사용됩니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; tensorflow &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; tf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; tensorflow_examples.models.pix2pix &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pix2pix&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; tensorflow_datasets &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; tfds&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tfds&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;disable_progress_bar()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; IPython.display &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; clear_output&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;iii-데이터-불러오기&#34;&gt;III. 데이터 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;tf.keras.utils.get_file()&lt;/code&gt; 데이터를 불러옵니다.&lt;/li&gt;&#xA;&lt;li&gt;교재에서는 &lt;code&gt;oxford_iiit_pet:3.0.0&lt;/code&gt;으로 되어 있었는데, 버전을 &lt;code&gt;3.*.*&lt;/code&gt;으로 수정하여 다운로드를 하기를 바랍니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dataset, info &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; tfds&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;load(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;oxford_iiit_pet:3.*.*&amp;#39;&lt;/span&gt;, with_info&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[1mDownloading and preparing dataset oxford_iiit_pet/3.2.0 (download: 773.52 MiB, generated: 774.69 MiB, total: 1.51 GiB) to /root/tensorflow_datasets/oxford_iiit_pet/3.2.0...[0m&#xA;Shuffling and writing examples to /root/tensorflow_datasets/oxford_iiit_pet/3.2.0.incompleteONHCBY/oxford_iiit_pet-train.tfrecord&#xA;Shuffling and writing examples to /root/tensorflow_datasets/oxford_iiit_pet/3.2.0.incompleteONHCBY/oxford_iiit_pet-test.tfrecord&#xA;[1mDataset oxford_iiit_pet downloaded and prepared to /root/tensorflow_datasets/oxford_iiit_pet/3.2.0. Subsequent calls will reuse this data.[0m&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;info&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;tfds.core.DatasetInfo(&#xA;    name=&#39;oxford_iiit_pet&#39;,&#xA;    version=3.2.0,&#xA;    description=&#39;The Oxford-IIIT pet dataset is a 37 category pet image dataset with roughly 200&#xA;images for each class. The images have large variations in scale, pose and&#xA;lighting. All images have an associated ground truth annotation of breed.&#39;,&#xA;    homepage=&#39;http://www.robots.ox.ac.uk/~vgg/data/pets/&#39;,&#xA;    features=FeaturesDict({&#xA;        &#39;file_name&#39;: Text(shape=(), dtype=tf.string),&#xA;        &#39;image&#39;: Image(shape=(None, None, 3), dtype=tf.uint8),&#xA;        &#39;label&#39;: ClassLabel(shape=(), dtype=tf.int64, num_classes=37),&#xA;        &#39;segmentation_mask&#39;: Image(shape=(None, None, 1), dtype=tf.uint8),&#xA;        &#39;species&#39;: ClassLabel(shape=(), dtype=tf.int64, num_classes=2),&#xA;    }),&#xA;    total_num_examples=7349,&#xA;    splits={&#xA;        &#39;test&#39;: 3669,&#xA;        &#39;train&#39;: 3680,&#xA;    },&#xA;    supervised_keys=(&#39;image&#39;, &#39;label&#39;),&#xA;    citation=&amp;quot;&amp;quot;&amp;quot;@InProceedings{parkhi12a,&#xA;      author       = &amp;quot;Parkhi, O. M. and Vedaldi, A. and Zisserman, A. and Jawahar, C.~V.&amp;quot;,&#xA;      title        = &amp;quot;Cats and Dogs&amp;quot;,&#xA;      booktitle    = &amp;quot;IEEE Conference on Computer Vision and Pattern Recognition&amp;quot;,&#xA;      year         = &amp;quot;2012&amp;quot;,&#xA;    }&amp;quot;&amp;quot;&amp;quot;,&#xA;    redistribution_info=,&#xA;)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;code&gt;Dataset&lt;/code&gt;의 주요 정보를 구성하고 있는 부분은 &lt;code&gt;features&lt;/code&gt;입니다. 여기에는 &lt;code&gt;image&lt;/code&gt;, &lt;code&gt;label&lt;/code&gt;, &lt;code&gt;segmentation_mask&lt;/code&gt;가 보입니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Make a Portpolio (1)</title>
      <link>https://dschloe.github.io/programming/2020/05/how_to_make_portpolio_1/</link>
      <pubDate>Mon, 11 May 2020 01:03:28 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/how_to_make_portpolio_1/</guid>
      <description>&lt;h2 id=&#34;들어가면서&#34;&gt;들어가면서..&lt;/h2&gt;&#xA;&lt;p&gt;본격적으로 강의를 시작하면서, 수강생들에게 도움이 되는 글을 작성하고 싶었다. 아쉽지만, 본 포스팅에서 코딩과 관련된 글을 제공되지 않는다. 다만, 필자 역시 블로그를 시작하면서 하나의 포트폴리오를 만들어가는 것처럼, 부족한 나의 강의를 듣는 사람들에게도 도움이 될만한 글을 제공하고 싶었다.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;원문: How to Build a Data Science Portfolio&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;원문을 번역하지만, 기타 필자의 개인적인 의견도 섞어서 개진하였음을 밝힌다.&lt;/p&gt;&#xA;&lt;p&gt;데이터 과학분야에 어떻게 취직을 할 수 있을까? 신입의 입장에서, 통계, 기계학습, 프로그래밍, IT 기술, 클라우드 전반에 대해 모두 아는 것은 어렵다. 또한, 취업에 필요한 포트폴리오는 어떻게 만들어야 할지 취준생 입장에서는 이 또한 난감하다. 대학교에서, 직업훈련기관에서, 또는 독학으로. 열심히 공부해 왔다고 해도, 역시 포트폴리오를 만들어가는 것은 쉽지 않다. 그러나, &lt;code&gt;포트폴리오는 매우 중요하며&lt;/code&gt;, &lt;code&gt;포트폴리오&lt;/code&gt;가 있음으로 얻는 이점은 무궁무진하다. 그런데, 인사담당자 &amp;amp; 현업(사수가 될 사람)과의 미팅에서 눈을 사로잡으려면 포트폴리오는 강력한 무기가 될 수 있다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Shiny App Deployment Using GCP</title>
      <link>https://dschloe.github.io/programming/2020/05/gcp_shiny/</link>
      <pubDate>Sun, 10 May 2020 19:47:18 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/gcp_shiny/</guid>
      <description>&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;Google Data Studio는 놀랍도록 유연한 도구로서 마케팅 대행사 중 Google Analytics를 활용한 업체들은 대부분 항상 사용합니다. 때로는 유연성이 더 필요할 때 R &amp;rsquo;s Shiny 패키지를 사용하여 데이터 시각화 / 대시 보드 앱을 만드는 것이 매우 쉽습니다. 이 옵션을 사용하면 모든 소스의 데이터를 예측 모델링과 함께 사용할 수 있는 장점이 있습니다.&lt;/p&gt;&#xA;&lt;p&gt;이 블로그 게시물은 3 부분으로 나누어져 있습니다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;먼저 Google Cloud Virtual Machine (VM)을 설정하고 웹 액세스를 허용하도록 방화벽 규칙을 구성합니다.&lt;/li&gt;&#xA;&lt;li&gt;R, RStudio 및 Shiny를 설치합니다.&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 우리는 Shiny 앱을 배포하려고 합니다.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;ii-가상환경-설치&#34;&gt;II. 가상환경 설치&lt;/h2&gt;&#xA;&lt;p&gt;먼저 필자의 로컬 컴퓨터 환경은 다음과 같습니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>matplotlib 07 Polar Chart</title>
      <link>https://dschloe.github.io/programming/2020/05/matplotlib_07_polar_chart/</link>
      <pubDate>Sat, 09 May 2020 15:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/matplotlib_07_polar_chart/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-matplotlib--seaborn&#34;&gt;I. Matplotlib &amp;amp; Seaborn&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-기본-개요&#34;&gt;(1) 기본 개요&lt;/h3&gt;&#xA;&lt;p&gt;&lt;code&gt;Matplotlib&lt;/code&gt;는 파이썬 표준 시각화 도구라고 불리워지며 파이썬 그래프의 기본 토대가 된다고 해도 무방하다. 객체지향 프로그래밍을 지원하므로 세세하게 꾸밀 수 있다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Github에 Daily 코딩 설정</title>
      <link>https://dschloe.github.io/programming/2020/05/daily_coding/</link>
      <pubDate>Sat, 09 May 2020 10:00:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/daily_coding/</guid>
      <description>&lt;h2 id=&#34;i-motivation&#34;&gt;I. Motivation&lt;/h2&gt;&#xA;&lt;p&gt;오늘은 데이터 분석과 크게 관련이 없는 포스팅을 해보자. 오늘 깃허브에 꾸미려고 하는 것은 아래와 같다.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/05/daily_coding/daily_coding.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;주로 깃허브를 올리는 시간은 언제인가? 그저 단순 재미로 포스팅을 해본다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ii-prep-work&#34;&gt;II. Prep Work&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;첫번째, &lt;code&gt;Gist&lt;/code&gt;를 클릭하여 활성화를 합니다. (&lt;a href=&#34;https://gist.github.com/&#34;&gt;https://gist.github.com/&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;두번째, 이제 토큰을 생성하자. 이 때 중요한 것은 &lt;code&gt;rest&lt;/code&gt; &amp;amp; &lt;code&gt;gist&lt;/code&gt;를 클릭한 뒤 생성을 해야 한다. (&lt;a href=&#34;https://github.com/settings/tokens/new&#34;&gt;https://github.com/settings/tokens/new&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Note&lt;/code&gt;에는 토큰 생성 목적을 기재하면 된다. (필자는 &lt;code&gt;Productivity Box&lt;/code&gt;)라고 했다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Select Scope&lt;/code&gt;에서 &lt;code&gt;rest&lt;/code&gt; &amp;amp; &lt;code&gt;gist&lt;/code&gt;를 아래 그림과 같이 클릭하자.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/05/daily_coding/select_scope.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch13 Inner Join</title>
      <link>https://dschloe.github.io/programming/2020/05/ch13_inner_join/</link>
      <pubDate>Fri, 08 May 2020 14:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/ch13_inner_join/</guid>
      <description>&lt;h2 id=&#34;i-구글-클라우드-설정&#34;&gt;I. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automate Excel Reporting With Pandas</title>
      <link>https://dschloe.github.io/programming/2020/05/automate_excel_reporting_with_pandas/</link>
      <pubDate>Fri, 08 May 2020 01:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/automate_excel_reporting_with_pandas/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 &lt;code&gt;Reference&lt;/code&gt;는 꼭 확인하셔서 교재 구매 또는 관련 &lt;code&gt;Reference&lt;/code&gt;를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터는 코로나 데이터를 활용했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-overview&#34;&gt;I. Overview&lt;/h2&gt;&#xA;&lt;p&gt;일부의 사람들이 &lt;code&gt;R&lt;/code&gt;과 &lt;code&gt;Python&lt;/code&gt;을 사용하지만, 대부분의 사람들은 엑셀을 사용한다. 피벗테이블은 모든 직장인이 알아야 하는 필수 용어로, 전체 데이터를 빠르게 요약해주는 일종의 &lt;code&gt;skill&lt;/code&gt;이다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch12 Join Explained</title>
      <link>https://dschloe.github.io/programming/2020/05/ch12_join_explained/</link>
      <pubDate>Thu, 07 May 2020 14:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/ch12_join_explained/</guid>
      <description>&lt;h2 id=&#34;1-구글-클라우드-설정&#34;&gt;1. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch9.4 - 초해상도</title>
      <link>https://dschloe.github.io/programming/2020/05/ch9_4_super_resolution/</link>
      <pubDate>Thu, 07 May 2020 07:20:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/ch9_4_super_resolution/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶으신 분은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_1_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.1 - 선형회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_2_multiple_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.2 - 다항회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_3_regression_with_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.3 - 딥러닝 네트워크를 이용한 회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_4_boston_housing_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.4 - 보스턴 주택 가격 데이터세트&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_1_binary_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.1 - 분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_2_multi_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.2 - 다항분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_3_fashion_mnist/&#34;&gt;Tensorflow 2.0 Tutorial ch5.3 - Fashion MNIST&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_1_2_cnn_theory/&#34;&gt;Tensorflow 2.0 Tutorial ch6.1-2 - CNN 이론&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_3_fashion_mnist_with_cnn/&#34;&gt;Tensorflow 2.0 Tutorial ch6.3 - Fashion MNIST with CNN 실습&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_4_improve_performance/&#34;&gt;Tensorflow 2.0 Tutorial ch6.4 - 모형의 성능 높이기&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory1/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (1)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory2/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (2)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_3_sentimentanalysis/&#34;&gt;Tensorflow 2.0 Tutorial ch7.3 - 긍정, 부정 감성 분석&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_4_naturallanguagegeneration1/&#34;&gt;Tensorflow 2.0 Tutorial ch7.4 - (1) 단어 단위 생성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_4_naturallanguagegeneration2/&#34;&gt;Tensorflow 2.0 Tutorial ch7.4 - (2) 단어 단위 생성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch8_1_tensorflow_hub/&#34;&gt;Tensorflow 2.0 Tutorial ch8.1 - 텐서플로 허브&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch8_2_transfer_learning/&#34;&gt;Tensorflow 2.0 Tutorial ch8.2 - 전이 학습과 &amp;amp; Kaggle 대회&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch8_3_1_texture_synthesis/&#34;&gt;Tensorflow 2.0 Tutorial ch8.3.1 - 컨볼루션 신경망을 사용한 텍스처 합성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch8_3_2_neural_style_transfer/&#34;&gt;Tensorflow 2.0 Tutorial ch8.3.2 - 컨볼루션 신경망을 사용한 신경 스타일 전이&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch9_1_auto_encoder/&#34;&gt;Tensorflow 2.0 Tutorial ch9.1-2 - 오토인코더 &amp;amp; MNIST&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch9_3_k_means_clustering/&#34;&gt;Tensorflow 2.0 Tutorial ch9.3 - 클러스터링&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;저해상도에서 고해상도의 이미지로 변환하는 것은 어려운 연산입니다.&lt;/li&gt;&#xA;&lt;li&gt;픽셀로 구성된 이미지는 고해상도로 변환(확대)하면 이미지에서 사각형이 두드러져 보이는 것이 바로 초해상도(&lt;code&gt;Super Resolution&lt;/code&gt;) 작업입니다.&lt;/li&gt;&#xA;&lt;li&gt;전통적으로는 &lt;code&gt;interpolation(보간)&lt;/code&gt; 등의 기법이 있지만, 선명함을 잃고 흐릿해지는 단점이 있습니다.&lt;/li&gt;&#xA;&lt;li&gt;오토인코더로 초해상도 작업을 하는 과정을 진행합니다.&lt;/li&gt;&#xA;&lt;li&gt;이 때, &lt;code&gt;REDNet&lt;/code&gt;이라는 네트워크를 사용합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-rednet&#34;&gt;II. REDNet&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;REDNet&lt;/code&gt;은 &lt;code&gt;Residual Encoder-Decoder Network&lt;/code&gt;의 약자이며, &lt;code&gt;Residual&lt;/code&gt;은 &lt;code&gt;ResNet&lt;/code&gt;등에서 사용하는 건너뛴 연결(&lt;code&gt;skip-connection&lt;/code&gt;)입니다.&lt;/li&gt;&#xA;&lt;li&gt;다수의 레이어가 중첩되는 구조에서 앞쪽의 정보를 잃어버리기 않기 위해 뒤쪽에 정보를 그대로 전달해줄 때 건너뛴 연결이 사용됩니다.&lt;/li&gt;&#xA;&lt;li&gt;논문에서 사용한 이미지는 &lt;code&gt;BSD (Berkeley Segmentation Dataset)&lt;/code&gt; 이며, 책에서도 동일하게 사용합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 텐서플로 2 버전 선택&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;try&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# %tensorflow_version only exists in Colab.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt;tensorflow_version &lt;span style=&#34;color:#ae81ff&#34;&gt;2.&lt;/span&gt;x&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;except&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Exception&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;pass&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; tensorflow &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; tf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; numpy &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; np&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; tensorflow_hub &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; hub&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; cv2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;iii-데이터-불러오기&#34;&gt;III. 데이터 불러오기&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;tf.keras.utils.get_file()&lt;/code&gt; 데이터를 불러옵니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tf&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;keras&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;utils&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get_file(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/content/bsd_images.zip&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;http://bit.ly/35pHZlC&amp;#39;&lt;/span&gt;, extract&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Downloading data from http://bit.ly/35pHZlC&#xA;37527552/37520292 [==============================] - 0s 0us/step&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#39;/content/bsd_images.zip&#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;!&lt;/span&gt;unzip &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;content&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;bsd_images&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;zip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;Archive:  /content/bsd_images.zip&#xA;   creating: images/&#xA;   creating: images/test/&#xA;  inflating: images/test/100007.jpg  &#xA;  inflating: images/test/100039.jpg  &#xA;  .&#xA;  .&#xA;  .&#xA;  .&#xA;  inflating: images/val/97033.jpg    &#xA;  inflating: images/val/Thumbs.db    &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;이미지 경로 저장 및 확인을 합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pathlib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;image_root &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pathlib&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Path(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/content/images&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;all_images_paths&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;list(image_root&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;glob(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;*/*&amp;#39;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(all_images_paths[:&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;[PosixPath(&#39;/content/images/val/62096.jpg&#39;), PosixPath(&#39;/content/images/val/361010.jpg&#39;), PosixPath(&#39;/content/images/val/Thumbs.db&#39;), PosixPath(&#39;/content/images/val/54082.jpg&#39;), PosixPath(&#39;/content/images/val/87046.jpg&#39;), PosixPath(&#39;/content/images/val/38082.jpg&#39;), PosixPath(&#39;/content/images/val/156065.jpg&#39;), PosixPath(&#39;/content/images/val/33039.jpg&#39;), PosixPath(&#39;/content/images/val/14037.jpg&#39;), PosixPath(&#39;/content/images/val/159008.jpg&#39;)]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;각 이미지의 경로는 &lt;code&gt;root&lt;/code&gt; 디렉터리에서 &lt;code&gt;glob()&lt;/code&gt; 함수를 사용해 하단의 모든 파일을 불러올 수 있습니다.&lt;/li&gt;&#xA;&lt;li&gt;각 파일의 경로는 &lt;code&gt;PosixPath&lt;/code&gt;라는 객체가 되는데, 이 객체에서 경로를 가져오기 위해서는 문자열로 변환하는 &lt;code&gt;str()&lt;/code&gt;함수를 사용합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-이미지-시각화&#34;&gt;(1) 이미지 시각화&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;matplotlib.pyplot&lt;/code&gt;으로 확인합니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; PIL.Image &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; Image&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;figure(figsize&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; c &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; range(&lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;subplot(&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;,c&lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;imshow(plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;imread(all_images_paths[c]))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;title(all_images_paths[c])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;axis(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;off&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;show()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;/img/programming/2020/05/ch9_4_super_resolution/output_7_1.png&#xA;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/05/ch9_4_super_resolution/output_7_1.png&#34; alt=&#34;png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Basic Objects - Dataframe</title>
      <link>https://dschloe.github.io/programming/2020/05/dataframe/</link>
      <pubDate>Wed, 06 May 2020 11:10:15 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/dataframe/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;본 Tutorial은 강사에게 강의를 듣는 과거-현재-미래 학생들을 위해 작성하였습니다.&lt;/p&gt;&#xA;&lt;p&gt;이 글을 읽어주시는 분들에게 작은 도움이 되기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-dataframe의-개요&#34;&gt;I. DataFrame의 개요&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;본 포스트는 프로그래밍과 R을 처음 배우는 사람을 위해 작성하였습니다. 짧게 읽어두시기를 바랍니다. 공부하실 때는 복잡하게 생각하지는 마시기를 바랍니다. 영어의 기본단어 및 문법을 배우듯이 그냥 받아들이시기를 바랍니다.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;데이터프레임은 서로 다른 성질의 벡터가 모여 있는 집합이라고 할 수 있다.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;1-데이터프레임-생성&#34;&gt;(1) 데이터프레임 생성&lt;/h3&gt;&#xA;&lt;p&gt;이제 데이터프레임을 만들어보자. 어려운 것은 아니니 쉽게 따라 올 수 있을 것이다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>pandas pivot table</title>
      <link>https://dschloe.github.io/programming/2020/05/pandas_pivot_table/</link>
      <pubDate>Tue, 05 May 2020 14:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/pandas_pivot_table/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/03/Pandas_with_Excel/pandas_logo.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 &lt;code&gt;Reference&lt;/code&gt;는 꼭 확인하셔서 교재 구매 또는 관련 &lt;code&gt;Reference&lt;/code&gt;를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;데이터는 코로나 데이터를 활용했다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-overview&#34;&gt;I. Overview&lt;/h2&gt;&#xA;&lt;p&gt;일부의 사람들이 &lt;code&gt;R&lt;/code&gt;과 &lt;code&gt;Python&lt;/code&gt;을 사용하지만, 대부분의 사람들은 엑셀을 사용한다. 피벗테이블은 모든 직장인이 알아야 하는 필수 용어로, 전체 데이터를 빠르게 요약해주는 일종의 &lt;code&gt;skill&lt;/code&gt;이다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch9.3 - 클러스터링</title>
      <link>https://dschloe.github.io/programming/2020/05/ch9_3_k_means_clustering/</link>
      <pubDate>Mon, 04 May 2020 17:10:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/ch9_3_k_means_clustering/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶으신 분은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_1_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.1 - 선형회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_2_multiple_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.2 - 다항회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_3_regression_with_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.3 - 딥러닝 네트워크를 이용한 회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_4_boston_housing_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.4 - 보스턴 주택 가격 데이터세트&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_1_binary_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.1 - 분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_2_multi_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.2 - 다항분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_3_fashion_mnist/&#34;&gt;Tensorflow 2.0 Tutorial ch5.3 - Fashion MNIST&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_1_2_cnn_theory/&#34;&gt;Tensorflow 2.0 Tutorial ch6.1-2 - CNN 이론&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_3_fashion_mnist_with_cnn/&#34;&gt;Tensorflow 2.0 Tutorial ch6.3 - Fashion MNIST with CNN 실습&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_4_improve_performance/&#34;&gt;Tensorflow 2.0 Tutorial ch6.4 - 모형의 성능 높이기&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory1/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (1)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory2/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (2)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_3_sentimentanalysis/&#34;&gt;Tensorflow 2.0 Tutorial ch7.3 - 긍정, 부정 감성 분석&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_4_naturallanguagegeneration1/&#34;&gt;Tensorflow 2.0 Tutorial ch7.4 - (1) 단어 단위 생성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_4_naturallanguagegeneration2/&#34;&gt;Tensorflow 2.0 Tutorial ch7.4 - (2) 단어 단위 생성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch8_1_tensorflow_hub/&#34;&gt;Tensorflow 2.0 Tutorial ch8.1 - 텐서플로 허브&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch8_2_transfer_learning/&#34;&gt;Tensorflow 2.0 Tutorial ch8.2 - 전이 학습과 &amp;amp; Kaggle 대회&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch8_3_1_texture_synthesis/&#34;&gt;Tensorflow 2.0 Tutorial ch8.3.1 - 컨볼루션 신경망을 사용한 텍스처 합성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch8_3_2_neural_style_transfer/&#34;&gt;Tensorflow 2.0 Tutorial ch8.3.2 - 컨볼루션 신경망을 사용한 신경 스타일 전이&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch9_1_auto_encoder/&#34;&gt;Tensorflow 2.0 Tutorial ch9.1-2 - 오토인코더 &amp;amp; MNIST&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;오토인코더(&lt;code&gt;AutoEncoder&lt;/code&gt;)는 입력에 대한 출력을 학습해야 한다는 점은 기존 지도학습 네트워크와 동일합니다.&lt;/li&gt;&#xA;&lt;li&gt;그러나 그 출력이 입력과 동일하다는 점이 조금 다릅니다.&lt;/li&gt;&#xA;&lt;li&gt;오토인코더는 자기 자신을 재생성하는 네트워크입니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/05/ch9_1_auto_encoder/tutorial_01.png&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>ch03 - gghistostats</title>
      <link>https://dschloe.github.io/programming/2020/05/ch03_gghistostats/</link>
      <pubDate>Mon, 04 May 2020 11:10:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/ch03_gghistostats/</guid>
      <description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;A picture is worth a thousand words — English Language Adage&#xA;The simple graph has brought more information to the data analyst’s mind than any other device. — John Tukey&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;한장의 그림이 수천단어보다 가치가 있다는 영어속담과, 명료한 시각화가 데이터분석가에게 다른 어떤 도구보다 더 많은 정보를 제공한다는 유명한 데이터 과학자의 조언. 핵심은 시각화이다.&lt;/p&gt;&#xA;&lt;p&gt;본 장에서는 &lt;code&gt;ggplot2&lt;/code&gt; 패키지를 활용한 시각화를 먼저 보여줄 것이다. 먼저 간단하게 &lt;code&gt;ggplot2&lt;/code&gt; 패키지에 소개하자면 &lt;code&gt;Grammar of Graphics&lt;/code&gt;&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;의 철학을 담아서 &lt;code&gt;R&lt;/code&gt; 생태계에서 유명한 학자 중, &lt;code&gt;Hadley Wickham&lt;/code&gt;에 의해 주도적으로 개발되었다. 그래프에도 문법이 있다는 패키지의 철학 아래, &lt;code&gt;R&lt;/code&gt;의 시각화는 괄목할만한 발전을 이루었고 이는 &lt;code&gt;R&lt;/code&gt;의 대중화에도 큰 영향을 끼쳤다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ch02 - Histogram</title>
      <link>https://dschloe.github.io/programming/2020/05/ch02_histogram/</link>
      <pubDate>Sun, 03 May 2020 20:10:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/ch02_histogram/</guid>
      <description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;A picture is worth a thousand words — English Language Adage&#xA;The simple graph has brought more information to the data analyst’s mind than any other device. — John Tukey&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;한장의 그림이 수천단어보다 가치가 있다는 영어속담과, 명료한 시각화가 데이터분석가에게 다른 어떤 도구보다 더 많은 정보를 제공한다는 유명한 데이터 과학자의 조언. 핵심은 시각화이다.&lt;/p&gt;&#xA;&lt;p&gt;본 장에서는 &lt;code&gt;ggplot2&lt;/code&gt; 패키지를 활용한 시각화를 먼저 보여줄 것이다. 먼저 간단하게 &lt;code&gt;ggplot2&lt;/code&gt; 패키지에 소개하자면 &lt;code&gt;Grammar of Graphics&lt;/code&gt;&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;의 철학을 담아서 &lt;code&gt;R&lt;/code&gt; 생태계에서 유명한 학자 중, &lt;code&gt;Hadley Wickham&lt;/code&gt;에 의해 주도적으로 개발되었다. 그래프에도 문법이 있다는 패키지의 철학 아래, &lt;code&gt;R&lt;/code&gt;의 시각화는 괄목할만한 발전을 이루었고 이는 &lt;code&gt;R&lt;/code&gt;의 대중화에도 큰 영향을 끼쳤다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch9.1-2 - 오토인코더 &amp; MNIST</title>
      <link>https://dschloe.github.io/programming/2020/05/ch9_1_auto_encoder/</link>
      <pubDate>Sun, 03 May 2020 15:20:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/ch9_1_auto_encoder/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶으신 분은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_1_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.1 - 선형회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_2_multiple_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.2 - 다항회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_3_regression_with_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.3 - 딥러닝 네트워크를 이용한 회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_4_boston_housing_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.4 - 보스턴 주택 가격 데이터세트&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_1_binary_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.1 - 분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_2_multi_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.2 - 다항분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_3_fashion_mnist/&#34;&gt;Tensorflow 2.0 Tutorial ch5.3 - Fashion MNIST&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_1_2_cnn_theory/&#34;&gt;Tensorflow 2.0 Tutorial ch6.1-2 - CNN 이론&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_3_fashion_mnist_with_cnn/&#34;&gt;Tensorflow 2.0 Tutorial ch6.3 - Fashion MNIST with CNN 실습&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_4_improve_performance/&#34;&gt;Tensorflow 2.0 Tutorial ch6.4 - 모형의 성능 높이기&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory1/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (1)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory2/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (2)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_3_sentimentanalysis/&#34;&gt;Tensorflow 2.0 Tutorial ch7.3 - 긍정, 부정 감성 분석&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_4_naturallanguagegeneration1/&#34;&gt;Tensorflow 2.0 Tutorial ch7.4 - (1) 단어 단위 생성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_4_naturallanguagegeneration2/&#34;&gt;Tensorflow 2.0 Tutorial ch7.4 - (2) 단어 단위 생성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch8_1_tensorflow_hub/&#34;&gt;Tensorflow 2.0 Tutorial ch8.1 - 텐서플로 허브&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch8_2_transfer_learning/&#34;&gt;Tensorflow 2.0 Tutorial ch8.2 - 전이 학습과 &amp;amp; Kaggle 대회&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch8_3_1_texture_synthesis/&#34;&gt;Tensorflow 2.0 Tutorial ch8.3.1 - 컨볼루션 신경망을 사용한 텍스처 합성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch8_3_2_neural_style_transfer/&#34;&gt;Tensorflow 2.0 Tutorial ch8.3.2 - 컨볼루션 신경망을 사용한 신경 스타일 전이&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;오토인코더(&lt;code&gt;AutoEncoder&lt;/code&gt;)는 입력에 대한 출력을 학습해야 한다는 점은 기존 지도학습 네트워크와 동일합니다.&lt;/li&gt;&#xA;&lt;li&gt;그러나 그 출력이 입력과 동일하다는 점이 조금 다릅니다.&lt;/li&gt;&#xA;&lt;li&gt;오토인코더는 자기 자신을 재생성하는 네트워크입니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/05/ch9_1_auto_encoder/tutorial_01.png&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch11 Powerful SQL Pattern</title>
      <link>https://dschloe.github.io/programming/2020/05/ch11_powerful_sql_pattern/</link>
      <pubDate>Sun, 03 May 2020 13:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/ch11_powerful_sql_pattern/</guid>
      <description>&lt;h2 id=&#34;1-구글-클라우드-설정&#34;&gt;1. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch10 UNNEST an Array</title>
      <link>https://dschloe.github.io/programming/2020/05/ch10_unnest_an_array/</link>
      <pubDate>Sat, 02 May 2020 19:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/ch10_unnest_an_array/</guid>
      <description>&lt;h2 id=&#34;1-구글-클라우드-설정&#34;&gt;1. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dealing with NA-01</title>
      <link>https://dschloe.github.io/programming/2020/05/dealing_with_na_01/</link>
      <pubDate>Sat, 02 May 2020 19:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/dealing_with_na_01/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 &lt;code&gt;Reference&lt;/code&gt;는 꼭 확인하셔서 교재 구매 또는 관련 &lt;code&gt;Reference&lt;/code&gt;를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;원문: &lt;a href=&#34;https://towardsdatascience.com/6-different-ways-to-compensate-for-missing-values-data-imputation-with-examples-6022d9ca0779&#34;&gt;6 Different Ways to Compensate for Missing Values In a Dataset (Data Imputation with examples)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-overview&#34;&gt;I. Overview&lt;/h2&gt;&#xA;&lt;p&gt;실제 데이터를 다루다보면 여러가지 이유로 결측치와 마주하게 된다. 특별한 이유가 없다면, 현업에서는 당연히 NA를 처리해야 한다. 그렇지 않다면 데이터 분석(시각화, 통계, 머신러닝 모형)에 영향을 줄 수 밖에 없다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch8.3.2 - 컨볼루션 신경망을 사용한 신경 스타일 전이</title>
      <link>https://dschloe.github.io/programming/2020/05/ch8_3_2_neural_style_transfer/</link>
      <pubDate>Sat, 02 May 2020 15:20:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/ch8_3_2_neural_style_transfer/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶으신 분은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_1_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.1 - 선형회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_2_multiple_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.2 - 다항회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_3_regression_with_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.3 - 딥러닝 네트워크를 이용한 회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_4_boston_housing_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.4 - 보스턴 주택 가격 데이터세트&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_1_binary_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.1 - 분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_2_multi_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.2 - 다항분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_3_fashion_mnist/&#34;&gt;Tensorflow 2.0 Tutorial ch5.3 - Fashion MNIST&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_1_2_cnn_theory/&#34;&gt;Tensorflow 2.0 Tutorial ch6.1-2 - CNN 이론&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_3_fashion_mnist_with_cnn/&#34;&gt;Tensorflow 2.0 Tutorial ch6.3 - Fashion MNIST with CNN 실습&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_4_improve_performance/&#34;&gt;Tensorflow 2.0 Tutorial ch6.4 - 모형의 성능 높이기&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory1/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (1)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory2/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (2)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_3_sentimentanalysis/&#34;&gt;Tensorflow 2.0 Tutorial ch7.3 - 긍정, 부정 감성 분석&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_4_naturallanguagegeneration1/&#34;&gt;Tensorflow 2.0 Tutorial ch7.4 - (1) 단어 단위 생성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_4_naturallanguagegeneration2/&#34;&gt;Tensorflow 2.0 Tutorial ch7.4 - (2) 단어 단위 생성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch8_1_tensorflow_hub/&#34;&gt;Tensorflow 2.0 Tutorial ch8.1 - 텐서플로 허브&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch8_2_transfer_learning/&#34;&gt;Tensorflow 2.0 Tutorial ch8.2 - 전이 학습과 &amp;amp; Kaggle 대회&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch8_3_1_texture_synthesis/&#34;&gt;Tensorflow 2.0 Tutorial ch8.3.1 - 컨볼루션 신경망을 사용한 텍스처 합성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;2015년, 딥러닝과 예술의 만남으로 큰 화제가 되었던 신경 스타일 전이 논문&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;은 반 고흐의 (별이 빛나는 밤에)라는 그림과 풍경 사진을 합성해서 반 고흐가 그린 것 같은 스타일의 풍경 이미지를 만들었고, &lt;a href=&#34;https://prisma-ai.com/&#34;&gt;프리즈마&lt;/a&gt;등의 앱은 이 알고리즘을 빠르게 탑재해서 인기를 끌었습니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>basic_loop</title>
      <link>https://dschloe.github.io/programming/2020/05/basic_loop/</link>
      <pubDate>Sat, 02 May 2020 01:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/basic_loop/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;파이썬 처음 입문하는 사람들을 위해서 작성하였다. Python으로 코드를 작성하다보면, 매우 빈번히 For-loop 구문을 확인할 수 있다. 간단한 코드로 For-loop를 확인해보자.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ii-loop-over-list&#34;&gt;II. Loop over list&lt;/h2&gt;&#xA;&lt;p&gt;간단하게 for-loop를 작성해보자.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# double list&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;num &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;1.72&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1.67&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1.71&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1.89&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; height &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; num:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  print(height)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;1.72&#xA;1.67&#xA;1.71&#xA;1.89&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;순서대로 출력됨을 볼 수 있다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch8.3.1 - 컨볼루션 신경망을 사용한 텍스처 합성</title>
      <link>https://dschloe.github.io/programming/2020/05/ch8_3_1_texture_synthesis/</link>
      <pubDate>Fri, 01 May 2020 17:20:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/05/ch8_3_1_texture_synthesis/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶으신 분은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_1_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.1 - 선형회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_2_multiple_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.2 - 다항회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_3_regression_with_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.3 - 딥러닝 네트워크를 이용한 회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_4_boston_housing_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.4 - 보스턴 주택 가격 데이터세트&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_1_binary_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.1 - 분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_2_multi_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.2 - 다항분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_3_fashion_mnist/&#34;&gt;Tensorflow 2.0 Tutorial ch5.3 - Fashion MNIST&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_1_2_cnn_theory/&#34;&gt;Tensorflow 2.0 Tutorial ch6.1-2 - CNN 이론&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_3_fashion_mnist_with_cnn/&#34;&gt;Tensorflow 2.0 Tutorial ch6.3 - Fashion MNIST with CNN 실습&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_4_improve_performance/&#34;&gt;Tensorflow 2.0 Tutorial ch6.4 - 모형의 성능 높이기&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory1/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (1)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory2/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (2)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_3_sentimentanalysis/&#34;&gt;Tensorflow 2.0 Tutorial ch7.3 - 긍정, 부정 감성 분석&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_4_naturallanguagegeneration1/&#34;&gt;Tensorflow 2.0 Tutorial ch7.4 - (1) 단어 단위 생성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_4_naturallanguagegeneration2/&#34;&gt;Tensorflow 2.0 Tutorial ch7.4 - (2) 단어 단위 생성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch8_1_tensorflow_hub/&#34;&gt;Tensorflow 2.0 Tutorial ch8.1 - 텐서플로 허브&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch8_2_transfer_learning/&#34;&gt;Tensorflow 2.0 Tutorial ch8.2 - 전이 학습과 &amp;amp; Kaggle 대회&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;2015년, 딥러닝과 예술의 만남으로 큰 화제가 되었던 신경 스타일 전이 논문&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;은 반 고흐의 (별이 빛나는 밤에)라는 그림과 풍경 사진을 합성해서 반 고흐가 그린 것 같은 스타일의 풍경 이미지를 만들었고, &lt;a href=&#34;https://prisma-ai.com/&#34;&gt;프리즈마&lt;/a&gt;등의 앱은 이 알고리즘을 빠르게 탑재해서 인기를 끌었습니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>matplotlib 06 Table Chart</title>
      <link>https://dschloe.github.io/programming/2020/04/matplotlib_06_table_chart/</link>
      <pubDate>Thu, 30 Apr 2020 19:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/matplotlib_06_table_chart/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;p&gt;도움이 되었다면 &lt;code&gt;Github&lt;/code&gt;에 &lt;code&gt;Star&lt;/code&gt;를 눌러주세요.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch09 Struct, Tuple</title>
      <link>https://dschloe.github.io/programming/2020/04/ch09_struct_and_tuple/</link>
      <pubDate>Thu, 30 Apr 2020 15:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch09_struct_and_tuple/</guid>
      <description>&lt;h2 id=&#34;1-구글-클라우드-설정&#34;&gt;1. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>stackoverflow with dplyr 01 - mutate_all</title>
      <link>https://dschloe.github.io/programming/2020/04/dplyr01_mutate_all/</link>
      <pubDate>Thu, 30 Apr 2020 10:20:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/dplyr01_mutate_all/</guid>
      <description>&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;dplyr 문법에 관한 설명은 사실 차고 넘친다. 구체적인 설명은 하지 않겠다. Google이나 Naver에서 dplyr을 검색해보자! 검색하면 쉽게 정리된 글들이 많이 있다.&lt;/p&gt;&#xA;&lt;p&gt;그런데, 실제 실무에서 다루는 데이터의 질과 양은 다 다르다. 데이터 가공은 결국 연구자의 환경에 따라 달라지는데, 조금 더 효과적으로 dplyr 문법을 사용하려면 결국엔 아이디어가 필요하고, 그리고 &lt;code&gt;stackoverflow&lt;/code&gt;를 찾게 되어 있다. 집단 지성의 힘이랄까?&lt;/p&gt;&#xA;&lt;p&gt;그래서 가급적, &lt;code&gt;stackoverflow&lt;/code&gt;에 나와 있는 문제 중 재미있는 해결법 등을 소개하며 연재하려고 한다.&lt;/p&gt;&#xA;&lt;p&gt;제 강의를 들으신 분들에게 작은 도움이 되기를 바랍니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch8.2 - 전이 학습과 &amp; Kaggle 대회</title>
      <link>https://dschloe.github.io/programming/2020/04/ch8_2_transfer_learning/</link>
      <pubDate>Wed, 29 Apr 2020 17:20:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch8_2_transfer_learning/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶으신 분은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_1_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.1 - 선형회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_2_multiple_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.2 - 다항회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_3_regression_with_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.3 - 딥러닝 네트워크를 이용한 회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_4_boston_housing_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.4 - 보스턴 주택 가격 데이터세트&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_1_binary_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.1 - 분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_2_multi_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.2 - 다항분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_3_fashion_mnist/&#34;&gt;Tensorflow 2.0 Tutorial ch5.3 - Fashion MNIST&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_1_2_cnn_theory/&#34;&gt;Tensorflow 2.0 Tutorial ch6.1-2 - CNN 이론&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_3_fashion_mnist_with_cnn/&#34;&gt;Tensorflow 2.0 Tutorial ch6.3 - Fashion MNIST with CNN 실습&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_4_improve_performance/&#34;&gt;Tensorflow 2.0 Tutorial ch6.4 - 모형의 성능 높이기&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory1/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (1)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory2/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (2)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_3_sentimentanalysis/&#34;&gt;Tensorflow 2.0 Tutorial ch7.3 - 긍정, 부정 감성 분석&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_4_naturallanguagegeneration1/&#34;&gt;Tensorflow 2.0 Tutorial ch7.4 - (1) 단어 단위 생성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_4_naturallanguagegeneration2/&#34;&gt;Tensorflow 2.0 Tutorial ch7.4 - (2) 단어 단위 생성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch8_1_tensorflow_hub/&#34;&gt;Tensorflow 2.0 Tutorial ch8.1 - 텐서플로 허브&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;전이 학습이란 미리 훈련된 모델을 다른 작업에 사용하기 위해 추가적인 학습을 시키는 것입니다. 이 때 훈련된 모델은 데이터에서 유의미한 특징(feature)을 뽑아내기 위한 특징 추출기(&lt;code&gt;Feature Extractor&lt;/code&gt;)로 쓰이거나, 모델의 일부를 재학습시키기도 합니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>list handling</title>
      <link>https://dschloe.github.io/programming/2020/04/list/</link>
      <pubDate>Wed, 29 Apr 2020 11:38:15 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/list/</guid>
      <description>&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;모든 프로그래밍 언어에는 기본적으로 데이터타입이 존재한다. R도 프로그래밍 언어이기 때문에 데이터 타입의 일반적인 유형이 존재한다.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/list/data_structure.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;Vector&lt;/code&gt;의 기본 개념을 익혔다면, 전반적인 구조에 대해 살피는 시간을 갖도록 한다. 먼저 동일 성질의 &lt;code&gt;Vector&lt;/code&gt;가 모여서 &lt;code&gt;matrix&lt;/code&gt;도 되고, 데이터프레임도 된다. 그리고 이러한 다양한 데이터의 구조가 모여 리스트를 형성하는데,&lt;/p&gt;&#xA;&lt;p&gt;리스트를 만드는 것도 중요한 건, 즉 이해다. 리스트에 접근법이 중요한데, 리스트를 잘 다루면, &lt;code&gt;apply&lt;/code&gt; 함수 계열을 사용하는데도 큰 도움이 된다.&lt;/p&gt;&#xA;&lt;p&gt;특히, 100GB 이상의 데이터를 다루게 되면, &lt;code&gt;apply()&lt;/code&gt; 함수로 작업해야 하는 일이 종종 발생한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch08_Creating_Arrays_with_Array_AGG</title>
      <link>https://dschloe.github.io/programming/2020/04/ch08_creating_arrays_with_array_agg/</link>
      <pubDate>Wed, 29 Apr 2020 10:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch08_creating_arrays_with_array_agg/</guid>
      <description>&lt;h2 id=&#34;1-구글-클라우드-설정&#34;&gt;1. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch8.1 - 텐서플로 허브</title>
      <link>https://dschloe.github.io/programming/2020/04/ch8_1_tensorflow_hub/</link>
      <pubDate>Tue, 28 Apr 2020 17:20:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch8_1_tensorflow_hub/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶으신 분은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_1_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.1 - 선형회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_2_multiple_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.2 - 다항회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_3_regression_with_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.3 - 딥러닝 네트워크를 이용한 회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_4_boston_housing_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.4 - 보스턴 주택 가격 데이터세트&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_1_binary_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.1 - 분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_2_multi_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.2 - 다항분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_3_fashion_mnist/&#34;&gt;Tensorflow 2.0 Tutorial ch5.3 - Fashion MNIST&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_1_2_cnn_theory/&#34;&gt;Tensorflow 2.0 Tutorial ch6.1-2 - CNN 이론&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_3_fashion_mnist_with_cnn/&#34;&gt;Tensorflow 2.0 Tutorial ch6.3 - Fashion MNIST with CNN 실습&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_4_improve_performance/&#34;&gt;Tensorflow 2.0 Tutorial ch6.4 - 모형의 성능 높이기&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory1/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (1)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory2/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (2)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_3_sentimentanalysis/&#34;&gt;Tensorflow 2.0 Tutorial ch7.3 - 긍정, 부정 감성 분석&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_4_naturallanguagegeneration1/&#34;&gt;Tensorflow 2.0 Tutorial ch7.4 - (1) 단어 단위 생성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_4_naturallanguagegeneration2/&#34;&gt;Tensorflow 2.0 Tutorial ch7.4 - (2) 단어 단위 생성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;딥러닝은 일반적인 개발과 다르게 사실 시간과의 싸움입니다. 코딩의 양에 비해, 결과물이 바로 나오지 않기 때문에 저녁에 모형을 돌리고 아침에 와서 확인하는 경우가 예사입니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>vcrts01 - Combining Vectors</title>
      <link>https://dschloe.github.io/programming/2020/04/vcrts01/</link>
      <pubDate>Tue, 28 Apr 2020 10:20:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/vcrts01/</guid>
      <description>&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;vctrs&lt;/code&gt; 패키지. Vector Helpers 패키지&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;라고 불리운다. 벡터를 활용할 때, 어려운 부분은 데이터와 조합해서 사용할 때다. 특히 서로다른 성질의 &lt;code&gt;Vectors&lt;/code&gt;를 Combining 할 때 발생하는 에러에 대해 효과적으로 해결할 수 있는 대안을 제시한다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ii-vectors&#34;&gt;II. Vectors&lt;/h2&gt;&#xA;&lt;p&gt;벡터에 관한 기초 부분은 여기에서 생략하고, 필자가 작성한 기초 부분에서 참조하기를 바란다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/r/basics/basic_objects_vector/&#34;&gt;Basci Objects&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-벡터의-정의&#34;&gt;(1) 벡터의 정의&lt;/h3&gt;&#xA;&lt;p&gt;R의 기본문법에서 벡터의 정의는 다음과 같다.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## [1] 1 2 3&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;a&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;b&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;c&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## [1] &amp;#34;a&amp;#34; &amp;#34;b&amp;#34; &amp;#34;c&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;2-tidyverse&#34;&gt;(2) tidyverse&lt;/h3&gt;&#xA;&lt;p&gt;벡터와 관련되어서 일반적으로 다음과 같은 함수에서 넓게 활용된다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch03 Components of Process Data</title>
      <link>https://dschloe.github.io/programming/2020/04/ch03_components_of_process_data/</link>
      <pubDate>Mon, 27 Apr 2020 23:20:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch03_components_of_process_data/</guid>
      <description>&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;지난시간에 &lt;code&gt;patients&lt;/code&gt;에 관한 데이터를 통해서 프로세스 분석에 대한 일반적인 개념을 접했다.&lt;/p&gt;&#xA;&lt;p&gt;이번 포스트에서는 &lt;code&gt;bupaR&lt;/code&gt;에 대한 이론적인 내용과 함께 간단하게 실습을 진행하도록 한다.&lt;/p&gt;&#xA;&lt;p&gt;지난시간과 마찬가지로 먼저 데이터를 획득하는 것에서부터 출발한다.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(bupaR)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(eventdataR)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;patients &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; patients&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;dim&lt;/span&gt;(patients)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## [1] 5442    7&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;5442행과 7개의 열이 확인되었다.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;class&lt;/span&gt;(patients)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## [1] &amp;#34;eventlog&amp;#34;   &amp;#34;tbl_df&amp;#34;     &amp;#34;tbl&amp;#34;        &amp;#34;data.frame&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;ii-용어-정리&#34;&gt;II. 용어 정리&lt;/h2&gt;&#xA;&lt;p&gt;우선 용어 정리가 필요하다. Events, Event log, Activity 등등. 하나씩 살펴보자.&lt;/p&gt;&#xA;&lt;h3 id=&#34;1-events&#34;&gt;(1) Events&lt;/h3&gt;&#xA;&lt;p&gt;우선 Events에 관한 이해를 돕기 위해 아래 그림을 우선 살펴보자.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch07 Arrays &amp; Structs</title>
      <link>https://dschloe.github.io/programming/2020/04/ch07_split_unnest/</link>
      <pubDate>Mon, 27 Apr 2020 20:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch07_split_unnest/</guid>
      <description>&lt;h2 id=&#34;1-구글-클라우드-설정&#34;&gt;1. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>matplotlib 05 pie plot</title>
      <link>https://dschloe.github.io/programming/2020/04/matplotlib_05_pie_chart/</link>
      <pubDate>Mon, 27 Apr 2020 16:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/matplotlib_05_pie_chart/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;p&gt;도움이 되었다면 &lt;code&gt;Github&lt;/code&gt;에 &lt;code&gt;Star&lt;/code&gt;를 눌러주세요.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch7.4 - (2) 단어 단위 생성</title>
      <link>https://dschloe.github.io/programming/2020/04/ch7_4_naturallanguagegeneration2/</link>
      <pubDate>Mon, 27 Apr 2020 14:20:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch7_4_naturallanguagegeneration2/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶으신 분은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_1_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.1 - 선형회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_2_multiple_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.2 - 다항회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_3_regression_with_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.3 - 딥러닝 네트워크를 이용한 회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_4_boston_housing_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.4 - 보스턴 주택 가격 데이터세트&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_1_binary_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.1 - 분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_2_multi_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.2 - 다항분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_3_fashion_mnist/&#34;&gt;Tensorflow 2.0 Tutorial ch5.3 - Fashion MNIST&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_1_2_cnn_theory/&#34;&gt;Tensorflow 2.0 Tutorial ch6.1-2 - CNN 이론&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_3_fashion_mnist_with_cnn/&#34;&gt;Tensorflow 2.0 Tutorial ch6.3 - Fashion MNIST with CNN 실습&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_4_improve_performance/&#34;&gt;Tensorflow 2.0 Tutorial ch6.4 - 모형의 성능 높이기&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory1/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (1)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory2/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (2)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_3_sentimentanalysis/&#34;&gt;Tensorflow 2.0 Tutorial ch7.3 - 긍정, 부정 감성 분석&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_4_naturallanguagegeneration1/&#34;&gt;Tensorflow 2.0 Tutorial ch7.4 - (1) 단어 단위 생성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;테슬라 &lt;code&gt;AI Director&lt;/code&gt;인 안드레아 카르파티(&lt;code&gt;Andrej Karpathy&lt;/code&gt;)는 &lt;code&gt;The Unreasonable Effectiveness of Recurrent Neural Networks&lt;/code&gt;라는 글을 개인 블로그에 작성했는데, 짧게 요약하면 문자 단위의 순환 신경망이 셰익스피어의 희곡, 소스코드, &lt;code&gt;Latex&lt;/code&gt;등을 재생산하는데 순환 신경망이 효과적이라는 것을 보여줍니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch7.4 - (1) 단어 단위 생성</title>
      <link>https://dschloe.github.io/programming/2020/04/ch7_4_naturallanguagegeneration1/</link>
      <pubDate>Mon, 27 Apr 2020 10:20:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch7_4_naturallanguagegeneration1/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶으신 분은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_1_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.1 - 선형회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_2_multiple_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.2 - 다항회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_3_regression_with_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.3 - 딥러닝 네트워크를 이용한 회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_4_boston_housing_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.4 - 보스턴 주택 가격 데이터세트&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_1_binary_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.1 - 분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_2_multi_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.2 - 다항분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_3_fashion_mnist/&#34;&gt;Tensorflow 2.0 Tutorial ch5.3 - Fashion MNIST&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_1_2_cnn_theory/&#34;&gt;Tensorflow 2.0 Tutorial ch6.1-2 - CNN 이론&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_3_fashion_mnist_with_cnn/&#34;&gt;Tensorflow 2.0 Tutorial ch6.3 - Fashion MNIST with CNN 실습&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_4_improve_performance/&#34;&gt;Tensorflow 2.0 Tutorial ch6.4 - 모형의 성능 높이기&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory1/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (1)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory2/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (2)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_3_sentimentanalysis/&#34;&gt;Tensorflow 2.0 Tutorial ch7.3 - 긍정, 부정 감성 분석&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;테슬라 &lt;code&gt;AI Director&lt;/code&gt;인 안드레아 카르파티(&lt;code&gt;Andrej Karpathy&lt;/code&gt;)는 &lt;code&gt;The Unreasonable Effectiveness of Recurrent Neural Networks&lt;/code&gt;라는 글을 개인 블로그에 작성했는데, 짧게 요약하면 문자 단위의 순환 신경망이 셰익스피어의 희곡, 소스코드, &lt;code&gt;Latex&lt;/code&gt;등을 재생산하는데 순환 신경망이 효과적이라는 것을 보여줍니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>More on Vectors and Indexing</title>
      <link>https://dschloe.github.io/programming/2020/04/more_vectors_indexing/</link>
      <pubDate>Sun, 26 Apr 2020 16:10:15 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/more_vectors_indexing/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;본 Tutorial은 강사에게 강의를 듣는 과거-현재-미래 학생들을 위해 작성하였습니다.&lt;/p&gt;&#xA;&lt;p&gt;이 글을 읽어주시는 분들에게 작은 도움이 되기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-벡터&#34;&gt;I. 벡터&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;본 포스트는 프로그래밍과 R을 처음 배우는 사람을 위해 작성하였습니다. 짧게 읽어두시기를 바랍니다. 공부하실 때는 복잡하게 생각하지는 마시기를 바랍니다. 영어의 기본단어 및 문법을 배우듯이 그냥 받아들이시기를 바랍니다.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;현재 진행중인 R 기초문법은 아래와 같습니다. 원하시는 것은 참조해서 가볍게 공부하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/r/basics/basic_objects_vector/&#34;&gt;Basic Objects - Vector&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;벡터(&lt;code&gt;Vector&lt;/code&gt;). R에서 다루는 가장 작은 단위값의 데이터다. 1차원으로 구성이 되어 있다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch06 SQL Aggregates</title>
      <link>https://dschloe.github.io/programming/2020/04/ch06_sql_aggregates/</link>
      <pubDate>Sun, 26 Apr 2020 11:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch06_sql_aggregates/</guid>
      <description>&lt;h2 id=&#34;1-구글-클라우드-설정&#34;&gt;1. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Basic Objects - Vector</title>
      <link>https://dschloe.github.io/programming/2020/04/basic_objects_vector/</link>
      <pubDate>Sat, 25 Apr 2020 18:38:15 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/basic_objects_vector/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;본 Tutorial은 강사에게 강의를 듣는 과거-현재-미래 학생들을 위해 작성하였습니다.&lt;/p&gt;&#xA;&lt;p&gt;이 글을 읽어주시는 분들에게 작은 도움이 되기를 바랍니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-벡터&#34;&gt;I. 벡터&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;본 포스트는 프로그래밍과 R을 처음 배우는 사람을 위해 작성하였습니다. 짧게 읽어두시기를 바랍니다. 공부하실 때는 복잡하게 생각하지는 마시기를 바랍니다. 영어의 기본단어 및 문법을 배우듯이 그냥 받아들이시기를 바랍니다.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;벡터(&lt;code&gt;Vector&lt;/code&gt;). R에서 다루는 가장 작은 단위값의 데이터다. 1차원으로 구성이 되어 있다.&lt;/p&gt;&#xA;&lt;h3 id=&#34;1-4가지-벡터&#34;&gt;(1) 4가지 벡터&lt;/h3&gt;&#xA;&lt;p&gt;크게 4가지의 벡터가 존재한다. 간단하게 코드를 작성해보자.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xNum &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3.14&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xLog &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;TRUE&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;FALSE&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;TRUE&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;FALSE&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xChar &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;가&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;나&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;A&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;B&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xMix &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;TRUE&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hello R!&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;이렇게 작성한 코드는 실행한다. 실행할 때, 윈도우 사용자는 &lt;code&gt;Ctrl + Enter&lt;/code&gt;,  Mac사용자는 &lt;code&gt;Command + Enter&lt;/code&gt;를 사용한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch05 Query Essentials(3)</title>
      <link>https://dschloe.github.io/programming/2020/04/ch05_query_essentials3/</link>
      <pubDate>Sat, 25 Apr 2020 16:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch05_query_essentials3/</guid>
      <description>&lt;h2 id=&#34;1-구글-클라우드-설정&#34;&gt;1. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch7.3 - 긍정, 부정 감성 분석</title>
      <link>https://dschloe.github.io/programming/2020/04/ch7_3_sentimentanalysis/</link>
      <pubDate>Sat, 25 Apr 2020 11:08:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch7_3_sentimentanalysis/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶으신 분은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_1_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.1 - 선형회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_2_multiple_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.2 - 다항회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_3_regression_with_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.3 - 딥러닝 네트워크를 이용한 회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_4_boston_housing_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.4 - 보스턴 주택 가격 데이터세트&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_1_binary_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.1 - 분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_2_multi_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.2 - 다항분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_3_fashion_mnist/&#34;&gt;Tensorflow 2.0 Tutorial ch5.3 - Fashion MNIST&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_1_2_cnn_theory/&#34;&gt;Tensorflow 2.0 Tutorial ch6.1-2 - CNN 이론&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_3_fashion_mnist_with_cnn/&#34;&gt;Tensorflow 2.0 Tutorial ch6.3 - Fashion MNIST with CNN 실습&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_4_improve_performance/&#34;&gt;Tensorflow 2.0 Tutorial ch6.4 - 모형의 성능 높이기&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory1/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (1)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory2/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (2)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;감성 분석은 입력된 자연어 안의 주관적 의견, 감정 등을 찾아내는 문제입니다. 문장의 긍정/부정이나 긍정/중립/부정을 분류합니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>matplotlib 04 area and stacked plot</title>
      <link>https://dschloe.github.io/programming/2020/04/matplotlib_04_area_stacked_plot/</link>
      <pubDate>Sat, 25 Apr 2020 01:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/matplotlib_04_area_stacked_plot/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;p&gt;도움이 되었다면 &lt;code&gt;Github&lt;/code&gt;에 &lt;code&gt;Star&lt;/code&gt;를 눌러주세요.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch05 Query Essentials(2)</title>
      <link>https://dschloe.github.io/programming/2020/04/ch05_query_essentials2/</link>
      <pubDate>Fri, 24 Apr 2020 13:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch05_query_essentials2/</guid>
      <description>&lt;h2 id=&#34;1-구글-클라우드-설정&#34;&gt;1. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch02 Process Analysis Basic</title>
      <link>https://dschloe.github.io/programming/2020/04/ch02_process_analysis_basic/</link>
      <pubDate>Thu, 23 Apr 2020 23:20:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch02_process_analysis_basic/</guid>
      <description>&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;지난시간에 &lt;code&gt;patients&lt;/code&gt;에 관한 데이터를 통해서 프로세스 분석에 대한 일반적인 개념을 접했다.&lt;/p&gt;&#xA;&lt;p&gt;이번 포스트에서는 &lt;code&gt;bupaR&lt;/code&gt;에 대한 이론적인 내용과 함께 간단하게 실습을 진행하도록 한다.&lt;/p&gt;&#xA;&lt;p&gt;지난시간과 마찬가지로 먼저 데이터를 획득하는 것에서부터 출발한다.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(bupaR)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(eventdataR)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;patients &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; patients&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;dim&lt;/span&gt;(patients)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## [1] 5442    7&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;5442행과 7개의 열이 확인되었다.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;class&lt;/span&gt;(patients)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## [1] &amp;#34;eventlog&amp;#34;   &amp;#34;tbl_df&amp;#34;     &amp;#34;tbl&amp;#34;        &amp;#34;data.frame&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;그리고, 데이터는 &lt;code&gt;eventlog&lt;/code&gt;, &lt;code&gt;tbl_df&lt;/code&gt;, &lt;code&gt;data.frame&lt;/code&gt;으로 구성된 것을 확인할 수 있다. 기존에 R을 학습한 사람들은 &lt;code&gt;tbl &amp;amp; data.frame&lt;/code&gt;에 대해서 한두번쯤 들었을 거라 생각한다. 그러나 &lt;code&gt;eventlog&lt;/code&gt;는 생소한 객체임을 알 수 있다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch05 Query Essentials(1)</title>
      <link>https://dschloe.github.io/programming/2020/04/ch05_query_essentials1/</link>
      <pubDate>Thu, 23 Apr 2020 18:30:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch05_query_essentials1/</guid>
      <description>&lt;h2 id=&#34;1-구글-클라우드-설정&#34;&gt;1. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (2)</title>
      <link>https://dschloe.github.io/programming/2020/04/ch7_1_2_rnn_theory2/</link>
      <pubDate>Thu, 23 Apr 2020 10:08:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch7_1_2_rnn_theory2/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶으신 분은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_1_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.1 - 선형회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_2_multiple_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.2 - 다항회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_3_regression_with_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.3 - 딥러닝 네트워크를 이용한 회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_4_boston_housing_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.4 - 보스턴 주택 가격 데이터세트&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_1_binary_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.1 - 분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_2_multi_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.2 - 다항분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_3_fashion_mnist/&#34;&gt;Tensorflow 2.0 Tutorial ch5.3 - Fashion MNIST&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_1_2_cnn_theory/&#34;&gt;Tensorflow 2.0 Tutorial ch6.1-2 - CNN 이론&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_3_fashion_mnist_with_cnn/&#34;&gt;Tensorflow 2.0 Tutorial ch6.3 - Fashion MNIST with CNN 실습&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_4_improve_performance/&#34;&gt;Tensorflow 2.0 Tutorial ch6.4 - 모형의 성능 높이기&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch7_1_2_rnn_theory1/&#34;&gt;Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (1)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;GRU(&lt;code&gt;Gated Recurrent Unit&lt;/code&gt;)레이어는 &lt;code&gt;LSTM&lt;/code&gt;레이어와 비슷한 역할을 하지만 구조가 더 간단하기 때문에 계산상의 이점이 있고, 어떤 문제에서는 &lt;code&gt;LSTM&lt;/code&gt; 레이어보다 좋은 성능을 보여주기도 합니다.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; 셀로 나타낸 &lt;code&gt;GRU&lt;/code&gt; 레이어의 계산 흐름은 &lt;code&gt;LSTM&lt;/code&gt;과 비슷하지만, 조금 축약된 모습을 보입니다.&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>matplotlib 03 Scatter Plot</title>
      <link>https://dschloe.github.io/programming/2020/04/matplotlib_03_scatterplot/</link>
      <pubDate>Wed, 22 Apr 2020 22:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/matplotlib_03_scatterplot/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;p&gt;도움이 되었다면 &lt;code&gt;Github&lt;/code&gt;에 &lt;code&gt;Star&lt;/code&gt;를 눌러주세요.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch7.1 - RNN 이론 (1)</title>
      <link>https://dschloe.github.io/programming/2020/04/ch7_1_2_rnn_theory1/</link>
      <pubDate>Wed, 22 Apr 2020 15:08:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch7_1_2_rnn_theory1/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_1_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.1 - 선형회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_2_multiple_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.2 - 다항회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_3_regression_with_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.3 - 딥러닝 네트워크를 이용한 회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_4_boston_housing_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.4 - 보스턴 주택 가격 데이터세트&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_1_binary_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.1 - 분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_2_multi_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.2 - 다항분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_3_fashion_mnist/&#34;&gt;Tensorflow 2.0 Tutorial ch5.3 - Fashion MNIST&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_1_2_cnn_theory/&#34;&gt;Tensorflow 2.0 Tutorial ch6.1-2 - CNN 이론&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_3_fashion_mnist_with_cnn/&#34;&gt;Tensorflow 2.0 Tutorial ch6.3 - Fashion MNIST with CNN 실습&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_4_improve_performance/&#34;&gt;Tensorflow 2.0 Tutorial ch6.4 - 모형의 성능 높이기&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;순환 신경망(Recurrent Neural Network; RNN)은 지금까지 살펴본 네트워크와는 입력을 받아들이는 방식과 처리하는 방식에 약간 차이가 있습니다. 순환 신경망은 순서가 있는 데이터를 입력으로 받고, 같은 네트워크를 이용해 변화하는 입력에 대한 출력을 얻어냅니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch6.4 - 모형의 성능 높이기</title>
      <link>https://dschloe.github.io/programming/2020/04/ch6_4_improve_performance/</link>
      <pubDate>Tue, 21 Apr 2020 21:08:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch6_4_improve_performance/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_1_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.1 - 선형회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_2_multiple_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.2 - 다항회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_3_regression_with_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.3 - 딥러닝 네트워크를 이용한 회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_4_boston_housing_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.4 - 보스턴 주택 가격 데이터세트&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_1_binary_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.1 - 분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_2_multi_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.2 - 다항분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_3_fashion_mnist/&#34;&gt;Tensorflow 2.0 Tutorial ch5.3 - Fashion MNIST&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_1_2_cnn_theory/&#34;&gt;Tensorflow 2.0 Tutorial ch6.1-2 - CNN 이론&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_3_fashion_mnist_with_cnn/&#34;&gt;Tensorflow 2.0 Tutorial ch6.3 - Fashion MNIST with CNN 실습&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;성능을 높이는 데는 그 중 대표적이면서 쉬운 두 가지 방법은 &lt;code&gt;더 많은 레이어 쌓기&lt;/code&gt;와 &lt;code&gt;이미지 보강(Image Augmentation)&lt;/code&gt; 기법입니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch6.3 - Fashion MNIST with CNN 실습</title>
      <link>https://dschloe.github.io/programming/2020/04/ch6_3_fashion_mnist_with_cnn/</link>
      <pubDate>Tue, 21 Apr 2020 16:08:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch6_3_fashion_mnist_with_cnn/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_1_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.1 - 선형회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_2_multiple_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.2 - 다항회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_3_regression_with_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.3 - 딥러닝 네트워크를 이용한 회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_4_boston_housing_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.4 - 보스턴 주택 가격 데이터세트&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_1_binary_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.1 - 분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_2_multi_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.2 - 다항분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_3_fashion_mnist/&#34;&gt;Tensorflow 2.0 Tutorial ch5.3 - Fashion MNIST&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch6_1_2_cnn_theory/&#34;&gt;Tensorflow 2.0 Tutorial ch6.1-2 - CNN 이론&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;이번 장은 앞에서 이론만 설명했기 때문에 이번에는 실습 위주로 진행합니다. 컨볼루션 레이어와 풀링 레이어, 드롭아웃을 사용해서 분류 문제를 푸는데 어떻게 해야 성능이 개선 되는지 알아봅니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch04_bigquery_with_R</title>
      <link>https://dschloe.github.io/programming/2020/04/ch04_bigquery_with_r/</link>
      <pubDate>Tue, 21 Apr 2020 11:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch04_bigquery_with_r/</guid>
      <description>&lt;h2 id=&#34;1-구글-클라우드-설정&#34;&gt;1. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, R과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch6.1-2 - CNN 이론</title>
      <link>https://dschloe.github.io/programming/2020/04/ch6_1_2_cnn_theory/</link>
      <pubDate>Tue, 21 Apr 2020 10:08:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch6_1_2_cnn_theory/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_1_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.1 - 선형회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_2_multiple_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.2 - 다항회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_3_regression_with_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.3 - 딥러닝 네트워크를 이용한 회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_4_boston_housing_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.4 - 보스턴 주택 가격 데이터세트&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_1_binary_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.1 - 분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_2_multi_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.2 - 다항분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_3_fashion_mnist/&#34;&gt;Tensorflow 2.0 Tutorial ch5.3 - Fashion MNIST&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;교재 &lt;code&gt;Chapter 6.1&lt;/code&gt;과 &lt;code&gt;Chapter 6.2&lt;/code&gt;에 &lt;code&gt;CNN&lt;/code&gt;의 기본적인 이론 배경들이 있습니다. 교재를 구매해서 꼭 한번 읽어보시기를 바랍니다. 주요 키워드를 정리하면 다음과 같습니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch01 Process Analysis Intro</title>
      <link>https://dschloe.github.io/programming/2020/04/ch01_process_analysis_intro/</link>
      <pubDate>Mon, 20 Apr 2020 21:10:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch01_process_analysis_intro/</guid>
      <description>&lt;h2 id=&#34;i-process-mining-intro&#34;&gt;I. Process Mining Intro&lt;/h2&gt;&#xA;&lt;p&gt;모든 비즈니스는 프로세스와 연관이 깊다. 이러한 데이터를 통상적으로 &lt;code&gt;event&lt;/code&gt;라고 부르며, 다루는 데이터는 &lt;code&gt;log&lt;/code&gt; 데이터와 연관이 깊다. &lt;code&gt;프로세스 마이닝(Process Mining)&lt;/code&gt;은 데이터의 추출, 프로세싱, 그리고 분석의 순으로 진행한다.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch01_process_analysis_intro/ch01_workflow.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;데이터 추출 (Extraction)&lt;/code&gt;: &lt;code&gt;Raw Data&lt;/code&gt;를 &lt;code&gt;Event Data&lt;/code&gt;로 변환시킨다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;프로세싱 (Processing)&lt;/code&gt;: 데이터 가공과 비슷하며, 보통 &lt;code&gt;Aggregation&lt;/code&gt;, &lt;code&gt;Filtering&lt;/code&gt;, &lt;code&gt;Enrichment&lt;/code&gt;의 용어가 등장한다.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;분석 (Analysis)&lt;/code&gt;: Performance, Control-Flow 등과 연관된 분석이 진행된다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;우선 빠르게 시각화부터 진행해보자.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(bupaR)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(httr)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(processmapR)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(edeaR)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;url &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;https://github.com/chloevan/datasets/blob/master/log/log_eat_patterns.RDS?raw=true&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;patterns &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;readRDS&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;url&lt;/span&gt;(url))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;trace_explorer&lt;/span&gt;(patients, coverage&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch01_process_analysis_intro/ch03_viz.png&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch5.3 - Fashion MNIST</title>
      <link>https://dschloe.github.io/programming/2020/04/ch5_3_fashion_mnist/</link>
      <pubDate>Mon, 20 Apr 2020 17:08:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch5_3_fashion_mnist/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_1_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.1 - 선형회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_2_multiple_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.2 - 다항회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_3_regression_with_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.3 - 딥러닝 네트워크를 이용한 회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_4_boston_housing_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.4 - 보스턴 주택 가격 데이터세트&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_1_binary_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.1 - 분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_2_multi_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.2 - 다항분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;MNIST&lt;/code&gt;는 머신러닝의 고전적인 문제로 손으로 쓴 숫자 글씨를 모아놓은 데이터 세트이며, &lt;code&gt;Fashion MNIST&lt;/code&gt;는 손글씨가 아닌 옷과 신발, 가방의 이미지 등을 모아 놓는다. 그레이스케일 이미지&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;라는 점과 범주의 수가 10개라는 점, 각 이미지의 크기가 28X28 픽셀이라는 점은 &lt;code&gt;MNIST&lt;/code&gt;와 동일하지만 좀 더 어려운 문제로 평가됩니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch03_bigquery_with_python</title>
      <link>https://dschloe.github.io/programming/2020/04/ch03_bigquery_with_python/</link>
      <pubDate>Sun, 19 Apr 2020 20:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch03_bigquery_with_python/</guid>
      <description>&lt;h2 id=&#34;1-구글-클라우드-설정&#34;&gt;1. 구글 클라우드 설정&lt;/h2&gt;&#xA;&lt;p&gt;본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;Cloud Resource Manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;그리고, 비용결제를 위한 카드를 등록한다. &lt;a href=&#34;https://support.google.com/cloud/answer/6293499#enable-billing&#34;&gt;Enable billing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.&lt;a href=&#34;https://console.cloud.google.com/flows/enableapi?apiid=bigquery&#34;&gt;Enable BigQuery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;위 API를 이용하지 않으면 &lt;code&gt;Python&lt;/code&gt; 또는 &lt;code&gt;R&lt;/code&gt;과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 &lt;a href=&#34;https://cloud.google.com/bigquery/docs/best-practices-costs?hl=ko&#34;&gt;BigQuery 권장사항: 비용 관리&lt;/a&gt;에서 확인하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>matplotlib 02 bar chart</title>
      <link>https://dschloe.github.io/programming/2020/04/matplotlib_02_barchart/</link>
      <pubDate>Sun, 19 Apr 2020 16:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/matplotlib_02_barchart/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;p&gt;도움이 되었다면 &lt;code&gt;Github&lt;/code&gt;에 &lt;code&gt;Star&lt;/code&gt;를 눌러주세요.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch5.2 - 다항분류</title>
      <link>https://dschloe.github.io/programming/2020/04/ch5_2_multi_classification/</link>
      <pubDate>Sun, 19 Apr 2020 14:08:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch5_2_multi_classification/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_1_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.1 - 선형회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_2_multiple_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.2 - 다항회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_3_regression_with_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.3 - 딥러닝 네트워크를 이용한 회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_4_boston_housing_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.4 - 보스턴 주택 가격 데이터세트&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch5_1_binary_classification/&#34;&gt;Tensorflow 2.0 Tutorial ch5.1 - 분류&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-다항분류&#34;&gt;I. 다항분류&lt;/h2&gt;&#xA;&lt;p&gt;지난 시간에 이항 분류에 대해 배웠다면 이번 시간에는 다항 분류에 대해서 배우는 시간을 갖도록 합니다. 다항 분류는 범주의 수가 2개를 초과하는 경우를 말합니다. 와인 데이터의 품질은 0에서 10까지의 숫자로 구분이 되어 있기 때문에, 품질을 종속변수로 생각하고 분류 할 수 있습니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>R 시각화 튜토리얼 Intro</title>
      <link>https://dschloe.github.io/programming/2020/04/ch01_intro/</link>
      <pubDate>Sun, 19 Apr 2020 10:10:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch01_intro/</guid>
      <description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;A picture is worth a thousand words — English Language Adage&#xA;The simple graph has brought more information to the data analyst’s mind than any other device. — John Tukey&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;한장의 그림이 수천단어보다 가치가 있다는 영어속담과, 명료한 시각화가 데이터분석가에게 다른 어떤 도구보다 더 많은 정보를 제공한다는 유명한 데이터 과학자의 조언. 핵심은 시각화이다.&lt;/p&gt;&#xA;&lt;p&gt;본 장에서는 &lt;code&gt;ggplot2&lt;/code&gt; 패키지를 활용한 시각화를 먼저 보여줄 것이다. 먼저 간단하게 &lt;code&gt;ggplot2&lt;/code&gt; 패키지에 소개하자면 &lt;code&gt;Grammar of Graphics&lt;/code&gt;&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;의 철학을 담아서 &lt;code&gt;R&lt;/code&gt; 생태계에서 유명한 학자 중, &lt;code&gt;Hadley Wickham&lt;/code&gt;에 의해 주도적으로 개발되었다. 그래프에도 문법이 있다는 패키지의 철학 아래, &lt;code&gt;R&lt;/code&gt;의 시각화는 괄목할만한 발전을 이루었고 이는 &lt;code&gt;R&lt;/code&gt;의 대중화에도 큰 영향을 끼쳤다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch02 Working with BigQuery</title>
      <link>https://dschloe.github.io/programming/2020/04/ch02_working_with_bigquery/</link>
      <pubDate>Sun, 19 Apr 2020 00:13:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch02_working_with_bigquery/</guid>
      <description>&lt;h2 id=&#34;i-get-started&#34;&gt;I. Get Started&lt;/h2&gt;&#xA;&lt;p&gt;일단 시작해보자. &lt;a href=&#34;https://console.cloud.google.com/bigquery&#34;&gt;https://console.cloud.google.com/bigquery&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/Ch01_BigQuery_getstarted/02_Figure.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;뉴욕주의 자전거 렌탈이 비가 올때와 그렇지 않을 때 수치를 비교하고자 않다. 어떻게 해야할까? 일단, 필요한 데이터는 두가지가 될 것이다. 첫번째는 자전거 렌탈 데이터가 필요하고, 두번째는 뉴욕주의 날씨와 관련된 데이터이다. 두개의 데이터를 조인(join)한 후 수치를 구해야 할 것이다.&lt;/p&gt;&#xA;&lt;p&gt;위 화면에서 아래 소스코드를 입력한다.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;WITH&lt;/span&gt; bicycle_rentals &lt;span style=&#34;color:#66d9ef&#34;&gt;AS&lt;/span&gt; (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;SELECT&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;COUNT&lt;/span&gt;(starttime) &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; num_trips,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;EXTRACT&lt;/span&gt;(DATE &lt;span style=&#34;color:#66d9ef&#34;&gt;from&lt;/span&gt; starttime) &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; trip_date&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;FROM&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;bigquery&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;data&lt;/span&gt;.new_york_citibike.citibike_trips&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;GROUP&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;BY&lt;/span&gt; trip_date&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rainy_days &lt;span style=&#34;color:#66d9ef&#34;&gt;AS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;SELECT&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  date,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  (&lt;span style=&#34;color:#66d9ef&#34;&gt;MAX&lt;/span&gt;(prcp) &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;AS&lt;/span&gt; rainy&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;FROM&lt;/span&gt; (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;SELECT&lt;/span&gt; wx.date &lt;span style=&#34;color:#66d9ef&#34;&gt;AS&lt;/span&gt; date,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;IF&lt;/span&gt; (wx.element &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;PRCP&amp;#39;&lt;/span&gt;, wx.value&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;AS&lt;/span&gt; prcp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;FROM&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;bigquery&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;data&lt;/span&gt;.ghcn_d.ghcnd_2016&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;AS&lt;/span&gt; wx &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;WHERE&lt;/span&gt; wx.id &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;USW00094728&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;GROUP&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;BY&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  date&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;SELECT&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ROUND(&lt;span style=&#34;color:#66d9ef&#34;&gt;AVG&lt;/span&gt;(bk.num_trips)) &lt;span style=&#34;color:#66d9ef&#34;&gt;AS&lt;/span&gt; num_trips, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  wx.rainy&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;FROM&lt;/span&gt; bicycle_rentals &lt;span style=&#34;color:#66d9ef&#34;&gt;AS&lt;/span&gt; bk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;JOIN&lt;/span&gt; rainy_days &lt;span style=&#34;color:#66d9ef&#34;&gt;AS&lt;/span&gt; wx&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;ON&lt;/span&gt; wx.date &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; bk.trip_date&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;GROUP&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;BY&lt;/span&gt; wx.rainy&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;ROW&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;num_trips&lt;/th&gt;&#xA;          &lt;th&gt;rainy&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;39107.0&lt;/td&gt;&#xA;          &lt;td&gt;false&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;2&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;32052.0&lt;/td&gt;&#xA;          &lt;td&gt;true&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/Ch02_working_with_bigquery/03_Insight.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Shiny 프로젝트 Review &amp; 더 알아볼 것</title>
      <link>https://dschloe.github.io/programming/2020/04/project_final/</link>
      <pubDate>Sat, 18 Apr 2020 17:15:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/project_final/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;이번에 준비한 튜토리얼은 제 강의를 듣는 과거-현재-미래 수강생분들을 위해 준비한 자료이다. 많은 도움이 되기를 바란다&lt;/p&gt;&#xA;&lt;p&gt;이번에 준비한 Tutorial 코로나 세계현황을 &lt;code&gt;Shiny Dashboard&lt;/code&gt;로 만들어 가는 과정을 담았다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-shiny-tutorial-소개&#34;&gt;I. Shiny Tutorial 소개&lt;/h2&gt;&#xA;&lt;p&gt;처음 shiny를 접하거나 shiny의 전체 튜토리얼이 궁금한 사람들을 위해 이전 글을 소개한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/r/shiny/tutorial_01/&#34;&gt;shiny tutorial 01 - get started&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/r/shiny/tutorial_02/&#34;&gt;shiny tutorial 02 - Shiny Structure&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/r/shiny/tutorial_03/&#34;&gt;shiny tutorial 03 - HTML content&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/r/shiny/tutorial_04/&#34;&gt;shiny tutorial 04 - Shiny Layouts&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/r/shiny/tutorial_05/&#34;&gt;shiny tutorial 05 - Sharing Apps&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/r/shiny/tutorial_06/&#34;&gt;shiny tutorial 06 - shinydashboard&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/r/shiny/tutorial_07/&#34;&gt;shiny tutorial 07 - flexdashboard&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/r/shiny/tutorial_08/&#34;&gt;shiny tutorial 08 - HTML, CSS 적용&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-shiny-project&#34;&gt;II. Shiny Project&lt;/h2&gt;&#xA;&lt;p&gt;현재 진행중인 프로젝트가 궁금하다면 아래를 확인해보자.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Corona Shiny Project 6_2 - Chart Automation</title>
      <link>https://dschloe.github.io/programming/2020/04/project_06_02/</link>
      <pubDate>Sat, 18 Apr 2020 14:15:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/project_06_02/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;이번에 준비한 튜토리얼은 제 강의를 듣는 과거-현재-미래 수강생분들을 위해 준비한 자료이다. 많은 도움이 되기를 바란다&lt;/p&gt;&#xA;&lt;p&gt;이번에 준비한 Tutorial 코로나 세계현황을 &lt;code&gt;Shiny Dashboard&lt;/code&gt;로 만들어 가는 과정을 담았다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-shiny-tutorial-소개&#34;&gt;I. Shiny Tutorial 소개&lt;/h2&gt;&#xA;&lt;p&gt;처음 shiny를 접하거나 shiny의 전체 튜토리얼이 궁금한 사람들을 위해 이전 글을 소개한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_01/&#34;&gt;shiny tutorial 01 - get started&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_02/&#34;&gt;shiny tutorial 02 - Shiny Structure&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_03/&#34;&gt;shiny tutorial 03 - HTML content&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_04/&#34;&gt;shiny tutorial 04 - Shiny Layouts&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_05/&#34;&gt;shiny tutorial 05 - Sharing Apps&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_06/&#34;&gt;shiny tutorial 06 - shinydashboard&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_07/&#34;&gt;shiny tutorial 07 - flexdashboard&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_08/&#34;&gt;shiny tutorial 08 - HTML, CSS 적용&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-shiny-project&#34;&gt;II. Shiny Project&lt;/h2&gt;&#xA;&lt;p&gt;현재 진행중인 프로젝트가 궁금하다면 아래를 확인해보자.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pandas Dataframe</title>
      <link>https://dschloe.github.io/programming/2020/04/pandas_dataframe/</link>
      <pubDate>Sat, 18 Apr 2020 11:32:36 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/pandas_dataframe/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/03/Pandas_with_Excel/pandas_logo.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;&#xA;&lt;p&gt;데이터프레임은 2차원 배열의 행과 열로 구성되어져 있다. 대부분의 사람들이 알고 있는 마이크로소프트사의 EXCEL, SQL Table 등을 생각하면 데이터프레임을 쉽게 이해할 수 있다. 판다스에서 가장 많이 사용되는 객체이며, 실제 파이썬을 활용한 데이터 분석을 하고 싶다면 필수적으로 알아야 하는 내용이다. 기본적으로 Python은 행렬 연산에 최적화된 언어라고 할 수 있지만, 판다스 라이브러리는 R의 데이터프레임에서 유래했다고 알려져 있다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch5.1 - 분류</title>
      <link>https://dschloe.github.io/programming/2020/04/ch5_1_binary_classification/</link>
      <pubDate>Sat, 18 Apr 2020 11:08:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch5_1_binary_classification/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_1_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.1 - 선형회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_2_multiple_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.2 - 다항회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_3_regression_with_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.3 - 딥러닝 네트워크를 이용한 회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_4_boston_housing_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.4 - 보스턴 주택 가격 데이터세트&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-분류의-개요&#34;&gt;I. 분류의 개요&lt;/h2&gt;&#xA;&lt;p&gt;분류는 크게 2가지로 구분됩니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>matplotlib 한글 폰트 오류 해결</title>
      <link>https://dschloe.github.io/programming/2020/04/matplotlib_koreanfont/</link>
      <pubDate>Fri, 17 Apr 2020 23:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/matplotlib_koreanfont/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;p&gt;도움이 되었다면 &lt;code&gt;Github&lt;/code&gt;에 &lt;code&gt;Star&lt;/code&gt;를 눌러주세요.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/chloevan/python_visualisation&#34;&gt;python_visualisation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;matplotlib-한글폰트-오류-해결&#34;&gt;Matplotlib 한글폰트 오류 해결&lt;/h2&gt;&#xA;&lt;p&gt;한글을 사랑하지만, 코딩의 예외다. 프로그래밍 언어 자체가 영어기반이기 때문에 그런것도 있고, 아무튼 한글 부분이 네모 박스로 표시되면서 한글폰트가 깨지는 현상이 종종 발생한다. 오류를 해결하려면 먼저 한글폰트를 지정하는 다음의 코드를 추가해야 한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>matplotlib_01_linegraph</title>
      <link>https://dschloe.github.io/programming/2020/04/matplotlib_01_linegraph/</link>
      <pubDate>Fri, 17 Apr 2020 11:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/matplotlib_01_linegraph/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;p&gt;도움이 되었다면 &lt;code&gt;Github&lt;/code&gt;에 &lt;code&gt;Star&lt;/code&gt;를 눌러주세요.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Round 함수 - digits</title>
      <link>https://dschloe.github.io/programming/2020/04/round/</link>
      <pubDate>Fri, 17 Apr 2020 10:38:15 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/round/</guid>
      <description>&lt;h2 id=&#34;round-함수-소개&#34;&gt;Round 함수 소개&lt;/h2&gt;&#xA;&lt;p&gt;round 함수는 대개 소수점 자리에서 반올림 할 때 자주 쓰는다.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;test &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;1.24&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2.40&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3.56&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;4.56&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;round&lt;/span&gt;(test, digits &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## [1] 1.2 2.4 3.6 4.6&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;digits = 1&lt;/code&gt;의 의미는 소수점 첫번째 자리에서 반올림 하라는 뜻이다.&lt;/p&gt;&#xA;&lt;p&gt;그런데 &lt;code&gt;digits = -1&lt;/code&gt;을 하게 되면 어떻게 될까?&lt;/p&gt;&#xA;&lt;h2 id=&#34;정수-반올림&#34;&gt;정수 반올림&lt;/h2&gt;&#xA;&lt;p&gt;빠르게 실습을 해보자.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;test2 &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;-14&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;-26&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;14&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;26&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;39&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;124&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;247&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;round&lt;/span&gt;(test2, digits &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;-1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## [1] -10 -30  10  30  40 120 250&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;digits = -1&lt;/code&gt;을 하게되면 정수의 첫번째 자리에서 반올림한다.&lt;/p&gt;&#xA;&lt;p&gt;매우 기본적인 것이지만, 자주 쓰지 않으면 잘 모르는 기본함수 사용 요령법이다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch4.4 - 보스턴 주택 가격 데이터세트</title>
      <link>https://dschloe.github.io/programming/2020/04/ch4_4_boston_housing_deeplearning/</link>
      <pubDate>Thu, 16 Apr 2020 20:00:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch4_4_boston_housing_deeplearning/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_1_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.1 - 선형회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_2_multiple_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.2 - 다항회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_3_regression_with_deeplearning/&#34;&gt;Tensorflow 2.0 Tutorial ch4.3 - 딥러닝 네트워크를 이용한 회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요-및-데이터-불러오기&#34;&gt;I. 개요 및 데이터 불러오기&lt;/h2&gt;&#xA;&lt;p&gt;딥러닝 네트워크를 이용한 회귀를 통해 보스턴 주택 가격 데이터세트(&lt;code&gt;Boston Housing Dataset&lt;/code&gt;)을 이용한 주택 가격 예측 네트워크를 만들어본다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ch01 BigQuery getstarted</title>
      <link>https://dschloe.github.io/programming/2020/04/ch01_bigquery_getstarted/</link>
      <pubDate>Thu, 16 Apr 2020 11:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch01_bigquery_getstarted/</guid>
      <description>&lt;h2 id=&#34;i-자료-정리를-하며&#34;&gt;I. 자료 정리를 하며..&lt;/h2&gt;&#xA;&lt;p&gt;데이터 분석가에게 또는 싸이언티스트들에게 &lt;code&gt;SQL&lt;/code&gt;문법은 매우 중요하다. 지금도 어딘가에는 데이터는 쌓이고 있고, 문제는 쌓여 있는 데이터를 활용해서 어떤 비즈니스 문제를 해결할지가 가장 큰 이슈이기 때문이다.&lt;/p&gt;&#xA;&lt;p&gt;그동안 &lt;code&gt;SQL&lt;/code&gt;은 &lt;code&gt;MySQL&lt;/code&gt;과 &lt;code&gt;RDB&lt;/code&gt; 문법, &lt;code&gt;MongoDB&lt;/code&gt;와 &lt;code&gt;NoSQL&lt;/code&gt;과 같은 문법으로 나누어서 볼 수 있다. 강사가 과거 프로젝트에서 사용했던 &lt;code&gt;SQL&lt;/code&gt;은 &lt;code&gt;MySQL&lt;/code&gt;, &lt;code&gt;MSSQL&lt;/code&gt;, &lt;code&gt;MongoDB&lt;/code&gt;가 있었는데, 각각의 문법이 다르다는 측면이 있어서 조금 애를 많이 먹었다. 특히 &lt;code&gt;MongoDB&lt;/code&gt;문법은 &lt;code&gt;JSON&lt;/code&gt; 형태로 되어 있기 때문에, 별도의 문법이라 보는게 더 낫다. 큰 데이터가 아니라 1-2GB 용량의 작은 데이터는 &lt;code&gt;R&lt;/code&gt; 또는 &lt;code&gt;파이썬&lt;/code&gt;에서 불러와 직접 처리한 후 다시 &lt;code&gt;Insert&lt;/code&gt;하는 형태로 진행하였었다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch4.3 - 딥러닝 네트워크를 이용한 회귀</title>
      <link>https://dschloe.github.io/programming/2020/04/ch4_3_regression_with_deeplearning/</link>
      <pubDate>Wed, 15 Apr 2020 20:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch4_3_regression_with_deeplearning/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_1_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.1 - 선형회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_2_multiple_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.2 - 다항회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요-및-소스코드&#34;&gt;I. 개요 및 소스코드&lt;/h2&gt;&#xA;&lt;p&gt;회귀 모형에서도 딥러닝 네트워크를 만들 수 있습니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hugo &#43; Mathjax 설정</title>
      <link>https://dschloe.github.io/programming/2020/04/mathjax/</link>
      <pubDate>Wed, 15 Apr 2020 13:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/mathjax/</guid>
      <description>&lt;h2 id=&#34;i-인라인-수식-에러&#34;&gt;I. 인라인 수식 에러&lt;/h2&gt;&#xA;&lt;p&gt;한동안 수식 에러를 많나 고생하였다. &lt;code&gt;$$&lt;/code&gt; &lt;code&gt;...&lt;/code&gt; &lt;code&gt;$$&lt;/code&gt; 코드는 잘 적용이 되었다. 그런데, 글 중간에 수식을 넣는 건 잘 되지 않았다. &lt;code&gt;$&lt;/code&gt; &lt;code&gt;...&lt;/code&gt; &lt;code&gt;$&lt;/code&gt; 표현하면 수식문법이 그대로 나와서 글의 가독성이 조금 떨어져 있었다. 통계수식을 넣어주면, 그냥 무언가 전문가스럽다! 전문가도 아니지만 ㅎㅎ&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;$x_{i}$&lt;/code&gt; 내가 표현하고자 하는 것 Vs. &lt;code&gt;x_{i}&lt;/code&gt; 실제로 화면에 나오는 것&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;그리고, 한동안 헤매었다. 길은 알고 있었으나, 역시 적용이 쉽지 않았다. 아래는 해결 방안을 공유한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch4.2 - 다항 회귀</title>
      <link>https://dschloe.github.io/programming/2020/04/ch4_2_multiple_linear_regression/</link>
      <pubDate>Wed, 15 Apr 2020 13:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch4_2_multiple_linear_regression/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch4_1_linear_regression/&#34;&gt;Tensorflow 2.0 Tutorial ch4.1 - 선형회귀&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-기본개념&#34;&gt;I. 기본개념&lt;/h2&gt;&#xA;&lt;p&gt;비선형 회귀(Nonlinear Regression)는 선형 회귀로는 표현할 수 없는 데이터의 경향성을 설명하기 위한 회귀입니다. 이 가운데 $x^2$, $x^3$ 등의 다항식을 이용한 회귀를 다항회귀(Polynomial Regression)라고 합니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch4.1 - 선형회귀</title>
      <link>https://dschloe.github.io/programming/2020/04/ch4_1_linear_regression/</link>
      <pubDate>Tue, 14 Apr 2020 22:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch4_1_linear_regression/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크 - AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크 - OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_5_network_xor/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-기본개념&#34;&gt;I. 기본개념&lt;/h2&gt;&#xA;&lt;p&gt;선형 회귀(Linear Regression)는 데이터의 경향성을 가장 잘 설명하는 하나의 직선을 예측하는 것입니다. 선형 회귀에서 주로 사용되는 2차원에서의 직선이란 기울기와 y절편을 가지는 좌표평면 위 점들의 집합니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Corona Shiny Project 6_1 - 데이터 전처리</title>
      <link>https://dschloe.github.io/programming/2020/04/project_06_01/</link>
      <pubDate>Tue, 14 Apr 2020 10:15:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/project_06_01/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;이번에 준비한 튜토리얼은 제 강의를 듣는 과거-현재-미래 수강생분들을 위해 준비한 자료이다. 많은 도움이 되기를 바란다&lt;/p&gt;&#xA;&lt;p&gt;이번에 준비한 Tutorial 코로나 세계현황을 &lt;code&gt;Shiny Dashboard&lt;/code&gt;로 만들어 가는 과정을 담았다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-shiny-tutorial-소개&#34;&gt;I. Shiny Tutorial 소개&lt;/h2&gt;&#xA;&lt;p&gt;처음 shiny를 접하거나 shiny의 전체 튜토리얼이 궁금한 사람들을 위해 이전 글을 소개한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_01/&#34;&gt;shiny tutorial 01 - get started&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_02/&#34;&gt;shiny tutorial 02 - Shiny Structure&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_03/&#34;&gt;shiny tutorial 03 - HTML content&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_04/&#34;&gt;shiny tutorial 04 - Shiny Layouts&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_05/&#34;&gt;shiny tutorial 05 - Sharing Apps&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_06/&#34;&gt;shiny tutorial 06 - shinydashboard&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_07/&#34;&gt;shiny tutorial 07 - flexdashboard&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_08/&#34;&gt;shiny tutorial 08 - HTML, CSS 적용&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-shiny-project&#34;&gt;II. Shiny Project&lt;/h2&gt;&#xA;&lt;p&gt;현재 진행중인 프로젝트가 궁금하다면 아래를 확인해보자.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch3.3.5 - 세번째 신경망 네트워크 - XOR</title>
      <link>https://dschloe.github.io/programming/2020/04/ch3_3_5_network_xor/</link>
      <pubDate>Mon, 13 Apr 2020 21:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch3_3_5_network_xor/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크: AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_4_network_or/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크: OR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-xor-연산의-기본-개념&#34;&gt;I. XOR 연산의 기본 개념&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;XOR&lt;/code&gt; 연산의 기본개념은 아래와 같습니다. 여기서 주의해야 할 점은, 홀수 개의 입력이 참일 때만 결과값이 참이라는 점입니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>GT 패키지 소개</title>
      <link>https://dschloe.github.io/programming/2020/04/gt_intro/</link>
      <pubDate>Mon, 13 Apr 2020 00:21:01 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/gt_intro/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/gt_intro/gt_hex.svg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;본 블로그는 2020-04-08에 소개된 &lt;a href=&#34;https://blog.rstudio.com/2020/04/08/great-looking-tables-gt-0-2/&#34;&gt;Great Looking Tables: gt(v0.2) by Richard Iannone&lt;/a&gt; 글을 번역한 것이다. 함수와 관련된 설명은 가급적 원어를 직접 인용 했으니, 영어로 직접 함수의 사용처를 음미하시길 바란다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-intro&#34;&gt;I. Intro&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;gt&lt;/code&gt;라는 이름은 &lt;code&gt;grammar of tables&lt;/code&gt;즉 &amp;ldquo;테이블의 문법&amp;quot;의 줄임말이며 &lt;code&gt;gt&lt;/code&gt;의 목표는 &lt;code&gt;ggplot2&lt;/code&gt;와 비슷하게 운영하는 것이다. 특정 테이블을 쉽게 만들 수 있을 뿐만 아니라 다양한 문제를 해결하기 위해 서로 다른 방법으로 재결합할 수 있는 기본 구성요소 집합을 기술하는 역할을 한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch3.3.4 - 두번째 신경망 네트워크: OR</title>
      <link>https://dschloe.github.io/programming/2020/04/ch3_3_4_network_or/</link>
      <pubDate>Sun, 12 Apr 2020 23:40:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch3_3_4_network_or/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_3_network_and/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크: AND&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-or-연산의-기본-개념&#34;&gt;I. OR 연산의 기본 개념&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;OR&lt;/code&gt; 연산의 기본개념은 아래와 같습니다. &lt;code&gt;AND&lt;/code&gt;와 달리 하나만 참이어도, 결과값은 모두 참이 됩니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch3.3.3 - 첫번째 신경망 네트워크, AND</title>
      <link>https://dschloe.github.io/programming/2020/04/ch3_3_3_network_and/</link>
      <pubDate>Sat, 11 Apr 2020 11:20:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch3_3_3_network_and/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-and-연산의-기본-개념&#34;&gt;I. AND 연산의 기본 개념&lt;/h2&gt;&#xA;&lt;p&gt;AND 연산의 기본개념은 아래와 같습니다. 다른 프로그래밍과 다르지 않습니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Corona Shiny Project 5 - Chart with DateInput</title>
      <link>https://dschloe.github.io/programming/2020/04/project_05/</link>
      <pubDate>Sat, 11 Apr 2020 10:15:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/project_05/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;이번에 준비한 튜토리얼은 제 강의를 듣는 과거-현재-미래 수강생분들을 위해 준비한 자료이다. 많은 도움이 되기를 바란다&lt;/p&gt;&#xA;&lt;p&gt;이번에 준비한 Tutorial 코로나 세계현황을 &lt;code&gt;Shiny Dashboard&lt;/code&gt;로 만들어 가는 과정을 담았다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-shiny-tutorial-소개&#34;&gt;I. Shiny Tutorial 소개&lt;/h2&gt;&#xA;&lt;p&gt;처음 shiny를 접하거나 shiny의 전체 튜토리얼이 궁금한 사람들을 위해 이전 글을 소개한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_01/&#34;&gt;shiny tutorial 01 - get started&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_02/&#34;&gt;shiny tutorial 02 - Shiny Structure&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_03/&#34;&gt;shiny tutorial 03 - HTML content&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_04/&#34;&gt;shiny tutorial 04 - Shiny Layouts&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_05/&#34;&gt;shiny tutorial 05 - Sharing Apps&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_06/&#34;&gt;shiny tutorial 06 - shinydashboard&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_07/&#34;&gt;shiny tutorial 07 - flexdashboard&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_08/&#34;&gt;shiny tutorial 08 - HTML, CSS 적용&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-shiny-project&#34;&gt;II. Shiny Project&lt;/h2&gt;&#xA;&lt;p&gt;현재 진행중인 프로젝트가 궁금하다면 아래를 확인해보자.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch3.3.2 - 난수 생성 및 시그모이드 함수 편향성</title>
      <link>https://dschloe.github.io/programming/2020/04/ch3_3_2_random_signoid_bias/</link>
      <pubDate>Fri, 10 Apr 2020 10:20:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch3_3_2_random_signoid_bias/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tutorial&#34;&gt;Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;이전 강의가 궁금하신 분들은 아래에서 선택하여 추가 학습 하시기를 바랍니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/googlecolab/&#34;&gt;Google Colab Tensorflow 2.0 Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_3_1_random_signoid/&#34;&gt;Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/python/tensorflow2.0/ch3_2_2_random_signoid_bias/&#34;&gt;Tensorflow 2.0 Tutorial ch3.2.2 - 난수 생성 및 시그모이드 함수 편향성&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-편향성-bias&#34;&gt;I. 편향성 (Bias)&lt;/h2&gt;&#xA;&lt;p&gt;지난 시간에 경사하강법 원리를 통해 오차가 적어지는 것을 확인할 수 있었다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Corona Shiny Project 4 - Visusalization (Map Chart)</title>
      <link>https://dschloe.github.io/programming/2020/04/project_04/</link>
      <pubDate>Thu, 09 Apr 2020 10:10:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/project_04/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;이번에 준비한 튜토리얼은 제 강의를 듣는 과거-현재-미래 수강생분들을 위해 준비한 자료이다. 많은 도움이 되기를 바란다&lt;/p&gt;&#xA;&lt;p&gt;이번에 준비한 Tutorial 코로나 세계현황을 &lt;code&gt;Shiny Dashboard&lt;/code&gt;로 만들어 가는 과정을 담았다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-shiny-tutorial-소개&#34;&gt;I. Shiny Tutorial 소개&lt;/h2&gt;&#xA;&lt;p&gt;처음 shiny를 접하거나 shiny의 전체 튜토리얼이 궁금한 사람들을 위해 이전 글을 소개한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_01/&#34;&gt;shiny tutorial 01 - get started&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_02/&#34;&gt;shiny tutorial 02 - Shiny Structure&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_03/&#34;&gt;shiny tutorial 03 - HTML content&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_04/&#34;&gt;shiny tutorial 04 - Shiny Layouts&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_05/&#34;&gt;shiny tutorial 05 - Sharing Apps&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_06/&#34;&gt;shiny tutorial 06 - shinydashboard&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_07/&#34;&gt;shiny tutorial 07 - flexdashboard&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_08/&#34;&gt;shiny tutorial 08 - HTML, CSS 적용&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-shiny-project&#34;&gt;II. Shiny Project&lt;/h2&gt;&#xA;&lt;p&gt;현재 진행중인 프로젝트가 궁금하다면 아래를 확인해보자.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Tutorial ch3.3.1 - 난수 생성 및 시그모이드 함수</title>
      <link>https://dschloe.github.io/programming/2020/04/ch3_3_1_random_signoid/</link>
      <pubDate>Wed, 08 Apr 2020 11:20:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/ch3_3_1_random_signoid/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 Tutorial은 교재 &lt;code&gt;시작하세요 텐서플로 2.0 프로그래밍&lt;/code&gt;의 강사에게 국비교육 강의를 듣는 사람들에게 자료 제공을 목적으로 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;강사의 주관적인 판단으로 압축해서 자료를 정리하였기 때문에, 자세하게 공부를 하고 싶은 반드시 교재를 구매하실 것을 권해드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/04/ch3_3_1_random_signoid/book.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;본 교재 외에 강사가 추가한 내용에 대한 Reference를 확인하셔서, 추가적으로 학습하시는 것을 권유드립니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-퍼셉트론의-한계-극복&#34;&gt;I. 퍼셉트론의 한계 극복&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;AI&lt;/code&gt;는 과거부터 존재하였지만, 여러가지 한계로 인해 연구의 흥망성쇠가 계속적으로 있어왔다. 퍼셉트론의 한계를 지적하는 데 사용됐던, &lt;code&gt;AND&lt;/code&gt;, &lt;code&gt;OR&lt;/code&gt;, &lt;code&gt;XOR&lt;/code&gt; 연산을 할 수 있는 신경망 네트워크를 직접 만들어보자.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Corona Shiny Project 3 - Visusalization (Bubble Chart)</title>
      <link>https://dschloe.github.io/programming/2020/04/project_03/</link>
      <pubDate>Wed, 08 Apr 2020 10:10:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/project_03/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;이번에 준비한 튜토리얼은 제 강의를 듣는 과거-현재-미래 수강생분들을 위해 준비한 자료이다. 많은 도움이 되기를 바란다&lt;/p&gt;&#xA;&lt;p&gt;이번에 준비한 Tutorial 코로나 세계현황을 &lt;code&gt;Shiny Dashboard&lt;/code&gt;로 만들어 가는 과정을 담았다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-shiny-tutorial-소개&#34;&gt;I. Shiny Tutorial 소개&lt;/h2&gt;&#xA;&lt;p&gt;처음 shiny를 접하거나 shiny의 전체 튜토리얼이 궁금한 사람들을 위해 이전 글을 소개한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_01/&#34;&gt;shiny tutorial 01 - get started&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_02/&#34;&gt;shiny tutorial 02 - Shiny Structure&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_03/&#34;&gt;shiny tutorial 03 - HTML content&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_04/&#34;&gt;shiny tutorial 04 - Shiny Layouts&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_05/&#34;&gt;shiny tutorial 05 - Sharing Apps&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_06/&#34;&gt;shiny tutorial 06 - shinydashboard&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_07/&#34;&gt;shiny tutorial 07 - flexdashboard&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_08/&#34;&gt;shiny tutorial 08 - HTML, CSS 적용&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-shiny-project&#34;&gt;II. Shiny Project&lt;/h2&gt;&#xA;&lt;p&gt;현재 진행중인 프로젝트가 궁금하다면 아래를 확인해보자.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Corona Shiny Project 2 - Visusalization (Time Series)</title>
      <link>https://dschloe.github.io/programming/2020/04/project_02/</link>
      <pubDate>Tue, 07 Apr 2020 10:10:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/project_02/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;이번에 준비한 튜토리얼은 제 강의를 듣는 과거-현재-미래 수강생분들을 위해 준비한 자료이다. 많은 도움이 되기를 바란다&lt;/p&gt;&#xA;&lt;p&gt;이번에 준비한 Tutorial 코로나 세계현황을 &lt;code&gt;Shiny Dashboard&lt;/code&gt;로 만들어 가는 과정을 담았다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-shiny-tutorial-소개&#34;&gt;I. Shiny Tutorial 소개&lt;/h2&gt;&#xA;&lt;p&gt;처음 shiny를 접하거나 shiny의 전체 튜토리얼이 궁금한 사람들을 위해 이전 글을 소개한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_01/&#34;&gt;shiny tutorial 01 - get started&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_02/&#34;&gt;shiny tutorial 02 - Shiny Structure&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_03/&#34;&gt;shiny tutorial 03 - HTML content&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_04/&#34;&gt;shiny tutorial 04 - Shiny Layouts&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_05/&#34;&gt;shiny tutorial 05 - Sharing Apps&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_06/&#34;&gt;shiny tutorial 06 - shinydashboard&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_07/&#34;&gt;shiny tutorial 07 - flexdashboard&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_08/&#34;&gt;shiny tutorial 08 - HTML, CSS 적용&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-shiny-project&#34;&gt;II. Shiny Project&lt;/h2&gt;&#xA;&lt;p&gt;이전 포스트에서는 &lt;code&gt;Corona 데이터셋&lt;/code&gt;을 구하는 방법에 대해 기술하였다. 그리고, 데이터셋을 &lt;code&gt;MongoDB&lt;/code&gt;에 저장하는 방법에 대해 서술하였다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Corona Shiny Project I - Get Data</title>
      <link>https://dschloe.github.io/programming/2020/04/project_01/</link>
      <pubDate>Mon, 06 Apr 2020 09:10:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/project_01/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;이번에 준비한 튜토리얼은 제 강의를 듣는 과거-현재-미래 수강생분들을 위해 준비한 자료이다. 많은 도움이 되기를 바란다&lt;/p&gt;&#xA;&lt;p&gt;이번에 준비한 Tutorial 코로나 세계현황을 &lt;code&gt;Shiny Dashboard&lt;/code&gt;로 만들어 가는 과정을 담았다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-shiny-tutorial-소개&#34;&gt;I. Shiny Tutorial 소개&lt;/h2&gt;&#xA;&lt;p&gt;처음 shiny를 접하거나 shiny의 전체 튜토리얼이 궁금한 사람들을 위해 이전 글을 소개한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_01/&#34;&gt;shiny tutorial 01 - get started&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_02/&#34;&gt;shiny tutorial 02 - Shiny Structure&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_03/&#34;&gt;shiny tutorial 03 - HTML content&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_04/&#34;&gt;shiny tutorial 04 - Shiny Layouts&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_05/&#34;&gt;shiny tutorial 05 - Sharing Apps&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_06/&#34;&gt;shiny tutorial 06 - shinydashboard&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_07/&#34;&gt;shiny tutorial 07 - flexdashboard&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_08/&#34;&gt;shiny tutorial 08 - HTML, CSS 적용&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-코로나-바이러스-대시보드-개발-동기&#34;&gt;II. 코로나 바이러스 대시보드 개발 동기&lt;/h2&gt;&#xA;&lt;p&gt;강사가 처음 대시보드 강의를 기획할 때는, 이커머스 강의를 기획하고 준비했었다. 그러나, 3월부터 전세계적으로 코로나 바이러스가 확산되기 시작하면서, 코로나 바이러스 대시보드가 우후죽순처럼 생기기 시작했다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>shiny tutorial 08 - HTML, CSS 적용</title>
      <link>https://dschloe.github.io/programming/2020/04/tutorial_08/</link>
      <pubDate>Sun, 05 Apr 2020 11:30:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/tutorial_08/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;이번에 준비한 튜토리얼은 제 강의를 듣는 과거-현재-미래 수강생분들을 위해 준비한 자료이다. 많은 도움이 되기를 바란다&lt;/p&gt;&#xA;&lt;p&gt;이번에 준비한 Tutorial 코로나 세계현황을 &lt;code&gt;Shiny Dashboard&lt;/code&gt;로 만들어 가는 과정을 담았다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-이전-글-소개&#34;&gt;I. 이전 글 소개&lt;/h2&gt;&#xA;&lt;p&gt;처음 shiny를 접하거나 shiny의 전체 튜토리얼이 궁금한 사람들을 위해 이전 글을 소개한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_01/&#34;&gt;shiny tutorial 01 - get started&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_02/&#34;&gt;shiny tutorial 02 - Shiny Structure&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_03/&#34;&gt;shiny tutorial 03 - HTML content&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_04/&#34;&gt;shiny tutorial 04 - Shiny Layouts&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_05/&#34;&gt;shiny tutorial 05 - Sharing Apps&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_06/&#34;&gt;shiny tutorial 06 - shinydashboard&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_07/&#34;&gt;shiny tutorial 07 - flexdashboard&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-html-css-jquery-소개&#34;&gt;II. HTML, CSS, JQuery 소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/r/shiny/tutorial_03/&#34;&gt;shiny tutorial 03 - HTML content&lt;/a&gt;에서 &lt;code&gt;Shiny&lt;/code&gt;와 &lt;code&gt;HTML&lt;/code&gt; 문법 사이에는 여러 공통점이 있다는 것을 확인 했다. 여기에서는 &lt;code&gt;HTML&lt;/code&gt;의 내용보다는 &lt;code&gt;CSS&lt;/code&gt;, 그리고 &lt;code&gt;JQuery&lt;/code&gt;에 대해서 다루도록 한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;우선, 처음 접하는 &lt;code&gt;CSS&lt;/code&gt;와 &lt;code&gt;JQuery&lt;/code&gt;에 대해 간단하게 정리하면 아래와 같을 것이다 (김진성, 2018, p.678).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Connecting Jupyter Notebook to VS Code</title>
      <link>https://dschloe.github.io/programming/2020/04/settings02_vscode2jupyter/</link>
      <pubDate>Sun, 05 Apr 2020 00:30:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/settings02_vscode2jupyter/</guid>
      <description>&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;VS Code&lt;/code&gt;에 &lt;code&gt;Jupyter Notebook&lt;/code&gt;을 연동해본다. 강사는 R &amp;amp; Python을 연동해서 작업할 일이 많다. 특히 블로그를 쓰다보면 더욱 그러한 일이 많은데, IDE가 많으면 많을수록 무언가 복잡스러워 보일 때가 많다. 이 때 좀 더 효율적으로 일하고자 하는 마음에 &lt;code&gt;VS Code&lt;/code&gt;에 &lt;code&gt;Jupyter Notebook&lt;/code&gt;을 추가 및 연동하는 작업을 진행해본다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ii-installation&#34;&gt;II. Installation&lt;/h2&gt;&#xA;&lt;p&gt;내용의 간결화를 위해, &lt;code&gt;VS Code&lt;/code&gt; 및 &lt;code&gt;Jupyter Notebook&lt;/code&gt; 설치 방법은 본 포스트에서는 생략한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;VS Code&lt;/code&gt; 설치방법: &lt;a href=&#34;https://code.visualstudio.com/download&#34;&gt;https://code.visualstudio.com/download&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Jupyter Notebook&lt;/code&gt; 설치 방법: &lt;a href=&#34;https://jupyter.org/install&#34;&gt;https://jupyter.org/install&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;iii-vs-code에서-jupyter-notebook-접속&#34;&gt;III. VS Code에서 Jupyter Notebook 접속&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;Python&lt;/code&gt;이 VS Code Extension에서 설치가 완료된 것을 전제로 한다. 이 부분 역시, 아래 참고자료를 활용한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Google Colab Tensorflow 2.0 Installation</title>
      <link>https://dschloe.github.io/programming/2020/04/googlecolab/</link>
      <pubDate>Sat, 04 Apr 2020 11:03:30 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/googlecolab/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://colab.research.google.com/github/dschloe/deeplearningAI/blob/master/tensorflow2.0/ch3_1_get_started.ipynb&#34; target=&#34;_parent&#34;&gt;&lt;img src=&#34;https://colab.research.google.com/assets/colab-badge.svg&#34; alt=&#34;Open In Colab&#34;/&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-공지&#34;&gt;I. 공지&lt;/h2&gt;&#xA;&lt;p&gt;이번 포스트부터 강사의 과거-기존-미래 수강생들이 보다 효율적으로 공부할 수 있도록 구글코랩에서 진행하는 텐서플로 2.0 Tutorial을 준비한다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ii-개요&#34;&gt;II. 개요&lt;/h2&gt;&#xA;&lt;p&gt;GPU를 활용하여, 딥러닝을 연습하고 공부하고 싶지만, 쉽지많은 않다. 구글 코랩의 존재는 예전부터 알고 있었지만, 마땅히 정리를 하지 못하던 찰나에, 이제 본격적으로 강의 준비를 하며 2020년은 구글 코랩과 함께 하기로 결정하였다. 특히 텐서플로 Tutorial을 준비하면서 개인적으로 많이 성장하기를 바라며..&lt;/p&gt;&#xA;&lt;h2 id=&#34;iii-why-tensorflow-20&#34;&gt;III. Why Tensorflow 2.0?&lt;/h2&gt;&#xA;&lt;p&gt;비즈니스적으로 접근을 해보자. 앱의 경우, 2007년쯤 &lt;code&gt;IOS&lt;/code&gt;가 출시된 이후, 경쟁자로 &lt;code&gt;Andorid&lt;/code&gt;가 등장했다. 그리고 뒤늦게 후발주자로 &lt;code&gt;Windows&lt;/code&gt;가 뛰어들었다. 결과는? &lt;code&gt;Windows&lt;/code&gt;는 참패했다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pandas Filtering</title>
      <link>https://dschloe.github.io/programming/2020/04/filter/</link>
      <pubDate>Fri, 03 Apr 2020 22:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/filter/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/03/Pandas_with_Excel/pandas_logo.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;&#xA;&lt;p&gt;필터링은 특정 조건식을 만족하는 행을 따로 추출하는 개념이다. 특정 행의 값에 조건식 &lt;code&gt;True/False&lt;/code&gt;을 판별하여 값을 추출하는 방법이다. 이 때, 비교 연산자 또는 조건식 &lt;code&gt;(&amp;gt;, &amp;lt;, ==, ...)&lt;/code&gt;을 적용하면 행을 추출할 수 있다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pandas sort_values()</title>
      <link>https://dschloe.github.io/programming/2020/04/sort_values/</link>
      <pubDate>Fri, 03 Apr 2020 20:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/sort_values/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/03/Pandas_with_Excel/pandas_logo.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-overview&#34;&gt;I. Overview&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;sort_values()&lt;/code&gt; 함수는 일종의 데이터의 정렬과 연관이 있다. 어려운 내용은 아니기 때문에 빠르게 소스 코드 구현 및 확인 하도록 한다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ii-sample-tutorial&#34;&gt;II. Sample Tutorial&lt;/h2&gt;&#xA;&lt;p&gt;엑셀로 된 ticket_sales 데이터에서 &lt;code&gt;ticket_quantity&lt;/code&gt;가 가장 많이 팔린 영화 Top3를 구하는 소스코드를 구해본다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>shiny tutorial 07 - flexdashboard package</title>
      <link>https://dschloe.github.io/programming/2020/04/tutorial_07/</link>
      <pubDate>Thu, 02 Apr 2020 21:10:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/tutorial_07/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;이번에 준비한 튜토리얼은 제 강의를 듣는 과거-현재-미래 수강생분들을 위해 준비한 자료이다. 많은 도움이 되기를 바란다&lt;/p&gt;&#xA;&lt;p&gt;이번에 준비한 Tutorial 코로나 세계현황을 &lt;code&gt;Shiny Dashboard&lt;/code&gt;로 만들어 가는 과정을 담았다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-이전-글-소개&#34;&gt;I. 이전 글 소개&lt;/h2&gt;&#xA;&lt;p&gt;처음 shiny를 접하거나 shiny의 전체 튜토리얼이 궁금한 사람들을 위해 이전 글을 소개한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_01/&#34;&gt;shiny tutorial 01 - get started&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_02/&#34;&gt;shiny tutorial 02 - Shiny Structure&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_03/&#34;&gt;shiny tutorial 03 - HTML content&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_04/&#34;&gt;shiny tutorial 04 - Shiny Layouts&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_05/&#34;&gt;shiny tutorial 05 - Sharing Apps&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_06/&#34;&gt;shiny tutorial 06 - shinydashboard&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-flexdashboard-패키지의-개요&#34;&gt;II. flexdashboard 패키지의 개요&lt;/h2&gt;&#xA;&lt;p&gt;기존의 &lt;code&gt;shinydashboard&lt;/code&gt;와의 가장 큰 차이점은 &lt;code&gt;flexdashboard&lt;/code&gt;의 패키지는 &lt;code&gt;R Markdown&lt;/code&gt;&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; 형식을 지원한다는 것이다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>shiny tutorial 06 - shinydashboard package</title>
      <link>https://dschloe.github.io/programming/2020/04/tutorial_06/</link>
      <pubDate>Wed, 01 Apr 2020 17:10:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/04/tutorial_06/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;이번에 준비한 튜토리얼은 제 강의를 듣는 과거-현재-미래 수강생분들을 위해 준비한 자료이다. 많은 도움이 되기를 바란다&lt;/p&gt;&#xA;&lt;p&gt;이번에 준비한 Tutorial 코로나 세계현황을 &lt;code&gt;Shiny Dashboard&lt;/code&gt;로 만들어 가는 과정을 담았다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-이전-글-소개&#34;&gt;I. 이전 글 소개&lt;/h2&gt;&#xA;&lt;p&gt;처음 shiny를 접하거나 shiny의 전체 튜토리얼이 궁금한 사람들을 위해 이전 글을 소개한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_01/&#34;&gt;shiny tutorial 01 - get started&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_02/&#34;&gt;shiny tutorial 02 - Shiny Structure&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_03/&#34;&gt;shiny tutorial 03 - HTML content&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_04/&#34;&gt;shiny tutorial 04 - Shiny Layouts&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_05/&#34;&gt;shiny tutorial 05 - Sharing Apps&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-shinydashboard-패키지의-개요&#34;&gt;II. shinydashboard 패키지의 개요&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;HTML content&lt;/code&gt;와 &lt;code&gt;Layouts&lt;/code&gt; 조작하는 것이 편해지면 대시보드를 만들 수 있다. 그런데, 문제는 대시보드 개발을 처음부터 하는 것과 어느정도 정해진 포맷을 활용하여 작성하는 것은 다르다. 반복해서 말하지만, 데이터분석가가 처음부터 개발해서 &lt;code&gt;사내 내부용 보고서&lt;/code&gt;를 꼭 작성해서 만들어야 하는가?하는가? 글쎄. 개인적으로 동의하기 어렵다. 핵심적인 내용의 지표만 산출 및 작성 요약하여 보고하는 것이 데이터 분석가의 기본적인 업무이자 핵심적인 업무이기 때문에, 다양한 대시보드를 빠르게 그러나 가독성있게 만드는 것이 중요하다. 어차피, 이러한 대시보드 역시, 시간이 지나면 결국엔 보는 사람만 본다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>shiny tutorial 05 - Sharing Apps</title>
      <link>https://dschloe.github.io/programming/2020/03/tutorial_05/</link>
      <pubDate>Tue, 31 Mar 2020 01:10:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/03/tutorial_05/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;이번에 준비한 튜토리얼은 제 강의를 듣는 과거-현재-미래 수강생분들을 위해 준비한 자료이다. 많은 도움이 되기를 바란다&lt;/p&gt;&#xA;&lt;p&gt;이번에 준비한 Tutorial 코로나 세계현황을 &lt;code&gt;Shiny Dashboard&lt;/code&gt;로 만들어 가는 과정을 담았다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-이전-글-소개&#34;&gt;I. 이전 글 소개&lt;/h2&gt;&#xA;&lt;p&gt;처음 shiny를 접하거나 shiny의 전체 튜토리얼이 궁금한 사람들을 위해 이전 글을 소개한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_01/&#34;&gt;shiny tutorial 01 - get started&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_02/&#34;&gt;shiny tutorial 02 - Shiny Structure&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_03/&#34;&gt;shiny tutorial 03 - HTML content&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://dschloe.github.io/r/shiny/tutorial_04/&#34;&gt;shiny tutorial 04 - Shiny Layouts&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-shiny-deployment의-개요&#34;&gt;II. Shiny Deployment의 개요&lt;/h2&gt;&#xA;&lt;p&gt;이 영역은 웹개발자에게는 매우 쉬운 영역일 수도 있다. 그러나, 웹 환경에 익숙하지 않은 R 유저에게는 조금 버거울 수도 있다. 2-3번 정도만 반복하면 쉽게 작업하게 될 것이고, Shiny를 클라우드 서버를 통해 배포하는 방법도 익힐 수 있다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pandas With Excel</title>
      <link>https://dschloe.github.io/programming/2020/03/pandas_with_excel/</link>
      <pubDate>Mon, 30 Mar 2020 11:15:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/03/pandas_with_excel/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/03/Pandas_with_Excel/pandas_logo.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-overview&#34;&gt;I. Overview&lt;/h2&gt;&#xA;&lt;p&gt;이번 포스트는 기존의 엑셀 사용자를 위해 준비했다. 엑셀에 익숙한 사람들에게 파이썬을 분석 용도로 사용하고자 하는 분들에게는 작은 도움이 되기를 바란다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ii-데이터-입출력&#34;&gt;II. 데이터 입출력&lt;/h2&gt;&#xA;&lt;p&gt;판다스는 다양한 형태의 외부 파일을 읽을 수 있다. &lt;code&gt;CSV&lt;/code&gt;, &lt;code&gt;MS Excel&lt;/code&gt;, &lt;code&gt;SQL&lt;/code&gt;, &lt;code&gt;HDF5 Format&lt;/code&gt;과 같은 파일 포맷을 읽을 수 있다. &lt;code&gt;파일 포맷(File Format)&lt;/code&gt;에 따른 데이터 입출력 도구에 관한 자료를 요약하면 다음과 같다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>shiny tutorial 04 - Layouts</title>
      <link>https://dschloe.github.io/programming/2020/03/tutorial_04/</link>
      <pubDate>Sun, 29 Mar 2020 23:50:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/03/tutorial_04/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;이번에 준비한 튜토리얼은 제 강의를 듣는 과거-현재-미래 수강생분들을 위해 준비한 자료이다. 많은 도움이 되기를 바란다&lt;/p&gt;&#xA;&lt;p&gt;이번에 준비한 Tutorial 코로나 세계현황을 &lt;code&gt;Shiny Dashboard&lt;/code&gt;로 만들어 가는 과정을 담았다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-이전-글-소개&#34;&gt;I. 이전 글 소개&lt;/h2&gt;&#xA;&lt;p&gt;처음 shiny를 접하거나 shiny의 전체 튜토리얼이 궁금한 사람들을 위해 이전 글을 소개한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/r/shiny/tutorial_01/&#34;&gt;shiny tutorial 01 - get started&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/r/shiny/tutorial_02/&#34;&gt;shiny tutorial 02 - Shiny Structure&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/r/shiny/tutorial_03/&#34;&gt;shiny tutorial 03 - HTML content&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-layouts의-개요&#34;&gt;II. Layouts의 개요&lt;/h2&gt;&#xA;&lt;p&gt;이번 시간에는 &lt;code&gt;Shiny Layouts&lt;/code&gt; 개요에 대한 간략적인 소개를 하려고 한다. 영어가 편하거나 중고급 개발자 분들은 &lt;a href=&#34;https://shiny.rstudio.com/articles/layout-guide.html&#34;&gt;Application layout guide&lt;/a&gt;를 참고하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>shiny tutorial 03 - HTML content</title>
      <link>https://dschloe.github.io/programming/2020/03/tutorial_03/</link>
      <pubDate>Fri, 27 Mar 2020 23:50:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/03/tutorial_03/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;이번에 준비한 튜토리얼은 제 강의를 듣는 과거-현재-미래 수강생분들을 위해 준비한 자료이다. 많은 도움이 되기를 바란다&lt;/p&gt;&#xA;&lt;p&gt;이번에 준비한 Tutorial 코로나 세계현황을 &lt;code&gt;Shiny Dashboard&lt;/code&gt;로 만들어 가는 과정을 담았다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-이전-글-소개&#34;&gt;I. 이전 글 소개&lt;/h2&gt;&#xA;&lt;p&gt;처음 shiny를 접하거나 shiny의 전체 튜토리얼이 궁금한 사람들을 위해 이전 글을 소개한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/r/shiny/tutorial_01/&#34;&gt;shiny tutorial 01 - get started&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://chloevan.github.io/r/shiny/tutorial_02/&#34;&gt;shiny tutorial 02 - Shiny Structure&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ii-html-content-개요&#34;&gt;II. HTML Content 개요&lt;/h2&gt;&#xA;&lt;p&gt;이번 시간에는 HTML Content 개요에 대한 간략적인 소개를 하려고 한다. 영어가 편하거나 중고급 개발자 분들은 &lt;a href=&#34;https://shiny.rstudio.com/articles/html-tags.html&#34;&gt;Customize your UI with HTML&lt;/a&gt;를 참고하기를 바란다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pandas Lambda Apply 함수 활용</title>
      <link>https://dschloe.github.io/programming/2020/03/apply/</link>
      <pubDate>Mon, 23 Mar 2020 20:10:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/03/apply/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/03/Pandas_with_Excel/pandas_logo.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-iterrows-itertuples-복습&#34;&gt;I. Iterrows, Itertuples 복습&lt;/h2&gt;&#xA;&lt;p&gt;이번 포스팅은 &lt;code&gt;For-loop&lt;/code&gt;의 대안에 관한 함수 &lt;code&gt;apply&lt;/code&gt;에 관한 내용이다. 본 포스트를 보고 학습하시기 전에 &lt;a href=&#34;https://chloevan.github.io/python/pandas/iterrows/&#34;&gt;Pandas Iterrows 함수 활용&lt;/a&gt;과 &lt;a href=&#34;https://chloevan.github.io/python/pandas/itertuples/&#34;&gt;Pandas Itertuples 함수 활용&lt;/a&gt;에서 학습 하기를 바란다.&lt;/p&gt;&#xA;&lt;p&gt;지난시간과 마찬가지로 데이터는 동일한 것을 쓰도록 한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pandas Itertuples 함수 활용</title>
      <link>https://dschloe.github.io/programming/2020/03/itertuples/</link>
      <pubDate>Sun, 22 Mar 2020 20:36:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/03/itertuples/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/03/Pandas_with_Excel/pandas_logo.png#center&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-iterrows&#34;&gt;I. Iterrows&lt;/h2&gt;&#xA;&lt;p&gt;이번 포스팅은 &lt;code&gt;Iterrows()&lt;/code&gt;의 확장개념입니다. 본 포스트를 보고 학습하시기 전에 &lt;a href=&#34;https://chloevan.github.io/python/pandas/iterrows/&#34;&gt;Pandas Iterrows 함수 활용&lt;/a&gt;에서 학습 하기를 바란다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ii-itertuples의-개념&#34;&gt;II. Itertuples의 개념&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;itertuples()&lt;/code&gt;는 기본적으로 &lt;code&gt;iterrows()&lt;/code&gt; 함수보다는 빠르다.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pandas &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; pd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; io&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; requests&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; pprint&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;https://raw.githubusercontent.com/chloevan/datasets/master/sports/baseball_stats.csv&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;url&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;requests&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(url)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;content&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;baseball_stats &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pd&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;read_csv(io&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;StringIO(url&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;decode(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;)))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pprint&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;pprint(baseball_stats&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;head())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;  Team League  Year   RS   RA   W   OBP   SLG    BA  Playoffs  RankSeason  \&#xA;0  ARI     NL  2012  734  688  81  0.33  0.42  0.26         0         NaN   &#xA;1  ATL     NL  2012  700  600  94  0.32  0.39  0.25         1         4.0   &#xA;2  BAL     AL  2012  712  705  93  0.31  0.42  0.25         1         5.0   &#xA;3  BOS     AL  2012  734  806  69  0.32  0.41  0.26         0         NaN   &#xA;4  CHC     NL  2012  613  759  61  0.30  0.38  0.24         0         NaN   &#xA;&#xA;   RankPlayoffs    G  OOBP  OSLG  &#xA;0           NaN  162  0.32  0.41  &#xA;1           5.0  162  0.31  0.38  &#xA;2           4.0  162  0.32  0.40  &#xA;3           NaN  162  0.33  0.43  &#xA;4           NaN  162  0.34  0.42  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;iii-조건부-행-추출&#34;&gt;III. 조건부 행 추출&lt;/h2&gt;&#xA;&lt;p&gt;드디어 Python 데이터 분석가로 보스턴 레드박스&lt;code&gt;(BOS)&lt;/code&gt;야구팀에 취직을 했다고 가정을 해보자. 단장이 2008 ~ 2010년까지의 득점과 실점의 차이를 보고 싶다고 요청을 해왔다. 이럴 때 어떻게 해야 할까?&lt;/p&gt;</description>
    </item>
    <item>
      <title>shiny tutorial 02 - Shiny Structure</title>
      <link>https://dschloe.github.io/programming/2020/03/tutorial_02/</link>
      <pubDate>Sun, 22 Mar 2020 12:33:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/03/tutorial_02/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;이번에 준비한 튜토리얼은 제 강의를 듣는 과거-현재-미래 수강생분들을 위해 준비한 자료이다. 많은 도움이 되기를 바란다&lt;/p&gt;&#xA;&lt;p&gt;이번에 준비한 Tutorial 코로나 세계현황을 &lt;code&gt;Shiny Dashboard&lt;/code&gt;로 만들어 가는 과정을 담았다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-shiny-소개&#34;&gt;I. Shiny 소개&lt;/h2&gt;&#xA;&lt;p&gt;지난시간에 Shiny에 관한 대략적인 소개를 했다. 처음 이 페이지를 방문한 사람들 위해 &lt;a href=&#34;https://chloevan.github.io/r/shiny/tutorial_01/&#34;&gt;shiny tutorial 01 - get started&lt;/a&gt; 에서 짧게 확인하기를 바란다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ii-shiny-app-structure&#34;&gt;II. Shiny App Structure&lt;/h2&gt;&#xA;&lt;p&gt;아래 샘플 코드를 확인하자.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# load the shiny package&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;library&lt;/span&gt;(shiny)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 화면 구성 (UI) - 프론트엔드&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ui &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;fluidPage&lt;/span&gt;(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;numericInput&lt;/span&gt;(inputId &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;n&amp;#34;&lt;/span&gt;, label &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Sample size&amp;#34;&lt;/span&gt;, value &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;25&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;plotOutput&lt;/span&gt;(outputId &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;hist&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 서버 구성 - 벡엔드&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;server &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt;(input, output) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  output&lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;hist &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;renderPlot&lt;/span&gt;({&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;hist&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;rnorm&lt;/span&gt;(input&lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt;n))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 결과물을 만들어내는 코드 작성&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  })&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# shiny app 호출&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 프로젝트 진행 시, 폴더 안에&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 파일명은 app.R 형태로 저장한다. &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;shinyApp&lt;/span&gt;(ui &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ui, server &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; server)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## &#xA;## Listening on http://127.0.0.1:7908&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img src=&#34;https://dschloe.github.io/img/programming/2020/03/tutorial_02/shiny01.png&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>shiny tutorial 01 - get started</title>
      <link>https://dschloe.github.io/programming/2020/03/tutorial_01/</link>
      <pubDate>Sat, 21 Mar 2020 12:33:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/03/tutorial_01/</guid>
      <description>&lt;h2 id=&#34;공지&#34;&gt;공지&lt;/h2&gt;&#xA;&lt;p&gt;이번에 준비한 튜토리얼은 제 강의를 듣는 과거-현재-미래 수강생분들을 위해 준비한 자료이다. 많은 도움이 되기를 바란다&lt;/p&gt;&#xA;&lt;p&gt;이번에 준비한 Tutorial 코로나 세계현황을 &lt;code&gt;Shiny Dashboard&lt;/code&gt;로 만들어 가는 과정을 담았다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;i-shiny-소개&#34;&gt;I. Shiny 소개&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;Shiny&lt;/code&gt;는 &lt;code&gt;R&lt;/code&gt;에서 제공하는 일종의 &lt;code&gt;Web Framework&lt;/code&gt;이다. 기존 웹사이트와 다르게, 주요 목적은 데이터를 활용해서 대시보드를 만드는 것에 초점이 맞춰져 있다.&lt;/p&gt;&#xA;&lt;p&gt;가장 큰 장점은 &lt;code&gt;무료&lt;/code&gt;로 &lt;code&gt;빠른 프로토타입&lt;/code&gt;을 만들 수 있고, &lt;code&gt;HTML&lt;/code&gt;, &lt;code&gt;CSS&lt;/code&gt;,  &lt;code&gt;Javascript&lt;/code&gt;와 직접적으로 호환이 되기 때문에 무한한 &lt;code&gt;확장성&lt;/code&gt;이 있다. 바로 중급 레벨에서 배우고 싶으시다면 &lt;a href=&#34;https://shiny.rstudio.com/tutorial/&#34;&gt;Intermediate Level&lt;/a&gt;을 클릭한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pandas Iterrows 함수 활용</title>
      <link>https://dschloe.github.io/programming/2020/03/iterrows/</link>
      <pubDate>Fri, 20 Mar 2020 20:32:10 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/03/iterrows/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-iterrows의-개념&#34;&gt;I. Iterrows의 개념&lt;/h2&gt;&#xA;&lt;p&gt;데이터 전처리를 진행할 때, 데이터프레임에서 행에 반복적으로 접근을 하면서 값을 추출하거나 또는 그 값을 조작하는 일이 발생한다. 예를 들면, 특정 컬럼 A의 값에서 대문자 A를 찾아내 소문자 b로 변경한다고 가정해보자. 이런 경우에는 언제나 For-loop를 통한 반복문 코드 작성을 만들어야 한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Machine Learning Tutorial 02 - Regression (2)</title>
      <link>https://dschloe.github.io/programming/2020/03/ml01_regression2/</link>
      <pubDate>Fri, 20 Mar 2020 13:11:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/03/ml01_regression2/</guid>
      <description>&lt;h2 id=&#34;i-지도-학습-vs-비지도-학습&#34;&gt;I. 지도 학습 VS 비지도 학습&lt;/h2&gt;&#xA;&lt;p&gt;머신러닝은 크게 두 가지 유형으로 분류한다. 우선 아래 표를 보자.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;구분&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;지도학습&lt;br&gt;(Supervised Learning)&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;비지도 학습&lt;br&gt;(Unsupervised Learning)&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;알고리즘&lt;br&gt;(분석모형)&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;회귀분석&lt;br&gt;분류모형&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;군집분석&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;특징&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;정답을 알고 있는 상태에서 학습&lt;br&gt;모형 평가 방법이 다양한 편&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;정답이 없는 상태에서 서로 비슷한 데이터를 찾아서 그룹화&lt;br&gt;모형 평가 방법이 제한적&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;center&gt;출처: 오승환 (2019). 파이썬 머신러닝 판다스 데이터 분석 (p. 285)&lt;/center&gt;&#xA;&lt;p&gt;&lt;code&gt;지도학습(Supervised Learning)&lt;/code&gt;은 종속변수(Dependent Variable) 선정이 매우 중요하며. 종속변수 선정과 함께 데이터 분석도 같이 병행이 된다. 그러나 &lt;code&gt;비지도학습(Unsupervised Learning)&lt;/code&gt;은 데이터가 많은데, 어떻게 분류하면 좋을지 모를 때 서로 비슷한 특징끼리 결합 및 그룹화 하는 것을 말한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Machine Learning Tutorial 01 - Regression (1)</title>
      <link>https://dschloe.github.io/programming/2020/03/ml01_regression/</link>
      <pubDate>Thu, 19 Mar 2020 18:11:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/03/ml01_regression/</guid>
      <description>&lt;h2 id=&#34;i-지도-학습-vs-비지도-학습&#34;&gt;I 지도 학습 VS 비지도 학습&lt;/h2&gt;&#xA;&lt;p&gt;머신러닝은 크게 두 가지 유형으로 분류한다. 우선 아래 표를 보자.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;구분&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;지도학습&lt;br&gt;(Supervised Learning)&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;비지도 학습&lt;br&gt;(Unsupervised Learning)&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;알고리즘&lt;br&gt;(분석모형)&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;회귀분석&lt;br&gt;분류모형&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;군집분석&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;특징&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;정답을 알고 있는 상태에서 학습&lt;br&gt;모형 평가 방법이 다양한 편&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;정답이 없는 상태에서 서로 비슷한 데이터를 찾아서 그룹화&lt;br&gt;모형 평가 방법이 제한적&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;center&gt;출처: 오승환 (2019). 파이썬 머신러닝 판다스 데이터 분석 (p. 285)&lt;/center&gt;&#xA;&lt;p&gt;&lt;code&gt;지도학습(Supervised Learning)&lt;/code&gt;은 종속변수(Dependent Variable) 선정이 매우 중요하며. 종속변수 선정과 함께 데이터 분석도 같이 병행이 된다. 그러나 &lt;code&gt;비지도학습(Unsupervised Learning)&lt;/code&gt;은 데이터가 많은데, 어떻게 분류하면 좋을지 모를 때 서로 비슷한 특징끼리 결합 및 그룹화 하는 것을 말한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Leaflet for R</title>
      <link>https://dschloe.github.io/programming/2020/03/graph01_leaflet/</link>
      <pubDate>Tue, 17 Mar 2020 20:33:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/03/graph01_leaflet/</guid>
      <description>&lt;h2 id=&#34;1-introduction&#34;&gt;1. Introduction&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;Leaflet&lt;/code&gt; 패키지는 동적 지도 시각화를 위한 자바스크립트-오픈소스 기반 라이브러리입니다. 일반적인 기업 회사 뿐만 아니라 GIS 전문 회사인 &lt;a href=&#34;http://www.openstreetmap.org/&#34;&gt;OpenStreetMap&lt;/a&gt;, &lt;a href=&#34;http://www.mapbox.com/&#34;&gt;Mapbox&lt;/a&gt;, 그리고 &lt;a href=&#34;http://cartodb.com/&#34;&gt;CartoDB&lt;/a&gt;에서도 이 패키지를 사용하고 있습니다.&lt;/p&gt;&#xA;&lt;p&gt;R의 &lt;code&gt;leaflet&lt;/code&gt; 패키지는 일종의 자바스크립트의 &lt;code&gt;Leaflet&lt;/code&gt;을 쉽게 연동(Integrate) 할 수 있도록 도와 주는 패키지입니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;2-features&#34;&gt;2. Features&lt;/h2&gt;&#xA;&lt;p&gt;패키지의 주요 특징은 아래와 같습니다. 오역 방지를 위해 원문에 있는 내용을 그대로 사용했습니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Interactive panning/zooming&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Compose maps using arbitrary combinations of:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Map tiles&lt;/li&gt;&#xA;&lt;li&gt;Markers&lt;/li&gt;&#xA;&lt;li&gt;Polygons&lt;/li&gt;&#xA;&lt;li&gt;Lines&lt;/li&gt;&#xA;&lt;li&gt;Popups&lt;/li&gt;&#xA;&lt;li&gt;GeoJSON&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Create maps right from the R console or RStudio&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow For R - Quick Start</title>
      <link>https://dschloe.github.io/programming/2020/03/settings01_installation_r/</link>
      <pubDate>Mon, 16 Mar 2020 20:33:39 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/03/settings01_installation_r/</guid>
      <description>&lt;h2 id=&#34;1-개요-overview&#34;&gt;1. 개요 (Overview)&lt;/h2&gt;&#xA;&lt;p&gt;tensorflow(텐서플로) R 패키지를 사용하기 전에 시스템에 TensorFlow 버전을 설치해야 한다. 아래에서는 TensorFlow 설치 방법과 설치 사용자 정의에 사용할 수 있는 다양한 옵션에 대해 설명 한다.&lt;/p&gt;&#xA;&lt;p&gt;이번 포스트에서는 주로 R &lt;code&gt;install_tensorflow()&lt;/code&gt; 함수의 사용을 다루며, 이는 TensorFlow를 설치하는 데 필요한 다양한 단계에서 &lt;code&gt;wrapper&lt;/code&gt; 쉽게 사용할 수 있도록 도와 준다.&lt;/p&gt;&#xA;&lt;p&gt;Tensorflow(텐서플로)는 아래와 같은 OS 환경에서 구동이 된다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ubuntu 16.04 or later&lt;/li&gt;&#xA;&lt;li&gt;Windows 7 or later&lt;/li&gt;&#xA;&lt;li&gt;macOS 10.12.6 (Sierra) or later (no GPU support)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;2-설치-installation&#34;&gt;2. 설치 (Installation)&lt;/h2&gt;&#xA;&lt;p&gt;R 패키지 설치하는 방법과 동일하다&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tensorflow 2.0 Installation</title>
      <link>https://dschloe.github.io/programming/2020/03/settings01_installation/</link>
      <pubDate>Sun, 15 Mar 2020 21:32:47 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/03/settings01_installation/</guid>
      <description>&lt;h2 id=&#34;강의-홍보&#34;&gt;강의 홍보&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;i-개요&#34;&gt;I. 개요&lt;/h2&gt;&#xA;&lt;p&gt;pip를 사용하여 TensorFlow 설치를 해본다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ii-시스템-요구사항&#34;&gt;II. 시스템 요구사항&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Python 3.5-3.7&lt;/li&gt;&#xA;&lt;li&gt;pip 19.0 이상(manylinux2010 지원 필요)&lt;/li&gt;&#xA;&lt;li&gt;Ubuntu 16.04 이상(64비트)&lt;/li&gt;&#xA;&lt;li&gt;macOS 10.12.6(Sierra) 이상(64비트)(GPU 지원 없음)&lt;/li&gt;&#xA;&lt;li&gt;Windows 7 이상(64비트)(Python 3만 해당)&lt;/li&gt;&#xA;&lt;li&gt;Raspbian 9.0 이상&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.tensorflow.org/install/gpu?hl=ko&#34;&gt;GPU&lt;/a&gt; 지원에는 CUDA® 지원 카드 필요(Ubuntu 및 Windows)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;참고: TensorFlow2를 설치하려면 최신 버전의 pip가 필요하다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>PLS-SEM에서 중요 용어 비교</title>
      <link>https://dschloe.github.io/programming/2020/03/stat01_hypothesis/</link>
      <pubDate>Sun, 15 Mar 2020 21:23:58 +0900</pubDate>
      <guid>https://dschloe.github.io/programming/2020/03/stat01_hypothesis/</guid>
      <description>&lt;h2 id=&#34;개요&#34;&gt;개요&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PLS-SEM에서의 가설 설정은 선행연구의 검토과정을 통해서 이루어지며 귀무가설은 기술하지 않고 대립가설을 중심으로 설정한다.&lt;/li&gt;&#xA;&lt;li&gt;연구가설은 &lt;code&gt;방향적 검증(Directional Test)&lt;/code&gt;와 &lt;code&gt;비방향적 검증(Non-Directional Test)&lt;/code&gt;으로 구분한다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;r-강의-소개&#34;&gt;R 강의 소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;필자의 강의: 왕초보 데이터 분석 with R&#xA;&lt;ul&gt;&#xA;&lt;li&gt;쿠폰 유효일은 2021년 10월 30일까지입니다.&lt;/li&gt;&#xA;&lt;li&gt;링크: &lt;a href=&#34;https://www.udemy.com/course/beginner_with_r/?couponCode=5BF397C9A1E46079627D&#34;&gt;https://www.udemy.com/course/beginner_with_r/?couponCode=5BF397C9A1E46079627D&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;현재 강의를 계속 찍고 있고, 가격은 한 Section이 끝날 때마다 조금씩 올릴 예정입니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;python-강의-소개&#34;&gt;Python 강의 소개&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;취준생을 위한 강의를 제작하였습니다.&lt;/li&gt;&#xA;&lt;li&gt;본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;스타벅스 아이스 아메리카노를 선물&lt;/code&gt;로 보내드리겠습니다.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D-%EC%BA%90%EA%B8%80%EC%9E%85%EB%AC%B8?inst=46ae3c78&#34;&gt;[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기&lt;/a&gt;&#xA;&lt;img src=&#34;https://dschloe.github.io/img/lecture_ad/lecture_ad_01.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Privacy Policy</title>
      <link>https://dschloe.github.io/programming/2020/03/privacy/</link>
      <pubDate>Sun, 15 Mar 2020 00:00:00 +0000</pubDate>
      <guid>https://dschloe.github.io/programming/2020/03/privacy/</guid>
      <description>&lt;p&gt;Who we are&lt;/p&gt;&#xA;&lt;p&gt;Suggested text: Our website address is: &lt;a href=&#34;https://dschloe.github.io/&#34;&gt;https://dschloe.github.io/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;​&#xA;Comments&lt;/p&gt;&#xA;&lt;p&gt;Suggested text: When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection.&lt;/p&gt;&#xA;&lt;p&gt;An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: &lt;a href=&#34;https://automattic.com/privacy/&#34;&gt;https://automattic.com/privacy/&lt;/a&gt;. After approval of your comment, your profile picture is visible to the public in the context of your comment.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
