<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>~</title>
    <link>https://jiji0406.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Sun, 28 Jun 2026 23:50:53 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>JiJi0406</managingEditor>
    <image>
      <title>~</title>
      <url>https://tistory1.daumcdn.net/tistory/8683090/attach/7d267db87f6d488493adac1fac0dd16f</url>
      <link>https://jiji0406.tistory.com</link>
    </image>
    <item>
      <title>[내일배움캠프 QA/QC 6기] TIL #033</title>
      <link>https://jiji0406.tistory.com/37</link>
      <description>&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;s&gt;&lt;span style=&quot;color: #666666;&quot;&gt;오늘 내용 진짜 없음...&lt;/span&gt;&lt;/s&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;001&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;오늘의 코드카타&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;42.&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/147355&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #0593d3;&quot;&gt;크기가 작은 부분문자열&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #000000;&quot;&gt;&lt;b&gt;&lt;br /&gt;문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;숫자로&amp;nbsp;이루어진&amp;nbsp;문자열&amp;nbsp;t와&amp;nbsp;p가&amp;nbsp;주어질&amp;nbsp;때,&amp;nbsp;t에서&amp;nbsp;p와&amp;nbsp;길이가&amp;nbsp;같은&amp;nbsp;부분문자열&amp;nbsp;중에서,&amp;nbsp;이&amp;nbsp;부분문자열이&amp;nbsp;나타내는&amp;nbsp;수가&amp;nbsp;p가&amp;nbsp;나타내는&amp;nbsp;수보다&amp;nbsp;작거나&amp;nbsp;같은&amp;nbsp;것이&amp;nbsp;나오는&amp;nbsp;횟수를&amp;nbsp;return하는&amp;nbsp;함수&amp;nbsp;solution을&amp;nbsp;완성하세요. &lt;br /&gt;&lt;br /&gt;예를&amp;nbsp;들어,&amp;nbsp;t=&quot;3141592&quot;이고&amp;nbsp;p=&quot;271&quot;&amp;nbsp;인&amp;nbsp;경우,&amp;nbsp;t의&amp;nbsp;길이가&amp;nbsp;3인&amp;nbsp;부분&amp;nbsp;문자열은&amp;nbsp;314,&amp;nbsp;141,&amp;nbsp;415,&amp;nbsp;159,&amp;nbsp;592입니다.&amp;nbsp;이&amp;nbsp;문자열이&amp;nbsp;나타내는&amp;nbsp;수&amp;nbsp;중&amp;nbsp;271보다&amp;nbsp;작거나&amp;nbsp;같은&amp;nbsp;수는&amp;nbsp;141,&amp;nbsp;159&amp;nbsp;2개&amp;nbsp;입니다.&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;제한사항&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;1 &amp;le; p의 길이 &amp;le; 18&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;p의 길이 &amp;le; t의 길이 &amp;le; 10,000&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;t와&amp;nbsp;p는&amp;nbsp;숫자로만&amp;nbsp;이루어진&amp;nbsp;문자열이며,&amp;nbsp;0으로&amp;nbsp;시작하지&amp;nbsp;않습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1782471314553&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(t, p):
    answer = 0
    n = len(t)
    m = len(p)
    for i in range(n-m+1):
        if int(t[i:i+m]) &amp;lt;= int(p):
            answer += 1        
    return answer&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #000000;&quot;&gt;002&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #000000;&quot;&gt;&lt;b&gt;오늘 학습한 내용&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 예측모델링 프로세스&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1) 흐름&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;데이터 수집 &amp;rarr; EDA &amp;rarr; (전처리) &amp;rarr; 모델링 &amp;rarr; 평가&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2) 데이터 수집 단계&lt;/b&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Data Source 종류: OLTP(실시간 트랜잭션 처리), Enterprise Application(회사 내부 데이터), Third-Party(구글 애널리틱스 같은 외부 소스), Web/Log(사용자 로그)&lt;/li&gt;
&lt;li&gt;회사 데이터가 없으면 CSV/엑셀 다운로드, API, 크롤링으로 직접 수집&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 탐색적 데이터 분석 (EDA)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1) EDA란&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;시각화, 기술통계로 &lt;b&gt;데이터를 이해하고 탐구&lt;/b&gt;하는 과정&lt;/li&gt;
&lt;li&gt;데이터 자체에 대한 정보뿐 아니라 &quot;&lt;b&gt;&lt;span style=&quot;color: #ef5369;&quot;&gt;어떤 모델링이 적합할지&lt;/span&gt;&lt;/b&gt;&quot; 힌트도 여기서 얻을 수 있음!! &amp;rarr; 예측 모델링이 아니어도 데이터 분석에선 필수 과정&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2) 기술통계로 EDA&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;describe()&lt;/b&gt;로 기본 통계량 확인 (include='all' 옵션 주면 범주형 데이터도 같이 볼 수 있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3) 시각화 plot 정리&lt;/b&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시각화는과제도 해보고 프로젝트도 해봐서 이미 아는 내용이지만 한번 더 정리해봄&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;countplot: 범주형 데이터 카테고리별 빈도수 (x: 범주형, y: 빈도) (예: 제품 카테고리별 판매수)&lt;/li&gt;
&lt;li&gt;barplot: 범주형 카테고리별 수치 데이터 평균 비교 (x: 범주형, y: 연속형) (예: 연령대별 평균소득)&lt;/li&gt;
&lt;li&gt;boxplot: 분포, 중앙값, 사분위수, 이상치를 한눈에 (x: 수치형 또는 범주형, y: 수치형) (예: 그룹별 시험점수 분포 비교)&lt;/li&gt;
&lt;li&gt;histogram: 연속형 데이터의 분포, 몰려있는 구간 파악 (x: 수치형, y: 빈도) (예: 고객 연령 분포)&lt;/li&gt;
&lt;li&gt;scatterplot: 두 연속형 변수 간 관계 파악 (x, y 둘 다 수치형) (예: 키와 몸무게 관계)&lt;/li&gt;
&lt;li&gt;pairplot: 여러 변수를 한 번에 다 시각화, 대각선엔 히스토그램(분포) 들어감&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;rarr; 그래프 종류별로&lt;b&gt; &quot;범주형이냐 수치형이냐&quot;&lt;/b&gt;에 따라 골라 쓰면 됨&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘은 개인적인 공부를 하는데 시간을 좀 써서... 실습한 거랑 라이브세션 복습한 내용은 정리할 시간이 없었따&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;960&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dC3RGP/dJMcabLyOrb/oULyZh301Ays0EVDKPf1Fk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dC3RGP/dJMcabLyOrb/oULyZh301Ays0EVDKPf1Fk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dC3RGP/dJMcabLyOrb/oULyZh301Ays0EVDKPf1Fk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdC3RGP%2FdJMcabLyOrb%2FoULyZh301Ays0EVDKPf1Fk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;219&quot; height=&quot;175&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;960&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;부캠 경험자이신 매니저님께서, 지금이 부캠하면서 제일 힘든 시기라고 하셨는데 맞는 거 같다...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초반엔 그냥 주어진 공부 해야하는 일들 정신없이 막 하느라 별 생각이 없었는데 지금은 이 생활에 익숙해져서 그런가 전보다 해이해진 것 같고... 공부하는 내용도 어려워져서 의욕도 떨어지고......&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에효 모르겠다 다음주부터 다시 갓생 ㄱㄱ&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>Today I Learned</category>
      <author>JiJi0406</author>
      <guid isPermaLink="true">https://jiji0406.tistory.com/37</guid>
      <comments>https://jiji0406.tistory.com/37#entry37comment</comments>
      <pubDate>Fri, 26 Jun 2026 21:07:05 +0900</pubDate>
    </item>
    <item>
      <title>[내일배움캠프 QA/QC 6기] TIL #032</title>
      <link>https://jiji0406.tistory.com/35</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;001&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;오늘의 코드카타&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;42.&lt;span&gt; &lt;/span&gt;&lt;span style=&quot;color: #0593d3;&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/131705&quot;&gt;삼총사&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #000000;&quot;&gt;&lt;b&gt;&lt;br /&gt;문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;한국중학교에 다니는 학생들은 각자 정수 번호를 갖고 있습니다. 이 학교 학생 3명의 정수 번호를 더했을 때 0이 되면 3명의 학생은 삼총사라고 합니다. 예를 들어, 5명의 학생이 있고, 각각의 정수 번호가 순서대로 -2, 3, 0, 2, -5일 때, 첫 번째, 세 번째, 네 번째 학생의 정수 번호를 더하면 0이므로 세 학생은 삼총사입니다. 또한, 두 번째, 네 번째, 다섯 번째 학생의 정수 번호를 더해도 0이므로 세 학생도 삼총사입니다. 따라서 이 경우 한국중학교에서는 두 가지 방법으로 삼총사를 만들 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한국중학교&lt;span&gt; &lt;/span&gt;학생들의&lt;span&gt; &lt;/span&gt;번호를&lt;span&gt; &lt;/span&gt;나타내는&lt;span&gt; &lt;/span&gt;정수&lt;span&gt; &lt;/span&gt;배열&lt;span&gt;&amp;nbsp;number&lt;/span&gt;가&lt;span&gt; &lt;/span&gt;매개변수로&lt;span&gt; &lt;/span&gt;주어질&lt;span&gt; &lt;/span&gt;때&lt;span&gt;, &lt;/span&gt;학생들&lt;span&gt; &lt;/span&gt;중&lt;span&gt; &lt;/span&gt;삼총사를&lt;span&gt; &lt;/span&gt;만들&lt;span&gt; &lt;/span&gt;수&lt;span&gt; &lt;/span&gt;있는&lt;span&gt; &lt;/span&gt;방법의&lt;span&gt; &lt;/span&gt;수를&lt;span&gt; return &lt;/span&gt;하도록&lt;span&gt; solution &lt;/span&gt;함수를&lt;span&gt; &lt;/span&gt;완성하세요&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;제한사항&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3 &amp;le;&amp;nbsp;number의 길이 &amp;le; 13&lt;/li&gt;
&lt;li&gt;-1,000 &amp;le;&amp;nbsp;number의 각 원소 &amp;le; 1,000&lt;/li&gt;
&lt;li&gt;&amp;nbsp;서로 다른 학생의 정수 번호가 같을 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;입출력 예&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 81.9767%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 53.2558%;&quot;&gt;&lt;span&gt;number&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 28.6046%;&quot;&gt;&lt;span&gt;result&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 53.2558%;&quot;&gt;&lt;span&gt;[-2, 3, 0, 2, -5]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 28.6046%;&quot;&gt;&lt;span&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 53.2558%;&quot;&gt;&lt;span&gt;[-3, -2, -1, 0, 1, 2, 3]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 28.6046%;&quot;&gt;&lt;span&gt;5&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 53.2558%;&quot;&gt;&lt;span&gt;[-1, 1, -1, 1]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 28.6046%;&quot;&gt;&lt;span&gt;0&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1782387491120&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(number):
    answer = 0
    n = len(number)
    
    for i in range(n): # 첫 번째 학생 고르기
        for j in range(i + 1, n): # 두 번째 학생은 첫 번째 학생 다음부터
            for k in range(j + 1, n): # 세 번째 학생은 두 번째 학생 다음부터
                if number[i] + number[j] + number[k] == 0:
                    answer += 1 # 세 학생의 번호 합이 0이면 삼총사로 카운트
    return answer&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #000000;&quot;&gt;002&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #000000;&quot;&gt;&lt;b&gt;오늘 학습한 내용&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;[ 머신러닝의 이해와 라이브러리 활용 기초 ]&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;로지스틱 회귀 - 타이타닉 생존자 예측&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 가설 세우고 확인하기&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;i&gt;&quot;비상상황 특성상 여성을 배려해서 많이 생존했을 것이다&quot;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;피벗테이블로 먼저 확인하고, 그 다음 그래프로도 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1782388224405&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import pandas as pd

titanic_df = pd.read_csv(&quot;/content/train.csv&quot;, encoding='utf-8')
#숫자: Age, SibSp, Parch, Fare
#범주형 : Pclass, Sex, Cabin, Embarked

pd.pivot_table(titanic_df, index = &quot;Sex&quot;, columns = 'Survived', aggfunc = 'size')

import seaborn as sns
sns.countplot(titanic_df, x = 'Sex', hue = 'Survived')&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;571&quot; data-origin-height=&quot;432&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cXKib0/dJMcagMPI9J/tlLiIlgwVWEwQ0aMI6kR6K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cXKib0/dJMcagMPI9J/tlLiIlgwVWEwQ0aMI6kR6K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cXKib0/dJMcagMPI9J/tlLiIlgwVWEwQ0aMI6kR6K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcXKib0%2FdJMcagMPI9J%2FtlLiIlgwVWEwQ0aMI6kR6K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;571&quot; height=&quot;432&quot; data-origin-width=&quot;571&quot; data-origin-height=&quot;432&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 로지스틱 회귀가 왜 필요??&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;① &lt;b&gt;선형회귀로는 안 되는 이유&lt;/b&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Y가 &quot;특정 값이 될 확률&quot;이면 &lt;b&gt;0~1 사이&lt;/b&gt;여야 하는데, &lt;span style=&quot;color: #006dd7;&quot;&gt;선형회귀로 예측하면 그 범위를 넘어갈 수 있음&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;그래서 S자 형태 함수(로지스틱 함수)를 써서 무조건 0~1 사이로 결과가 나오게 만든 게 로지스틱 회귀&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;② &lt;b&gt;로짓 / 오즈비&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;오즈비(승산비)&lt;/b&gt;는 &lt;u&gt;실패확률 대비 성공확률&lt;/u&gt;, P(확률)가 증가할수록 오즈비가 급격히 커져서 선형성이 깨짐&lt;/li&gt;
&lt;li&gt;&amp;rarr; 로그를 씌워서(로짓) 완만하게 만들어줌&lt;/li&gt;
&lt;li&gt;보통 확률&lt;b&gt; 0.5&lt;/b&gt;를 임계값(threshold)으로 잡고, 그 이상이면 1(생존)로 판단!&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. 분류 모델 평가는 정확도만 보면 XXX&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1) 정확도의 함정&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(예시) 100명 중 95명 정상, 5명 암환자인데 모델이 &quot;다 정상&quot;이라고만 찍어도&lt;b&gt; 정확도 95%&lt;/b&gt;가 나옴&lt;/li&gt;
&lt;li&gt;근데 진짜 중요한 암환자는 하나도 못 맞춘 것 &amp;rarr; 정확도만 보면 이런 사기 모델을 못 걸러냄!!&lt;/li&gt;
&lt;li&gt;Y값이 불균형(unbalance)할 때 특히 이런 문제 발생&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2) 혼동 행렬 (Confusion Matrix)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;659&quot; data-origin-height=&quot;297&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sVK4g/dJMcaiw4hSI/iMX7w0aDoWBkwIb1Fq3kBK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sVK4g/dJMcaiw4hSI/iMX7w0aDoWBkwIb1Fq3kBK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sVK4g/dJMcaiw4hSI/iMX7w0aDoWBkwIb1Fq3kBK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsVK4g%2FdJMcaiw4hSI%2FiMX7w0aDoWBkwIb1Fq3kBK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;659&quot; height=&quot;297&quot; data-origin-width=&quot;659&quot; data-origin-height=&quot;297&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제값/예측값 조합을 2x2로 표현한 것&lt;/li&gt;
&lt;li&gt;TP(양성을 양성으로 맞춤), FP(음성인데 양성으로 잘못 예측), FN(양성인데 음성으로 잘못 예측), TN(음성을 음성으로 맞춤)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3) 평가지표&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정밀도(Precision): 모델이 &lt;b&gt;양성이라고 예측&lt;/b&gt;한 것 중 &lt;b&gt;진짜 양성&lt;/b&gt;인 비율&lt;/li&gt;
&lt;li&gt;재현율(Recall): &lt;b&gt;실제 양성&lt;/b&gt; 중 &lt;b&gt;모델이 양성&lt;/b&gt;으로 맞춘 비율&amp;nbsp;&lt;/li&gt;
&lt;li&gt;F1-Score: 정밀도와 재현율의 조화평균 &amp;rarr; (정밀도&amp;times;재현율)/(정밀도+재현율) &amp;rarr; 위의 &quot;다 정상이라고 찍는 모델&quot;은 정밀도 계산 자체가 안 되고(0으로 나누기), 재현율도 0이라서 F1-Score도 0이 됨 &amp;rarr; 이래서 불균형 데이터에는 정확도 대신 F1-score를 쓰는 것&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. 실습 - 타이타닉 데이터로 로지스틱 회귀&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터 불러오고 변수 타입(숫자형/범주형) 확인,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;X는 Fare, Y는 Survived로 설정해서 분석 시작함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1) LogisticRegression 모델 만들고 학습시킴&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;from sklearn.linear_model import LogisticRegression

model_lor = LogisticRegression()
model_lor.fit(X_1, y_true)
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2) 모델 학습 후 속성들 함수로 확인&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;def get_att(x):
  print('클래스 종류', x.classes_)
  print('독립변수 개수', x.n_features_in_)
  print('들어간 독립변수(x)의 이름', x.feature_names_in_)
  print('가중치', x.coef_)
  print('바이러스', x.intercept_)

get_att(model_lor)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클래스&amp;nbsp;종류&amp;nbsp;[0&amp;nbsp;1]&lt;br /&gt;독립변수&amp;nbsp;개수&amp;nbsp;1&lt;br /&gt;들어간&amp;nbsp;독립변수(x)의&amp;nbsp;이름&amp;nbsp;['Fare']&lt;br /&gt;가중치&amp;nbsp;[[0.01519617]]&lt;br /&gt;바이러스&amp;nbsp;[-0.94129222]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3) predict로 예측값 뽑고, 정확도(accuracy_score)와 F1-score(f1_score)로 평가&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;from sklearn.metrics import accuracy_score, f1_score
def get_metrics(true, pred):
  print('정확도', accuracy_score(true, pred))
  print('f1_score', f1_score(true, pred))

y_pred_1 = model_lor.predict(X_1)

get_metrics(y_true, y_pred_1)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정확도&amp;nbsp;0.6655443322109988&lt;br /&gt;f1_score&amp;nbsp;0.354978354978355&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;rarr; 정확도는 0.66인데 &lt;b&gt;F1-score는 0.35&lt;/b&gt;로 꽤 낮음&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;rarr;&lt;b&gt; Fare 하나로만 예측하기엔 부족&lt;/b&gt;하다는 신호인듯 (생존 여부가 불균형 or Fare만으론 설명력이 부족)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; 선형회귀 vs 로지스틱회귀 평가지표 비교&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 146px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 17.9845%; height: 19px;&quot;&gt;&lt;b&gt;구분&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 41.4728%; height: 19px;&quot;&gt;&lt;b&gt;선형회귀 (회귀) &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 40.5426%; height: 19px;&quot;&gt;&lt;b&gt;로지스틱회귀&lt;/b&gt;&lt;b&gt; (분류)&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 17.9845%; height: 19px;&quot;&gt;&lt;b&gt;무엇을 예측?&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 41.4728%; height: 19px;&quot;&gt;연속적인 숫자값&lt;/td&gt;
&lt;td style=&quot;width: 40.5426%; height: 19px;&quot;&gt;특정 클래스(0 or 1)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 38px;&quot;&gt;
&lt;td style=&quot;width: 17.9845%; height: 38px;&quot;&gt;&lt;b&gt;평가 지표 1&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 41.4728%; height: 38px;&quot;&gt;MSE (평균제곱오차)&lt;br /&gt;: 예측-실제 차이 제곱해서 평균낸 값&lt;/td&gt;
&lt;td style=&quot;width: 40.5426%; height: 38px;&quot;&gt;정확도(Accuracy)&lt;br /&gt;: 전체 중 맞춘 비율&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 17.9845%; height: 19px;&quot;&gt;&lt;b&gt;평가 지표 2&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 41.4728%; height: 19px;&quot;&gt;R&amp;sup2; (결정계수) &lt;br /&gt;: 모델이 데이터를 얼마나 잘 설명하는지&lt;/td&gt;
&lt;td style=&quot;width: 40.5426%; height: 19px;&quot;&gt;F-1 Score&lt;br /&gt;: 정밀도 &amp;amp; 재현율의 조화평균&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 17.9845%; height: 17px;&quot;&gt;&lt;b&gt;값의 범위&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 41.4728%; height: 17px;&quot;&gt;MSE : 0 이상 (단위 의존적)&lt;br /&gt;R&amp;sup2; : 0~1&lt;/td&gt;
&lt;td style=&quot;width: 40.5426%; height: 17px;&quot;&gt;0~1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 17.9845%; height: 17px;&quot;&gt;&lt;b&gt;좋은 방향&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 41.4728%; height: 17px;&quot;&gt;MSE &amp;darr; 낮을수록 좋음&lt;br /&gt;R&amp;sup2; &amp;uarr; 높을수록 좋음&lt;/td&gt;
&lt;td style=&quot;width: 40.5426%; height: 17px;&quot;&gt;둘 다 &amp;uarr; 높을수록 좋음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 17.9845%; height: 17px;&quot;&gt;&lt;b&gt;주의할 점&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 41.4728%; height: 17px;&quot;&gt;&lt;span&gt; MSE는 단위에 따라 절대값 해석 달라짐&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 40.5426%; height: 17px;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;정확도는 Y가 불균형할 때&lt;span&gt;&amp;nbsp;믿을 수 없음&lt;br /&gt;&amp;rarr; 이럴 땐 F-1 Score&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 줄로 요약하면...&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;선형회귀(숫자 예측)는 &lt;b&gt;&quot;오차가 얼마나 작은지&quot;(MSE)&lt;/b&gt; + &lt;b&gt;&quot;설명력이 얼마나 높은지&quot;(R&amp;sup2;)&lt;/b&gt;로 평가&lt;/li&gt;
&lt;li&gt;로지스틱회귀(분류)는 &lt;b&gt;&quot;맞춘 비율&quot;(정확도)&lt;/b&gt;만 보면 위험, 데이터 불균형하면&lt;b&gt; &quot;정밀도&amp;middot;재현율 균형&quot;(F1-Score)&lt;/b&gt;으로 봐야 함&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>Today I Learned</category>
      <author>JiJi0406</author>
      <guid isPermaLink="true">https://jiji0406.tistory.com/35</guid>
      <comments>https://jiji0406.tistory.com/35#entry35comment</comments>
      <pubDate>Thu, 25 Jun 2026 21:02:40 +0900</pubDate>
    </item>
    <item>
      <title>[내일배움캠프 QA/QC 6기] TIL #031</title>
      <link>https://jiji0406.tistory.com/34</link>
      <description>&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;001&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;오늘의 코드카타&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;41. &lt;span style=&quot;color: #0593d3;&quot;&gt;&lt;a style=&quot;color: #0593d3;&quot; href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12930&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;이상한 문자 만들기&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #000000;&quot;&gt;&lt;b&gt;&lt;br /&gt;문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;문자열&amp;nbsp;s는&amp;nbsp;한&amp;nbsp;개&amp;nbsp;이상의&amp;nbsp;단어로&amp;nbsp;구성되어&amp;nbsp;있습니다.&amp;nbsp;각&amp;nbsp;단어는&amp;nbsp;하나&amp;nbsp;이상의&amp;nbsp;공백문자로&amp;nbsp;구분되어&amp;nbsp;있습니다.&amp;nbsp;각&amp;nbsp;단어의&amp;nbsp;짝수번째&amp;nbsp;알파벳은&amp;nbsp;대문자로,&amp;nbsp;홀수번째&amp;nbsp;알파벳은&amp;nbsp;소문자로&amp;nbsp;바꾼&amp;nbsp;문자열을&amp;nbsp;리턴하는&amp;nbsp;함수,&amp;nbsp;solution을&amp;nbsp;완성하세요.&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;제한조건&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;첫&amp;nbsp;번째&amp;nbsp;글자는&amp;nbsp;0번째&amp;nbsp;인덱스로&amp;nbsp;보아&amp;nbsp;짝수번째&amp;nbsp;알파벳으로&amp;nbsp;처리해야&amp;nbsp;합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;입출력 예&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;color: #333333; text-align: start; border-collapse: collapse; width: 83.1395%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 36.5157%;&quot;&gt;&lt;b&gt;s&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 46.5075%;&quot;&gt;&lt;b&gt;return&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 36.5157%;&quot;&gt;&quot;try&amp;nbsp;hello&amp;nbsp;world&quot;&lt;/td&gt;
&lt;td style=&quot;width: 46.5075%;&quot;&gt;&quot;TrY&amp;nbsp;HeLlO&amp;nbsp;WoRlD&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;입출력 예 설명&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;try&amp;nbsp;hello&amp;nbsp;world&quot;는&amp;nbsp;세&amp;nbsp;단어&amp;nbsp;&quot;try&quot;,&amp;nbsp;&quot;hello&quot;,&amp;nbsp;&quot;world&quot;로&amp;nbsp;구성되어&amp;nbsp;있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;각&amp;nbsp;단어의&amp;nbsp;짝수번째&amp;nbsp;문자를&amp;nbsp;대문자로,&amp;nbsp;홀수번째&amp;nbsp;문자를&amp;nbsp;소문자로&amp;nbsp;바꾸면&amp;nbsp;&quot;TrY&quot;,&amp;nbsp;&quot;HeLlO&quot;,&amp;nbsp;&quot;WoRlD&quot;입니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;따라서&amp;nbsp;&quot;TrY&amp;nbsp;HeLlO&amp;nbsp;WoRlD&quot;&amp;nbsp;를&amp;nbsp;리턴합니다.&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;s&gt;지금까지 푼 것 중에 두번째로 오래 걸린 듯..&lt;/s&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #fafafa; color: #333333; text-align: start;&quot;&gt;▼ 1차 시도 (실패)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1782269602673&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(s):
    a = s.split() # ⚠️ 문제 구간
    for i in range(len(a)): # 문자열 쪼갠 리스트의 길이만큼 반복
        n = ''
        for j in range(len(a[i])): # i번째 인덱스의 길이만큼 반복
            if j % 2 == 0: # 짝수 조건
                n += a[i][j].upper() # i번째 인덱스의 j번째 문자를 대문자로 변환해서 n에 누적
            else: # 홀수 조건
                n += a[i][j].lower() # i번째 인덱스의 j번째 문자를 소문자로 변환해서 n에 누적
        a[i] = n # 리스트 a의 i번째 인덱스를 조건문 거쳐 만들어진 n으로       
    return ' '.join(a) # 쪼개진 리스트를 문자열로 변환&lt;/code&gt;&lt;/pre&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-06-24 111724.png&quot; data-origin-width=&quot;556&quot; data-origin-height=&quot;756&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEsMoE/dJMcafAjQcM/8qRbIEdiztsSiBXn996jQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEsMoE/dJMcafAjQcM/8qRbIEdiztsSiBXn996jQ0/img.png&quot; data-alt=&quot;실패!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEsMoE/dJMcafAjQcM/8qRbIEdiztsSiBXn996jQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEsMoE%2FdJMcafAjQcM%2F8qRbIEdiztsSiBXn996jQ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;229&quot; height=&quot;311&quot; data-filename=&quot;스크린샷 2026-06-24 111724.png&quot; data-origin-width=&quot;556&quot; data-origin-height=&quot;756&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;실패!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;왜 실패하는 건지 도저히 모르겠어서~ 젬선생 찬스&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;  曰...&lt;br /&gt;&lt;br /&gt;프로그래머스 '이상한 문자 만들기' 문제 풀고 있구나! 이거 일부 테스트 케이스에서 실패 뜨는 이유가 있어.&lt;br /&gt;문제 조건 중에 엄청 중요한 통곡의 벽이 하나 숨어있거든?&lt;br /&gt;&lt;b&gt;&quot;각 단어는 하나 이상의 공백문자로 구분되어 있습니다.&quot;&lt;/b&gt;&lt;br /&gt;이 말은 단어 사이에 공백이 2개, 3개일 수도 있고, 심지어 문자열 맨 앞이나 맨 뒤에 공백이 무더기로 들어있을 수도 있다는 뜻이야.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;❌ 왜 실패가 떴을까?&lt;/b&gt;&lt;br /&gt;네 코드에서 s.split()을 썼잖아? 파이썬에서 괄호 안에 아무것도 안 넣은 s.split()은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;연속된 모든 공백을 싹 다 무시하고 단어만 딱 골라내서 리스트로 만들어.&lt;/b&gt;&lt;br /&gt;예를 들어 입력이 &quot;try&amp;nbsp; hello&quot; (공백 2개) 라면:&lt;br /&gt;1. s.split() 결과: ['try', 'hello'] (공백 사라짐)변환 결과: ['TrY', 'HeLlO']' '.join() 결과: &quot;TrY HeLlO&quot; (공백이 1개로 줄어듦 ❌)&lt;br /&gt;2. 원래 입력에 있던 공백 개수가 그대로 유지되어야 하는데, split() 때문에 공백이 다 1개짜리로 초기화돼서 실패(틀림)가 뜨는 거야 ㅇㅇ.&lt;br /&gt;&lt;br /&gt;&lt;b&gt; ️ 정답 코드로 고치기 (split(' ') 쓰기)&lt;/b&gt;&lt;br /&gt;공백을 한 칸짜리 모양 그대로 유지하면서 쪼개려면 괄호 안에 ' ' (공백 한 칸)을 명시해 줘야 돼! 그러면 공백이 여러 개 있어도 빈 문자열('')로 리스트에 살아남아서 원래 공백 자리를 지켜줘.&lt;/blockquote&gt;
&lt;p style=&quot;text-align: right;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignRight&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;633&quot; data-origin-height=&quot;633&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vAOgE/dJMcagMOagl/I5fmAzswj4YWpZKDisxWR0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vAOgE/dJMcagMOagl/I5fmAzswj4YWpZKDisxWR0/img.png&quot; data-alt=&quot;me :&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vAOgE/dJMcagMOagl/I5fmAzswj4YWpZKDisxWR0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvAOgE%2FdJMcagMOagl%2FI5fmAzswj4YWpZKDisxWR0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;51&quot; height=&quot;51&quot; data-origin-width=&quot;633&quot; data-origin-height=&quot;633&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;me :&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: right;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot;&gt;' ' 면 한칸짜리 공백이잖아&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot;&gt;근데 어떻게 두칸 세칸짜리 공백도 유지가 되는 거야?&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: right;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt; &amp;nbsp;&lt;br /&gt;&lt;br /&gt;이거 진짜 날카로운 질문이야 ㅇㅇ. 처음엔 다들 헷갈려 하는 게 당연해.&lt;br /&gt;쉽게 이해할 수 있게 split()과 split(' ')이 문자열을 다루는 내부 방식을 비교해서 보여줄게.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;  핵심은 &quot;빈 문자열('')&quot;을 남기느냐 마느냐의 차이&lt;/b&gt;&lt;br /&gt;공백이 3칸 연속으로 있는 &quot;A B&quot;라는 문자열이 있다고 쳐보자. 컴파일러 눈에는 이게 &quot;A&quot; + &quot; &quot; + &quot; &quot; + &quot; &quot; + &quot;B&quot;로 보여.&lt;br /&gt;&lt;br /&gt;1. split() (괄호 안에 아무것도 없을 때)&lt;br /&gt;&lt;b&gt;&quot;야, 공백(스페이스, 탭, 줄바꿈)은 전부 그냥 '벽'이야. 연속으로 있든 말든 무조건 다 합쳐서 단어만 골라내!&quot;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;- &quot;A&quot; 발견 ➡️ 리스트에 넣음 ['A']&lt;br /&gt;- 공백 3칸 연속 발견 ➡️ &quot;어, 공백더미네? 싹 다 무시하고 다음 글자 나올 때까지 넘겨!&quot;&lt;br /&gt;- &quot;B&quot; 발견 ➡️ 리스트에 넣음 ['A', 'B']&lt;br /&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;결과&lt;/b&gt;: ['A', 'B'] ➡️ 나중에 ' '.join() 하면 중간 공백이 1칸으로 줄어듦.&lt;br /&gt;&lt;br /&gt;2. split(' ') (공백 한 칸을 기준으로 지정했을 때)&lt;br /&gt;&lt;b&gt;&quot;난 정확히 '공백 한 칸'을 만날 때마다 가위질을 할 거야. 그 사이에 아무것도 없어도 무조건 쪼개!&quot;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;여기서 가위질을 3번 세심하게 한다고 생각하면 편해.&lt;br /&gt;- &quot;A&quot; 뒤에 첫 번째 공백 발견 ➡️ 싹둑! ➡️ 왼쪽의 &quot;A&quot;가 리스트에 들어감. ['A']&lt;br /&gt;- 두 번째 공백 발견 ➡️ 싹둑! ➡️ 첫 번째 공백과 두 번째 공백 사이에 아무 글자도 없지? 그래서 빈 방인 &quot;&quot; (빈 문자열)을 리스트에 집어넣음. ['A', '']&lt;br /&gt;- 세 번째 공백 발견 ➡️ 싹둑! ➡️ 두 번째와 세 번째 사이에도 아무것도 없으니 또 &quot;&quot;를 넣음. ['A', '', '']&lt;br /&gt;- 마지막 &quot;B&quot; 발견 ➡️ 리스트에 넣음.&lt;br /&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;결과&lt;/b&gt;: ['A', '', '', 'B'] ➡️ 공백 개수만큼 빈 문자열('') 자리가 방을 차지하고 살아남음!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;  다시 합칠 때 (' '.join()) 어떻게 복원될까?&lt;/b&gt;&lt;br /&gt;파이썬에서 ' '.join(리스트)은 리스트의 요소들 사이에 공백 한 칸(' ')을 끼워 넣으면서 하나로 합치는 기능이야.&lt;br /&gt;방금 split(' ')으로 쪼개진 ['A', '', '', 'B']를 다시 합쳐보면:&lt;br /&gt;&lt;br /&gt;1. &quot;A&quot;를 쓴다.&lt;br /&gt;2. 사이에 공백 한 칸 주입 ➡️ &quot;A &quot;&lt;br /&gt;3. 두 번째 요소인 &quot;&quot; (빈 방)을 합친다. ➡️ &quot;A &quot; (아무것도 안 더해짐)&lt;br /&gt;4. 사이에 공백 한 칸 주입 ➡️ &quot;A &quot;&lt;br /&gt;5. 세 번째 요소인 &quot;&quot; (빈 방)을 합친다. ➡️ &quot;A &quot;&lt;br /&gt;6. 사이에 공백 한 칸 주입 ➡️ &quot;A &quot;&lt;br /&gt;7. 마지막 &quot;B&quot;를 합친다. ➡️ &quot;A B&quot;&lt;br /&gt;&lt;br /&gt;결과적으로 처음에 있던&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;공백 3칸이 완벽하게 그대로 유지&lt;/b&gt;되는 마법이 일어나 ㅇㅇ.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;  요약&lt;/b&gt;&lt;br /&gt;- split(): 공백이 몇 칸이든 다 무시하고 단어만 쏙 뽑아옴.&lt;br /&gt;- split(' '): 공백 한 칸 단위로 칼같이 쪼개서, 연속된 공백 자리에 '' (빈 문자열)을 남겨둠 ➡️ 이 빈 문자열들이 자리를 지켜줘서 원래 공백 개수가 유지!&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;575&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nUy4s/dJMcagF2ugE/u1uv5d03eOQzXG97Qxf9tk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nUy4s/dJMcagF2ugE/u1uv5d03eOQzXG97Qxf9tk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nUy4s/dJMcagF2ugE/u1uv5d03eOQzXG97Qxf9tk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnUy4s%2FdJMcagF2ugE%2Fu1uv5d03eOQzXG97Qxf9tk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;187&quot; height=&quot;179&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;575&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;감사합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #fafafa; color: #333333; text-align: start;&quot;&gt;▼ 2차 시도 (성공)&lt;/span&gt;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1782269555075&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(s):
    a = s.split(' ') # 젬선생 피드백 반영
    for i in range(len(a)):
        n = ''
        for j in range(len(a[i])):
            if j % 2 == 0:
                n += a[i][j].upper()
            else:
                n += a[i][j].lower()
        a[i] = n        
    return ' '.join(a)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #000000;&quot;&gt;&lt;br /&gt;002&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #000000;&quot;&gt;&lt;b&gt;오늘 학습한 내용&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;[ 머신러닝의 이해와 라이브러리 활용 기초 ]&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;선형회귀분석 실습 : 몸무게로 키 예측해보기&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;강의 들으면서 실습해봤는데, 그냥 따라가기만 하니까 지금 내가 뭘 하고 있는 건지 뭘 구하고 있는 건지 잘 모르겠어서... 정리해봤다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 데이터 준비 및 시각화&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;weights, heights 리스트로 데이터프레임 만들고,&lt;b&gt; Weight(x축) vs Height(y축)&lt;/b&gt; &lt;span style=&quot;color: #006dd7;&quot;&gt;산점도&lt;/span&gt;로 두 변수 관계를 먼저 눈으로 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;angelscript&quot; style=&quot;color: #14181f;&quot;&gt;&lt;code&gt;weights = [87, 81, 82, 92, 79, 83, 88, 91, 85, 90]
heights = [180, 175, 178, 185, 172, 176, 182, 184, 179, 181]
body_df = pd.DataFrame({'Height': heights, 'Weight': weights})   
plt.title('Height vs Weight')
plt.xlabel('Weight') 
plt.ylabel('Height')
sns.scatterplot(data=body_df, x='Weight', y='Height')&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;565&quot; data-origin-height=&quot;449&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l5bZW/dJMcaaeJBSG/g8EzVMidnYiMYAme3BGdrk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l5bZW/dJMcaaeJBSG/g8EzVMidnYiMYAme3BGdrk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l5bZW/dJMcaaeJBSG/g8EzVMidnYiMYAme3BGdrk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl5bZW%2FdJMcaaeJBSG%2Fg8EzVMidnYiMYAme3BGdrk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;565&quot; height=&quot;449&quot; data-origin-width=&quot;565&quot; data-origin-height=&quot;449&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 선형회귀 모델 학습&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;color: #ef5369;&quot;&gt;sklearn&lt;/span&gt;&lt;/b&gt;의 &lt;b&gt;LinearRegression&lt;/b&gt;으로 모델 만들고, &lt;span style=&quot;background-color: #ffc9af;&quot;&gt;X(독립변수=Weight)&lt;/span&gt;와 &lt;span style=&quot;background-color: #f6e199;&quot;&gt;y(종속변수=Height)&lt;/span&gt;로 학습&lt;/li&gt;
&lt;li&gt;학습된 모델에서 &lt;b&gt;기울기(coef_)&lt;/b&gt;와 &lt;b&gt;절편(intercept_)&lt;/b&gt;을 뽑아서 회귀식 형태로 출력&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;lua&quot; style=&quot;color: #14181f;&quot;&gt;&lt;code&gt;from sklearn.linear_model import LinearRegression 
model_lr = LinearRegression()
X = body_df[['Weight']]
y = body_df[['Height']] 
model_lr.fit(X = X, y = y)
w1 = model_lr.coef_[0][0]
w0 = model_lr.intercept_[0]
print('y = {}X + {}'.format(w1.round(2), w0.round(2)))&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp;- 출력 :&lt;/b&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt; y = 0.87X + 104.36 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. 예측값/잔차/MSE 계산&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;학습한 회귀식(w1, w0)으로 &lt;span style=&quot;color: #ef5369;&quot;&gt;&lt;b&gt;예측값(pred)&lt;/b&gt;&lt;/span&gt;을 직접 만들고, 실제값과의&lt;b&gt; 차이(error)&lt;/b&gt;와 &lt;b&gt;그&lt;/b&gt; &lt;b&gt;제곱(error&amp;sup2;)&lt;/b&gt;을 계산&lt;/li&gt;
&lt;li&gt;error&amp;sup2; 평균을 직접 구해서&lt;b&gt; MSE(평균제곱오차)&lt;/b&gt; 계산&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;prolog&quot; style=&quot;color: #14181f;&quot;&gt;&lt;code&gt;body_df['pred'] = body_df['Weight'] * w1 + w0
body_df['error'] = body_df['Height'] - body_df['pred']
body_df['error^2'] = body_df['error'] * body_df['error']
body_df['error^2'].sum()/len(body_df)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;486&quot; data-origin-height=&quot;205&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VKPtp/dJMcaglFb2o/5C0xvcm03Ad4xKZO0xtNJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VKPtp/dJMcaglFb2o/5C0xvcm03Ad4xKZO0xtNJK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VKPtp/dJMcaglFb2o/5C0xvcm03Ad4xKZO0xtNJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVKPtp%2FdJMcaglFb2o%2F5C0xvcm03Ad4xKZO0xtNJK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;448&quot; height=&quot;189&quot; data-origin-width=&quot;486&quot; data-origin-height=&quot;205&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. 회귀선 시각화&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;원본 산점도 위에 예측값(pred)으로 만든 회귀선을 빨간색으로 겹쳐 그려서, 실제 데이터와 모델이 얼마나 맞아떨어지는지 시각화&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;color: #14181f;&quot;&gt;&lt;code&gt;sns.scatterplot(data=body_df, x='Weight', y='Height')
sns.lineplot(data=body_df, x='Weight', y='pred', color='red')&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;565&quot; data-origin-height=&quot;427&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cGGV0s/dJMcaiw3lZB/m71DBlKaDzZUkdQGKsBIYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cGGV0s/dJMcaiw3lZB/m71DBlKaDzZUkdQGKsBIYk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cGGV0s/dJMcaiw3lZB/m71DBlKaDzZUkdQGKsBIYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcGGV0s%2FdJMcaiw3lZB%2Fm71DBlKaDzZUkdQGKsBIYk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;565&quot; height=&quot;427&quot; data-origin-width=&quot;565&quot; data-origin-height=&quot;427&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5. sklearn 평가지표로 검증&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;직접 계산한 MSE 값이 맞는지, sklearn의 mean_squared_error로 다시 계산해서 비교 검증&lt;/li&gt;
&lt;li&gt;R&amp;sup2;(결정계수)도 r2_score로 구해서 이 모델이 데이터를 얼마나 잘 설명하는지 확인&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;python&quot; style=&quot;color: #14181f;&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;from sklearn.metrics import mean_squared_error
from sklearn.metrics import r2_score
y_true = body_df['Height']
y_pred = body_df['pred']
mean_squared_error(y_true, y_pred) # 1.1436123348017704
r2_score(y_true, y_pred) # 0.9235553252137854 (good.)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;MSE는 낮을수록 좋은 것이나, &lt;br /&gt;(MSE = 예측값과 실제값 차이를 제곱해서 평균낸 것, 0이면 완벽하게 맞춘 거고 클수록 많이 틀린 것)&lt;br /&gt;낮을수록 좋다는 거랑 별개로, MSE 자체의 절대값이 크고 작은지는 &lt;b&gt;데이터 단위/스케일에 따라 완전히 달라져서&lt;/b&gt; 분야마다 &quot;이 정도면 괜찮다&quot;는 기준이 달라짐!&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;R&amp;sup2;은 0~1 사이로 정규화돼 있어서 &quot;이 모델이 데이터를 몇 % 설명하는지&quot; 직관적으로 비교 가능 (&lt;b&gt;1에 가까울수록 좋음&lt;/b&gt;)&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;6. model.predict()로도 같은 결과 나오는지 재확인&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;직접 만든 pred 컬럼 대신, &lt;b&gt;모델의 predict() 메서드&lt;/b&gt;로 예측한 값(&lt;b&gt;pred2&lt;/b&gt;)으로도 &lt;b&gt;MSE&lt;/b&gt;를 구해서 두 방식이 같은 결과를 내는지 최종적으로 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;python&quot; style=&quot;color: #14181f;&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;y_pred2 = model_lr.predict(body_df[['Weight']])
mean_squared_error(y_true, y_pred2) # 1.1436123348017704, 앞에서 구한 거랑 같다.&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;실습하면서 느낀 점...&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;코드 한 줄 한 줄은 이해가 되는데, 다음으로 뭘 해야 하는지 감이 잘 안 잡힘 (혼자서 백지 상태에서 해보라고 하면 못 함...;)&lt;/li&gt;
&lt;li&gt;필요한 메서드가 뭔지 바로바로 안 떠오름...(당연한 거겠지) 그냥 강의 보고 무지성으로 따라가게 됨&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;다짐&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;전체 흐름(데이터 준비 &amp;rarr; 학습 &amp;rarr; 예측 &amp;rarr; 평가)을 먼저 그려보고, 그 다음 각 단계에 어떤 메서드가 들어가는지 채워나가는 식으로 공부하기&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;[ 기초 통계학 - 마무리 ]&lt;/b&gt;&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 재현 가능성&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;같은 실험 반복했을 때 결과가 똑같이 나오는지가 연구 신뢰성 확보에 중요!!&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실험 조건 완벽히 재현 어려움&lt;/li&gt;
&lt;li&gt;p해킹으로 p값 조작 가능 &amp;rarr; 1종 오류 위험&lt;/li&gt;
&lt;li&gt;유의수준 0.05 = 20번 중 1번은 틀려도 기각될 수 있다는 뜻&lt;/li&gt;
&lt;li&gt;유의수준 낮추면 베타값(2종 오류) 커지는 트레이드오프 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. p-해킹&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;유의미한 p값 나올 때까지 변수 바꿔가며 반복 분석하는 행위&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;XXX&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;여러 가설 반복 시도하다 p&amp;lt;0.05 나온 것만 보고&lt;/li&gt;
&lt;li&gt;데이터 늘리다 우연히 좋은 시점에서 멈추기&lt;/li&gt;
&lt;li&gt;결과 보고 가설을 사후에 다시 세우기&lt;br /&gt;&amp;rarr; 가설은 미리 세우고 검증할 것, 탐색적 분석이면 본페로니 보정 등 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. 선택적 보고&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유의미한 결과만 보고하고 나머지는 숨기는 행위 &amp;rarr;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;분석 결과 왜곡, 신뢰성 저하&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. 자료 수집 중단 시점&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;언제 멈출지 미리 안 정하면 원하는 결과 나올 때까지 계속 모으게 됨 (예: 50명 &amp;rarr; 결과 안 좋아서 100명까지 추가)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5. 데이터 탐색과 검증 분리&lt;/b&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;탐색해서 가설 세운 데이터 그대로 검증까지 하면 과적합 위험&lt;br /&gt;&amp;rarr;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;탐색용(train) / 검증용(test)&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;나누고, 검증 데이터는 맨 마지막에만 볼 것 (머신러닝에서는 학습, 검증, 평가 데이터로 나누는 게 일반적)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot; data-path-to-node=&quot;18&quot;&gt;&lt;b&gt;[ 아티클 스터디 ]&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc; color: #000000; text-align: start;&quot; data-ke-list-type=&quot;disc&quot; data-stringify-type=&quot;unordered-list&quot; data-list-tree=&quot;true&quot; data-indent=&quot;0&quot; data-border=&quot;0&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot; data-stringify-indent=&quot;0&quot; data-stringify-border=&quot;0&quot;&gt;주제 : 확실히 알아두면 만사가 편해지는 머신러닝 10가지 알고리즘&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot; data-stringify-indent=&quot;0&quot; data-stringify-border=&quot;0&quot;&gt;아티클 링크 :&lt;span&gt; &lt;a href=&quot;https://yozm.wishket.com/magazine/detail/1931/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://yozm.wishket.com/magazine/detail/1931/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;지금 배우고 있는 머신러닝의 알고리즘들 복습한다는 느낌으로 읽어봄&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 지도학습 VS 비지도학습&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지도학습: 정답(목표 변수)이 있는 데이터로 학습해서 예측.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;비지도학습: 정답 없이 데이터 안에서 패턴 찾는 것.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. &lt;/b&gt;지도학습:&lt;b&gt; 회귀 VS 분류&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;회귀: 연속적인 숫자값 예측 (가격, 온도 등) 대표적으로 선형회귀&lt;/li&gt;
&lt;li&gt;분류: 정해진 범주 중 하나로 구분. 로지스틱 회귀(이진분류), 나이브 베이즈 등등&lt;/li&gt;
&lt;li&gt;KNN이나 트리 계열은 회귀/분류 둘 다 가능한 만능형&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. 베이스라인 모델들&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1) 선형 회귀 / 로지스틱 회귀&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;u&gt;종속변수-독립변수가 선형 관계일 때&lt;/u&gt; 쓰는 가장 기본적인 모델&lt;/li&gt;
&lt;li&gt;단점: 데이터가 선형 관계 아니면 예측력 뚝 떨어짐&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2)&lt;/b&gt; &lt;b&gt;KNN (K-최근접 이웃)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;u&gt;거리 기반&lt;/u&gt;으로 작동, 별다른 가정 없이 직관적&lt;/li&gt;
&lt;li&gt;다중분류에 간편하게 쓸 수 있고 작은 데이터셋에 적합&lt;/li&gt;
&lt;li&gt;근데 데이터 커지면 느려지고 아웃라이어에 약함&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3) 나이브 베이즈&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;조건부 확률 기반, 스팸 필터처럼 &lt;u&gt;자연어 처리&lt;/u&gt;에 자주 쓰임 (딥러닝이 더 잘하지만 간단하게 할 때 이거 사용)&lt;/li&gt;
&lt;li&gt;독립변수가 서로 독립적이면 경쟁력 있지만... 아니면 범용성 낮음&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. 트리 기반 모델들&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1) 결정 트리&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;변수의 특정 기준점으로 데이터를 계속 쪼개가면서 예측&lt;/li&gt;
&lt;li&gt;&lt;u&gt;데이터 가정 필요 없고 이상치 영향도 거의 없음&lt;/u&gt;, 시각화도 직관적&lt;/li&gt;
&lt;li&gt;트리가 깊어지면 오버피팅(훈련 데이터에만 과하게 맞춰지는 현상) 발생&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2) 랜덤 포레스트&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;u&gt;결정 트리의 오버피팅 문제를 완화&lt;/u&gt;하려고 트리 &lt;b&gt;여러 개를 앙상블&lt;/b&gt;(여러 모델 결과를 합쳐서 예측)한 모델&lt;/li&gt;
&lt;li&gt;이상치 영향 거의 없고 선형/비선형 둘 다 잘 작동&lt;/li&gt;
&lt;li&gt;해석이 어렵고 학습 속도가 느림&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3) XG부스트 / 라이트GBM&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;u&gt;트리를 순차적으로 만들면서 이전 트리의 오차를 보완&lt;/u&gt;해가는 부스팅 방식&lt;/li&gt;
&lt;li&gt;캐글 컴피티션에서 검증된 성능,&lt;b&gt; 변수 많고 데이터 클수록 강함&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;라이트GBM&lt;/b&gt;은 변수 중요도까지 확인 가능해서 한 단계 더 진화한 버전&lt;/li&gt;
&lt;li&gt;단점: 해석 어렵고 하이퍼파라미터 튜닝이 까다로움&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;결정 트리 &amp;rarr; 랜덤 포레스트 &amp;rarr; 부스팅 계열로 갈수록 예측력, 성능은 올라가나 해석이 어려워진다는 단점이...&amp;nbsp;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5. 비지도학습&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1) K-Means (군집화)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;거리 기반으로 비슷한 데이터끼리 그룹 묶기&lt;/li&gt;
&lt;li&gt;사용자가 K값(그룹 개수)을 직접 정해야 함, 자동으로 못 찾음&lt;/li&gt;
&lt;li&gt;변수 스케일에 따라 결과가 달라질 수 있어서 스케일링(변수 단위/범위 맞춰주는 전처리) 필수&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2) PCA (주성분 분석, 차원축소)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;변수 개수는 줄이고 특성은 최대한 보존&lt;/li&gt;
&lt;li&gt;다차원 데이터를 2차원으로 줄여서 시각화하기 좋고, 변수 간 높은 상관관계 문제도 해결&lt;/li&gt;
&lt;li&gt;근데 기존 변수가 아니라 새로운 변수로 바뀌어서 해석이 좀 어려움, 정보 손실 불가피&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Today I Learned</category>
      <author>JiJi0406</author>
      <guid isPermaLink="true">https://jiji0406.tistory.com/34</guid>
      <comments>https://jiji0406.tistory.com/34#entry34comment</comments>
      <pubDate>Wed, 24 Jun 2026 21:02:26 +0900</pubDate>
    </item>
    <item>
      <title>[내일배움캠프 QA/QC 6기] TIL #030</title>
      <link>https://jiji0406.tistory.com/33</link>
      <description>&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;001&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;오늘의 코드카타&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;40.&lt;span style=&quot;color: #0593d3;&quot;&gt;&lt;a style=&quot;color: #0593d3;&quot; href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/68935&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;3진법 뒤집기&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #000000;&quot;&gt;&lt;b&gt;&lt;br /&gt;문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;자연수&amp;nbsp;n이&amp;nbsp;매개변수로&amp;nbsp;주어집니다.&amp;nbsp;n을&amp;nbsp;3진법&amp;nbsp;상에서&amp;nbsp;앞뒤로&amp;nbsp;뒤집은&amp;nbsp;후,&amp;nbsp;이를&amp;nbsp;다시&amp;nbsp;10진법으로&amp;nbsp;표현한&amp;nbsp;수를&amp;nbsp;return&amp;nbsp;하도록&amp;nbsp;solution&amp;nbsp;함수를&amp;nbsp;완성해주세요.&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;제한조건&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;n은&amp;nbsp;1&amp;nbsp;이상&amp;nbsp;100,000,000&amp;nbsp;이하인&amp;nbsp;자연수입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;입출력 예&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;b&gt;n&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;b&gt;result&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;45&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;125&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;229&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;입출력 예 설명&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;입출력 예 #1&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;답을 도출하는 과정은 다음과 같습니다.&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;color: #333333; text-align: start; border-collapse: collapse; width: 85.6973%; height: 48px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 19.0698%; height: 16px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;n (10진법)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 20.4651%; height: 16px;&quot;&gt;&lt;b&gt;n&lt;span&gt;&amp;nbsp;&lt;/span&gt;(3진법)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 24.5349%; height: 16px;&quot;&gt;&lt;b&gt;&lt;span&gt;앞뒤 반전 &lt;/span&gt;(3진법)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 21.5117%; height: 16px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;b&gt;10진법&lt;/b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 19.0698%; height: 16px;&quot;&gt;45&lt;/td&gt;
&lt;td style=&quot;width: 20.4651%; height: 16px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1200&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 24.5349%; height: 16px;&quot;&gt;0021&lt;/td&gt;
&lt;td style=&quot;width: 21.5117%; height: 16px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;7&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;따라서 7을 return해야 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;입출력 예 #2&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;답을 도출하는 과정은 다음과 같습니다.&lt;/p&gt;
&lt;table style=&quot;color: #333333; text-align: start; border-collapse: collapse; width: 85.6973%; height: 48px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;n (10진법)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;n&lt;span&gt;&amp;nbsp;&lt;/span&gt;(3진법)&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;&lt;span&gt;앞뒤 반전&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;(3진법)&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;b&gt;10진법&lt;/b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;125&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;11122&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;22111&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;229&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;따라서 229를 return해야 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1782176296467&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(n):
    a =''
    while n &amp;gt; 0:
        a = a + str(n%3) # 거꾸로 3진법 전환: 3으로 나눈 나머지를 문자열로 전환해 a에 누적하여 붙임 
        n = n // 3 # 3으로 나눈 몫을 n으로 갱신
    return int(b, 3)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;+ &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;int&lt;/span&gt;(&lt;span&gt;'문자열'&lt;/span&gt;, &lt;b&gt;진법&lt;/b&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;rarr; int()함수에&amp;nbsp; &lt;b data-index-in-node=&quot;71&quot; data-path-to-node=&quot;0&quot;&gt;이 문자열이 몇 진법인지&lt;/b&gt; 숫자를 같이 넘겨주면, 파이썬이 알아서 10진수로 싹 변환해줌&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(몰라서 찾아봄...)&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #000000;&quot;&gt;&lt;br /&gt;002&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #000000;&quot;&gt;&lt;b&gt;오늘 학습한 내용&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;데이터 분석 심화 주차 D+5&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;지도학습 vs 비지도학습 복습 ~&lt;/b&gt;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;차이점&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정답(y값)이 있는지 없는지&lt;/li&gt;
&lt;li&gt;&lt;b&gt;지도학습&lt;/b&gt;은 x, y(정답)을 같이 주고 학습시켜서 정답을 &lt;span style=&quot;color: #006dd7;&quot;&gt;예측&lt;/span&gt;하는 게 목표 (예: 스팸 메일 분류), 평가도 명확한 지표로 가능함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;비지도학습&lt;/b&gt;은 y 없이 x만 넣어서 &lt;span style=&quot;color: #006dd7;&quot;&gt;숨은 구조&lt;/span&gt;나 &lt;span style=&quot;color: #006dd7;&quot;&gt;인사이트&lt;/span&gt;를 발견하는 게 목표 (예: 고객 그룹 묶기), 평가는 클러스터 간 간격이 얼마나 넓은지/안에서 얼마나 동질적인지 등등 봄&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;지도학습은 모델이 정답 맞히면 끝 / 비지도학습은 사람이 의미를 부여해야 완성&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;[ (라) 머신러닝 심화 2회차 - 비지도학습: 군집화, 차원축소 ]&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 클러스터링&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;256&quot; data-origin-height=&quot;273&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/112wR/dJMcacXSeQr/vvij08KsD6ny0AmziIkUu0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/112wR/dJMcacXSeQr/vvij08KsD6ny0AmziIkUu0/img.png&quot; data-alt=&quot;익숙한 유세포 분석 검사 결과도 클러스터링을 거친 후 시각화한 것&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/112wR/dJMcacXSeQr/vvij08KsD6ny0AmziIkUu0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F112wR%2FdJMcacXSeQr%2Fvvij08KsD6ny0AmziIkUu0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;256&quot; height=&quot;273&quot; data-origin-width=&quot;256&quot; data-origin-height=&quot;273&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;익숙한 유세포 분석 검사 결과도 클러스터링을 거친 후 시각화한 것&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1) &lt;b&gt;클러스터링이란&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ef5369;&quot;&gt;&lt;b&gt;이름 없는 데이터에 이름표 달아주기&lt;/b&gt;&lt;/span&gt;&amp;nbsp;- 서로 가까이 있는 것들끼리 그룹 묶는 방법론&lt;/li&gt;
&lt;li&gt;군집 &lt;span style=&quot;color: #ee2323;&quot;&gt;내&lt;/span&gt; 거리는 &lt;b&gt;가까울수록&lt;/b&gt;, 군집 &lt;span style=&quot;color: #006dd7;&quot;&gt;간&lt;/span&gt; 거리는 &lt;b&gt;멀수록 좋음&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;언제 씀?&lt;/b&gt;: 크고 복잡한 데이터를 &lt;b&gt;단순화&lt;/b&gt;할 때, 정답 없는 &lt;b&gt;새 데이터 분류&lt;/b&gt;할 때, &lt;b&gt;이상 탐지&lt;/b&gt;할 때(어떤 클러스터에도 속하지 않는 데이터를 이상치로 봄)&lt;/li&gt;
&lt;li&gt;정답이 없으니까 분석가가 그만큼 더 설명을 잘 해줘야 함!&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2) &lt;b&gt;클러스터링 알고리즘이 다르면 결과도 다르다&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;거리 측정 방식이나 &lt;b&gt;알고리즘 종류&lt;/b&gt;에 따라 같은 데이터라도 군집이 완전히 다르게 형성&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3) &lt;b&gt;문제 해결 프로세스&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;문제 정의&lt;/b&gt;(뭘 묶고 싶지?) &amp;rarr; &lt;b&gt;특징 추출&lt;/b&gt;(어떤 피처로 비교?) &amp;rarr; &lt;b&gt;군집 수행&lt;/b&gt;(K-Means, DBSCAN 등) &amp;rarr; &lt;b&gt;결과 해석&lt;/b&gt;(군집 특징 의미 부여)&lt;/li&gt;
&lt;li&gt;QAQC 예시: 불량 유무로만 구분된 데이터를 &amp;rarr; 공정 데이터(온도, 압력, 습도 등) 기반으로 &quot;불량 유형 그룹&quot;으로 재분류&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4) &lt;b&gt;활용 예시&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;요약/시각화:&lt;/b&gt; 데이터 다 안 봐도 클러스터별 특징으로 &lt;span style=&quot;color: #006dd7;&quot;&gt;경향&lt;/span&gt; 파악 (예: 1년치 뉴스 클러스터링해서 주요 토픽 찾기)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;데이터 이해:&lt;/b&gt; 라벨 없는 데이터의 &lt;u&gt;숨은 패턴&lt;/u&gt; 발견 (예: 카드 사용 패턴으로 고객 세그먼트 클러스터링)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;전략 수립&lt;/b&gt;: 클러스터 해석해서 &lt;span style=&quot;color: #ee2323;&quot;&gt;실제 액션 아이템&lt;/span&gt; 도출 (예: VIP/가격 민감/트렌드 추종 고객으로 분류)&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5) &lt;b&gt;거리 측정&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 데이터가 얼마나 가까운지 측정하는 방식, 측정 방식 따라 완전 다른 클러스터 생성&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;color: #ef5369;&quot;&gt;유클리디안 거리&lt;/span&gt;&lt;/b&gt;(피타고라스 정리, 두 점 사이 직선 거리)가 가장 기본 : 연속형 수치 데이터에 적합, 스케일 비슷할 때 좋음, 이상치엔 민감함&lt;/li&gt;
&lt;li&gt;맨하탄 거리는 차원별 절댓값 차이의 합 (다른 방법들도 있는데 자세히 몰라도 됨)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;rarr; 클러스터링은 거리 기반 알고리즘이라 &lt;b&gt;스케일링이 필요!&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;rarr;&amp;nbsp; 안 하고 K-means 돌리면 &lt;b&gt;값이 큰 피처가 거리 계산을 지배&lt;/b&gt;해서 결과 왜곡됨&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6) &lt;b&gt;계층적 군집화&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;처음에 그룹 개수 안 정함 &amp;rarr; &lt;b&gt;데이터 간 거리를 계산&lt;/b&gt;해서 나무 모양(&lt;b&gt;덴드로그램&lt;/b&gt;)으로 묶어가는 방식&lt;/li&gt;
&lt;li&gt;모든 데이터를 1개짜리 군집으로 시작해서 가장 &lt;b&gt;비슷한 것끼리 점점 묶어가는데&lt;/b&gt;, 어느 높이에서 자르냐에 따라 군집 개수가 달라짐&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;7) &lt;span style=&quot;color: #ee2323;&quot;&gt;★&lt;/span&gt; K-means&lt;/b&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 널리 쓰는 클러스터링 알고리즘, &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;데이터를 K개 군집으로 나누는&lt;/b&gt;&lt;/span&gt; 분할 기반 방식&lt;/li&gt;
&lt;li&gt;K개 그룹 정하고 &amp;rarr; 중심점 무작위 설정 &amp;rarr; 가까운 중심점의 그룹으로 모임 &amp;rarr; 중심점이 그룹 중앙(평균값)으로 이동 &amp;rarr; 중심점 안 바뀔 때까지 반복&lt;/li&gt;
&lt;li&gt;&lt;b&gt;장점&lt;/b&gt; : 빠르고 단순! (현업에서 중요) /&lt;b&gt; 단점&lt;/b&gt; : K를 미리 정해줘야 하고, 이상치에 취약하고, 크기/밀도 다른 군집은 잘 못 찾음&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8) &lt;b&gt;최적의 K 정하는 법&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Elbow Method:&lt;/b&gt; &lt;i&gt;K &amp;uarr;&lt;/i&gt; &amp;rarr;&amp;nbsp; &lt;i&gt;군집 내 거리의 합&lt;/i&gt; &amp;darr;, &lt;u&gt;감소폭이 급격히 꺾이는 지점&lt;/u&gt;(팔꿈치) 선택&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Silhouette Score&lt;/b&gt;: -1~1 사이 값, &lt;u&gt;1에 가까울수록 군집이 잘 분리&lt;/u&gt;된 거임 &amp;rarr; &lt;b&gt;최고점&lt;/b&gt; 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;9) DBSCAN (밀도 기반)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;가까이 많이 묶여있는 애들을 일단 클러스터로 묶는 방식&lt;/b&gt;, K 미리 안 정해도 되고&lt;b&gt; 임의 형태의 클러스터&lt;/b&gt;도 찾을 수 있음&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;노이즈 많거나 / 불규칙하거나 / 클러스터 개수를 모를 때&lt;/b&gt; &lt;/span&gt;좋음! 어디에도 속하지 않는 데이터는 노이즈로 간주&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 차원축소&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1) &lt;b&gt;왜 씀???&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실무 데이터는 보통 수십~수천 개 피처를 가지는데, 그대로 두면 &lt;b&gt;시각화 불가능, 계산 비용 폭증, 차원의 저주&lt;/b&gt;(차원 높아질수록 데이터 간 거리가 무의미해짐) 문제가 생김&lt;/li&gt;
&lt;li&gt;그래서 &lt;b&gt;중요한 정보는 최대한 보존&lt;/b&gt;하면서&lt;b&gt; 차원을 줄이는 기법&lt;/b&gt;이 나온 거임&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2) &lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;★&lt;/span&gt;&lt;/b&gt; PCA (주성분 분석)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;531&quot; data-origin-height=&quot;331&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cboNMw/dJMcaiKvqts/k0EWTtQWZJsaYVJbRkQdz1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cboNMw/dJMcaiKvqts/k0EWTtQWZJsaYVJbRkQdz1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cboNMw/dJMcaiKvqts/k0EWTtQWZJsaYVJbRkQdz1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcboNMw%2FdJMcaiKvqts%2Fk0EWTtQWZJsaYVJbRkQdz1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;379&quot; height=&quot;236&quot; data-origin-width=&quot;531&quot; data-origin-height=&quot;331&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;여러 센서 데이터를 &lt;span style=&quot;color: #ef5369;&quot;&gt;&lt;b&gt;가장 중요한 몇 개 축으로 요약하는 기법&lt;/b&gt;&lt;/span&gt;, N개 변수를 1~2개로 줄일 수 있음&lt;/li&gt;
&lt;li&gt;데이터가 &lt;b&gt;가장 넓게 퍼져있는 방향&lt;/b&gt;을 찾아서 그걸 &lt;b&gt;새 좌표축(주성분)으로 재정렬 (&lt;/b&gt;데이터 구조에 맞게 좌표계를 회전)&lt;/li&gt;
&lt;li&gt;머신러닝 &lt;b&gt;파이프라인의 전처리&lt;/b&gt; 단계로 주로 씀 (장점: 빠름, 노이즈 제거 효과적 / 단점: 선형 관계만 포착, 이상치에 민감)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3) t-SNE&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;고차원에서 가까운 점은 저차원에서도 가깝게, 먼 점은 멀게 배치하는 비선형 방법&lt;/li&gt;
&lt;li&gt;&lt;b&gt;PCA로는 못 잡는 복잡한 구조를 보고 싶을 때&lt;/b&gt; 사용&lt;/li&gt;
&lt;li&gt;&lt;b&gt;단점&lt;/b&gt;은 느리고, 실행마다 결과 다르고, 새 데이터엔 적용 불가(매번 재학습 필요), 축 자체에 의미 없음&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;일반적으로 &lt;b&gt;PCA&lt;/b&gt;로 시작 &amp;rarr; 필요하면 t-SNE로 시각화 !&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;+ QAQC 하면서 비지도학습 많이 쓸 일은 없을 것 같고, 쓴다면 차원축소 정도. 일단 지도학습 충분히 마스터하고 여유 될 때 비지도학습 봐보자&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Today I Learned</category>
      <author>JiJi0406</author>
      <guid isPermaLink="true">https://jiji0406.tistory.com/33</guid>
      <comments>https://jiji0406.tistory.com/33#entry33comment</comments>
      <pubDate>Tue, 23 Jun 2026 20:49:36 +0900</pubDate>
    </item>
    <item>
      <title>[내일배움캠프 QA/QC 6기] TIL #029</title>
      <link>https://jiji0406.tistory.com/32</link>
      <description>&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;001&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;오늘의 코드카타&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;39.&lt;span style=&quot;color: #0593d3;&quot;&gt;&lt;a style=&quot;color: #0593d3;&quot; href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12940&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; 최대공약수와 최소공배수&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #000000;&quot;&gt;&lt;b&gt;문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;제한조건&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;두&amp;nbsp;수는&amp;nbsp;1이상&amp;nbsp;1000000이하의&amp;nbsp;자연수입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;입출력 예&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;color: #333333; text-align: start; border-collapse: collapse; width: 63.0229%; height: 48px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;height: 16px; width: 21.7442%;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;n&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;height: 16px; width: 21.5657%;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;m&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;height: 16px; width: 19.5971%;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;return&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;height: 16px; width: 21.7442%;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;height: 16px; width: 21.5657%;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;12&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;height: 16px; width: 19.5971%;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[3, 12]&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;height: 16px; width: 21.7442%;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;height: 16px; width: 21.5657%;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;height: 16px; width: 19.5971%;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[1, 10]&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1782122846900&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(n, m):
    for i in range(min(n, m),0,-1):
        if n % i == 0 and m % i == 0: # 최대공약수는 두 수를 나눴을 때 나머지가 0이 되는 공통적인 수
            break # 찾으면 반복문 멈춤! 완전 초반에 배웠던 걸 이제야 써보네
    return [i, (n*m)/i] # 최소공배수 공식은 검색해서 찾음...ㅎㅎ&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #000000;&quot;&gt;&lt;br /&gt;002&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #000000;&quot;&gt;&lt;b&gt;오늘 학습한 내용&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;데이터 분석 심화 주차 D+4&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;[ 기초 통계 ]&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;1. 정규성 검정&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;대부분의 통계 검정(t-test, ANOVA 등)은 데이터가 정규분포를 따른다는 전제로 돌아감&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;rarr; 검정 전에 먼저 정규성 검정으로 확인해야 함&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;① &lt;b&gt;Shapiro-Wilk Test&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;가장 널리 쓰는 정규성 검정 방법&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;귀무가설: 데이터가 정규분포를 따른다&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;② &lt;b&gt;Q-Q 플롯&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;401&quot; data-origin-height=&quot;400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JbjDe/dJMcaicLMFq/JQni8UVdP1bRCRdkdKxO7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JbjDe/dJMcaicLMFq/JQni8UVdP1bRCRdkdKxO7k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JbjDe/dJMcaicLMFq/JQni8UVdP1bRCRdkdKxO7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJbjDe%2FdJMcaicLMFq%2FJQni8UVdP1bRCRdkdKxO7k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;401&quot; height=&quot;400&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;401&quot; data-origin-height=&quot;400&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;데이터가 정규분포를 따르는지 시각적으로 확인하는 방법&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;점들이 직선에 가까우면 정규성 만족&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;선에서 멀리 떨어진 점 많으면 정규성 불만족&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;698&quot; data-origin-height=&quot;325&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/K9NfS/dJMcagTvQYo/sOTM1k7hhZAscGm91PG6dk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/K9NfS/dJMcagTvQYo/sOTM1k7hhZAscGm91PG6dk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/K9NfS/dJMcagTvQYo/sOTM1k7hhZAscGm91PG6dk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FK9NfS%2FdJMcagTvQYo%2FsOTM1k7hhZAscGm91PG6dk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;698&quot; height=&quot;325&quot; data-origin-width=&quot;698&quot; data-origin-height=&quot;325&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;검정 이름만 알고 언제 쓰는지 모르면 의미 없음! 프로젝트할 때 플로우차트 보고 찾아가는 연습 필요함&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;2. 비모수 검정&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;정규성 깨졌거나, 데이터 수 적거나, 순위형 자료(등급/만족도 등)일 때 씀&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;명칭 다 외울 필요 x&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;rarr; 평균 대신 순위(rank) 기반 비교&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;① 종류&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Mann-Whitney U Test : 독립 2집단 &amp;rarr; mannwhitneyu()&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Wilcoxon Test : 대응 2집단(사전-사후 변화 등등..) &amp;rarr; wilcoxon()&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Kruskal-Wallis Test : 독립 3집단 이상 &amp;rarr; kruskal()&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Chi-square Test : 범주형 독립성 (ex. 나이에 따른 과목 선호 차이...) &amp;rarr; chi2_contingency()&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;rarr; &lt;b&gt;p &amp;lt; 0.05&lt;/b&gt;면 집단 간 차이 통계적으로 유의미&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;3. 분산분석(ANOVA)&amp;nbsp;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;773&quot; data-origin-height=&quot;412&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/phviE/dJMcad3tT4n/TVatMeWISlzbq0wxcIcTTk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/phviE/dJMcad3tT4n/TVatMeWISlzbq0wxcIcTTk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/phviE/dJMcad3tT4n/TVatMeWISlzbq0wxcIcTTk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FphviE%2FdJMcad3tT4n%2FTVatMeWISlzbq0wxcIcTTk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;640&quot; height=&quot;341&quot; data-origin-width=&quot;773&quot; data-origin-height=&quot;412&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3개 이상 집단 평균 차이를 검증하는 기법&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;b&gt;⭐&lt;/b&gt; t-검정을 여러 번 하면 1종 오류가 누적 &amp;rarr; ANOVA는 한 번에 검증해서 이 문제 방지&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;- 기본 가정(각 그룹): 정규성, 등분산성, 독립성&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;① &lt;b&gt;F-값&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;F = 집단 간 분산 / 집단 내 분산&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;rarr; &lt;span style=&quot;color: #0593d3;&quot;&gt;F값 &lt;b&gt;클수록&lt;/b&gt; 그룹 간 차이가 유의함&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;② &lt;b&gt;일원 분산분석 (One-Way ANOVA)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;독립변수 1개(범주형) &amp;rarr; 종속변수 1개(연속형) (영향 분석)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ⓐ 예시&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;작업 교대조별로 불량률간 차이가 있을까?&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;p &amp;lt; 0.05 &amp;rarr; 적어도 한 곳 평균 불량 건수 다름 (대립가설 만족)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;p &amp;ge; 0.05 &amp;rarr; 유의한 차이 없음 (귀무가설 만족)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;4. 사후 분석 (Post-Hoc)&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ANOVA에서 &quot;차이 있다&quot;는 결론은 나왔어도 &lt;u&gt;어느 그룹끼리 다른지는 안 알려줌&lt;/u&gt; &amp;rarr; &lt;b&gt;추가 검정&lt;/b&gt; 필요!&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;① 방법&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Tukey's HSD&lt;/b&gt; : 모든 그룹 쌍 비교, 표본 크기 비슷할 때 가장 일반적&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(나머지는 그냥 읽고 넘어감... 상황별로 1종 오류 통제 방식이 다르다 정도만 알아두기)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;② 분석 경로&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;모수: ANOVA &amp;rarr; (유의하면) &amp;rarr; Tukey's HSD&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;비모수: Kruskal-Wallis &amp;rarr; (유의하면) &amp;rarr; Dunn's Test&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;③ ANOVA 전제 조건&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;정규성&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;등분산성(Levene's test)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;독립성&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;rarr; 안 맞으면 Kruskal-Wallis로&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ⓐ 제조업 예시 - 실제 분석 흐름&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;blockquote data-path-to-node=&quot;3&quot; data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;신형 의료용 레이저 기기 vs 기존 기기 성능 비교&lt;/span&gt;&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;4&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;4,0,0&quot;&gt;상황:&lt;/b&gt; 새로 개발한 의료기기(신형 A, 신형 B)와 기존에 쓰던 제품(기존 C) 등 총 3개 기기의 '~ 개선율' 평균에 차이가 있는지 ANOVA를 돌림 &amp;rarr;&amp;nbsp;&lt;b data-index-in-node=&quot;109&quot; data-path-to-node=&quot;4,0,0&quot;&gt;결과: p &amp;lt; 0.05 (세 기기 간 성능 차이 있음!)&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;4,1,0&quot;&gt;사후 분석 결과 예시 (Tukey 검정 수행):&lt;/b&gt;&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;4,1,1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;4,1,1,0,0&quot;&gt;신형 A vs 기존 C:&lt;/b&gt; p &amp;lt; 0.05 &amp;rarr; 신형 A가 기존 제품보다 개선율이 유의하게 높음!&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;4,1,1,1,0&quot;&gt;신형 B vs 기존 C:&lt;/b&gt; p &amp;gt;= 0.05 &amp;rarr; 신형 B는 기존 제품과 차이가 없음&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;4,1,1,2,0&quot;&gt;신형 A vs 신형 B:&lt;/b&gt; p &amp;lt; 0.05 &amp;rarr; 신형 A가 B보다도 성능이 우수함&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;4,1,1,3,0&quot;&gt;결론:&lt;/b&gt; &quot;우리 회사 신형 기기 중 &lt;b data-index-in-node=&quot;23&quot; data-path-to-node=&quot;4,1,1,3,0&quot;&gt;A 모델&lt;/b&gt;이 기존 제품 및 B 모델보다 통계적으로 유의미하게 성능이 뛰어납니다&quot;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;text-align: right;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;5. 상관계수와 상관관계 분석&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;① &lt;b&gt;상관계수&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;공분산을 정규화한 값(-1~+1), 단위 영향 없어서 해석 쉬움&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;+1 가까움 &amp;rarr; 양의 선형관계&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-1 가까움 &amp;rarr; 음의 선형관계&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0 &amp;rarr; 관계 없음&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;②&lt;b&gt; 종류&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;피어슨(Pearson) : 연속형 변수, 정규성 가정 (예: 온도-결함률) &amp;rarr; 모수 검정에서 가장 일반적으로 씀, 파이썬 히트맵 기본값도 이거&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;스피어만, 켄달 타우는 서열형/소규모 데이터용 (자세히 몰라도 됨)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;③ &lt;b&gt;상관관계 &amp;ne; 인과관계 ★&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(예: 아이스크림 판매량과 익사사고 둘 다 여름에 증가 &amp;rarr; 상관은 있지만 인과 아님)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;rarr; &lt;b&gt;상관계수만 보고 원인-결과 단정하면 X&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(인과추론 관련해서 A/B테스트, DiD, RDD, 도구변수법 같은 방법론들도 나왔는데 이건 나중에 필요할 때 다시 찾아보기로)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;6. 회귀 분석&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;① 단순 선형회귀&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;491&quot; data-origin-height=&quot;445&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bVzvWL/dJMcah5ZCXJ/BjmJK3hWPPNbqdh6Ls7Lw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bVzvWL/dJMcah5ZCXJ/BjmJK3hWPPNbqdh6Ls7Lw1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bVzvWL/dJMcah5ZCXJ/BjmJK3hWPPNbqdh6Ls7Lw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVzvWL%2FdJMcah5ZCXJ%2FBjmJK3hWPPNbqdh6Ls7Lw1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;241&quot; height=&quot;218&quot; data-origin-width=&quot;491&quot; data-origin-height=&quot;445&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-family: 'Noto Serif KR';&quot;&gt;Y = &amp;beta;₀ + &amp;beta;₁X + &amp;epsilon;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;beta;₀(절편): X=0일 때 Y값&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;beta;₁(기울기): X 1 증가할 때 Y 변화량&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;R&amp;sup2;(결정계수): 모형 설명력 (0~1)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;② 다중 회귀분석&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;독립변수 2개 이상&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;③ 다중공선성(Multicollinearity)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;독립변수들끼리 상관 강하면 회귀계수 신뢰성&amp;darr; &amp;rarr; &lt;b&gt;VIF&lt;/b&gt;로 진단&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;VIF 10 이상이면 심각, 제거 검토&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;④ 다중공선성 해결법 3가지&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;변수 정규화(스케일링) : &lt;b&gt;단위&lt;/b&gt; 맞춤, 근본 해결은 x&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;변수 제거 : &lt;b&gt;VIF 높은 변수 탈락&lt;/b&gt;, 정보 손실 리스크 있음&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;PCA(머신러닝-비지도학습)로 &lt;b&gt;차원 축소&lt;/b&gt; : 다중공선성 원천 차단, 제일 깔끔한 방법인듯?&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;[ 머신러닝 기초 ]&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;1. Feature Importance&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;① &lt;b&gt;Feature Importance&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;모델이 의사결정할 때 어떤 변수를 가장 중요하게 봤는지 순위를 매기는 것&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&quot;정확도 95%인 건 알겠는데 모델이 뭘 보고 판단했냐&quot;는 &lt;b&gt;질문에 답하려고&lt;/b&gt; 필요함 &amp;rarr; 결과만큼 &lt;b&gt;판단 이유&lt;/b&gt;도 중요함!!&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;중요도 0인 변수는 과감히 제거해서 모델 경량화 + 과적합 방지도 가능&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;② &lt;b&gt;산출 원리&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;선형 모델은 회귀계수 크기로 중요도 판단 &lt;b&gt;(회귀계수 클수록 중요)&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;트리 기반 모델(Random Forest...)은 불순도 감소 기준 &amp;rarr; 어떤 변수로 나눴을 때 정상/이상이 확실하게 갈리는지로 판단 (예: 습도 기준 분할은 여전히 섞임 &amp;rarr; 낮은 중요도 / 압력 기준 분할은 완벽히 분리 &amp;rarr; 높은 중요도)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;⚠️ &lt;b&gt;주의사항&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Feature Importance는 그 변수가 결과와 연관 있다는 것만 보여줄 뿐, &lt;b&gt;인과관계를 보장하지 않음&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;힌트로만 쓰고, 실제 조치는 현장 분석 + 도메인 전문가 교차검증 필수&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이론 X &lt;br /&gt;앞으로 프로젝트할 때 도움이 될 내용들 정리!&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;- ML 프로젝트... 어떻게 접근하지&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;① &lt;b&gt;스케이트보드 전략 (Agile &amp;amp; AI 방식)&lt;/b&gt; ⭐&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이론 다 끝내고 시작하는 Waterfall 방식 대신, &lt;b&gt;일단 실행 가능한 가장 단순한 결과물부터 만들어보자~&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&quot;이론 완벽히 끝내고 시작&quot; &amp;rarr; 끝이 안 보임. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&quot;CSV 불러서 그래프 하나만 그려보자, 모르는 문법은 그때그때 검색&quot; &amp;rarr; 결과물이 바로 나옴&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;② &lt;b&gt;AI 튜닝 전략&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;일단 결과 만들고, 에러 나면 그때 이론 찾아봄 (사후 분석)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이렇게 학습한 이론이 뇌에 더 강하게 박힘&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;- 프로젝트 협업/관리 가이드&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;① &lt;b&gt;협업 셋팅&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;팀 공유 드라이브에 폴더 만들고 data/notebooks 폴더 구분, 팀원 편집자 권한 부여&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;동시 수정 충돌 막으려면 파일명에 이름 적어서 나눠 작업! (예: 01_preprocessing_이름.ipynb)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;② &lt;b&gt;프로젝트 관리&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;마일스톤 단위로 진척률 가시화 (예: 데이터셋 확보 20% &amp;rarr; 전처리 40% &amp;rarr; 베이스라인 모델 70% &amp;rarr; 최종 보고서 100%)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;[ 머신러닝 심화 ]&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;* 머신러닝 프로세스 (1)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;1. 머신러닝 학습 과정&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;① &lt;b&gt;학습 (Training)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;모델이 데이터 사이의 규칙을 스스로 찾아가는 단계&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Loss Function&lt;/b&gt;(손실 함수)으로 예측값과 실제값 차이를 수치화함 (예: RMSE, MAE) &amp;rarr; 오차가 작을수록 모델 성능 good&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Gradient Descent&lt;/b&gt;(경사 하강법)로 오차를 줄이는 방향을 찾아 파라미터를 조금씩 업데이트&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;② &lt;b&gt;특성 공학 (Feature Engineering)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;모델이 잘 학습하도록 데이터를 가공하는 작업&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;스케일링&lt;/b&gt;: 온도(20~30)와 압력(1000~2000)처럼 단위 차이 크면 모델이 숫자 큰 쪽을 더 중요하게 착각함 &amp;rarr; &lt;span style=&quot;color: #0593d3;&quot;&gt;Min-Max나 표준화&lt;/span&gt;로 범위 맞춰줌&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;③ &lt;b&gt;튜닝 (Tuning)&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;모델이 학습 잘하도록 환경을 설정해주는 단계, &lt;b&gt;하이퍼파라미터&lt;/b&gt;(사람이 직접 정하는 설정값)를 조정하는 과정&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Grid Search&lt;/b&gt;: 후보 값들 격자로 미리 정해놓고 하나씩 다 대입해서&lt;span style=&quot;color: #ef5369;&quot;&gt; 최적의 조합&lt;/span&gt; 찾기 &amp;rarr; 현장에서 열처리 온도/압력 조합 다 실험해보고 불량률 가장 낮은 조건 찾는 거랑 똑같은 개념&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;2. 과적합(Overfitting)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;① &lt;b&gt;과적합이 생기는 이유?&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;학습 데이터가 부족&lt;/b&gt;하면 다양한 패턴을 못 배움&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;모델이 너무 복잡&lt;/b&gt;하면 작은 데이터 변화에도 과하게 반응&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;너무 오래 학습&lt;/b&gt;하면 데이터를 이해하는 게 아니라 외워버림&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;② &lt;b&gt;방지 방법&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;규제(L1/Lasso는 &lt;b&gt;중요하지 않은 가중치를 0&lt;/b&gt;으로, L2/Ridge는 &lt;b&gt;가중치를 전체적으로 작게&lt;/b&gt;) &amp;rarr; 모델을 &lt;b&gt;다이어트&lt;/b&gt;시킴&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;교차검증(K-Fold)&lt;/b&gt;으로 특정 데이터 조각에만 강한 모델이 되는 걸 막음&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;3. Baseline 모델&lt;/b&gt; ⭐중요 &lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;⭐&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;- 처음부터 100점 맞으려고 ㄴㄴ&lt;span style=&quot;color: #ef5369;&quot;&gt; 빠르게 60점짜리 Baseline 만들고, 1점씩 올려가는 과정&lt;/span&gt; 필요!!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;① &lt;b&gt;왜 만듦?&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;비교 기준점&lt;/b&gt;이 있어야 새 모델이 얼마나 좋아졌는지 알 수 있음! (예: &quot;단순 모델보다 5% 올랐으니 복잡한 모델 쓸 가치 있다&quot;)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;처음부터 어려운 모델에 매달리면 &lt;b&gt;마감 직전까지 결과물이 안 나올 위험&lt;/b&gt; 있음 &amp;rarr; Baseline부터 빠르게 돌려서 전체 파이프라인작동 확인&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Baseline 성능으로 데이터/문제 어느 쪽이 문제인지 진단 가능&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Today I Learned</category>
      <author>JiJi0406</author>
      <guid isPermaLink="true">https://jiji0406.tistory.com/32</guid>
      <comments>https://jiji0406.tistory.com/32#entry32comment</comments>
      <pubDate>Mon, 22 Jun 2026 21:08:06 +0900</pubDate>
    </item>
    <item>
      <title>[내일배움캠프 QA/QC 6기] TIL #028</title>
      <link>https://jiji0406.tistory.com/31</link>
      <description>&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;001&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;오늘의 코드카타&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;37.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0593d3;&quot;&gt;&lt;a style=&quot;color: #0593d3;&quot; href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12950&quot;&gt;행렬의 덧셈&lt;/a&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이&amp;nbsp;문제에는&amp;nbsp;표준&amp;nbsp;입력으로&amp;nbsp;두&amp;nbsp;개의&amp;nbsp;정수&amp;nbsp;n과&amp;nbsp;m이&amp;nbsp;주어집니다. &lt;br /&gt;별(*)&amp;nbsp;문자를&amp;nbsp;이용해&amp;nbsp;가로의&amp;nbsp;길이가&amp;nbsp;n,&amp;nbsp;세로의&amp;nbsp;길이가&amp;nbsp;m인&amp;nbsp;직사각형&amp;nbsp;형태를&amp;nbsp;출력해보세요.&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;제한조건&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;n과&amp;nbsp;m은&amp;nbsp;각각&amp;nbsp;1000&amp;nbsp;이하인&amp;nbsp;자연수입니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;예시&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;입력&lt;/p&gt;
&lt;pre id=&quot;code_1781829764279&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;5 3&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;출력&lt;/p&gt;
&lt;pre id=&quot;code_1781829792961&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;*****
*****
*****&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1781829629445&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;a, b = map(int, input().strip().split(' '))
print(('*' * a + '\n') * b)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;  &lt;/span&gt;&lt;b&gt;파이썬 줄바꿈&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. print()는 호출될 때마다 줄바꿈&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. \n (문자열 안에서 사용 가능)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3.end 파라미터 (end=''(기본값 : \n))&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. ''' '''&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #9d9d9d;&quot;&gt;&lt;br /&gt;002&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;오늘 학습한 내용&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;데이터 분석 심화 주차 D+3&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;0&quot; data-ke-size=&quot;size20&quot;&gt;1. t-test(t-검정)&lt;/h4&gt;
&lt;blockquote data-path-to-node=&quot;0&quot; data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;두 집단의 평균 차이가 진짜 의미가 있는 차이인가, 아니면 그냥 우연인가?&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-path-to-node=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;를 수학적으로 검증하는 통계 방법&lt;/p&gt;
&lt;p data-path-to-node=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;1&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;rarr; 데이터의 퍼진 정도(분산)와 샘플 수를 모두 고려&lt;/b&gt;해서 &lt;i&gt;진짜 차이가 나는지&lt;/i&gt; 알려주는 것!&lt;/p&gt;
&lt;p data-path-to-node=&quot;3&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;3&quot; data-ke-size=&quot;size18&quot;&gt;1) t-test의 종류&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;4&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;4,0,0&quot;&gt;일표본 t-test (One-sample):&lt;/b&gt; 한 집단의 평균을 특정 기준값과 비교&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;4,1,0&quot;&gt;독립표본 t-test (Independent-sample):&lt;/b&gt; 서로 다른 두 집단의 평균을 비교 &lt;b data-index-in-node=&quot;59&quot; data-path-to-node=&quot;4,1,0&quot;&gt;(가장 많이 씀!)&lt;/b&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;4,2,0&quot;&gt;대응표본 t-test (Paired-sample):&lt;/b&gt; 동일한 집단의 전/후를 비교&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1781852013854&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import numpy as np
from scipy import stats # t-test 할 때 쉽게 할 수 있게 해주는 라이브러리

# 데이터 준비 (ex. A그룹과 B그룹의 구매 금액)
group_A = np.array([23, 25, 28, 30, 26, 27, 29])
group_B = np.array([31, 35, 32, 29, 30, 34, 33])

# 독립표본 t-test 실행
t_stat, p_value = stats.ttest_ind(group_A, group_B)

print(f&quot;t-통계량: {t_stat}&quot;)
print(f&quot;p-value: {p_value}&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;p data-path-to-node=&quot;9&quot; data-ke-size=&quot;size18&quot;&gt;2) 결과 해석&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;10&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;결과로 나오는 p-value가 &lt;b data-index-in-node=&quot;17&quot; data-path-to-node=&quot;10,0,0&quot;&gt;0.05보다 작으면(p &amp;lt; 0.05)&lt;/b&gt;: 두 그룹의 평균은 &lt;b data-index-in-node=&quot;59&quot; data-path-to-node=&quot;10,0,0&quot;&gt;진짜 차이가 있다! 우연 X &lt;/b&gt;라고 결론 냄&lt;/li&gt;
&lt;li&gt;p-value가 &lt;b data-index-in-node=&quot;9&quot; data-path-to-node=&quot;10,1,0&quot;&gt;0.05보다 크면&lt;/b&gt;: 우연히 차이가 나 보이는 것, 통계적으로는 &lt;b data-index-in-node=&quot;49&quot; data-path-to-node=&quot;10,1,0&quot;&gt;차이가 없다 &lt;/b&gt;라고 해석&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2. 표본 추출방법&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;단순 랜덤 추출 - 그냥 무작위&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;계통 추출 - 5개당 1개씩 일정 간격으로&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;집락 추출 - 특정 구역만 통째로 (집단 내 이질적, 집단 간 동질적)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;층화 추출 &amp;mdash; 특정 상품군 내에서 추출 (집단 내 동질적, 집단 간 이질적)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;프로젝트에서는 이미 데이터가 다 추출돼있는 상태로 받기 때문에 크게 안 중요하지만, 현장에서는 필요한 개념&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(ADsP 준비하면 층화추출은 기억해두기)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3. 중심극한정리(CLT) &amp;amp; 큰 수의 법칙&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1) 중심극한정리&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;모집단의 분포 모양이 어떻든 상관없이, 표본 크기가 충분히 크면(n&amp;ge;30, 이론상!) 표본평균들의 분포가 정규분포에 가까워진다는 정리&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;maxima&quot; style=&quot;color: #14181f;&quot;&gt;&lt;code&gt;# 지수분포(전혀 정규분포 아님)인 모집단에서 표본 크기별로 평균을 뽑아보는 시뮬레이션
population = np.random.exponential(scale=2, size=100000)

def simulate_sampling_means(n_samples, iterations=1000):
    return [np.mean(np.random.choice(population, n_samples)) for _ in range(iterations)]

means_2 = simulate_sampling_means(2)
means_30 = simulate_sampling_means(30)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;4. &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;가설검정&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;907&quot; data-origin-height=&quot;495&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bUUI41/dJMcaayY1xp/GpObRSSmgcvIvfmHxkoxQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bUUI41/dJMcaayY1xp/GpObRSSmgcvIvfmHxkoxQ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bUUI41/dJMcaayY1xp/GpObRSSmgcvIvfmHxkoxQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbUUI41%2FdJMcaayY1xp%2FGpObRSSmgcvIvfmHxkoxQ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;609&quot; height=&quot;332&quot; data-origin-width=&quot;907&quot; data-origin-height=&quot;495&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;귀무가설(H₀)&lt;/b&gt;: 차이 없음, 효과 없음 (기본으로 믿는 가설)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;대립가설(H₁)&lt;/b&gt;: 차이 있음, 효과 있음 (&lt;b&gt;증명하고 싶은 가설&lt;/b&gt;)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;유의수준(&amp;alpha;):&lt;/b&gt; 귀무가설이 참인데 잘못 기각할 확률의 상한선 (보통 0.05)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;p-value&lt;/b&gt;: 귀무가설이 참이라고 가정했을 때, 지금 같은(또는 더 극단적인) 데이터가 나올 확률&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;rarr; &lt;b&gt;p &amp;lt; 0.05&lt;/b&gt;면 귀무가설 기각, &lt;b&gt;p &amp;ge; 0.05&lt;/b&gt;면 채택(보류)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1) 검정 절차&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;① 귀무/대립가설 수립 &amp;rarr; ② 유의수준 설정 &amp;rarr; ③ 검정통계량 계산(Z, T, 카이제곱, F 등) &amp;rarr; ④ p-value나 신뢰수준 기준으로 결론&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2) 단측검정 vs 양측검정&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;단측검정 - 방향성 있음 (ex. 신약 효과가 &quot;더 크다&quot;)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;양측검정 - 차이 여부만 봄 (ex. 남녀 성적이 &quot;다르다&quot;)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3) 1종 오류 vs 2종 오류 (가볍게 알아두)&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1종 오류: 귀무가설이 맞는데 기각함&lt;b&gt; (잘못된 긍정)&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2종 오류: 귀무가설이 틀렸는데 채택함 &lt;b&gt;(놓친 기회)&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;5. 모수 검정&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;정규분포 등 모집단 분포에 전제를 두는 검정 방법. 평균 차이를 비교할 때 주로 씀.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1) z-test&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;모집단 표준편차를 알고, 표본 수가 충분히 클 때(n&amp;ge;30) 사용.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ex) 부품 이론 평균 길이 50mm인데 표본 40개 평균이 50.3mm로 나왔다면, 이게 우연인지 검정&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2) t-test&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;모집단 표준편차를 모르고, 표본이 작을 때(n&amp;lt;30) 사용. 위에서 정리함&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3) ANOVA&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3개 이상 집단 평균 비교할 때. t-test를 여러 번 반복하면 오류 위험이 커지니까 한 번에 통합 비교&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;일원 ANOVA &amp;mdash; 기준 1개 (ex. 지역)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이원 ANOVA &amp;mdash; 기준 2개 (ex. 지역+성별)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;z-test/t-test/ANOVA&lt;/b&gt; 구분 기준&lt;br /&gt;: &quot;표본 크기 + 표준편차를 아는지 모르는지 + 비교 그룹 수&quot; &amp;rarr; 이 세 가지 질문으로 정리하니 헷갈리지 않았음!&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Today I Learned</category>
      <author>JiJi0406</author>
      <guid isPermaLink="true">https://jiji0406.tistory.com/31</guid>
      <comments>https://jiji0406.tistory.com/31#entry31comment</comments>
      <pubDate>Fri, 19 Jun 2026 21:06:48 +0900</pubDate>
    </item>
    <item>
      <title>[내일배움캠프 QA/QC 6기] TIL #027</title>
      <link>https://jiji0406.tistory.com/30</link>
      <description>&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;001&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;오늘의 코드카타&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;37. &lt;span style=&quot;color: #0593d3;&quot;&gt;&lt;a style=&quot;color: #0593d3;&quot; href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12950&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;행렬의 덧셈&lt;/a&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;행렬의&amp;nbsp;덧셈은&amp;nbsp;행과&amp;nbsp;열의&amp;nbsp;크기가&amp;nbsp;같은&amp;nbsp;두&amp;nbsp;행렬의&amp;nbsp;같은&amp;nbsp;행,&amp;nbsp;같은&amp;nbsp;열의&amp;nbsp;값을&amp;nbsp;서로&amp;nbsp;더한&amp;nbsp;결과가&amp;nbsp;됩니다.&amp;nbsp;2개의&amp;nbsp;행렬&amp;nbsp;arr1과&amp;nbsp;arr2를&amp;nbsp;입력받아,&amp;nbsp;행렬&amp;nbsp;덧셈의&amp;nbsp;결과를&amp;nbsp;반환하는&amp;nbsp;함수,&amp;nbsp;solution을&amp;nbsp;완성해주세요.&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;제한조건&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;행렬&amp;nbsp;arr1,&amp;nbsp;arr2의&amp;nbsp;행과&amp;nbsp;열의&amp;nbsp;길이는&amp;nbsp;500을&amp;nbsp;넘지&amp;nbsp;않습니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;입출력 예&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;color: #333333; text-align: start; border-collapse: collapse; width: 66.16%; height: 48px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;height: 16px; width: 21.5434%;&quot;&gt;&lt;b&gt;arr1&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 16px; width: 22.3811%;&quot;&gt;&lt;b&gt;arr2 &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 18.6628%; height: 16px;&quot;&gt;&lt;b&gt;return&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;height: 16px; width: 21.5434%;&quot;&gt;[[1,2],[2,3]]&lt;/td&gt;
&lt;td style=&quot;height: 16px; width: 22.3811%;&quot;&gt;[[3,4],[5,6]]&lt;/td&gt;
&lt;td style=&quot;width: 18.6628%; height: 16px;&quot;&gt;[[4,6],[7,9]]&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;height: 16px; width: 21.5434%;&quot;&gt;[[1],[2]]&lt;/td&gt;
&lt;td style=&quot;height: 16px; width: 22.3811%;&quot;&gt;[[3],[4]]&lt;/td&gt;
&lt;td style=&quot;width: 18.6628%; height: 16px;&quot;&gt;[[4],[6]]&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1781780785689&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(arr1, arr2):
    return [[x + y for x, y in zip(z, w)] for z, w in zip(arr1, arr2)]
# 예전에 코드카타 풀면서 배웠던 zip 함수 오랜만에 다시 씀&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;☆ 작동 원리&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;21,0,0&quot;&gt;1. 바깥쪽 zip&lt;/b&gt;: z에 arr1의 [1, 2] / w에 arr2의 [3, 4] / ...(반복)&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;21,1,0&quot;&gt;2. 안쪽 zip&lt;/b&gt;: x에 [1, 2]의 1 / y에 [3, 4]의 3 &amp;rarr; x + y / ...(반복)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;21,2,0&quot;&gt;3. 대괄호 2개([[ ]])&lt;/b&gt;: 안쪽 대괄호가 [4, 6]을 만들고, 바깥쪽 대괄호가 그걸 감싸쥼 &amp;rarr; [[4, 6], [7, 9]]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #9d9d9d;&quot;&gt;&lt;br /&gt;002&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;오늘 학습한 내용&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;데이터 분석 심화 주차 D+2&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;[ 머신 러닝 기초 ]&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;어제 라이브 세션 들었던 거 다시 정리&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot; data-path-to-node=&quot;3&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1. 머신러닝?&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot; data-path-to-node=&quot;4&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-path-to-node=&quot;4,0,0&quot; data-index-in-node=&quot;0&quot;&gt;정의:&lt;/b&gt;&amp;nbsp;컴퓨터가 데이터를 &lt;b&gt;&lt;span style=&quot;color: #ef5369;&quot;&gt;학습&lt;/span&gt;&lt;/b&gt;해서 &lt;u&gt;스스로 패턴과 의미를 찾아내도록&lt;/u&gt; 하는 연구 분야&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-path-to-node=&quot;4,1,0&quot; data-index-in-node=&quot;0&quot;&gt;제조업에서의 역할:&lt;/b&gt;&amp;nbsp;품질 데이터 자동 분석, 공정 이상 탐지 및 예측, 결함률 감소 &amp;rarr; 생산성 향상&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2. 머신러닝 학습의 종류&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;1) 지도학습&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #0593d3;&quot;&gt;정답(Label)이 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;있는&lt;/b&gt; &lt;/span&gt;데이터&lt;/span&gt;를 사용해 학습하는 방법&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;입력 데이터(X)와 정답 데이터(Y)를 함께 학습&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;(1) 분류(Classification)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;정해진 카테고리 중 하나를 예측하는 문제&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;이진 분류&lt;/b&gt; : 정상/비정상처럼 두 가지 결과&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;다중 분류&lt;/b&gt; : A/B/C 등 여러 결과&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;- 대표 모델&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ou6wy/dJMcaftsN2S/RzsF5DgRamCnn6pFFS9FN0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ou6wy/dJMcaftsN2S/RzsF5DgRamCnn6pFFS9FN0/img.png&quot; data-origin-width=&quot;640&quot; data-origin-height=&quot;585&quot; data-is-animation=&quot;false&quot; style=&quot;width: 33.0714%; margin-right: 10px;&quot; data-widthpercent=&quot;33.86&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ou6wy/dJMcaftsN2S/RzsF5DgRamCnn6pFFS9FN0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOu6wy%2FdJMcaftsN2S%2FRzsF5DgRamCnn6pFFS9FN0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;640&quot; height=&quot;585&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/co3usD/dJMcahSjqTR/kYQnMZbG5FU4WgkHhr4qek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/co3usD/dJMcahSjqTR/kYQnMZbG5FU4WgkHhr4qek/img.png&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;414&quot; data-is-animation=&quot;false&quot; style=&quot;width: 36.5088%; margin-right: 10px;&quot; data-widthpercent=&quot;37.38&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/co3usD/dJMcahSjqTR/kYQnMZbG5FU4WgkHhr4qek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fco3usD%2FdJMcahSjqTR%2FkYQnMZbG5FU4WgkHhr4qek%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;414&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mFdu9/dJMcaiRgatb/FrPwpOqnERRCjWqUkPAGX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mFdu9/dJMcaiRgatb/FrPwpOqnERRCjWqUkPAGX1/img.png&quot; data-origin-width=&quot;250&quot; data-origin-height=&quot;269&quot; data-is-animation=&quot;false&quot; style=&quot;width: 28.0942%;&quot; data-widthpercent=&quot;28.76&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mFdu9/dJMcaiRgatb/FrPwpOqnERRCjWqUkPAGX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmFdu9%2FdJMcaiRgatb%2FFrPwpOqnERRCjWqUkPAGX1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;250&quot; height=&quot;269&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;로지스틱 회귀&lt;/b&gt; : &lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;선형&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;결합을&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;이용해&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;사건&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;발생&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;확률을&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #cc0000; text-align: start;&quot;&gt;&lt;span&gt;0&amp;nbsp;&lt;/span&gt;&lt;span&gt;~&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;사이로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;예측&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;의사결정트리&lt;/b&gt; ⭐(Like 스무고개) : &lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;데이터를&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;여러&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;조건으로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;반복&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;분할해&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;예측 or&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;의사결정&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;과정을&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;트리&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;구조로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;표현&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;SVM(서포트 벡터 머신)&lt;/b&gt; : &lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;새로운 데이터가 어느 카테고리에 속할지 판단하는 비&lt;/span&gt;&lt;a id=&quot;mwGQ&quot; style=&quot;background-color: #ffffff; color: #3366cc; text-align: start;&quot; href=&quot;https://ko.wikipedia.org/wiki/%ED%99%95%EB%A5%A0&quot;&gt;확률적&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;이진&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a id=&quot;mwGg&quot; style=&quot;background-color: #ffffff; color: #3366cc; text-align: start;&quot; href=&quot;https://ko.wikipedia.org/wiki/%EC%84%A0%ED%98%95_%EB%B6%84%EB%A5%98&quot;&gt;선형 분류&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;모델을 만든다.&lt;/span&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;(2) 회귀(Regression)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;연속적인 숫자 값을 예측하는 문제&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;- 대표 모델&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bxYxmx/dJMcaiDJ7dD/uXqwRgpVhTsIVN9P2dsYjk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bxYxmx/dJMcaiDJ7dD/uXqwRgpVhTsIVN9P2dsYjk/img.png&quot; data-origin-width=&quot;330&quot; data-origin-height=&quot;271&quot; data-is-animation=&quot;false&quot; style=&quot;width: 29.4722%; margin-right: 10px;&quot; data-widthpercent=&quot;30.17&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bxYxmx/dJMcaiDJ7dD/uXqwRgpVhTsIVN9P2dsYjk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbxYxmx%2FdJMcaiDJ7dD%2FuXqwRgpVhTsIVN9P2dsYjk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;330&quot; height=&quot;271&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c0hRvY/dJMcai4JvxM/2ueY4N3UH30RqNQnsvWQZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c0hRvY/dJMcai4JvxM/2ueY4N3UH30RqNQnsvWQZ1/img.png&quot; data-origin-width=&quot;330&quot; data-origin-height=&quot;220&quot; data-is-animation=&quot;false&quot; style=&quot;width: 36.3044%; margin-right: 10px;&quot; data-widthpercent=&quot;37.17&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c0hRvY/dJMcai4JvxM/2ueY4N3UH30RqNQnsvWQZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc0hRvY%2FdJMcai4JvxM%2F2ueY4N3UH30RqNQnsvWQZ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;330&quot; height=&quot;220&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/br7uUo/dJMcacXOEyM/EaIOGNBAardIGblrU0QVVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/br7uUo/dJMcacXOEyM/EaIOGNBAardIGblrU0QVVk/img.png&quot; data-origin-width=&quot;485&quot; data-origin-height=&quot;368&quot; data-is-animation=&quot;false&quot; style=&quot;width: 31.8979%;&quot; data-widthpercent=&quot;32.66&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/br7uUo/dJMcacXOEyM/EaIOGNBAardIGblrU0QVVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbr7uUo%2FdJMcacXOEyM%2FEaIOGNBAardIGblrU0QVVk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;485&quot; height=&quot;368&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;선형 회귀 / 다항 회귀 / 랜덤 포레스트 회귀&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;선형 회귀&lt;/b&gt; : y = ax + b&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;다항 회귀&lt;/b&gt; : &lt;a id=&quot;mwDA&quot; style=&quot;background-color: #ffffff; color: #3366cc; text-align: start;&quot; href=&quot;https://ko.wikipedia.org/wiki/%EB%8F%85%EB%A6%BD%EB%B3%80%EC%88%98&quot;&gt;독립변수&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;x와&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a id=&quot;mwDQ&quot; style=&quot;background-color: #ffffff; color: #3366cc; text-align: start;&quot; href=&quot;https://ko.wikipedia.org/wiki/%EC%A2%85%EC%86%8D%EB%B3%80%EC%88%98&quot;&gt;종속변수&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;y 간의 관계가 x의&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a id=&quot;mwDg&quot; style=&quot;background-color: #ffffff; color: #3366cc; text-align: start;&quot; href=&quot;https://ko.wikipedia.org/wiki/%EB%8B%A4%ED%95%AD%EC%8B%9D&quot;&gt;다항식&lt;/a&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;릿지 회귀 / 라쏘 회귀&lt;/b&gt; (자세히 몰라도 됨)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;랜덤 포레스트 회귀&lt;/b&gt; : &lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;훈련 과정에서 구성한 다수의&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a id=&quot;mwDA&quot; style=&quot;background-color: #ffffff; color: #3366cc; text-align: start;&quot; href=&quot;https://ko.wikipedia.org/wiki/%EA%B2%B0%EC%A0%95_%ED%8A%B8%EB%A6%AC&quot;&gt;결정 트리&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;로부터 부류(분류) 또는 평균 예측치(회귀 분석)를 출력함으로써 동작&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;SVR&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2) 비지도학습&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #0593d3;&quot;&gt;정답(Label)이&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt; 없는&lt;/span&gt;&lt;/b&gt; 데이터&lt;/span&gt;를 활용하여 데이터 속 패턴이나 구조를 찾는 방법&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;데이터 간의 &lt;b&gt;유사성&lt;/b&gt;과 &lt;b&gt;차이&lt;/b&gt;를 파악&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(1) 클러스터링 (군집 분석)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;비슷한 특성을 가진 데이터끼리 그룹으로 묶는 방법&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;256&quot; data-origin-height=&quot;273&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/r5WmY/dJMcabR6oOD/6D3ndWWImHAfJkfZZlUj60/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/r5WmY/dJMcabR6oOD/6D3ndWWImHAfJkfZZlUj60/img.png&quot; data-alt=&quot;학부 시절 유세포분석 배울 때 들어봤음&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/r5WmY/dJMcabR6oOD/6D3ndWWImHAfJkfZZlUj60/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fr5WmY%2FdJMcabR6oOD%2F6D3ndWWImHAfJkfZZlUj60%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;256&quot; height=&quot;273&quot; data-origin-width=&quot;256&quot; data-origin-height=&quot;273&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;학부 시절 유세포분석 배울 때 들어봤음&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(2) 차원 축소(Dimensionality Reduction)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;많은 변수 중 중요한 정보만 남기고 데이터를 압축하는 방법&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(ex. 공정 센서 데이터가 수천 개 존재할 때, 핵심 정보만 추출하여 분석 효율 &amp;uarr;)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3. Scikit-learn&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;: 파이썬 머신러닝 라이브러리&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;cmake&quot;&gt;&lt;code&gt;pip install scikit-learn&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;- 주요 기능&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;분류 및 회귀 모델&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;클러스터링 및 차원 축소&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;데이터 전처리&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;모델 평가&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;데이터 분할&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;4. 머신러닝 모델링 과정&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;1) 문제 정의&lt;/b&gt;&lt;br /&gt;:지도학습? 비지도학습? 분류/회귀?&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2) 데이터 전처리&lt;/b&gt;&lt;br /&gt;결측치 처리 / 이상치 제거 / 데이터 타입 확인 / 정규화 / 피처 엔지니어링 (변수 선택 및 새로운 변수 생성 과정)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3) 데이터 분할&lt;/b&gt;&lt;br /&gt;학습 데이터와 평가 데이터 분리&lt;br /&gt;Train : 80% / Test : 20% 비율을 많이 사용&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4) 모델 학습 및 평가&lt;/b&gt;&lt;br /&gt;모델을 선택한 뒤 학습 데이터를 이용해 학습하고, 테스트 데이터로 성능을 확인&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5) 하이퍼파라미터 튜닝&lt;/b&gt;&lt;br /&gt;모델 성능 향상을 위해 사용자가 직접 설정하는 값을 조정하는 과정&lt;br /&gt;같은 모델이라도 하이퍼파라미터 설정에 따라 성능이 크게 달라질 수 있다!&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;[ 기초 통계 ] &lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;* 데이터 탐색 전 확인할 것 3가지&lt;/p&gt;
&lt;pre class=&quot;css&quot;&gt;&lt;code&gt;df.head()
df.describe()
df.info()
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. 확률변수 &amp;amp; 확률분포&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;1) 확률변수&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;: 어떤 시행의 결과를 숫자로 표현한 변수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;(1) 이산형 확률변수 : &lt;/b&gt;셀 수 있는 값을 가지는 변수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;(2) 연속형 확률변수 : &lt;/b&gt;실수 범위 내 무한한 값을 가지는 변수&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;angelscript&quot; style=&quot;color: #14181f;&quot;&gt;&lt;code&gt;import numpy as np
# 이산형: 하루 불량 개수
discrete = np.random.choice([0,1,2,3,4,5], size=100, p=[0.1,0.2,0.3,0.2,0.1,0.1])
# 연속형: 제품 길이 (정규분포 가정)
continuous = np.random.normal(loc=100, scale=5, size=100)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;2) 확률분포&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;: 확률변수가 어떤 값을 가질 확률을 나타낸 규칙, &lt;b&gt;모든 확률의 합 = 1&lt;/b&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. P&lt;b&gt;M&lt;/b&gt;F &amp;amp; P&lt;b&gt;D&lt;/b&gt;F&lt;b&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;1) PMF (확률질량함수)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이산형 데이터의 확률, &quot;특정 값이 나올 확률&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;2) PDF (확률밀도함수)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;연속형 데이터의 확률, &quot;구간의 확률&quot; / PDF 그래프의 면적 = 확률&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;815&quot; data-origin-height=&quot;615&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmpTP1/dJMcaaeFdG1/mSPmViB4JA1JHkt3Do7WO0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmpTP1/dJMcaaeFdG1/mSPmViB4JA1JHkt3Do7WO0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmpTP1/dJMcaaeFdG1/mSPmViB4JA1JHkt3Do7WO0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmpTP1%2FdJMcaaeFdG1%2FmSPmViB4JA1JHkt3Do7WO0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;303&quot; height=&quot;229&quot; data-origin-width=&quot;815&quot; data-origin-height=&quot;615&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 길이가 정확히 10.0000mm일 확률 (X)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 길이가 9.8mm ~ 10.2mm 사이일 확률 (O)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;3) KDE (커널 밀도 추정)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;: 데이터만 가지고 PDF를 추정하는 방법&lt;/p&gt;
&lt;pre class=&quot;css&quot;&gt;&lt;code&gt;sns.kdeplot()
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. 대표적인 확률분포&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;1) 이항분포&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;: 성공 or 실패처럼 결과가 두 개뿐인 상황에서 사용 (베르누이 시행)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;2) 포아송분포&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;: 특정 시간 또는 공간에서 발생하는 사건의 횟수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;4. &lt;b&gt;정규분포 ★&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;: 품질관리에서 가장 많이 사용하는 분포&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 실제 제조업 품질 데이터도 정규분포를 따른다고 가정하는 경우가 많다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- SPC 관리도 / Z-점수 해석 / 3시그마 개념&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;1) 68-95-99.7 법칙&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- in 정규분포&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;plusmn;1&amp;sigma; &amp;rarr; 약 68%&lt;/li&gt;
&lt;li&gt;&amp;plusmn;2&amp;sigma; &amp;rarr; 약 95%&lt;/li&gt;
&lt;li&gt;&amp;plusmn;3&amp;sigma; &amp;rarr; 약 99.7%&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;대부분의 데이터는 평균 근처&lt;/b&gt;에 몰려 있고 &lt;b&gt;극단적인 값은 매우 적다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;2) 식스시그마&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;plusmn;6&amp;sigma; 범위 안에 거의 모든 데이터 포함&lt;/li&gt;
&lt;li&gt;불량률 약 3.4ppm 수준&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;- 100만 개&lt;/b&gt;를 생산했을 때 &lt;b&gt;불량품이 3~4개 정도&lt;/b&gt;만 발생하는 수준의 매우 우수한 공정을 의미!&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;5. Cp와 Cpk&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;1) Cp (공정능력지수)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공정이 허용 범위 안에서 &lt;b&gt;얼마나 안정적으로 생산되는지&lt;/b&gt; 평가 (관리상한선 - 관리하한선 / 6시그마)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Cp &amp;gt; 1.33&lt;/b&gt; : 양호&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Cp &amp;lt; 1&lt;/b&gt; : &lt;span style=&quot;color: #ef5369;&quot;&gt;개선 필요&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Cp는 공정의 퍼짐(산포)만 평가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;2) Cpk (공정성능지수)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Cp에 공정 중심 위치까지 고려한 지표&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Cpk &amp;gt; 1.33&lt;/b&gt; : 안정적인 공정&lt;/li&gt;
&lt;li&gt;Cp는 높은데 &lt;b&gt;Cpk가 낮음&lt;/b&gt; &amp;rarr; 정밀 but &lt;b&gt;중심 어긋&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;- Cp : 얼마나 정밀?&lt;br /&gt;- Cpk : 얼마나 정밀하고 중심도 잘 맞는지?&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;684&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0i0yI/dJMcah5WQgd/bKlpLFZtmqSrepVbfuHSc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0i0yI/dJMcah5WQgd/bKlpLFZtmqSrepVbfuHSc0/img.png&quot; data-alt=&quot;요것도 정도관리랑 공중보건학 배울 때 봤음&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0i0yI/dJMcah5WQgd/bKlpLFZtmqSrepVbfuHSc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0i0yI%2FdJMcah5WQgd%2FbKlpLFZtmqSrepVbfuHSc0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;412&quot; height=&quot;275&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;684&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;요것도 정도관리랑 공중보건학 배울 때 봤음&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실무에서는&lt;b&gt; Cpk&lt;/b&gt;를 더 중요하게 보는 경우가 많다고 한다!&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;6. 표준화 &amp;amp; 정규화&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;머신러닝에서 자주 등장하는 개념!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터마다 단위와 범위가 다르면 모델이 특정 변수만 중요하게 판단할 수 있기 때문에, &lt;b&gt;스케일을 맞춰줘야 한다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;1) 정규화&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;: 데이터를 0~1 범위로 압축&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;609&quot; data-origin-height=&quot;169&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LMZAX/dJMcaftsP1u/DA5ErpAqPzYsHIIrDBUOJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LMZAX/dJMcaftsP1u/DA5ErpAqPzYsHIIrDBUOJk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LMZAX/dJMcaftsP1u/DA5ErpAqPzYsHIIrDBUOJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLMZAX%2FdJMcaftsP1u%2FDA5ErpAqPzYsHIIrDBUOJk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;609&quot; height=&quot;169&quot; data-origin-width=&quot;609&quot; data-origin-height=&quot;169&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre class=&quot;gml&quot;&gt;&lt;code&gt;(x - min) / (max - min)
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 특징&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;값 범위 통일&lt;/li&gt;
&lt;li&gt;이상치에 민감&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;2) 표준화&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;: 평균 0, 표준편차 1로 변환&lt;/p&gt;
&lt;pre class=&quot;gml&quot;&gt;&lt;code&gt;(x - mean) / std
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;rarr;&lt;b&gt;&lt;span style=&quot;color: #ef5369;&quot;&gt; Z-score&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 특징&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이상치 영향이 상대적으로 적음&lt;/li&gt;
&lt;li&gt;데이터 분포 정보 유지&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 사용 예시: 선형회귀, 로지스틱 회귀, 머신러닝 모델 전반...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;3) 정규화 vs 표준화&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 47.7907%; height: 160px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 22px;&quot;&gt;&lt;b&gt; 정규화 &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 22px;&quot;&gt;&lt;b&gt;표준화&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 22px;&quot;&gt;&lt;span&gt;범위를 맞춤 (0~1)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 22px;&quot;&gt;평균 기준으로 변환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 22px;&quot;&gt;&lt;span&gt;0~1로 압축&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 22px;&quot;&gt;평균 0, 표준편차 1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 22px;&quot;&gt;이상치에 민감&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 22px;&quot;&gt;이상치에 (비교적) 강함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;MinMaxScaler&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;StandardScaler&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;7. 이상치 탐지&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이상치는 분석 결과를 왜곡할 수 있기 때문에 반드시 확인해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;1) Z-score 방식&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;: 평균에서 몇 표준편차 떨어져 있는지 계산&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 일반적으로 &lt;span style=&quot;color: #ef5369;&quot;&gt;&lt;b&gt;|Z| &amp;gt; 3&lt;/b&gt;&lt;/span&gt; 이면 이상치로 판단&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;8. 분포 시각화&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&lt;b&gt; 히스토그램&lt;/b&gt;(데이터 분포 확인), &lt;b&gt;박스플롯&lt;/b&gt;(중앙값 / 사분위수 / 이상치 확인), &lt;b&gt;바이올린플롯&lt;/b&gt;(분포 형태 + 밀도 확인)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b53Wwv/dJMcaf71YpM/oTBwycfGJsTy5Zjk5TmWHk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b53Wwv/dJMcaf71YpM/oTBwycfGJsTy5Zjk5TmWHk/img.png&quot; style=&quot;width: 34.8564%; margin-right: 10px;&quot; data-origin-width=&quot;929&quot; data-origin-height=&quot;466&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;35.69&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b53Wwv/dJMcaf71YpM/oTBwycfGJsTy5Zjk5TmWHk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb53Wwv%2FdJMcaf71YpM%2FoTBwycfGJsTy5Zjk5TmWHk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;929&quot; height=&quot;466&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/potSV/dJMcahx4Fhn/VLqk1ERP45mwAGg3h9ftrK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/potSV/dJMcahx4Fhn/VLqk1ERP45mwAGg3h9ftrK/img.png&quot; style=&quot;width: 37.9817%; margin-right: 10px;&quot; data-origin-width=&quot;706&quot; data-origin-height=&quot;325&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;38.89&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/potSV/dJMcahx4Fhn/VLqk1ERP45mwAGg3h9ftrK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpotSV%2FdJMcahx4Fhn%2FVLqk1ERP45mwAGg3h9ftrK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;706&quot; height=&quot;325&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/beOqte/dJMcahx4FhC/SFiZx2S7Wri6yENuhCHWxk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beOqte/dJMcahx4FhC/SFiZx2S7Wri6yENuhCHWxk/img.png&quot; data-origin-width=&quot;652&quot; data-origin-height=&quot;459&quot; data-is-animation=&quot;false&quot; style=&quot;width: 24.8363%;&quot; data-widthpercent=&quot;25.42&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beOqte/dJMcahx4FhC/SFiZx2S7Wri6yENuhCHWxk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeOqte%2FdJMcahx4FhC%2FSFiZx2S7Wri6yENuhCHWxk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;652&quot; height=&quot;459&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;프로젝트 때 만들었던 거...&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Today I Learned</category>
      <category>qaqc</category>
      <category>기술통계</category>
      <category>내일배움캠프</category>
      <category>데이터분석</category>
      <category>머신러닝</category>
      <author>JiJi0406</author>
      <guid isPermaLink="true">https://jiji0406.tistory.com/30</guid>
      <comments>https://jiji0406.tistory.com/30#entry30comment</comments>
      <pubDate>Thu, 18 Jun 2026 21:31:02 +0900</pubDate>
    </item>
    <item>
      <title>[내일배움캠프 QA/QC 6기] TIL #026 데이터 분석 심화 주차 start</title>
      <link>https://jiji0406.tistory.com/28</link>
      <description>&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;001&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;오늘의 코드카타&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;36. &lt;span style=&quot;color: #0593d3;&quot;&gt;&lt;a style=&quot;color: #0593d3;&quot; href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12918&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;문자열 다루기 기본&amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;기본 맞아요...? 어려웠는데.......&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;문자열&amp;nbsp;s의&amp;nbsp;길이가&amp;nbsp;4&amp;nbsp;혹은&amp;nbsp;6이고,&amp;nbsp;숫자로만&amp;nbsp;구성돼있는지&amp;nbsp;확인해주는&amp;nbsp;함수,&amp;nbsp;solution을&amp;nbsp;완성하세요.&amp;nbsp;예를&amp;nbsp;들어&amp;nbsp;s가&amp;nbsp;&quot;a234&quot;이면&amp;nbsp;False를&amp;nbsp;리턴하고&amp;nbsp;&quot;1234&quot;라면&amp;nbsp;True를&amp;nbsp;리턴하면&amp;nbsp;됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;제한사항&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;s는 길이 1 이상, 길이 8 이하인 문자열입니다.&lt;/li&gt;
&lt;li&gt;s는&amp;nbsp;영문&amp;nbsp;알파벳&amp;nbsp;대소문자&amp;nbsp;또는&amp;nbsp;0부터&amp;nbsp;9까지&amp;nbsp;숫자로&amp;nbsp;이루어져&amp;nbsp;있습니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;입출력 예&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;b&gt;s&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;b&gt;return&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&quot;a234&quot;&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;false&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&quot;1234&quot;&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;true&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-06-17 121316.png&quot; data-origin-width=&quot;1095&quot; data-origin-height=&quot;847&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cGzGFJ/dJMb9907fuz/CVcaZvgxwvqIakiOhVMDP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cGzGFJ/dJMb9907fuz/CVcaZvgxwvqIakiOhVMDP1/img.png&quot; data-alt=&quot;또 문제 제대로 안 읽어서 제출하니까 실패... 문자열 길이가 4 혹은 6 &amp;amp;lt; 이 조건을 신경 안 씀 - - (질문하기 보니까 또 나 같은 사람 많았따)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cGzGFJ/dJMb9907fuz/CVcaZvgxwvqIakiOhVMDP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcGzGFJ%2FdJMb9907fuz%2FCVcaZvgxwvqIakiOhVMDP1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;248&quot; height=&quot;192&quot; data-filename=&quot;스크린샷 2026-06-17 121316.png&quot; data-origin-width=&quot;1095&quot; data-origin-height=&quot;847&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;또 문제 제대로 안 읽어서 제출하니까 실패... 문자열 길이가 4 혹은 6 &amp;lt; 이 조건을 신경 안 씀 - - (질문하기 보니까 또 나 같은 사람 많았따)&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1781680604211&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(s):
    test = True if len(s) == 4 or len(s) == 6 else False # 1. s 길이가 4나 6 &amp;rarr; True, 아니면 False
    if test == False:
        return False #1-1. 길이 4나 6 아니면 바로 False 리턴
    clean = [int(i) if i.isdigit() else i for i in s] # 2. s라는 문자열을 하나씩 i에 담아서 봄 &amp;rarr; 숫자면 정수형으로, 아니면 문자 그대로 리스트 담기게 함
    for t in clean:
        if isinstance(t, str): # 3. i의 타입이 str인지 검사
            return False  # 하나라도 str이 있으면 바로 False 리턴         
    return True&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 이 문제를 풀기 위해서, is~로 시작하는 메서드들을 검색해서 알아봤다. (내 지식으로는 한계가 있었기에...)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 .isdigit()는&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문자열을 보고, 숫자만 있느냐에 따라 True/False로 출력이 되기 때문에&lt;br /&gt;굳이&lt;/p&gt;
&lt;pre id=&quot;code_1781681967296&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;clean = [int(i) if i.isdigit() else i for i in s]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 리스트 안 만들어도 됨 ㅋㅋㅋㅋ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;더 간결하게 짜려면&lt;/p&gt;
&lt;pre id=&quot;code_1781681998022&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(s):
    return True if (len(s) == 4 or len(s) == 6) and s.isdigit() else False&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게... 삼항연산자 안에 참 조건을 and로 결합해서 짜면 됨&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;  새롭게 알게 된 것 : &lt;b&gt;문자열 숫자 검증 메서드&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. .isdecimal() - &lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,0,0&quot;&gt; 순수한 10진수 일반 숫자&lt;/b&gt;만 인정&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2. .isdigit() - 일반 숫자뿐만 아니라, 특수 형태의 숫자(거듭제곱, 위첨자 등)까지 숫자로 인정&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3. .isnumeric() - 일반 숫자, 거듭제곱은 물론이고 &lt;b data-index-in-node=&quot;18&quot; data-path-to-node=&quot;10,0,0&quot;&gt;분수, 로마 숫자, 다른 문화권의 숫자&lt;/b&gt;까지 전부 숫자로 인정&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;rarr; 인정 조건 맞으면 True 출력&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3번은 굳이 몰라도 될듯?&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;솔직히 이번 문제는 이거 몰랐으면 풀 수 있었나...? 싶다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #9d9d9d;&quot;&gt;&lt;br /&gt;002&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;오늘 학습한 내용&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;데이터 분석 심화 주차 1일차!&lt;/p&gt;
&lt;p data-path-to-node=&quot;2&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;2&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;[ 기초 통계 ]&lt;/b&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;2&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;3&quot; data-ke-size=&quot;size20&quot;&gt;1. 통계가 왜 필요할까? (감 vs 데이터)&lt;/h4&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;통계: 데이터를 객관적인 수치로 드러내서 &lt;b data-index-in-node=&quot;63&quot; data-path-to-node=&quot;4&quot;&gt;합리적인 의사결정&lt;/b&gt;을 내릴 수 있게 도와줌.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;5&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;5,0,0&quot;&gt;'감'에 의존한 판단:&lt;/b&gt; &quot;왠지 B라인에서 요즘 불량이 자주 나오는 듯? 장비 고장났나?&quot;&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;5,1,0&quot;&gt;데이터 기반 통계 분석:&lt;/b&gt; B라인 3개월치 데이터 수집 &amp;rarr;&amp;nbsp; A, C라인과 평균, 표준편차 비교 &amp;rarr; 원인&amp;nbsp;증명&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-path-to-node=&quot;6&quot; data-ke-style=&quot;style2&quot;&gt;
&lt;p data-path-to-node=&quot;6,0&quot; data-ke-size=&quot;size16&quot;&gt;감으로 안 하고 통계 분석을 하는 이유는? &lt;b data-index-in-node=&quot;32&quot; data-path-to-node=&quot;6,0&quot;&gt;누가 와서 재현하더라도 똑같은 결과&lt;/b&gt;가 나오게 하기 위함! &lt;br /&gt;환경을 보고 어떤 통계 개념을 적용할지 러프하게 떠올릴 수 있다면 통계 분석 개념을 제대로 이해한 것 &lt;br /&gt;(세부적인 건 지금 다 알 필요 없고, 프로젝트하면서 다시 봐도 괜찮음)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 data-path-to-node=&quot;8&quot; data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-path-to-node=&quot;8&quot; data-ke-size=&quot;size20&quot;&gt;2. 데이터의 종류&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;10&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;10,0,0&quot;&gt;수치형 (Numerical)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;10,0,1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;10,0,1,0,0&quot;&gt;이산형 (Discrete):&lt;/b&gt; 셀 수 있는 것 (예: 불량품 개수, 교대 근무 조, 가동 횟수)&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;10,0,1,1,0&quot;&gt;연속형 (Continuous):&lt;/b&gt; 연속적인 측정값 (예: 설비 온도, 압력, 가공 시간)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;10,1,0&quot;&gt;범주형 (Categorical)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;10,1,1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;10,1,1,0,0&quot;&gt;순서형 (Ordinal):&lt;/b&gt; 순서나 등급이 있는 것 (예: 설비 위험 등급 H/M/L, 품질 1등급/2등급)&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;10,1,1,1,0&quot;&gt;명목형 (Nominal):&lt;/b&gt; 순서 없이 이름만 있는 것 (예: 설비 ID, 부품 종류, 센서 위치 이름, 컬러)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-path-to-node=&quot;12&quot; data-ke-size=&quot;size20&quot;&gt;3. 기술 통계: 데이터 요약&lt;/h4&gt;
&lt;p data-path-to-node=&quot;13&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1) 위치 추정 (대표값)&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-path-to-node=&quot;15&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;통계 지표&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;특징 및 수식&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;적절한 상황&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span data-path-to-node=&quot;15,1,0,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;15,1,0,0&quot;&gt;Mean (평균)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span data-path-to-node=&quot;15,1,1,0&quot;&gt;총합을 데이터 개수로 나눈 값. &lt;b data-index-in-node=&quot;21&quot; data-path-to-node=&quot;15,1,1,0&quot;&gt;이상치에 영향을 많이 받음&lt;/b&gt;.&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span data-path-to-node=&quot;15,1,2,0&quot;&gt;값들이 고르게 분포됨 (정규분포)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span data-path-to-node=&quot;15,2,0,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;15,2,0,0&quot;&gt;Median (중앙값)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span data-path-to-node=&quot;15,2,1,0&quot;&gt;오름차순 정렬 시 50%에 위치한 값. &lt;b data-index-in-node=&quot;22&quot; data-path-to-node=&quot;15,2,1,0&quot;&gt;이상치에 영향을 받지 않음&lt;/b&gt;.&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span data-path-to-node=&quot;15,2,2,0&quot;&gt;데이터에 극단적인 값(이상치)이 있음&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span data-path-to-node=&quot;15,3,0,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;15,3,0,0&quot;&gt;Mode (최빈값)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span data-path-to-node=&quot;15,3,1,0&quot;&gt;가장 자주 등장하는 값. 2개 이상 존재 가능.&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span data-path-to-node=&quot;15,3,2,0&quot;&gt;데이터가 범주형(카테고리형)일 때&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-path-to-node=&quot;16&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;16&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2) 변이 추정 (산포도)&lt;/b&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;17&quot; data-ke-size=&quot;size16&quot;&gt;데이터들이 서로 얼마나 흩어져(다르게) 있는지 확인하는 방법임.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;18&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;18,0,0&quot;&gt;범위 (Range):&lt;/b&gt; &lt;span data-index-in-node=&quot;12&quot; data-math=&quot;최대값 - 최소값&quot;&gt;최대값 - 최소값&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;18,1,0&quot;&gt;편차 (Deviation):&lt;/b&gt; 개별 값과 평균의 차이 (&lt;span data-index-in-node=&quot;30&quot; data-math=&quot;데이터 값 - 평균값&quot;&gt;데이터 값 - 평균값&lt;/span&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;18,2,0&quot;&gt;분산 (Variance):&lt;/b&gt; 편차를 제곱해서 평균을 낸 값. 데이터의 전체적인 퍼짐 정도를 봄&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;18,3,0&quot;&gt;표준편차 (Standard Deviation):&lt;/b&gt; 분산에 제곱근을 취한 것. 원래 데이터와 단위가 같아져서 직관적&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;18,4,0&quot;&gt;변동 계수 (CV):&lt;/b&gt; 표준편차를 평균으로 나눈 것. 서로 다른 단위의 데이터를 비교할 때 씀&lt;/li&gt;
&lt;/ul&gt;
&lt;div data-ved=&quot;0CAAQhtANahcKEwj0ur_Nho6VAxUAAAAAHQAAAAAQeg&quot; data-hveid=&quot;0&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;makefile&quot;&gt;&lt;code&gt;import numpy as np

# 1. 평균 계산
mean_value = np.mean(data)

# 2. 편차 (Deviation)
deviations = data - mean_value

# 3. 분산 (Variance) - 모분산 기준 (불편분산은 ddof=1 사용)
variance = np.mean(deviations ** 2)

# 4. 표준편차 (Standard Deviation)
std_dev = np.sqrt(variance)

# 5. 변동 계수 (CV)
cv = std_dev / mean_value
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-path-to-node=&quot;20&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;p data-path-to-node=&quot;20&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3) 데이터 분포 탐색 &amp;amp; 시각화&lt;/b&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;21&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;# 도수분포표 &amp;amp; 히스토그램&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;22&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;22,0,0&quot;&gt;도수:&lt;/b&gt; 각 구간에 해당하는 값의 개수&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;22,1,0&quot;&gt;상대도수:&lt;/b&gt; 전체 중 비율 (총합은 1)&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;22,2,0&quot;&gt;누적도수:&lt;/b&gt; 이전 구간까지 누적된 도수&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;22,3,0&quot;&gt;계급:&lt;/b&gt; 범위를 일정 구간으로 나눈 것&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-path-to-node=&quot;23&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;24&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;b&gt;# &lt;/b&gt;사분위수 &amp;amp; Boxplot&lt;/b&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;25&quot; data-ke-size=&quot;size16&quot;&gt;데이터를 4등분했을 때 25%(Q1), 50%(Q2, 중앙값), 75%(Q3) 위치의 값&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahcKEwj0ur_Nho6VAxUAAAAAHQAAAAAQew&quot; data-hveid=&quot;0&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;ini&quot;&gt;&lt;code&gt;# 분위수 계산
Q1 = np.percentile(data, 25)  # 제1분위수
Q2 = np.percentile(data, 50)  # 제2분위수 (중앙값)
Q3 = np.percentile(data, 75)  # 제3분위수

# 사분위 범위 (IQR) 계산
IQR = Q3 - Q1

# 이상치(Outlier) 탐지 기준 경계값
lower_bound = Q1 - 1.5 * IQR
upper_bound = Q3 + 1.5 * IQR
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;27&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;27&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;# 왜도, 첨도, 정규분포&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;28&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;28,0,0&quot;&gt;정규분포:&lt;/b&gt; 평균 중심 좌우 대칭인 곡선 형태.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;전체 확률 합은 1. 평균 0, 분산 1이면 &lt;b data-index-in-node=&quot;51&quot; data-path-to-node=&quot;28,0,0&quot;&gt;표준정규분포.&lt;/b&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;통계학은 데이터가 정규분포를 따르지 않으면 분석 꼬임&lt;/li&gt;
&lt;li&gt;머신러닝 성능을 올리기 위해서도 데이터를 정규분포 형태로 자주 변환&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;28,1,0&quot;&gt;왜도 (Skewness):&lt;/b&gt; 좌우 비대칭성 정도.
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;28,1,1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;+ (양수): 오른쪽 꼬리가 김 (Right-skewed)&lt;/li&gt;
&lt;li&gt;0: 좌우 대칭&lt;/li&gt;
&lt;li&gt;- (음수): 왼쪽 꼬리가 김 (Left-skewed)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;28,2,0&quot;&gt;첨도 (Kurtosis):&lt;/b&gt; 뾰족한 정도 (파이썬/엑셀은 0 기준 초과첨도 사용).
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;28,2,1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;+ (양수): 정규분포보다 뾰족함 (첨도 &amp;gt; 3)&lt;/li&gt;
&lt;li&gt;0: 정규분포와 유사 (첨도 = 3)&lt;/li&gt;
&lt;li&gt;- (음수): 정규분포보다 평평함 (첨도 &amp;lt; 3)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div data-ved=&quot;0CAAQhtANahcKEwj0ur_Nho6VAxUAAAAAHQAAAAAQfA&quot; data-hveid=&quot;0&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;pre class=&quot;haskell&quot;&gt;&lt;code&gt;from scipy.stats import skew, kurtosis

skewness = skew(data)      # 왜도 계산
kurt = kurtosis(data)      # 초과첨도 계산
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;30&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;30&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;30&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4) 다변량 및 관계 탐색&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;31&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;31,0,0&quot;&gt;이진/범주 데이터 탐색:&lt;/b&gt; 최빈값을 주로 쓰며, &lt;b data-index-in-node=&quot;26&quot; data-path-to-node=&quot;31,0,0&quot;&gt;파이그림&lt;/b&gt;이나 &lt;b data-index-in-node=&quot;33&quot; data-path-to-node=&quot;31,0,0&quot;&gt;막대그래프&lt;/b&gt;로 시각화함.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;31,1,0&quot;&gt;상관관계 (Correlation):&lt;/b&gt; 두 변수가 서로 관련이 있는지 확인 (상관계수 활용)&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;⚠️ &lt;b&gt;인과관계 vs 상관관계:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;- 상관관계&lt;/b&gt;는 둘이 연관이 있네~ 정도&lt;br /&gt;&lt;b&gt;- 인과관계&lt;/b&gt;는 원인과 결과가 명확해야 함 (상관관계가 있다고 무조건 인과관계인 건 아님!)&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;31&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;31,3,0&quot;&gt;다변량 분석:&lt;/b&gt; 여러 변수 간 관계 파악.
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;31,3,1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;sns.pairplot(df)&lt;/span&gt;&lt;/b&gt;를 쓰면 모든 변수 조합의 산점도를 그려줌 (대각선은 자기 자신과의 관계라 의미 없어서 &lt;b data-index-in-node=&quot;66&quot; data-path-to-node=&quot;31,3,1,0,0&quot;&gt;히스토그램&lt;/b&gt;으로 채워짐)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-path-to-node=&quot;33&quot; data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-path-to-node=&quot;33&quot; data-ke-size=&quot;size20&quot;&gt;4. 추론 통계 : 미래 or 전체 예측&lt;/h4&gt;
&lt;p data-path-to-node=&quot;34&quot; data-ke-size=&quot;size16&quot;&gt;표본(일부 데이터)을 통해 모집단(전체 데이터)의 특성을 추정하고 가설을 검정하는 방법&lt;/p&gt;
&lt;p data-path-to-node=&quot;34&quot; data-ke-size=&quot;size16&quot;&gt;&lt;i data-index-in-node=&quot;51&quot; data-path-to-node=&quot;34&quot;&gt;ex) 일부 고객 설문조사로 전체 고객 만족도 추정하기&lt;/i&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;35&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;35,0,0&quot;&gt;신뢰구간:&lt;/b&gt; 모평균이 특정 범위 내에 있을 확률.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보통 &lt;b data-index-in-node=&quot;52&quot; data-path-to-node=&quot;35,0,0&quot;&gt;95% 신뢰구간&lt;/b&gt;을 쓰는데, 만약 만족도 75점, 신뢰구간이 70~80점이라면 &quot;실제 전체 평균 만족도가 70~80점 사이에 있을 확률이 95%다&quot;라는 뜻&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;35,1,0&quot;&gt;가설검정:&lt;/b&gt; 가설이 맞는지 검증하는 것.
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;35,1,1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;35,1,1,0,0&quot;&gt;귀무가설 (&lt;span data-index-in-node=&quot;6&quot; data-math=&quot;H_0&quot;&gt;H0&lt;/span&gt;):&lt;/b&gt; 기본 가설 (효과 없다, 변화 없다, 차이 없다). 데이터 분석할 때 기각이 되어야 좋음...!&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;35,1,1,1,0&quot;&gt;대립가설 (&lt;span data-index-in-node=&quot;6&quot; data-math=&quot;H_1&quot;&gt;H1&lt;/span&gt;):&lt;/b&gt; 내가 주장하고 싶은 가설 (효과 있다, 변화 있다, 차이 있다)&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;35,1,1,2,0&quot;&gt;p-value:&lt;/b&gt; 귀무가설을 기각할지 말지 결정하는 기준 수치. (&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;예:&lt;span&gt; &lt;/span&gt;&lt;/span&gt;오전조 vs 오후조 생산성 차이 분석 시 t-test 같은 걸 활용함)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;[ 머신 러닝 ]&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;19:30 라이브 세션이라 전체 내용을 오늘 다 정리할 수가 음슴...ㅎ&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;뒤에 정리 못 한 내용은 내일 복습하면서 해보겠슴다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;3&quot; data-ke-size=&quot;size20&quot;&gt;1. 머신러닝?&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;4&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;4,0,0&quot;&gt;정의:&lt;/b&gt; 컴퓨터가 데이터를 학습해서 스스로 패턴과 의미를 찾아내도록 하는 연구 분야&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;4,1,0&quot;&gt;제조업에서의 역할:&lt;/b&gt; 품질 데이터 자동 분석, 공정 이상 탐지 및 예측, 결함률 감소 &amp;rarr; 생산성 향상&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-path-to-node=&quot;6&quot; data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-path-to-node=&quot;6&quot; data-ke-size=&quot;size20&quot;&gt;2. 머신러닝 학습의 종류&lt;/h4&gt;
&lt;p data-path-to-node=&quot;7&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;1) 지도 학습 (Supervised Learning)&lt;/b&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;7&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;8,0&quot;&gt;: 정답(Label, y data)을 알려주고 공부시키는 방법.&lt;/b&gt;&lt;span style=&quot;color: #333333; font-size: 16px; letter-spacing: 0px;&quot;&gt; 예측과 분류가 주 목적&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;9&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;9,0,0&quot;&gt;분류 (Classification):&lt;/b&gt; 데이터를 미리 정해진 그룹(카테고리)으로 나누는 작업.
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;9,0,1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;9,0,1,0,0&quot;&gt;이진 분류 (많이 씀!):&lt;/b&gt; 불량/정상, 성공/실패 등 2개로 분류 (예: 로지스틱 회귀, 의사결정 트리, SVM).&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;9,0,1,1,0&quot;&gt;다중 분류:&lt;/b&gt; 제품 종류, 이미지 분류 등 3개 이상으로 분류.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;9,1,0&quot;&gt;회귀 (Regression):&lt;/b&gt; 연속적인 숫자 값을 예측하는 작업 (예: 배터리 두께 예측, 날씨/주가/에너지 사용량 예측).
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;9,1,1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;9,1,1,0,0&quot;&gt;선형 회귀:&lt;/b&gt; 데이터가 직선 형태라고 가정 (&lt;span data-index-in-node=&quot;24&quot; data-math=&quot;y = ax + b&quot;&gt;y = ax + b&lt;/span&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;9,1,1,1,0&quot;&gt;다항 회귀:&lt;/b&gt; 곡선 형태의 비선형 데이터 모델링&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;9,1,1,2,0&quot;&gt;기타:&lt;/b&gt; 릿지/라쏘(규제 추가), 결정트리/랜덤포레스트 회귀, 딥러닝 기반 회귀 등&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-path-to-node=&quot;10&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;2) 비지도 학습 (Unsupervised Learning)&lt;/b&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;10&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;11,0&quot;&gt;: 정답(Label) 없이 데이터의 숨겨진 패턴이나 구조(인사이트)를 발견하는 방법.&lt;/b&gt;&lt;span style=&quot;font-size: 16px; letter-spacing: 0px;&quot;&gt; 정확도 측정이 불가, 주로 EDA(탐색적 데이터 분석)나 전처리 단계에서 사용&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;12&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;12,0,0&quot;&gt;클러스터링 (군집 분석):&lt;/b&gt; 유사한 데이터끼리 그룹으로 묶기 (ex: K-Means, DBSCAN).&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;12,1,0&quot;&gt;차원 축소:&lt;/b&gt; 수많은 센서 데이터 등 복잡한 특징을 몇 가지 중요한 지표로 압축/요약 (ex: PCA).&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;12,2,0&quot;&gt;연관 규칙 학습:&lt;/b&gt; 데이터 간의 상관관계 발견 (예: &quot;우유를 사면 빵도 살 확률이 높다&quot;는 장바구니 분석).&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-path-to-node=&quot;13&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;13&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;3) 강화 학습 (Reinforcement Learning)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;14&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;행동에 따른 &lt;b data-index-in-node=&quot;7&quot; data-path-to-node=&quot;14,0,0&quot;&gt;보상(Reward)을 최대화&lt;/b&gt;하는 방향으로 기계를 학습시킴 (중요도 낮아서 앞으로 학습X)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;360&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Gg64b/dJMcafNPmQ3/72ZvoSutd4F5Uj7vSghy3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Gg64b/dJMcafNPmQ3/72ZvoSutd4F5Uj7vSghy3K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Gg64b/dJMcafNPmQ3/72ZvoSutd4F5Uj7vSghy3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGg64b%2FdJMcafNPmQ3%2F72ZvoSutd4F5Uj7vSghy3K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;360&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;360&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;.........&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;와 잠만 너무 힘든데&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;저번주는 계속 프로젝트만 하다가 (물론 이것도 쉽지 않았다만)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;오랜만에 다시 학습 주차 들어오니까 빡세다 빡세&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;라이브 3개 + VOD 강의 하나 듣고 정리까지 끝낸 하루....&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;후....,.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;ㅎㅎ..&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;잠시만요&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;TIL 끝내기 전에 자랑 한 번 하고 가겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;841&quot; data-origin-height=&quot;231&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b4lCEU/dJMcadh8vqy/kSTk7Ei2potKsGyk6L8Ts1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b4lCEU/dJMcadh8vqy/kSTk7Ei2potKsGyk6L8Ts1/img.png&quot; data-alt=&quot; 축 우수팀 &quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b4lCEU/dJMcadh8vqy/kSTk7Ei2potKsGyk6L8Ts1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb4lCEU%2FdJMcadh8vqy%2FkSTk7Ei2potKsGyk6L8Ts1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;841&quot; height=&quot;231&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;841&quot; data-origin-height=&quot;231&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt; 축 우수팀 &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;마지막 줄 보이세요?ㅎㅎ &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;많은 분들께 발표 칭찬을 받았는데... &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;그럴 때마다 좀 부끄럽긴 했지만 기분은 좋았습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;(칭찬 받으면 고장나는 타입)&lt;/span&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;960&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c5Dryk/dJMcag6W4r2/Labd68mtUXhmqTN4N77420/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c5Dryk/dJMcag6W4r2/Labd68mtUXhmqTN4N77420/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c5Dryk/dJMcag6W4r2/Labd68mtUXhmqTN4N77420/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc5Dryk%2FdJMcag6W4r2%2FLabd68mtUXhmqTN4N77420%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;288&quot; height=&quot;230&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;960&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;961&quot; data-origin-height=&quot;904&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cdFg6J/dJMcaaeEh52/x3cqtqTK32QGd2kk59UgL1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cdFg6J/dJMcaaeEh52/x3cqtqTK32QGd2kk59UgL1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cdFg6J/dJMcaaeEh52/x3cqtqTK32QGd2kk59UgL1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcdFg6J%2FdJMcaaeEh52%2Fx3cqtqTK32QGd2kk59UgL1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;472&quot; height=&quot;444&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;961&quot; data-origin-height=&quot;904&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;한 페이지에 모아놓고 보니까 뿌듯하네 ㅎㅎ&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;새로 바뀐 팀에서 심화 프로젝트도 화이팅  &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;588&quot; data-origin-height=&quot;269&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eGWe44/dJMcabdsYiX/B7krZsXRaVEkk9tKtGgeB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eGWe44/dJMcabdsYiX/B7krZsXRaVEkk9tKtGgeB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eGWe44/dJMcabdsYiX/B7krZsXRaVEkk9tKtGgeB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeGWe44%2FdJMcabdsYiX%2FB7krZsXRaVEkk9tKtGgeB1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;369&quot; height=&quot;169&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;588&quot; data-origin-height=&quot;269&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;+ tmi: 저 어벤져스 안 봐서 하나도 모르는데... &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;검색해보니까 블랙위도우가 제일 따라하기 쉬워보이길래&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;저걸로 했어요&lt;/span&gt;&lt;/p&gt;</description>
      <category>Today I Learned</category>
      <author>JiJi0406</author>
      <guid isPermaLink="true">https://jiji0406.tistory.com/28</guid>
      <comments>https://jiji0406.tistory.com/28#entry28comment</comments>
      <pubDate>Wed, 17 Jun 2026 21:00:02 +0900</pubDate>
    </item>
    <item>
      <title>[내일배움캠프 QA/QC 6기] TIL #025 커리어 데이</title>
      <link>https://jiji0406.tistory.com/27</link>
      <description>&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;001&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;오늘의 코드카타&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;span&gt;35.&lt;span style=&quot;color: #0593d3;&quot;&gt;&lt;a style=&quot;color: #0593d3;&quot; href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/82612&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; 부족한&amp;nbsp;금액&amp;nbsp;계산하기&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;b&gt;문제 설명&lt;/b&gt;&lt;/span&gt; &lt;br /&gt;&lt;span style=&quot;font-size: 16px; letter-spacing: 0px;&quot;&gt;&amp;nbsp;새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;놀이기구를&amp;nbsp;count번&amp;nbsp;타게&amp;nbsp;되면&amp;nbsp;현재&amp;nbsp;자신이&amp;nbsp;가지고&amp;nbsp;있는&amp;nbsp;금액에서&amp;nbsp;얼마가&amp;nbsp;모자라는지를&amp;nbsp;return&amp;nbsp;하도록&amp;nbsp;solution&amp;nbsp;함수를&amp;nbsp;완성하세요.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;단,&amp;nbsp;금액이&amp;nbsp;부족하지&amp;nbsp;않으면&amp;nbsp;0을&amp;nbsp;return&amp;nbsp;하세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; 제한사항 &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;놀이기구의 이용료 price : 1 &amp;le; price &amp;le; 2,500, price는 자연수&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;처음&amp;nbsp;가지고&amp;nbsp;있던&amp;nbsp;금액&amp;nbsp;money&amp;nbsp;:&amp;nbsp;1&amp;nbsp;&amp;le;&amp;nbsp;money&amp;nbsp;&amp;le;&amp;nbsp;1,000,000,000,&amp;nbsp;money는&amp;nbsp;자연수&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;놀이기구의&amp;nbsp;이용&amp;nbsp;횟수&amp;nbsp;count&amp;nbsp;:&amp;nbsp;1&amp;nbsp;&amp;le;&amp;nbsp;count&amp;nbsp;&amp;le;&amp;nbsp;2,500,&amp;nbsp;count는&amp;nbsp;자연수&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;입출력 예 설명&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;이용금액이&amp;nbsp;3인&amp;nbsp;놀이기구를&amp;nbsp;4번&amp;nbsp;타고&amp;nbsp;싶은&amp;nbsp;고객이&amp;nbsp;현재&amp;nbsp;가진&amp;nbsp;금액이&amp;nbsp;20이라면,&amp;nbsp;총&amp;nbsp;필요한&amp;nbsp;놀이기구의&amp;nbsp;이용&amp;nbsp;금액은&amp;nbsp;30&amp;nbsp;(=&amp;nbsp;3+6+9+12)&amp;nbsp;이&amp;nbsp;되어&amp;nbsp;10만큼&amp;nbsp;부족하므로&amp;nbsp;10을&amp;nbsp;return&amp;nbsp;합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;▼ 1차 시도&lt;/p&gt;
&lt;pre id=&quot;code_1781603277123&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(price, money, count):
    answer = 0
    for i in range(1, count+1):
        answer += price * i
    return answer - money&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;테스트 때 잘 나와서 잘 푼 줄 알았는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-06-16 183023.png&quot; data-origin-width=&quot;1158&quot; data-origin-height=&quot;728&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/r5wv6/dJMcaaMqWya/wE0jwpQ7Pddxa4oiYMwLp1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/r5wv6/dJMcaaMqWya/wE0jwpQ7Pddxa4oiYMwLp1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/r5wv6/dJMcaaMqWya/wE0jwpQ7Pddxa4oiYMwLp1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fr5wv6%2FdJMcaaMqWya%2FwE0jwpQ7Pddxa4oiYMwLp1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1158&quot; height=&quot;728&quot; data-filename=&quot;스크린샷 2026-06-16 183023.png&quot; data-origin-width=&quot;1158&quot; data-origin-height=&quot;728&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;띠용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다 통과했는데 4번만 실패 뜸&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아무리 봐도 내가 짠 게 맞는 거 같아서 힌트 얻으려고 질문하기 탭에 들어갔더니&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-06-16 183933.png&quot; data-origin-width=&quot;818&quot; data-origin-height=&quot;724&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BcZJ9/dJMcaccpF8j/kH4vvT3LHyCIFZLkmPv82K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BcZJ9/dJMcaccpF8j/kH4vvT3LHyCIFZLkmPv82K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BcZJ9/dJMcaccpF8j/kH4vvT3LHyCIFZLkmPv82K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBcZJ9%2FdJMcaccpF8j%2FkH4vvT3LHyCIFZLkmPv82K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;574&quot; height=&quot;508&quot; data-filename=&quot;스크린샷 2026-06-16 183933.png&quot; data-origin-width=&quot;818&quot; data-origin-height=&quot;724&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아하...~&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제를 제대로 안 읽은 거구나....&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #fafafa; color: #222222; text-align: start;&quot;&gt;▼ 2차 시도&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1781603401475&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(price, money, count):
    answer = 0
    for i in range(1, count+1):
        answer += price * i
    return answer - money if answer &amp;gt; money else 0 # return 값에 삼항연산자 기법 적용해서 조건에 따라 다르게 리턴하도록 설정!&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-06-16 183901.png&quot; data-origin-width=&quot;584&quot; data-origin-height=&quot;360&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ti20Y/dJMcah5UR1o/6ZlPvlMiza8JJueOM9gxXk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ti20Y/dJMcah5UR1o/6ZlPvlMiza8JJueOM9gxXk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ti20Y/dJMcah5UR1o/6ZlPvlMiza8JJueOM9gxXk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fti20Y%2FdJMcah5UR1o%2F6ZlPvlMiza8JJueOM9gxXk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;584&quot; height=&quot;360&quot; data-filename=&quot;스크린샷 2026-06-16 183901.png&quot; data-origin-width=&quot;584&quot; data-origin-height=&quot;360&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 문제 점수 후하게 주네요&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #9d9d9d;&quot;&gt;002&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;커리어 데이&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[취업 특강]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나중에 보려고 들으면서 정리했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원래는 이 글에 올렸었는데, 내용 유출되면 안 되나? 싶은 노파심에 비공개 글로 따로 올려둠. ^^&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;s&gt;(아무도 안 찾아볼 거 같긴 한데..ㅎㅎ)&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1123&quot; data-origin-height=&quot;801&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/clnHfR/dJMb997P32T/TeZqi92x914xM8Xnx5IUgK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/clnHfR/dJMb997P32T/TeZqi92x914xM8Xnx5IUgK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/clnHfR/dJMb997P32T/TeZqi92x914xM8Xnx5IUgK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FclnHfR%2FdJMb997P32T%2FTeZqi92x914xM8Xnx5IUgK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1123&quot; height=&quot;801&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1123&quot; data-origin-height=&quot;801&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내일부터는 데이터 심화분석 주차에 들어간다~&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;팀 편성도 새롭게 되기 때문에.. 3주 동안 같이 공부하고 프로젝트 진행했던 팀과 바이바이&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나랑 도메인 겹치는 분이 없어서 아마 다 떨어질 듯...?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;To. 3팀&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;960&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dwaZZX/dJMcagMIbUJ/qUyHmcBSujQUGLEaXioKT1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dwaZZX/dJMcagMIbUJ/qUyHmcBSujQUGLEaXioKT1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dwaZZX/dJMcagMIbUJ/qUyHmcBSujQUGLEaXioKT1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdwaZZX%2FdJMcagMIbUJ%2FqUyHmcBSujQUGLEaXioKT1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;412&quot; height=&quot;330&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;960&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;900&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xH3hc/dJMcafNOnpM/fhtuSAagK5kK3EgiQ0Prn1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xH3hc/dJMcafNOnpM/fhtuSAagK5kK3EgiQ0Prn1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xH3hc/dJMcafNOnpM/fhtuSAagK5kK3EgiQ0Prn1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxH3hc%2FdJMcafNOnpM%2FfhtuSAagK5kK3EgiQ0Prn1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;413&quot; height=&quot;310&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;900&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Today I Learned</category>
      <category>qaqc</category>
      <category>내일배움캠프</category>
      <category>데이터분석</category>
      <author>JiJi0406</author>
      <guid isPermaLink="true">https://jiji0406.tistory.com/27</guid>
      <comments>https://jiji0406.tistory.com/27#entry27comment</comments>
      <pubDate>Tue, 16 Jun 2026 20:52:00 +0900</pubDate>
    </item>
    <item>
      <title>[내일배움캠프 QA/QC 6기] TIL #024 기초 프로젝트 끝!!</title>
      <link>https://jiji0406.tistory.com/26</link>
      <description>&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;001&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;오늘의 코드카타&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;span&gt;34, &lt;span style=&quot;color: #0593d3;&quot;&gt;&lt;a style=&quot;color: #0593d3;&quot; href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12917&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;문자열 내림차순으로 배치하기&lt;/span&gt; &lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;문자열&amp;nbsp;s에&amp;nbsp;나타나는&amp;nbsp;문자를&amp;nbsp;큰것부터&amp;nbsp;작은&amp;nbsp;순으로&amp;nbsp;정렬해&amp;nbsp;새로운&amp;nbsp;문자열을&amp;nbsp;리턴하는&amp;nbsp;함수,&amp;nbsp;solution을&amp;nbsp;완성해주세요.&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;s는&amp;nbsp;영문&amp;nbsp;대소문자로만&amp;nbsp;구성되어&amp;nbsp;있으며,&amp;nbsp;대문자는&amp;nbsp;소문자보다&amp;nbsp;작은&amp;nbsp;것으로&amp;nbsp;간주합니다.&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;제한사항&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;str은&amp;nbsp;길이&amp;nbsp;1&amp;nbsp;이상인&amp;nbsp;문자열입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;color: #333333; text-align: start; border-collapse: collapse; width: 100%; height: 34px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;height: 17px; width: 44.186%;&quot;&gt;s&lt;/td&gt;
&lt;td style=&quot;height: 17px; width: 55.6977%;&quot;&gt;return&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;height: 17px; width: 44.186%;&quot;&gt;&quot;Zbcdefg&quot;&lt;/td&gt;
&lt;td style=&quot;height: 17px; width: 55.6977%;&quot;&gt;&quot;gfedcbZ&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1781522198545&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(s):
    a = list(s)
    a.sort(reverse = True)
    return ''.join(a)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문자열 s를 리스트로 바꿈 &amp;rarr; sort함수로 내림차순 배열 &amp;rarr; join 함수로 다시 문자열로 바꾸기&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #9d9d9d;&quot;&gt;002&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;기초 프로젝트 : 발표 D -Day&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bxQ6T6/dJMcaayViz1/fTCUKcTeCaaW0VtJvFaKG0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bxQ6T6/dJMcaayViz1/fTCUKcTeCaaW0VtJvFaKG0/img.png&quot; data-origin-width=&quot;736&quot; data-origin-height=&quot;736&quot; data-is-animation=&quot;false&quot; style=&quot;width: 36.76%; margin-right: 10px;&quot; data-widthpercent=&quot;37.19&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bxQ6T6/dJMcaayViz1/fTCUKcTeCaaW0VtJvFaKG0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbxQ6T6%2FdJMcaayViz1%2FfTCUKcTeCaaW0VtJvFaKG0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;736&quot; height=&quot;736&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ckwlYK/dJMcabR3JNa/UyaaUKJTyMUPd0uUcrupc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ckwlYK/dJMcabR3JNa/UyaaUKJTyMUPd0uUcrupc0/img.png&quot; data-origin-width=&quot;868&quot; data-origin-height=&quot;514&quot; data-is-animation=&quot;false&quot; data-filename=&quot;blob&quot; data-widthpercent=&quot;62.81&quot; style=&quot;width: 62.0772%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ckwlYK/dJMcabR3JNa/UyaaUKJTyMUPd0uUcrupc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FckwlYK%2FdJMcabR3JNa%2FUyaaUKJTyMUPd0uUcrupc0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;868&quot; height=&quot;514&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫번째 프로젝트, 기초 프로젝트의 발표를 성공적으로 마쳤습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;순서가 어떻게 정해진 건지는 모르겠지만 어쩌다보니 마지막 순서가 되어서 좀 부담이...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래도 어찌저찌 잘 끝냈다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 대망의 피드백 시간.....&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-path-to-node=&quot;4&quot; data-ke-size=&quot;size18&quot;&gt;튜터님 피드백 한줄 요약&lt;/p&gt;
&lt;blockquote data-path-to-node=&quot;5&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-path-to-node=&quot;5,0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; color: #000000;&quot;&gt;기초 프로젝트 단계에서 요구하는 가장 이상적인 프로젝트와 발표&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;493&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqbeT4/dJMcadPQ8aO/w0SZIzFtN0UIX2CR3VdQdk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqbeT4/dJMcadPQ8aO/w0SZIzFtN0UIX2CR3VdQdk/img.png&quot; data-alt=&quot;와우&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqbeT4/dJMcadPQ8aO/w0SZIzFtN0UIX2CR3VdQdk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqbeT4%2FdJMcadPQ8aO%2Fw0SZIzFtN0UIX2CR3VdQdk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;266&quot; height=&quot;175&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;493&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;와우&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;960&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzOecW/dJMcadbeFom/OSkj3jIJQwsGouDh4S3Jv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzOecW/dJMcadbeFom/OSkj3jIJQwsGouDh4S3Jv1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzOecW/dJMcadbeFom/OSkj3jIJQwsGouDh4S3Jv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzOecW%2FdJMcadbeFom%2FOSkj3jIJQwsGouDh4S3Jv1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;376&quot; height=&quot;301&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;960&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;960&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dbvCRE/dJMcaar9J0Z/xeUkfO2IC38KvwemFf4iZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dbvCRE/dJMcaar9J0Z/xeUkfO2IC38KvwemFf4iZ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dbvCRE/dJMcaar9J0Z/xeUkfO2IC38KvwemFf4iZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdbvCRE%2FdJMcaar9J0Z%2FxeUkfO2IC38KvwemFf4iZ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;369&quot; height=&quot;295&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;960&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span&gt;  잘한 점&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span&gt;1. &lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;8,0,0&quot;&gt;배운 내용들 바탕으로 프로젝트 &lt;/b&gt;목표를 완벽하게 달성했다&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;지금까지 학습한 데이터 시각화 기법을 활용해서 분석 목적을 명확하게 설정하고, 이를 발표 자료에 자연스럽게 녹여냈다는 점에서 좋은 평가를 받을 수 있었다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span&gt;2. 전달하고자 하는 내용을 이해하기 쉽게 설명했다&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;발표 과정에서 단순히 플롯 보여주고 끝내는 게 아니라, 왜 해당 분석을 수행했는지 + 어떤 의미를 가지는지를 충분히 설명하려고 노력했다. (그래서 발표가 좀 길어졌음...ㅎ 제한 시간 때문에 빨리 말하느라 숨도 차고 발음도 꼬여서 힘들었따...^^) &lt;/span&gt;&lt;span&gt;그 결과 발표 전달력 측면에서 긍정적인 피드백을 받을 수 있었던 것 같다  &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span&gt;3. 데이터에 대한 의심과 탐색을 멈추지 않았다&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;전체 데이터를 분석한 결과만으로 결론을 내리지 않고, 공정별로 데이터를 분리하여 추가 분석을 진행했다. (처음에 공정 안 나누고 분석 진행하다가, 심슨의 역설 내용 들었던 게 빡 떠올라서 그걸 반영했다. 아마 저번주 TIL에 이 내용 적었던 거 같다.) 이를 통해 전체 데이터에서는 보이지 않던 패턴을 발견할 수 있었고, 데이터 분석에서는 끊임없는 의심과 호기심이 중요하다는 걸 튜터님께서 피드백 시간에 말씀해주셔서 다시 한번 새길 수 있었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span&gt;4. 근거와 한계점을 함께 제시했다&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;분석 과정에서 발견한 현상을 설명하기 위해 관련 문헌과 자료를 조사하여 근거를 제시한 점도 좋게 봐주셨다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;561&quot; data-origin-height=&quot;559&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1C3f2/dJMcaicGfXf/CkEd9hnvYtIq6jouFHvJyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1C3f2/dJMcaicGfXf/CkEd9hnvYtIq6jouFHvJyk/img.png&quot; data-alt=&quot;국가법령정보센터-폐기물관리법 시행규칙-연소시설 규정까지 들어가서 일산화탄소 내용 찾았을 때의 희열감이란...&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1C3f2/dJMcaicGfXf/CkEd9hnvYtIq6jouFHvJyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1C3f2%2FdJMcaicGfXf%2FCkEd9hnvYtIq6jouFHvJyk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;561&quot; height=&quot;559&quot; data-origin-width=&quot;561&quot; data-origin-height=&quot;559&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;국가법령정보센터-폐기물관리법 시행규칙-연소시설 규정까지 들어가서 일산화탄소 내용 찾았을 때의 희열감이란...&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;또 주어진 데이터만으로 검증할 수 없는 부분은 단지 '추론'일 뿐, 검증된 사실과는 명확히 구분하는 게 중요하다고 생각했다. 그래서 발표 자료에도 안내 문구를 넣고, 발표 때도 한번 언급하며 지나갔다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span&gt;  아쉬웠던 점&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span&gt;1. 시각화 설계에 대한 이해가 부족했다&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;막대그래프와 선그래프를 제작할 때 축 설정에 대한 고려가 부족했다. &lt;/span&gt;&lt;span&gt;이번 프로젝트에서는 평균치 비교를 위해 막대 그래프를 제작했을 때&lt;span style=&quot;color: #ef5369;&quot;&gt; y축에 0이 포함되어 있어 실제 데이터 변화가 상대적으로 완만하게 표현되었다. &lt;/span&gt;반대로 축 범위를 조정했다면 변화가 더욱 뚜렷하게 보였을 수도 있다고 피드백 주셨다. &lt;/span&gt;&lt;span&gt;같은 데이터라도 시각화 방식에 따라 전달되는 메시지가 달라질 수 있다!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1309&quot; data-origin-height=&quot;739&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AgL5N/dJMcafUxfNf/gqoYiy3Kn1UdCdqKxr2F5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AgL5N/dJMcafUxfNf/gqoYiy3Kn1UdCdqKxr2F5K/img.png&quot; data-alt=&quot;온도/습도 막대 차트가 완만하게 보이는데, y축 범위를 좀 다르게 했으면 차이가 더 보였을 것&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AgL5N/dJMcafUxfNf/gqoYiy3Kn1UdCdqKxr2F5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAgL5N%2FdJMcafUxfNf%2FgqoYiy3Kn1UdCdqKxr2F5K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1309&quot; height=&quot;739&quot; data-origin-width=&quot;1309&quot; data-origin-height=&quot;739&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;온도/습도 막대 차트가 완만하게 보이는데, y축 범위를 좀 다르게 했으면 차이가 더 보였을 것&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span&gt;2. 발표 시간 관리가 부족했다&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;발표 내용과 분석 과정이 많다 보니 분량이 좀 많이 늘어났고... 시간 내에 모든 내용을 전달하는 연습이 충분하지 못했다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;분석 내용을 잘 전달하는 것도 중요하지만, 제한된 시간 안에서 핵심만 효과적으로 전달하는 능력 역시 필요하다는 점을 느꼈다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #141413; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;기초 프로젝트 : 심화 분석&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;- 저온 영역 &amp;lsquo;주의&amp;rsquo; 단계 집중 현상 분석&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1234&quot; data-origin-height=&quot;495&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uFUXj/dJMcaci8LN0/N5aWY84rFhrfJ3yaTE2WT1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uFUXj/dJMcaci8LN0/N5aWY84rFhrfJ3yaTE2WT1/img.png&quot; data-alt=&quot;주어졌던 데이터셋의 변수들&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uFUXj/dJMcaci8LN0/N5aWY84rFhrfJ3yaTE2WT1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuFUXj%2FdJMcaci8LN0%2FN5aWY84rFhrfJ3yaTE2WT1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1234&quot; height=&quot;495&quot; data-origin-width=&quot;1234&quot; data-origin-height=&quot;495&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;주어졌던 데이터셋의 변수들&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1315&quot; data-origin-height=&quot;735&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nt0lh/dJMcac4xqeB/2NUYAm6kJylZRCC9Kfvmrk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nt0lh/dJMcac4xqeB/2NUYAm6kJylZRCC9Kfvmrk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nt0lh/dJMcac4xqeB/2NUYAm6kJylZRCC9Kfvmrk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fnt0lh%2FdJMcac4xqeB%2F2NUYAm6kJylZRCC9Kfvmrk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1315&quot; height=&quot;735&quot; data-origin-width=&quot;1315&quot; data-origin-height=&quot;735&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot; data-path-to-node=&quot;4&quot;&gt;&lt;b&gt;1. 왜 이러지???&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot; data-path-to-node=&quot;5&quot;&gt;
&lt;li&gt;&lt;b data-path-to-node=&quot;5,0,0&quot; data-index-in-node=&quot;0&quot;&gt;현상 발견:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;온도별 위험 단계 분포를 보려고 제작했던 바이올린 플롯에서,&lt;span style=&quot;color: #ef5369;&quot;&gt;&lt;b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;위험 단계가 높아질수록 데이터가 가장 밀집된 피크 구간의 온도가 우하향&lt;/b&gt;&lt;/span&gt;하는 현상을 발견함&lt;/li&gt;
&lt;li&gt;&lt;b data-path-to-node=&quot;5,1,0&quot; data-index-in-node=&quot;0&quot;&gt;의문점:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;특히&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b data-path-to-node=&quot;5,1,0&quot; data-index-in-node=&quot;10&quot;&gt;'주의' 단계의 피크 구간이&lt;span style=&quot;color: #0593d3;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;700도 이하&lt;/span&gt;에 집중&lt;/b&gt;되어 있었음. 일반적인 상식으로는 온도가 높을수록 위험할 것 같은데 (앞에서 가설도 그렇게 세웠고)&lt;b&gt;&lt;i&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;lsquo;왜 저온 영역에서 위험 데이터가 집중될까?&amp;rsquo;&lt;/i&gt;&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;라는 의문점이 생겨서 한번 이유를 찾아보기로 결정&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Y3ywQ/dJMb9906xiQ/5N2iUZUdylAc5CIy6Kh2Ok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Y3ywQ/dJMb9906xiQ/5N2iUZUdylAc5CIy6Kh2Ok/img.png&quot; style=&quot;width: 49.4145%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot; data-filename=&quot;스크린샷 2026-06-16 195846.png&quot; data-origin-height=&quot;739&quot; data-origin-width=&quot;1317&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Y3ywQ/dJMb9906xiQ/5N2iUZUdylAc5CIy6Kh2Ok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FY3ywQ%2FdJMb9906xiQ%2F5N2iUZUdylAc5CIy6Kh2Ok%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1317&quot; height=&quot;739&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cqqlQn/dJMcagTroQE/Ui6qPxds8IAExh7dmYI2o1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cqqlQn/dJMcagTroQE/Ui6qPxds8IAExh7dmYI2o1/img.png&quot; style=&quot;width: 49.4227%;&quot; data-widthpercent=&quot;50&quot; data-filename=&quot;스크린샷 2026-06-16 195854.png&quot; data-origin-height=&quot;740&quot; data-origin-width=&quot;1319&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cqqlQn/dJMcagTroQE/Ui6qPxds8IAExh7dmYI2o1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcqqlQn%2FdJMcagTroQE%2FUi6qPxds8IAExh7dmYI2o1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1319&quot; height=&quot;740&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;2. 데이터 드릴링 &amp;amp; 근거 찾기&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-path-to-node=&quot;8&quot;&gt;&lt;b&gt;&amp;nbsp;a. 공정별 분리 및 가스별 위험 패턴 비교&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;9&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;히트맵으로 상관관계 분석했을 때 공정별로 차이가 있었음&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b data-index-in-node=&quot;12&quot; data-path-to-node=&quot;9,0,0&quot;&gt;&amp;rarr;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;주조 공정&lt;/span&gt;&lt;/b&gt;과&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #7e98b1;&quot;&gt;&lt;b data-index-in-node=&quot;19&quot; data-path-to-node=&quot;9,0,0&quot;&gt;절단 공정&lt;/b&gt;&lt;/span&gt;으로 나누어 각각 산점도로 분석&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;9,1,0&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;주조 공정&lt;/span&gt;:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;700도 기준으로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;저온&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;구간에서 일산화탄소 &amp;amp; 수소 가스의 '주의' 데이터가 비교적&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;고농도&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;구간에 반복적으로 밀집되어 있는 것 확인&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;9,2,0&quot;&gt;&lt;span style=&quot;color: #7e98b1;&quot;&gt;절단 공정&lt;/span&gt;:&lt;/b&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;저온 구간에서 '주의' 단계가&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;무작위로 분포&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;+&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b data-index-in-node=&quot;56&quot; data-path-to-node=&quot;9,2,0&quot;&gt;저온 영역의 표본 수가 단 3개!!&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-06-16 195906.png&quot; data-origin-width=&quot;1319&quot; data-origin-height=&quot;743&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/becQP7/dJMcagTroQD/PrLV7RXFlBrzNCvdIao421/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/becQP7/dJMcagTroQD/PrLV7RXFlBrzNCvdIao421/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/becQP7/dJMcagTroQD/PrLV7RXFlBrzNCvdIao421/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbecQP7%2FdJMcagTroQD%2FPrLV7RXFlBrzNCvdIao421%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1319&quot; height=&quot;743&quot; data-filename=&quot;스크린샷 2026-06-16 195906.png&quot; data-origin-width=&quot;1319&quot; data-origin-height=&quot;743&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;b. 데이터의 통계적 착시(왜곡) 규명&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot; data-path-to-node=&quot;11&quot;&gt;
&lt;li&gt;공정유형별 '위험도-온도 상관성'을 계산했을 때 주조(-0.19)와 절단(-0.20) 모두&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0593d3;&quot;&gt;음의 상관관계&lt;/span&gt;가 나와서 겉보기에는 두 공정 다 저온일 때 위험도가 올라가는 것처럼 보였으나...&lt;/li&gt;
&lt;li&gt;but 자세히 뜯어보니&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #7e98b1;&quot;&gt;&lt;b&gt;절단 공정&lt;/b&gt;&lt;/span&gt;은 700&amp;deg;C 미만 저온 표본 수가 극히 적은 한계(3개) 때문에 평균치가 튀어서 왜곡이 생겼을 가능성 농후(실제로 그렇다고 봄) &amp;rarr; 일반화된 위험 규칙이 아님을 규명&lt;/li&gt;
&lt;li&gt;&lt;b&gt;압출 공정&lt;/b&gt;은 상관관계 -0.01로 무의미하여 제외&lt;/li&gt;
&lt;li&gt;결론적으로 저온 영역의 진짜 위험은&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b data-path-to-node=&quot;11,2,0&quot; data-index-in-node=&quot;20&quot;&gt;주조 공정&lt;/b&gt;&lt;/span&gt;에만 유의미하게&lt;b data-path-to-node=&quot;11,2,0&quot; data-index-in-node=&quot;20&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;집중&lt;/b&gt;되어 있다는 사실 발견&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6ASox/dJMb9906xiR/9p0yYKogPH5W0CWS81Fot1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6ASox/dJMb9906xiR/9p0yYKogPH5W0CWS81Fot1/img.png&quot; style=&quot;width: 49.5124%; margin-right: 10px;&quot; data-widthpercent=&quot;50.09&quot; data-filename=&quot;스크린샷 2026-06-16 195919.png&quot; data-origin-height=&quot;741&quot; data-origin-width=&quot;1319&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6ASox/dJMb9906xiR/9p0yYKogPH5W0CWS81Fot1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6ASox%2FdJMb9906xiR%2F9p0yYKogPH5W0CWS81Fot1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1319&quot; height=&quot;741&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c6hCD5/dJMcacwJOWB/bHpVEPVMyHk7BoMYlaMZ00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c6hCD5/dJMcacwJOWB/bHpVEPVMyHk7BoMYlaMZ00/img.png&quot; style=&quot;width: 49.3248%;&quot; data-widthpercent=&quot;49.91&quot; data-filename=&quot;스크린샷 2026-06-16 195928.png&quot; data-origin-height=&quot;741&quot; data-origin-width=&quot;1314&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c6hCD5/dJMcacwJOWB/bHpVEPVMyHk7BoMYlaMZ00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc6hCD5%2FdJMcacwJOWB%2FbHpVEPVMyHk7BoMYlaMZ00%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1314&quot; height=&quot;741&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot; data-path-to-node=&quot;12&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot; data-path-to-node=&quot;12&quot;&gt;&lt;b&gt;3. 근거 찾고 새로운 가설 설정&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot; data-path-to-node=&quot;13&quot;&gt;
&lt;li&gt;공정 과정 비교해서 주조 공정만이 가지는 특징 뭐가 있나 알아보고&lt;/li&gt;
&lt;li&gt;저온 환경에서 두 가스 농도가 높아지는 이유로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #781b33;&quot;&gt;&lt;b&gt;'불완전연소'&lt;/b&gt;&lt;/span&gt;라는 가설 제기&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;물질이 완전 연소하면 이산화 탄소와 수증기가 남는다. 그러나&lt;b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;연소 온도가 낮고&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;공기량(산소)이 충분하지 않으면 불완전 연소하는데, 이때에는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;일산화 탄소&lt;/b&gt;와 그을음이 생성된다.&amp;nbsp;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;716&quot; data-origin-height=&quot;281&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dizUvh/dJMcafAemyL/ZatwqQUZBU2Oysy5A82ODk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dizUvh/dJMcafAemyL/ZatwqQUZBU2Oysy5A82ODk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dizUvh/dJMcafAemyL/ZatwqQUZBU2Oysy5A82ODk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdizUvh%2FdJMcafAemyL%2FZatwqQUZBU2Oysy5A82ODk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;716&quot; height=&quot;281&quot; data-origin-width=&quot;716&quot; data-origin-height=&quot;281&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;13&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;700도라는 온도가&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;'불완전연소'&lt;/b&gt;라는 특이적인 조건을 발생시킨 근거를 찾아야겠다고 생각함&lt;/li&gt;
&lt;li&gt;[국가법령정보센터 ▶ 폐기물 관리법 시행규칙 ▶ 연소시설 관련 기준 :&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b data-index-in-node=&quot;24&quot; data-path-to-node=&quot;13,1,0&quot;&gt;800도 이상 유지 + 일산화탄소 농도 관리 요구&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;내용] 찾아냄. (불완전연소를 막기 위해서 쓰레기 태울 때 온도를 800도 이상 유지해야 한다!)&lt;/li&gt;
&lt;li&gt;이를 기반으로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&quot;주조 공정의 700도 이하 구간에서는 연소 효율이 저하되어 '불완전 연소'가 발생했고, 이로 인해 일산화탄소와 수소 가스 농도가 급증하여 위험도가 높아진 것이다&quot;&lt;/b&gt;라는 새로운 가설 정립! (실제로 검증은 못하지만...ㅎㅎ)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;밍글데이 ox퀴즈 우승했습니다. 감사합니다. 이럴 줄 모르고 장난으로 이름 밤티로 바꿨는데... 우승하고 주목받아서 좀 힘들었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cpkG7w/dJMcaf7ZvZs/Nv1L8j8ywdfQhdzJJ1NRuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cpkG7w/dJMcaf7ZvZs/Nv1L8j8ywdfQhdzJJ1NRuk/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;316&quot; data-origin-height=&quot;211&quot; data-filename=&quot;blob&quot; style=&quot;width: 50.9886%; margin-right: 10px;&quot; data-widthpercent=&quot;51.59&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cpkG7w/dJMcaf7ZvZs/Nv1L8j8ywdfQhdzJJ1NRuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcpkG7w%2FdJMcaf7ZvZs%2FNv1L8j8ywdfQhdzJJ1NRuk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;316&quot; height=&quot;211&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Anzg0/dJMcaar9JdU/u9X30KzcEMsqUNXFUUAL00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Anzg0/dJMcaar9JdU/u9X30KzcEMsqUNXFUUAL00/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;52&quot; data-origin-height=&quot;37&quot; data-filename=&quot;스크린샷 2026-06-15 202705.png&quot; style=&quot;width: 47.8487%;&quot; data-widthpercent=&quot;48.41&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Anzg0/dJMcaar9JdU/u9X30KzcEMsqUNXFUUAL00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAnzg0%2FdJMcaar9JdU%2Fu9X30KzcEMsqUNXFUUAL00%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;52&quot; height=&quot;37&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Today I Learned</category>
      <category>qaqc</category>
      <category>내일배움캠프</category>
      <category>데이터분석</category>
      <author>JiJi0406</author>
      <guid isPermaLink="true">https://jiji0406.tistory.com/26</guid>
      <comments>https://jiji0406.tistory.com/26#entry26comment</comments>
      <pubDate>Mon, 15 Jun 2026 21:42:17 +0900</pubDate>
    </item>
  </channel>
</rss>